X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2Fparser%2Fwiktionary%2FWiktionaryLangs.java;h=3de77dde399cffa007e07e31eb732061d6dd162f;hb=511f5633b8f21a7929b0658e06245bb5092a313d;hp=c66e650d4f604b128e4bae5dd673fbbf496c96f4;hpb=1b515f031d39e758e8e6339c03e124f1548579cc;p=DictionaryPC.git diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/WiktionaryLangs.java b/src/com/hughes/android/dictionary/parser/wiktionary/WiktionaryLangs.java index c66e650..3de77dd 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/WiktionaryLangs.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/WiktionaryLangs.java @@ -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(); 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(); @@ -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. + } }