]> gitweb.fperrin.net Git - DictionaryPC.git/blob - src/com/hughes/android/dictionary/parser/wiktionary/WiktionaryLangs.java
Fixed combining marks on Unicode regexes.
[DictionaryPC.git] / src / com / hughes / android / dictionary / parser / wiktionary / WiktionaryLangs.java
1 // Copyright 2012 Google Inc. All Rights Reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 package com.hughes.android.dictionary.parser.wiktionary;
16
17 import java.util.LinkedHashMap;
18 import java.util.Map;
19 import java.util.regex.Pattern;
20
21 public class WiktionaryLangs {
22   
23   public static final Map<String,String> isoCodeToWikiName = new LinkedHashMap<String,String>();
24   static {
25     isoCodeToWikiName.put("AF", "Afrikaans");
26     isoCodeToWikiName.put("SQ", "Albanian");
27     isoCodeToWikiName.put("AR", "Arabic");
28     isoCodeToWikiName.put("HY", "Armenian");
29     isoCodeToWikiName.put("BE", "Belarusian");
30     isoCodeToWikiName.put("BN", "Bengali");
31     isoCodeToWikiName.put("BS", "Bosnian");
32     isoCodeToWikiName.put("BG", "Bulgarian");
33     isoCodeToWikiName.put("CA", "Catalan");
34     isoCodeToWikiName.put("HR", "Croatian");
35     isoCodeToWikiName.put("CS", "Czech");
36     isoCodeToWikiName.put("ZH", "Chinese|Mandarin|Cantonese");
37     isoCodeToWikiName.put("DA", "Danish");
38     isoCodeToWikiName.put("NL", "Dutch");
39     isoCodeToWikiName.put("EN", "English");
40     isoCodeToWikiName.put("EO", "Esperanto");
41     isoCodeToWikiName.put("ET", "Estonian");
42     isoCodeToWikiName.put("FI", "Finnish");
43     isoCodeToWikiName.put("FR", "French");
44     isoCodeToWikiName.put("DE", "German");
45     isoCodeToWikiName.put("EL", "Greek");
46     isoCodeToWikiName.put("haw", "Hawaiian");
47     isoCodeToWikiName.put("HE", "Hebrew");
48     isoCodeToWikiName.put("HI", "Hindi");
49     isoCodeToWikiName.put("HU", "Hungarian");
50     isoCodeToWikiName.put("IS", "Icelandic");
51     isoCodeToWikiName.put("ID", "Indonesian");
52     isoCodeToWikiName.put("GA", "Irish");
53     isoCodeToWikiName.put("GD", "Gaelic");
54     isoCodeToWikiName.put("IT", "Italian");
55     isoCodeToWikiName.put("LA", "Latin");
56     isoCodeToWikiName.put("LV", "Latvian");
57     isoCodeToWikiName.put("LT", "Lithuanian");
58     isoCodeToWikiName.put("JA", "Japanese");
59     isoCodeToWikiName.put("KO", "Korean");
60     isoCodeToWikiName.put("KU", "Kurdish");
61     isoCodeToWikiName.put("MS", "Malay");
62     isoCodeToWikiName.put("MI", "Maori");
63     isoCodeToWikiName.put("MN", "Mongolian");
64     isoCodeToWikiName.put("NE", "Nepali");
65     isoCodeToWikiName.put("NO", "Norwegian");
66     isoCodeToWikiName.put("FA", "Persian");
67     isoCodeToWikiName.put("PL", "Polish");
68     isoCodeToWikiName.put("PT", "Portuguese");
69     isoCodeToWikiName.put("PA", "Punjabi");
70     isoCodeToWikiName.put("RO", "Romanian");
71     isoCodeToWikiName.put("RU", "Russian");
72     isoCodeToWikiName.put("SA", "Sanskrit");
73     isoCodeToWikiName.put("SR", "Serbian");
74     isoCodeToWikiName.put("SK", "Slovak");
75     isoCodeToWikiName.put("SO", "Somali");
76     isoCodeToWikiName.put("ES", "Spanish");
77     isoCodeToWikiName.put("SW", "Swahili");
78     isoCodeToWikiName.put("SV", "Swedish");
79     isoCodeToWikiName.put("TL", "Tagalog");
80     isoCodeToWikiName.put("TG", "Tajik");
81     isoCodeToWikiName.put("TH", "Thai");
82     isoCodeToWikiName.put("BO", "Tibetan");
83     isoCodeToWikiName.put("TR", "Turkish");
84     isoCodeToWikiName.put("UK", "Ukrainian");
85     isoCodeToWikiName.put("UR", "Urdu");
86     isoCodeToWikiName.put("VI", "Vietnamese");
87     isoCodeToWikiName.put("CI", "Welsh");
88     isoCodeToWikiName.put("YI", "Yiddish");
89     isoCodeToWikiName.put("ZU", "Zulu");
90     
91     isoCodeToWikiName.put("AZ", "Azeri");
92     isoCodeToWikiName.put("EU", "Basque");
93     isoCodeToWikiName.put("BR", "Breton");
94     isoCodeToWikiName.put("MR", "Burmese");
95     isoCodeToWikiName.put("FO", "Faroese");
96     isoCodeToWikiName.put("GL", "Galician");
97     isoCodeToWikiName.put("KA", "Georgian");
98     isoCodeToWikiName.put("HT", "Haitian Creole");
99     isoCodeToWikiName.put("LB", "Luxembourgish");
100     isoCodeToWikiName.put("MK", "Macedonian");
101     
102   }
103
104   public static final Map<String,Map<String,String>> wikiCodeToIsoCodeToWikiName = new LinkedHashMap<String, Map<String,String>>();
105   static {
106     // en
107     wikiCodeToIsoCodeToWikiName.put("en", isoCodeToWikiName);
108     
109     Map<String,String> isoCodeToWikiName;
110     
111     // egrep -o '\{\{Wortart[^}]+\}\}' dewiktionary-pages-articles.xml | cut -d \| -f3 | sort | uniq -c | sort -nr
112     isoCodeToWikiName = new LinkedHashMap<String, String>();
113     wikiCodeToIsoCodeToWikiName.put("de", isoCodeToWikiName);
114     isoCodeToWikiName.put("DE", "Deutsch");
115     isoCodeToWikiName.put("EN", "Englisch");
116     isoCodeToWikiName.put("IT", "Italienisch");
117     isoCodeToWikiName.put("PL", "Polnisch");
118     isoCodeToWikiName.put("FR", "Französisch");
119     isoCodeToWikiName.put("EO", "Esperanto");
120     isoCodeToWikiName.put("CA", "Katalanisch");
121     isoCodeToWikiName.put("LA", "Lateinisch");
122     isoCodeToWikiName.put("CS", "Tschechisch");
123     isoCodeToWikiName.put("HU", "Ungarisch");
124     isoCodeToWikiName.put("SV", "Schwedisch");
125     isoCodeToWikiName.put("ES", "Spanisch");
126
127     // egrep -o '\{\{=[a-zA-Z]+=\}\}' frwiktionary-pages-articles.xml | sort | uniq -c | sort -nr
128     isoCodeToWikiName = new LinkedHashMap<String, String>();
129     wikiCodeToIsoCodeToWikiName.put("fr", isoCodeToWikiName);
130     isoCodeToWikiName.put("FR", Pattern.quote("{{=fr=}}"));
131     isoCodeToWikiName.put("RU", Pattern.quote("{{=ru=}}"));
132     isoCodeToWikiName.put("BG", Pattern.quote("{{=bg=}}"));  // Bulgarian
133     isoCodeToWikiName.put("EN", Pattern.quote("{{=en=}}"));
134     //isoCodeToWikiName.put("", Pattern.quote("{{=sl=}}"));
135     isoCodeToWikiName.put("LA", Pattern.quote("{{=la=}}"));
136     isoCodeToWikiName.put("IT", Pattern.quote("{{=it=}}"));
137     isoCodeToWikiName.put("EO", Pattern.quote("{{=eo=}}"));
138     isoCodeToWikiName.put("CS", Pattern.quote("{{=cs=}}"));  // Czech
139     isoCodeToWikiName.put("NL", Pattern.quote("{{=nl=}}"));  // Dutch
140     //isoCodeToWikiName.put("", Pattern.quote("{{=mg=}}"));
141     //isoCodeToWikiName.put("", Pattern.quote("{{=hsb=}}"));
142     isoCodeToWikiName.put("ZH", Pattern.quote("{{=zh=}}"));
143     isoCodeToWikiName.put("JA", Pattern.quote("{{=ja=}}"));
144     isoCodeToWikiName.put("DE", Pattern.quote("{{=de=}}"));
145     isoCodeToWikiName.put("IS", Pattern.quote("{{=is=}}"));  // Icelandic
146     isoCodeToWikiName.put("ES", Pattern.quote("{{=es=}}"));
147     isoCodeToWikiName.put("UK", Pattern.quote("{{=uk=}}"));
148
149     // egrep -o '= *\{\{-[a-z]+-\}\} *=' itwiktionary-pages-articles.xml | sort | uniq -c | sort -n
150     isoCodeToWikiName = new LinkedHashMap<String, String>();
151     wikiCodeToIsoCodeToWikiName.put("it", isoCodeToWikiName);
152     isoCodeToWikiName.put("IT", "\\{\\{-(it|scn|nap|cal|lmo)-\\}\\}");  // scn, nap, cal, lmo
153     isoCodeToWikiName.put("EN", Pattern.quote("{{-en-}}"));
154     isoCodeToWikiName.put("FR", Pattern.quote("{{-fr-}}"));
155     isoCodeToWikiName.put("DE", Pattern.quote("{{-de-}}"));
156     isoCodeToWikiName.put("ES", Pattern.quote("{{-es-}}"));
157     isoCodeToWikiName.put("JA", Pattern.quote("{{-ja-}}"));
158     isoCodeToWikiName.put("PL", Pattern.quote("{{-pl-}}"));
159     isoCodeToWikiName.put("NL", Pattern.quote("{{-nl-}}"));
160     isoCodeToWikiName.put("LV", Pattern.quote("{{-lv-}}"));
161     isoCodeToWikiName.put("LV", Pattern.quote("{{-la-}}"));
162     isoCodeToWikiName.put("HU", Pattern.quote("{{-hu-}}"));
163     isoCodeToWikiName.put("PL", Pattern.quote("{{-pl-}}"));
164     isoCodeToWikiName.put("EL", Pattern.quote("{{-grc-}}"));
165     isoCodeToWikiName.put("SV", Pattern.quote("{{-sv-}}"));
166
167   }
168   
169 }