Skip to content

Commit 4edca6f

Browse files
committed
Refactored Languages array
1 parent e342e5f commit 4edca6f

File tree

1 file changed

+69
-93
lines changed

1 file changed

+69
-93
lines changed

app/src/processing/app/Preferences.java

Lines changed: 69 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -73,95 +73,68 @@ public class Preferences {
7373

7474
static final String PREFS_FILE = "preferences.txt";
7575

76-
String[] languages = {
77-
_("System Default"),
78-
"العربية" + " (" + _("Arabic") + ")",
79-
"Aragonés" + " (" + _("Aragonese") + ")",
80-
"български" + " (" + _("Bulgarian") + ")",
81-
"Català" + " (" + _("Catalan") + ")",
82-
"Hrvatski" + " (" + _("Croatian") + ")",
83-
"český" + " (" + _("Czech") + ")",
84-
"简体中文" + " (" + _("Chinese Simplified") + ")",
85-
"繁體中文" + " (" + _("Chinese Traditional") + ")",
86-
"Dansk" + " (" + _("Danish") + ")",
87-
"Nederlands" + " (" + _("Dutch") + ")",
88-
"English" + " (" + _("English") + ")",
89-
"Eesti" + " (" + _("Estonian") + ")",
90-
"Pilipino" + " (" + _("Filipino") + ")",
91-
"Français" + " (" + _("French") + ")",
92-
"Canadienne-français" + " (" + _("Canadian French") + ")",
93-
"Galego" + " (" + _("Galician") + ")",
94-
"საქართველოს" + " (" + _("Georgian") + ")",
95-
"עברית" + " (" + _("Hebrew") + ")",
96-
"Deutsch" + " (" + _("German") + ")",
97-
"ελληνικά" + " (" + _("Greek") + ")",
98-
"Magyar" + " (" + _("Hindi") + ")",
99-
"Magyar" + " (" + _("Hungarian") + ")",
100-
"Bahasa Indonesia" + " (" + _("Indonesian") + ")",
101-
"Italiano" + " (" + _("Italian") + ")",
102-
"日本語" + " (" + _("Japanese") + ")",
103-
"한국어" + " (" + _("Korean") + ")",
104-
"Latviešu" + " (" + _("Latvian") + ")",
105-
"Lietuvių Kalba" + " (" + _("Lithuaninan") + ")",
106-
"मराठी" + " (" + _("Marathi") + ")",
107-
"Norsk" + " (" + _("Norwegian") + ")",
108-
"Norsk bokmål" + " (" + _("Norwegian Bokmål") + ")",
109-
"فارسی" + " (" + _("Persian") + ")",
110-
"Język Polski" + " (" + _("Polish") + ")",
111-
"Português" + " (" + _("Portuguese") + " - Brazil)",
112-
"Português" + " (" + _("Portuguese") + " - Portugal)",
113-
"Română" + " (" + _("Romanian") + ")",
114-
"Русский" + " (" + _("Russian") + ")",
115-
"Español" + " (" + _("Spanish") + ")",
116-
"தமிழ்" + " (" + _("Tamil") + ")",
117-
"Türk" + " (" + _("Turkish") + ")",
118-
"Український" + " (" + _("Ukrainian") + ")"
119-
};
120-
String[] languagesISO = {
121-
"",
122-
"ar",
123-
"an",
124-
"bg",
125-
"ca",
126-
"hr_hr",
127-
"cs_cz",
128-
"zh_cn",
129-
"zh_tw",
130-
"da",
131-
"nl",
132-
"en",
133-
"et",
134-
"tl",
135-
"fr",
136-
"fr_ca",
137-
"gl",
138-
"ka_ge",
139-
"he",
140-
"de",
141-
"el",
142-
"hi",
143-
"hu",
144-
"id",
145-
"it",
146-
"ja",
147-
"ko",
148-
"lv",
149-
"lt",
150-
"mr",
151-
"no_nb",
152-
"nb_no",
153-
"fa",
154-
"pl",
155-
"pt_br",
156-
"pt_pt",
157-
"ro",
158-
"ru",
159-
"es",
160-
"ta",
161-
"tr",
162-
"uk"
163-
};
164-
76+
class Language {
77+
Language(String _name, String _originalName, String _isoCode) {
78+
name = _name;
79+
originalName = _originalName;
80+
isoCode = _isoCode;
81+
}
82+
83+
public String toString() {
84+
if (originalName.length() == 0)
85+
return name;
86+
return originalName + " (" + name + ")";
87+
};
88+
89+
String name;
90+
String originalName;
91+
String isoCode;
92+
}
93+
94+
Language languages[] = {
95+
new Language(_("System Default"), "", ""),
96+
new Language(_("Arabic"), "العربية", "ar"),
97+
new Language(_("Aragonese"), "Aragonés", "an"),
98+
new Language(_("Bulgarian"), "български", "bg"),
99+
new Language(_("Catalan"), "Català", "ca"),
100+
new Language(_("Croatian"), "Hrvatski", "hr_hr"),
101+
new Language(_("Czech"), "český", "cs_cz"),
102+
new Language(_("Chinese Simplified"), "简体中文", "zh_cn"),
103+
new Language(_("Chinese Traditional"), "繁體中文", "zh_tw"),
104+
new Language(_("Danish"), "Dansk", "da"),
105+
new Language(_("Dutch"), "Nederlands", "nl"),
106+
new Language(_("English"), "English", "en"),
107+
new Language(_("Estonian"), "Eesti", "et"),
108+
new Language(_("Filipino"), "Pilipino", "tl"),
109+
new Language(_("French"), "Français", "fr"),
110+
new Language(_("Canadian French"), "Canadienne-français", "fr_ca"),
111+
new Language(_("Galician"), "Galego", "gl"),
112+
new Language(_("Georgian"), "საქართველოს", "ka_ge"),
113+
new Language(_("German"), "Deutsch", "de"),
114+
new Language(_("Greek"), "ελληνικά", "el"),
115+
new Language(_("Hebrew"), "עברית", "he"),
116+
new Language(_("Hindi"), "हिंदी", "hi"),
117+
new Language(_("Hungarian"), "Magyar", "hu"),
118+
new Language(_("Indonesian"), "Bahasa Indonesia", "id"),
119+
new Language(_("Italian"), "Italiano", "it"),
120+
new Language(_("Japanese"), "日本語", "ja"),
121+
new Language(_("Korean"), "한국어", "ko"),
122+
new Language(_("Latvian"), "Latviešu", "lv"),
123+
new Language(_("Lithuaninan"), "Lietuvių Kalba", "lt"),
124+
new Language(_("Marathi"), "मराठी", "mr"),
125+
new Language(_("Norwegian"), "Norsk", "no_nb"),
126+
new Language(_("Norwegian Bokmål"), "Norsk bokmål", "nb_no"),
127+
new Language(_("Persian"), "فارسی", "fa"),
128+
new Language(_("Polish"), "Język Polski", "pl"),
129+
new Language(_("Portuguese (Brazil)"), "Português (Brazil)", "pt_br"),
130+
new Language(_("Portuguese (Portugal)"), "Português (Portugal)", "pt_pt"),
131+
new Language(_("Romanian"), "Română", "ro"),
132+
new Language(_("Russian"), "Русский", "ru"),
133+
new Language(_("Spanish"), "Español", "es"),
134+
new Language(_("Tamil"), "தமிழ்", "ta"),
135+
new Language(_("Turkish"), "Türk", "tr"),
136+
new Language(_("Ukrainian"), "Український", "uk"), };
137+
165138
/**
166139
* Standardized width for buttons. Mac OS X 10.3 wants 70 as its default,
167140
* Windows XP needs 66, and my Ubuntu machine needs 80+, so 80 seems proper.
@@ -386,7 +359,11 @@ public void actionPerformed(ActionEvent e) {
386359
label = new JLabel(_("Editor language: "));
387360
box.add(label);
388361
comboLanguage = new JComboBox(languages);
389-
comboLanguage.setSelectedIndex((Arrays.asList(languagesISO)).indexOf(Preferences.get("editor.languages.current")));
362+
String currentLanguage = Preferences.get("editor.languages.current");
363+
for (Language language : languages) {
364+
if (language.isoCode.equals(currentLanguage))
365+
comboLanguage.setSelectedItem(language);
366+
}
390367
box.add(comboLanguage);
391368
label = new JLabel(_(" (requires restart of Arduino)"));
392369
box.add(label);
@@ -676,9 +653,8 @@ protected void applyFrame() {
676653
setBoolean("editor.update_extension", updateExtensionBox.isSelected());
677654

678655
// adds the selected language to the preferences file
679-
Object newItem = comboLanguage.getSelectedItem();
680-
int pos = (Arrays.asList(languages)).indexOf(newItem.toString()); // position in the languages array
681-
set("editor.languages.current",(Arrays.asList(languagesISO)).get(pos));
656+
Language newLanguage = (Language) comboLanguage.getSelectedItem();
657+
set("editor.languages.current", newLanguage.isoCode);
682658

683659
editor.applyPreferences();
684660
}

0 commit comments

Comments
 (0)