]> gitweb.fperrin.net Git - DictionaryPC.git/blobdiff - src/com/hughes/android/dictionary/parser/wiktionary/WiktionaryLangs.java
Update URL format and parsing, fix FR handling.
[DictionaryPC.git] / src / com / hughes / android / dictionary / parser / wiktionary / WiktionaryLangs.java
index c66e650d4f604b128e4bae5dd673fbbf496c96f4..3de77dde399cffa007e07e31eb732061d6dd162f 100644 (file)
@@ -107,7 +107,8 @@ public class WiktionaryLangs {
     isoCodeToEnWikiName.put("HT", "Haitian Creole");
     isoCodeToEnWikiName.put("LB", "Luxembourgish");
     isoCodeToEnWikiName.put("MK", "Macedonian");
-    
+
+
     assert Language.isoCodeToResources.keySet().containsAll(isoCodeToEnWikiName.keySet());
   }
 
@@ -137,24 +138,24 @@ public class WiktionaryLangs {
     // egrep -o '\{\{=[a-zA-Z]+=\}\}' frwiktionary-pages-articles.xml | sort | uniq -c | sort -nr
     isoCodeToWikiName = new LinkedHashMap<String, String>();
     wikiCodeToIsoCodeToWikiName.put("fr", isoCodeToWikiName);
-    isoCodeToWikiName.put("FR", Pattern.quote("{{=fr=}}"));
-    isoCodeToWikiName.put("RU", Pattern.quote("{{=ru=}}"));
-    isoCodeToWikiName.put("BG", Pattern.quote("{{=bg=}}"));  // Bulgarian
-    isoCodeToWikiName.put("EN", Pattern.quote("{{=en=}}"));
-    //isoCodeToWikiName.put("", Pattern.quote("{{=sl=}}"));
-    isoCodeToWikiName.put("LA", Pattern.quote("{{=la=}}"));
-    isoCodeToWikiName.put("IT", Pattern.quote("{{=it=}}"));
-    isoCodeToWikiName.put("EO", Pattern.quote("{{=eo=}}"));
-    isoCodeToWikiName.put("CS", Pattern.quote("{{=cs=}}"));  // Czech
-    isoCodeToWikiName.put("NL", Pattern.quote("{{=nl=}}"));  // Dutch
-    //isoCodeToWikiName.put("", Pattern.quote("{{=mg=}}"));
-    //isoCodeToWikiName.put("", Pattern.quote("{{=hsb=}}"));
-    isoCodeToWikiName.put("ZH", Pattern.quote("{{=zh=}}"));
-    isoCodeToWikiName.put("JA", Pattern.quote("{{=ja=}}"));
-    isoCodeToWikiName.put("DE", Pattern.quote("{{=de=}}"));
-    isoCodeToWikiName.put("IS", Pattern.quote("{{=is=}}"));  // Icelandic
-    isoCodeToWikiName.put("ES", Pattern.quote("{{=es=}}"));
-    isoCodeToWikiName.put("UK", Pattern.quote("{{=uk=}}"));
+    isoCodeToWikiName.put("FR", Pattern.quote("{{langue|fr}}"));
+    isoCodeToWikiName.put("RU", Pattern.quote("{{langue|ru}}"));
+    isoCodeToWikiName.put("BG", Pattern.quote("{{langue|bg}}"));  // Bulgarian
+    isoCodeToWikiName.put("EN", Pattern.quote("{{langue|en}}"));
+    //isoCodeToWikiName.put("", Pattern.quote("{{langue|sl}}"));
+    isoCodeToWikiName.put("LA", Pattern.quote("{{langue|la}}"));
+    isoCodeToWikiName.put("IT", Pattern.quote("{{langue|it}}"));
+    isoCodeToWikiName.put("EO", Pattern.quote("{{langue|eo}}"));
+    isoCodeToWikiName.put("CS", Pattern.quote("{{langue|cs}}"));  // Czech
+    isoCodeToWikiName.put("NL", Pattern.quote("{{langue|nl}}"));  // Dutch
+    //isoCodeToWikiName.put("", Pattern.quote("{{langue|mg}}"));
+    //isoCodeToWikiName.put("", Pattern.quote("{{langue|hsb}}"));
+    isoCodeToWikiName.put("ZH", Pattern.quote("{{langue|zh}}"));
+    isoCodeToWikiName.put("JA", Pattern.quote("{{langue|ja}}"));
+    isoCodeToWikiName.put("DE", Pattern.quote("{{langue|de}}"));
+    isoCodeToWikiName.put("IS", Pattern.quote("{{langue|is}}"));  // Icelandic
+    isoCodeToWikiName.put("ES", Pattern.quote("{{langue|es}}"));
+    isoCodeToWikiName.put("UK", Pattern.quote("{{langue|uk}}"));
 
     // egrep -o '= *\{\{-[a-z]+-\}\} *=' itwiktionary-pages-articles.xml | sort | uniq -c | sort -n
     isoCodeToWikiName = new LinkedHashMap<String, String>();
@@ -174,5 +175,18 @@ public class WiktionaryLangs {
     isoCodeToWikiName.put("SV", Pattern.quote("{{-sv-}}"));
 
   }
+  public static String getEnglishName(String langCode) {
+      String name = isoCodeToEnWikiName.get(langCode);
+      if (name == null) {
+          name = isoCodeToEnWikiName.get(langCode.toUpperCase());
+      }
+      if (name == null) {
+          return null;
+      }
+      if (name.indexOf('|') != -1) {
+          return name.substring(name.indexOf('|'));
+      }
+      return name;  // can be null.
+  }
   
 }