Author: nextgens
Date: 2008-07-16 10:12:41 +0000 (Wed, 16 Jul 2008)
New Revision: 21143

Modified:
   trunk/freenet/src/freenet/l10n/L10n.java
Log:
l10n: keep the short-code for internal purposes, export the long-name outside 
(bis)

Modified: trunk/freenet/src/freenet/l10n/L10n.java
===================================================================
--- trunk/freenet/src/freenet/l10n/L10n.java    2008-07-16 10:12:24 UTC (rev 
21142)
+++ trunk/freenet/src/freenet/l10n/L10n.java    2008-07-16 10:12:41 UTC (rev 
21143)
@@ -94,6 +94,7 @@
        * @throws MissingResourceException
        */
        public static void setLanguage(String selectedLanguage) throws 
MissingResourceException {
+               selectedLanguage = mapLanguageNameToLongName(selectedLanguage);
                synchronized (sync) {
                        Logger.normal(CLASS_NAME, "Changing the current 
language to : " + selectedLanguage);
                        currentClass = new L10n(selectedLanguage);
@@ -369,6 +370,24 @@
                return null;
        }

+       /**
+        * Map a language identifier to its corresponding long name
+        * 
+        * @param The name to look for
+        * @return The full text language name OR null if not found
+        */
+       public static String mapLanguageNameToLongName(String name) {
+               for(int i=0; i<AVAILABLE_LANGUAGES.length; i++) {
+                       String currentShortCode = AVAILABLE_LANGUAGES[i][0];
+                       String currentLongName = AVAILABLE_LANGUAGES[i][1];
+                       String currentCountryCodeName = 
AVAILABLE_LANGUAGES[i][2];
+                       
+                       if(currentShortCode.equalsIgnoreCase(name) || 
currentLongName.equalsIgnoreCase(name) || 
currentCountryCodeName.equalsIgnoreCase(name))
+                               return currentLongName;
+               }
+               return null;
+       }
+
        public static boolean isOverridden(String key) {
                synchronized(sync) {
                        if(translationOverride == null) return false;


Reply via email to