Revision: 7328
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=7328&view=rev
Author:   dnaber
Date:     2012-06-12 18:21:23 +0000 (Tue, 12 Jun 2012)
Log Message:
-----------
be robust if language order changes (not yet complete)

Modified Paths:
--------------
    trunk/JLanguageTool/src/java/org/languagetool/Language.java
    trunk/JLanguageTool/src/test/org/languagetool/LanguageTest.java

Modified: trunk/JLanguageTool/src/java/org/languagetool/Language.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/Language.java 2012-06-12 
17:57:05 UTC (rev 7327)
+++ trunk/JLanguageTool/src/java/org/languagetool/Language.java 2012-06-12 
18:21:23 UTC (rev 7328)
@@ -381,9 +381,18 @@
     return null;
   }
 
-  //FIXME: if the list of languages ever gets sorted, we might get unexpected 
results! 
   private static Language getLanguageForLanguageNameOnly(Locale locale) {
+    // use default variant if available:
     for (Language language : Language.REAL_LANGUAGES) {
+      if (language.getShortName().equals(locale.getLanguage()) && 
language.hasVariant()) {
+        final Language defaultVariant = language.getDefaultVariant();
+        if (defaultVariant != null) {
+          return defaultVariant;
+        }
+      }
+    }
+    // use the first match otherwise (which should be the only match):
+    for (Language language : Language.REAL_LANGUAGES) {
       if (language.getShortName().equals(locale.getLanguage()) && 
!language.hasVariant()) {
         return language;
       }

Modified: trunk/JLanguageTool/src/test/org/languagetool/LanguageTest.java
===================================================================
--- trunk/JLanguageTool/src/test/org/languagetool/LanguageTest.java     
2012-06-12 17:57:05 UTC (rev 7327)
+++ trunk/JLanguageTool/src/test/org/languagetool/LanguageTest.java     
2012-06-12 18:21:23 UTC (rev 7328)
@@ -94,6 +94,7 @@
         // fallback to the language's default variant if not specified:
         assertEquals(Language.AMERICAN_ENGLISH, 
Language.getLanguageForLocale(new Locale("en")));
         assertEquals(Language.GERMANY_GERMAN, 
Language.getLanguageForLocale(new Locale("de")));
+        assertEquals(Language.POLISH, Language.getLanguageForLocale(new 
Locale("pl")));
         // final fallback is everything else fails:
         assertEquals(Language.AMERICAN_ENGLISH, 
Language.getLanguageForLocale(Locale.JAPANESE));
         assertEquals(Language.AMERICAN_ENGLISH, 
Language.getLanguageForLocale(new Locale("zz")));

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Languagetool-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs

Reply via email to