mirror of https://github.com/dnomd343/mobi-meta
Kin-Wai Koo
12 years ago
4 changed files with 455 additions and 122 deletions
@ -1,74 +1,76 @@ |
|||||
package gui; |
package gui; |
||||
|
|
||||
|
import java.io.IOException; |
||||
|
import java.util.Collections; |
||||
|
import java.util.Enumeration; |
||||
|
import java.util.HashMap; |
||||
|
import java.util.Properties; |
||||
|
import java.util.Vector; |
||||
|
|
||||
public class LanguageCodes |
public class LanguageCodes |
||||
{ |
{ |
||||
// these codes are taken from:
|
public final static String PROP_FILENAME = "languagecodes.properties"; |
||||
// http://www.autoitscript.com/autoit3/docs/appendix/OSLangCodes.htm
|
|
||||
//
|
private HashMap<Integer,String> codeHash; |
||||
public final static int[] code = |
private HashMap<String,Integer> descriptionHash; |
||||
{ 0, 1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, |
private String[] descriptions; |
||||
10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1068, 2092, |
|
||||
1069, 1059, 1026, 1027, 4, 1028, 2052, 3076, 4100, 5124, 1050, 1029, |
|
||||
1030, 19, 1043, 2067, 9, 1033, 2057, 3081, 4105, 5129, 6153, 7177, |
|
||||
8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1073, 1035, 12, |
|
||||
1036, 2060, 3084, 4108, 5132, 6156, 1079, 7, 1031, 2055, 3079, 4103, |
|
||||
5127, 1032, 1037, 1081, 1038, 1039, 1057, 16, 1040, 2064, 1041, 1087, |
|
||||
1111, 1042, 1062, 1063, 1071, 1086, 2110, 1102, 1044, 2068, 1045, 22, |
|
||||
1046, 2070, 1048, 1049, 1103, 2074, 3098, 1051, 1060, 10, 1034, 2058, |
|
||||
3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, |
|
||||
13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1089, 29, 1053, |
|
||||
2077, 1097, 1092, 1054, 1055, 1058, 1056, 1091, 2115, 1066 }; |
|
||||
|
|
||||
public final static String[] description = |
public LanguageCodes() |
||||
{ "Unspecified", "Afrikaans", "Albanian", "Arabic - Saudi Arabia", |
{ |
||||
"Arabic - Iraq", "Arabic - Egypt", "Arabic - Libya", |
Properties props = new Properties(); |
||||
"Arabic - Algeria", "Arabic - Morocco", "Arabic - Tunisia", |
try |
||||
"Arabic - Oman", "Arabic - Yemen", "Arabic - Syria", |
{ |
||||
"Arabic - Jordan", "Arabic - Lebanon", "Arabic - Kuwait", |
props.load(ClassLoader.getSystemClassLoader().getResourceAsStream(PROP_FILENAME)); |
||||
"Arabic - UAE", "Arabic - Bahrain", "Arabic - Qatar", "Armenian", |
} |
||||
"Azeri - Latin", "Azeri - Cyrillic", "Basque", "Belarusian", |
catch (IOException e) |
||||
"Bulgarian", "Catalan", "Chinese", "Chinese - Taiwan", "Chinese - PRC", |
{ |
||||
"Chinese - Hong Kong", "Chinese - Singapore", "Chinese - Macau", |
// we really have to find a better way to handle this
|
||||
"Croatian", "Czech", "Danish", "Dutch", "Dutch - Standard", |
} |
||||
"Dutch - Belgian", "English", "English - United States", |
|
||||
"English Ð United Kingdom", "English - Australian", |
codeHash = new HashMap<Integer,String>(); |
||||
"English - Canadian", "English - New Zealand", "English - Irish", |
descriptionHash = new HashMap<String,Integer>(); |
||||
"English - South Africa", "English - Jamaica", |
Vector<String> vec = new Vector<String>(); |
||||
"English - Caribbean", "English - Belize", "English - Trinidad", |
Enumeration<Object> keys = props.keys(); |
||||
"English - Zimbabwe", "English - Philippines", "Estonian", |
while (keys.hasMoreElements()) |
||||
"Faeroese", "Farsi", "Finnish", "French", "French - Standard", |
{ |
||||
"French - Belgian", "French - Canadian", "French - Swiss", |
String key = (String)keys.nextElement(); |
||||
"French - Luxembourg", "French - Monaco", "Georgian", "German", |
String description = props.getProperty(key) + " (" + key + ")"; |
||||
"German - Standard", "German - Swiss", "German - Austrian", |
|
||||
"German - Luxembourg", "German - Liechtenstei", "Greek", "Hebrew", |
try |
||||
"Hindi", "Hungarian", "Icelandic", "Indonesian", "Italian", |
{ |
||||
"Italian - Standard", "Italian - Swiss", "Japanese", "Kazakh", |
Integer code = Integer.valueOf(key); |
||||
"Konkani", "Korean", "Latvian", "Lithuanian", "Macedonian", |
codeHash.put(code, description); |
||||
"Malay - Malaysia", "Malay - Brunei Darussalam", "Marathi", |
descriptionHash.put(description, code); |
||||
"Norwegian - Bokmal", "Norwegian - Nynorsk", "Polish", "Portugese", |
vec.add(description); |
||||
"Portuguese - Brazilian", "Portuguese - Standard", "Romanian", |
} |
||||
"Russian", "Sanskrit", "Serbian - Latin", "Serbian - Cyrillic", |
catch (NumberFormatException e) |
||||
"Slovak", "Slovenian", "Spanish", "Spanish - Traditional Sort", |
{ |
||||
"Spanish - Mexican", "Spanish - Modern Sort", |
} |
||||
"Spanish - Guatemala", "Spanish - Costa Rica", "Spanish - Panama", |
Collections.sort(vec); |
||||
"Spanish - Dominican Republic", "Spanish - Venezuela", |
descriptions = vec.toArray(new String[vec.size()]); |
||||
"Spanish - Colombia", "Spanish - Peru", "Spanish - Argentina", |
} |
||||
"Spanish - Ecuador", "Spanish - Chile", "Spanish - Uruguay", |
} |
||||
"Spanish - Paraguay", "Spanish - Bolivia", "Spanish - El Salvador", |
|
||||
"Spanish - Honduras", "Spanish - Nicaragua", |
|
||||
"Spanish - Puerto Rico", "Swahili", "Swedish", "Swedish - Finland", |
|
||||
"Tamil", "Tatar", "Thai", "Turkish", "Ukrainian", "Urdu", |
|
||||
"Uzbek - Latin", "Uzbek - Cyrillic", "Vietnamese" }; |
|
||||
|
|
||||
|
public String[] getDescriptions() |
||||
|
{ |
||||
|
return descriptions; |
||||
|
} |
||||
|
|
||||
public static int codeToIndex(int key) |
public boolean codeExists(int code) |
||||
{ |
{ |
||||
int len = code.length; |
return (codeToDescription(code) != null); |
||||
for (int i = 0; i < len; i++) |
} |
||||
|
|
||||
|
public int descriptionToCode(String description) |
||||
{ |
{ |
||||
if (code[i] == key) return i; |
Integer code = descriptionHash.get(description); |
||||
|
if (code == null) return -1; |
||||
|
|
||||
|
return code.intValue(); |
||||
} |
} |
||||
|
|
||||
return -1; |
public String codeToDescription(int code) |
||||
|
{ |
||||
|
return codeHash.get (Integer.valueOf(code)); |
||||
} |
} |
||||
} |
} |
||||
|
@ -0,0 +1,337 @@ |
|||||
|
# Many thanks to ixtab on mobileread forums for the complete list! |
||||
|
# |
||||
|
|
||||
|
1=ar |
||||
|
2=bg |
||||
|
3=ca |
||||
|
4=zh |
||||
|
5=cz |
||||
|
6=da |
||||
|
7=de |
||||
|
8=el |
||||
|
9=en |
||||
|
10=es |
||||
|
11=fi |
||||
|
12=fr |
||||
|
13=he |
||||
|
14=hu |
||||
|
15=is |
||||
|
16=it |
||||
|
17=ja |
||||
|
18=ko |
||||
|
19=nl |
||||
|
20=nn |
||||
|
21=pl |
||||
|
22=pt |
||||
|
24=ro |
||||
|
25=ru |
||||
|
26=hr |
||||
|
27=sk |
||||
|
28=sq |
||||
|
29=sv |
||||
|
30=th |
||||
|
31=tr |
||||
|
32=ur |
||||
|
33=in |
||||
|
34=uk |
||||
|
35=be |
||||
|
36=sl |
||||
|
37=et |
||||
|
38=lv |
||||
|
39=lt |
||||
|
40=tg |
||||
|
41=fa |
||||
|
42=vi |
||||
|
43=hy |
||||
|
44=az |
||||
|
45=eu |
||||
|
46=wen |
||||
|
47=mk |
||||
|
49=ts |
||||
|
50=tn |
||||
|
51=ve |
||||
|
52=xh |
||||
|
53=zu |
||||
|
54=af |
||||
|
55=ka |
||||
|
56=fo |
||||
|
57=hi |
||||
|
58=mt |
||||
|
59=se |
||||
|
60=sco |
||||
|
61=yi |
||||
|
62=ms |
||||
|
63=kk |
||||
|
64=ky |
||||
|
65=sw |
||||
|
66=tk |
||||
|
67=uz |
||||
|
68=tt |
||||
|
69=bn |
||||
|
70=pa |
||||
|
71=gu |
||||
|
72=or |
||||
|
73=ta |
||||
|
74=te |
||||
|
75=kn |
||||
|
76=ml |
||||
|
77=as |
||||
|
78=mr |
||||
|
79=sa |
||||
|
80=mn |
||||
|
81=bo |
||||
|
82=cy |
||||
|
83=km |
||||
|
84=lo |
||||
|
85=bu |
||||
|
86=gl |
||||
|
87=knn |
||||
|
88=mni |
||||
|
89=sd |
||||
|
90=syr |
||||
|
91=si |
||||
|
92=chr |
||||
|
93=iu |
||||
|
94=am |
||||
|
95=tjo |
||||
|
96=ks |
||||
|
97=ne |
||||
|
98=fy |
||||
|
99=ps |
||||
|
100=fil |
||||
|
101=dv |
||||
|
102=bin |
||||
|
103=ff |
||||
|
104=ha |
||||
|
105=ibb |
||||
|
106=yo |
||||
|
107=qu |
||||
|
108=nso |
||||
|
112=ig |
||||
|
113=kr |
||||
|
114=om |
||||
|
115=ti |
||||
|
116=gn |
||||
|
117=haw |
||||
|
118=la |
||||
|
119=so |
||||
|
120=ii |
||||
|
128=ug |
||||
|
129=mi |
||||
|
1025=ar |
||||
|
1026=bg |
||||
|
1027=ca |
||||
|
1028=zh-tw |
||||
|
1029=cz |
||||
|
1030=da |
||||
|
1031=de |
||||
|
1032=el |
||||
|
1033=en |
||||
|
1034=es-es |
||||
|
1035=fi |
||||
|
1036=fr |
||||
|
1037=he |
||||
|
1038=hu |
||||
|
1039=is |
||||
|
1040=it-it |
||||
|
1041=ja |
||||
|
1042=ko |
||||
|
1043=nl-nl |
||||
|
1044=nb |
||||
|
1045=pl |
||||
|
1046=pt |
||||
|
1050=hr |
||||
|
1051=sk |
||||
|
1052=sq-al |
||||
|
1053=sv |
||||
|
1054=th |
||||
|
1055=tr |
||||
|
1056=ur |
||||
|
1057=in |
||||
|
1058=uk |
||||
|
1059=be |
||||
|
1060=sl |
||||
|
1061=et |
||||
|
1062=lv |
||||
|
1063=lt |
||||
|
1064=tg |
||||
|
1065=fa |
||||
|
1066=vi |
||||
|
1067=hy-am |
||||
|
1068=az-latn |
||||
|
1069=eu |
||||
|
1070=wen |
||||
|
1071=mk |
||||
|
1073=ts |
||||
|
1074=tn |
||||
|
1075=ve |
||||
|
1076=xh |
||||
|
1077=zu |
||||
|
1078=af-za |
||||
|
1079=ka |
||||
|
1080=fo |
||||
|
1081=hi |
||||
|
1082=mt |
||||
|
1083=se |
||||
|
1084=sco |
||||
|
1085=yi |
||||
|
1086=ms-my |
||||
|
1087=kk |
||||
|
1088=ky-cyrl |
||||
|
1089=sw |
||||
|
1090=tk |
||||
|
1091=uz-latn |
||||
|
1092=tt |
||||
|
1093=bn-in |
||||
|
1094=pa |
||||
|
1095=gu |
||||
|
1096=or |
||||
|
1097=ta |
||||
|
1098=te |
||||
|
1099=kn |
||||
|
1100=ml |
||||
|
1101=as |
||||
|
1102=mr |
||||
|
1103=sa |
||||
|
1104=mn-cyrl |
||||
|
1105=bo |
||||
|
1106=cy |
||||
|
1107=km |
||||
|
1108=lo |
||||
|
1109=bu |
||||
|
1110=gl |
||||
|
1111=knn |
||||
|
1112=mni |
||||
|
1113=sd-in |
||||
|
1114=syr |
||||
|
1115=si-lk |
||||
|
1116=chr-us |
||||
|
1117=iu |
||||
|
1118=am-et |
||||
|
1119=tjo-arab |
||||
|
1120=ks-arab |
||||
|
1121=ne |
||||
|
1122=fy-nl |
||||
|
1123=ps |
||||
|
1124=fil |
||||
|
1125=dv |
||||
|
1126=bin |
||||
|
1127=ff |
||||
|
1128=ha |
||||
|
1129=ibb |
||||
|
1130=yo |
||||
|
1131=qu-bo |
||||
|
1132=nso |
||||
|
1136=ig |
||||
|
1137=kr |
||||
|
1138=om |
||||
|
1139=ti-et |
||||
|
1140=gn |
||||
|
1141=haw |
||||
|
1142=la |
||||
|
1143=so |
||||
|
1144=ii |
||||
|
1152=ug-cn |
||||
|
1153=mi |
||||
|
2049=ar-iq |
||||
|
2052=zh |
||||
|
2055=de-ch |
||||
|
2057=en-gb |
||||
|
2058=es-mx |
||||
|
2060=fr-be |
||||
|
2064=it-ch |
||||
|
2067=nl-be |
||||
|
2068=nn |
||||
|
2070=pt-pt |
||||
|
2072=ro |
||||
|
2073=ru |
||||
|
2074=sr-latn |
||||
|
2077=sv-fi |
||||
|
2080=ur-in |
||||
|
2092=az-cyrl |
||||
|
2108=ga-ie |
||||
|
2110=ms-bn |
||||
|
2115=uz-cyrl |
||||
|
2117=bn-bd |
||||
|
2118=pa-pk |
||||
|
2128=mn-mong |
||||
|
2129=bo-bt |
||||
|
2137=sd-pk |
||||
|
2143=tjo-latn |
||||
|
2144=ks |
||||
|
2145=ne-in |
||||
|
2155=qu-ec |
||||
|
2163=ti-er |
||||
|
3073=ar-eg |
||||
|
3076=zh-hk |
||||
|
3079=de-at |
||||
|
3081=en-au |
||||
|
3084=fr-ca |
||||
|
3098=sr-cyrl |
||||
|
3179=qu-pe |
||||
|
4097=ar-ly |
||||
|
4100=zh-sg |
||||
|
4103=de-lu |
||||
|
4105=en-ca |
||||
|
4106=es-gt |
||||
|
4108=fr-ch |
||||
|
4122=hr-bs |
||||
|
5121=ar-dz |
||||
|
5124=zh-mo |
||||
|
5127=de-li |
||||
|
5129=en-nz |
||||
|
5130=es-cr |
||||
|
5132=fr-lu |
||||
|
5146=bs-bs |
||||
|
6145=ar-ma |
||||
|
6153=en-ie |
||||
|
6154=es-pa |
||||
|
6156=fr-mc |
||||
|
7169=ar-tn |
||||
|
7177=en-za |
||||
|
7178=es-do |
||||
|
7180=fr-419 |
||||
|
8193=ar-om |
||||
|
8201=en-jm |
||||
|
8202=es-ve |
||||
|
8204=fr-re |
||||
|
9217=ar-ye |
||||
|
9225=en-419 |
||||
|
9226=es-co |
||||
|
9228=fr-cd |
||||
|
10241=ar-sy |
||||
|
10249=en-bz |
||||
|
10250=es-pe |
||||
|
10252=fr-sn |
||||
|
11265=ar-jo |
||||
|
11273=en-tt |
||||
|
11274=es-ar |
||||
|
11276=fr-cm |
||||
|
12289=ar-lb |
||||
|
12297=en-zw |
||||
|
12298=es-ec |
||||
|
12300=fr-ci |
||||
|
13313=ar-kw |
||||
|
13321=en-ph |
||||
|
13322=es-cl |
||||
|
13324=fr-ml |
||||
|
14337=ar-ae |
||||
|
14345=en-id |
||||
|
14346=es-uy |
||||
|
14348=fr-ma |
||||
|
15361=ar-bh |
||||
|
15369=en-hk |
||||
|
15370=es-py |
||||
|
15372=fr-ht |
||||
|
16385=ar-qa |
||||
|
16393=en-in |
||||
|
16394=es-bo |
||||
|
17417=en-my |
||||
|
17418=es-sv |
||||
|
18441=en-sg |
||||
|
18442=es-hn |
||||
|
19466=es-ni |
||||
|
20490=es-pr |
||||
|
21514=es-us |
||||
|
22538=es-419 |
||||
|
58380=fr-015 |
Loading…
Reference in new issue