OSDN Git Service

Replaced some l10n strings like "Français" by Unicode escape codes such as "Fran...
[sudokuki/sudokuki.git] / src / classes / net / jankenpoi / sudokuki / ui / swing / LanguageMenu.java
index 3c9bb73..90b097c 100644 (file)
@@ -45,18 +45,8 @@ public class LanguageMenu extends JMenu implements L10nComponent {
         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
@@ -86,36 +76,22 @@ public class LanguageMenu extends JMenu implements L10nComponent {
                 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
@@ -123,11 +99,7 @@ public class LanguageMenu extends JMenu implements L10nComponent {
 \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
@@ -152,4 +124,46 @@ public class LanguageMenu extends JMenu implements L10nComponent {
                 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