private String langCode;\r
\r
public LanguageMenu() {\r
- icons.put("de", StockIcons.ICON_FLAG_DE);\r
- icons.put("el", StockIcons.ICON_FLAG_EL);\r
- icons.put("eo", StockIcons.ICON_FLAG_EO);\r
- icons.put("en", StockIcons.ICON_FLAG_EN);\r
- icons.put("es", StockIcons.ICON_FLAG_ES);\r
- icons.put("fr", StockIcons.ICON_FLAG_FR);\r
- icons.put("ja", StockIcons.ICON_FLAG_JA);\r
- icons.put("pt", StockIcons.ICON_FLAG_PT);\r
- icons.put("ru", StockIcons.ICON_FLAG_RU);\r
- icons.put("zh", StockIcons.ICON_FLAG_ZH);\r
addItems();\r
- setIcon(StockIcons.ICON_GO_HOME);\r
+ setIcon(languageIcon(_("DETECTED_LANGUAGE")));\r
\r
addMenuListener(new MenuListener() {\r
\r
localeListener = new LocaleListenerImpl(this);\r
I18n.addLocaleListener(localeListener);\r
}\r
-\r
- private final LocaleListener localeListener;\r
- @Override\r
- public void setL10nMessages(Locale locale, String languageCode) {\r
- setText(_("Language"));\r
- itemsMap.get("de").setText(_("German"));\r
- itemsMap.get("el").setText(_("Greek"));\r
- itemsMap.get("en").setText(_("English"));\r
- itemsMap.get("eo").setText(_("Esperanto"));\r
- itemsMap.get("es").setText(_("Spanish"));\r
- itemsMap.get("fr").setText(_("French"));\r
- itemsMap.get("ja").setText(_("Japanese"));\r
- itemsMap.get("pt").setText(_("Portuguese"));\r
- itemsMap.get("zh").setText(_("Mandarin"));\r
- }\r
- \r
- private final HashMap<String, Icon> icons = new HashMap<String, Icon>();\r
-\r
+ \r
private void addItems() {\r
ButtonGroup myGroup = new ButtonGroup();\r
- addItem("de", _("German"), myGroup);\r
- addItem("el", _("Greek"), myGroup);\r
- addItem("en", _("English"), myGroup);\r
- addItem("eo", _("Esperanto"), myGroup);\r
- addItem("es", _("Spanish"), myGroup);\r
- addItem("fr", _("French"), myGroup);\r
- addItem("ja", _("Japanese"), myGroup);\r
- addItem("pt", _("Portuguese"), myGroup);\r
- addItem("ru", _("Russian"), myGroup);\r
- addItem("zh", _("Mandarin"), myGroup);\r
+ addItem("de", "Deutsch", myGroup);\r
+ addItem("el", "E\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac", myGroup);\r
+ addItem("en", "English", myGroup);\r
+ addItem("eo", "Esperanto", myGroup);\r
+ addItem("es", "Espa\u00f1ol", myGroup);\r
+ addItem("fr", "Fran\u00e7ais", myGroup);\r
+ addItem("ja", "\u65e5\u672c\u8a9e", myGroup);\r
+ addItem("lv", "Latvie\u0161u", myGroup);\r
+ addItem("nl", "Nederlands", myGroup);
+ addItem("pt", "Portugu\u00eas", myGroup);\r
+ addItem("pt_BR", "Portugu\u00eas (Brasil)", myGroup);\r
+ addItem("ru", "\u0420\u0443\u0441\u0441\u043a\u0438\u0439", myGroup);\r
+ addItem("zh", "\u4e2d\u6587", myGroup);\r
}\r
\r
private void addItem(final String code, String language, ButtonGroup group) {\r
\r
radioItem = new JRadioButtonMenuItem(language);\r
itemsMap.put(code, radioItem);\r
- if (code.equals(code)) {\r
- radioItem.setSelected(true);\r
- }\r
-// System.out.println("LanguageMenu.addItem() icons.get(code):"+code+" "+icons.get(code));\r
- radioItem.setAction(new AbstractAction(language, icons.get(code)) {\r
+ radioItem.setAction(new AbstractAction(language, languageIcon(code)) {\r
\r
@Override\r
public void actionPerformed(ActionEvent arg0) {\r
add(radioItem);\r
}\r
\r
-}
\ No newline at end of file
+ private final LocaleListener localeListener;\r
+ @Override\r
+ public void setL10nMessages(Locale locale, String languageCode) {\r
+ setText(_("Language"));\r
+ setIcon(languageIcon(languageCode));\r
+ \r
+ if (this.isSelected()) {\r
+ return;\r
+ }\r
+ }\r
+\r
+ public static Icon languageIcon(final String langCode) {\r
+ if ("de".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_DE;\r
+ } else if ("el".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_EL;\r
+ } else if ("eo".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_EO;\r
+ } else if ("en".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_EN;\r
+ } else if ("es".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_ES;\r
+ } else if ("fr".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_FR;\r
+ } else if ("ja".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_JA;\r
+ } else if ("lv".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_LV;\r
+ } else if ("nl".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_NL;\r
+ } else if ("pt".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_PT;\r
+ } else if ("pt_BR".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_BR;\r
+ } else if ("ru".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_RU;\r
+ } else if ("zh".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_ZH;\r
+ }\r
+ return StockIcons.ICON_GO_HOME;\r
+ }\r
+ \r
+}\r