|
20 | 20 |
|
21 | 21 | package net.sf.eclipsecs.ui.preferences; |
22 | 22 |
|
| 23 | +import java.util.Arrays; |
23 | 24 | import java.util.Collection; |
| 25 | +import java.util.List; |
| 26 | +import java.util.Locale; |
| 27 | +import java.util.stream.Collectors; |
| 28 | +import java.util.stream.Stream; |
24 | 29 |
|
25 | 30 | import org.eclipse.core.resources.IProject; |
26 | 31 | import org.eclipse.jface.dialogs.IDialogConstants; |
|
79 | 84 | */ |
80 | 85 | public class CheckstylePreferencePage extends PreferencePage implements IWorkbenchPreferencePage { |
81 | 86 |
|
| 87 | + private static final String DEFAULT_LANGUAGE = "default"; |
| 88 | + |
| 89 | + private static final List<String> SUPPORTED_LANGUAGES = Stream.concat( |
| 90 | + Stream.of(DEFAULT_LANGUAGE), |
| 91 | + Arrays.stream("de,en,es,fi,fr,ja,pt,tr,zh" |
| 92 | + .split(",")) |
| 93 | + .sorted()) |
| 94 | + .collect(Collectors.toList()); |
| 95 | + |
82 | 96 | private final PageController mController = new PageController(); |
83 | 97 |
|
84 | 98 | private final ICheckConfigurationWorkingSet mWorkingSet; |
@@ -201,9 +215,15 @@ private Composite createGeneralContents(Composite parent) { |
201 | 215 | final Label lblLanguage = new Label(langComposite, SWT.NULL); |
202 | 216 | lblLanguage.setText(Messages.CheckstylePreferencePage_lblLocaleLanguage); |
203 | 217 | mLanguageIf = new Combo(langComposite, SWT.READ_ONLY); |
204 | | - mLanguageIf.setItems(Messages.CheckstylePreferencePage_lblLocaleLanguages.split("[, ;]+")); |
| 218 | + mLanguageIf.setItems(SUPPORTED_LANGUAGES.stream().map(code -> { |
| 219 | + if (code == DEFAULT_LANGUAGE) { |
| 220 | + return code; |
| 221 | + } |
| 222 | + var loc = Locale.forLanguageTag(code); |
| 223 | + return code + " - " + loc.getDisplayLanguage(loc); |
| 224 | + }).toArray(String[]::new)); |
205 | 225 | final String lang = CheckstylePluginPrefs.getString(CheckstylePluginPrefs.PREF_LOCALE_LANGUAGE); |
206 | | - final int selectedLang = mLanguageIf.indexOf(lang == null || lang.isEmpty() ? "default" : lang); |
| 226 | + final int selectedLang = SUPPORTED_LANGUAGES.indexOf(lang == null || lang.isEmpty() ? DEFAULT_LANGUAGE : lang); |
207 | 227 | if (selectedLang != -1) { |
208 | 228 | mLanguageIf.select(selectedLang); |
209 | 229 | } |
@@ -376,7 +396,7 @@ public boolean performOk() { |
376 | 396 | mWorkingSet.store(); |
377 | 397 |
|
378 | 398 | CheckstylePluginPrefs.setString(CheckstylePluginPrefs.PREF_LOCALE_LANGUAGE, |
379 | | - mLanguageIf.getItem(mLanguageIf.getSelectionIndex())); |
| 399 | + SUPPORTED_LANGUAGES.get(mLanguageIf.getSelectionIndex())); |
380 | 400 |
|
381 | 401 | // |
382 | 402 | // Save the general preferences. |
|
0 commit comments