OSDN Git Service

Translations of the name of the tamil translator
[sudokuki/sudokuki.git] / src / classes / net / jankenpoi / sudokuki / ui / swing / LanguageMenu.java
index eb2c992..a27eed1 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * Sudokuki - essential sudoku game\r
- * Copyright (C) 2007-2012 Sylvain Vedrenne\r
+ * Copyright (C) 2007-2013 Sylvain Vedrenne\r
  *\r
  * This program is free software: you can redistribute it and/or modify\r
  * it under the terms of the GNU General Public License as published by\r
@@ -40,117 +40,144 @@ import net.jankenpoi.sudokuki.ui.L10nComponent;
 @SuppressWarnings("serial")\r
 public class LanguageMenu extends JMenu implements L10nComponent {\r
 \r
-       private HashMap<String, JRadioButtonMenuItem> itemsMap = new HashMap<String, JRadioButtonMenuItem>();\r
-\r
-       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
-               setL10nMessages(null, null);\r
-               localeListener = new LocaleListenerImpl(this);\r
-               I18n.addLocaleListener(localeListener);\r
-               \r
-               addMenuListener(new MenuListener() {\r
-                       \r
-                       @Override\r
-                       public void menuSelected(MenuEvent arg0) {\r
-//                             System.out\r
-//                                             .println("LanguageMenu.LanguageMenu().new MenuAdapter() {...}.menuSelected()");\r
-                               final String detectedLanguage = _("DETECTED_LANGUAGE");\r
-                               langCode = detectedLanguage;\r
-                       }\r
-                       \r
-                       @Override\r
-                       public void menuDeselected(MenuEvent arg0) {\r
-//                             System.out\r
-//                                             .println("LanguageMenu.LanguageMenu().new MenuAdapter() {...}.menuDeselected()");\r
-                               I18n.reset(langCode);\r
-                       }\r
+        private HashMap<String, JRadioButtonMenuItem> itemsMap = new HashMap<String, JRadioButtonMenuItem>();\r
+\r
+        private String langCode;\r
+        \r
+        public LanguageMenu() {\r
+                addItems();\r
+                setIcon(languageIcon(_("DETECTED_LANGUAGE")));\r
+                \r
+                addMenuListener(new MenuListener() {\r
+                        \r
+                        @Override\r
+                        public void menuSelected(MenuEvent arg0) {\r
+                                final String detectedLanguage = _("DETECTED_LANGUAGE");\r
+                                langCode = detectedLanguage;\r
+                        }\r
+                        \r
+                        @Override\r
+                        public void menuDeselected(MenuEvent arg0) {\r
+                                I18n.reset(langCode);\r
+                        }\r
+                        \r
+                                               @Override\r
+                        public void menuCanceled(MenuEvent arg0) {\r
+                                I18n.reset(langCode);\r
+                        }\r
+                });\r
+                \r
+                final String detectedLanguage = _("DETECTED_LANGUAGE");\r
+                JRadioButtonMenuItem selectedItem = itemsMap.get(detectedLanguage);\r
+                setText(_("Language"));\r
+                if (selectedItem != null) {\r
+                        selectedItem.setSelected(true);\r
+                }\r
+                localeListener = new LocaleListenerImpl(this);\r
+                I18n.addLocaleListener(localeListener);\r
+        }\r
+                       \r
+        private void addItems() {\r
+                ButtonGroup myGroup = new ButtonGroup();\r
+                addItem("ar", "\u0627\u0644\u0639\u0631\u0628\u064a\u0629", 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("hu", "Magyar", 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("ta", "\u0ba4\u0bae\u0bbf\u0bb4\u0bcd \u0bae\u0bca\u0bb4\u0bbf", myGroup);\r
+                addItem("zh", "\u4e2d\u6587", myGroup);\r
+        }\r
+\r
+        private void addItem(final String code, String language, ButtonGroup group) {\r
+                JRadioButtonMenuItem radioItem;\r
+\r
+                radioItem = new JRadioButtonMenuItem(language);\r
+                itemsMap.put(code, radioItem);\r
+                radioItem.setAction(new AbstractAction(language, languageIcon(code)) {\r
+\r
+                        @Override\r
+                        public void actionPerformed(ActionEvent arg0) {\r
+                                I18n.reset(code);\r
+                        }\r
+                });\r
+\r
+                radioItem.addMouseListener(new MouseAdapter() {\r
+\r
+                        @Override\r
+                        public void mouseEntered(MouseEvent e) {\r
+                                I18n.reset(code);\r
+                        }\r
+                        \r
+                        @Override\r
+                        public void mouseExited(MouseEvent e) {\r
+                                I18n.reset(langCode);\r
+                        }\r
+\r
+                });\r
+                group.add(radioItem);\r
+                add(radioItem);\r
+        }\r
+\r
+        private final LocaleListener localeListener;\r
+               @Override\r
+               public void setL10nMessages(Locale locale, String languageCode) {\r
+                       setText(_("Language"));\r
+                       setIcon(languageIcon(languageCode));\r
+\r
+               JRadioButtonMenuItem selectedItem = itemsMap.get(languageCode);\r
+               if (selectedItem != null) {\r
+                       selectedItem.setSelected(true);\r
+               }                                                               \r
                        \r
-                       @Override\r
-                       public void menuCanceled(MenuEvent arg0) {\r
-//                             System.out\r
-//                                             .println("LanguageMenu.LanguageMenu().new MenuAdapter() {...}.menuCanceled()");\r
-                               I18n.reset(langCode);\r
+                       if (this.isSelected()) {\r
+                               return;\r
                        }\r
-               });\r
-       }\r
-\r
-       private final LocaleListener localeListener;\r
-\r
-       private final HashMap<String, Icon> icons = new HashMap<String, Icon>();\r
-\r
-       @Override\r
-       public void setL10nMessages(Locale locale, String languageCode) {\r
-               setText(_("Language"));\r
-\r
-               final String detectedLanguage = _("DETECTED_LANGUAGE");\r
-//             System.out\r
-//                             .println("LanguageMenu.setL10nMessages() detected language : "\r
-//                                             + detectedLanguage);\r
-               JRadioButtonMenuItem item = itemsMap.get(detectedLanguage);\r
-               if (item != null) {\r
-                       item.setSelected(true);\r
-               }\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", _("Chinese"), myGroup);\r
-       }\r
-\r
-       private void addItem(final String code, String language, ButtonGroup group) {\r
-               JRadioButtonMenuItem radioItem;\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
 \r
-                       @Override\r
-                       public void actionPerformed(ActionEvent arg0) {\r
-                               I18n.reset(code);\r
+               public static Icon languageIcon(final String langCode) {\r
+                       if ("ar".equals(langCode)) {\r
+                               return StockIcons.ICON_FLAG_AR;\r
+                       } else 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 ("hu".equals(langCode)) {\r
+                               return StockIcons.ICON_FLAG_HU;\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 ("ta".equals(langCode)) {\r
+                               return StockIcons.ICON_FLAG_TA;\r
+                       } else if ("zh".equals(langCode)) {\r
+                               return StockIcons.ICON_FLAG_ZH;\r
                        }\r
-               });\r
-\r
-               radioItem.addMouseListener(new MouseAdapter() {\r
-\r
-                       @Override\r
-                       public void mouseEntered(MouseEvent e) {\r
-                               I18n.reset(code);\r
-                       }\r
-                       \r
-                       @Override\r
-                       public void mouseExited(MouseEvent e) {\r
-                               I18n.reset(langCode);\r
-                       }\r
-\r
-               });\r
-               group.add(radioItem);\r
-               add(radioItem);\r
-       }\r
-\r
+                       return StockIcons.ICON_GO_HOME;\r
+               }\r
+               \r
 }\r