1
# Miro - an RSS based video player application
2
# Copyright (C) 2005-2010 Participatory Culture Foundation
4
# This program is free software; you can redistribute it and/or modify
5
# it under the terms of the GNU General Public License as published by
6
# the Free Software Foundation; either version 2 of the License, or
7
# (at your option) any later version.
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
# GNU General Public License for more details.
14
# You should have received a copy of the GNU General Public License
15
# along with this program; if not, write to the Free Software
16
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
# In addition, as a special exception, the copyright holders give
19
# permission to link the code of portions of this program with the OpenSSL
22
# You must obey the GNU General Public License in all respects for all of
23
# the code used other than OpenSSL. If you modify file(s) with this
24
# exception, you may extend this exception to your version of the file(s},
25
# but you are not obligated to do so. If you do not wish to do so, delete
26
# this exception statement from your version. If you delete this exception
27
# statement from all source files in the program, then also delete it here.
29
TWO_LETTERS_CODE = "alpha2"
30
THREE_LETTERS_CODE = "alpha3"
31
LENGTH_MAP = {2: TWO_LETTERS_CODE, 3: THREE_LETTERS_CODE}
33
def find(value, key=None):
36
key = LENGTH_MAP[len(value)]
37
except (TypeError, KeyError):
39
for lang in LANGUAGES_MAP:
40
if key in lang and lang[key] == value:
45
{ "alpha2": "", "alpha3": "und", "name": u"Unspecified" },
46
{ "alpha2": "af", "alpha3": "afr", "name": u"Afrikaans" },
47
{ "alpha2": "sq", "alpha3": "alb", "name": u"Albanian" },
48
{ "alpha2": "sq", "alpha3": "sqi", "name": u"Albanian" },
49
{ "alpha2": "am", "alpha3": "amh", "name": u"Amharic" },
50
{ "alpha2": "ar", "alpha3": "ara", "name": u"Arabic" },
51
{ "alpha2": "hy", "alpha3": "arm", "name": u"Armenian" },
52
{ "alpha2": "hy", "alpha3": "hye", "name": u"Armenian" },
53
{ "alpha2": "as", "alpha3": "asm", "name": u"Assamese " },
54
{ "alpha2": "ay", "alpha3": "aym", "name": u"Aymara" },
55
{ "alpha2": "az", "alpha3": "aze", "name": u"Azerbaijani" },
56
{ "alpha2": "eu", "alpha3": "baq", "name": u"Basque" },
57
{ "alpha2": "eu", "alpha3": "eus", "name": u"Basque" },
58
{ "alpha2": "bn", "alpha3": "ben", "name": u"Bengali" },
59
{ "alpha2": "br", "alpha3": "bre", "name": u"Breton" },
60
{ "alpha2": "bg", "alpha3": "bul", "name": u"Bulgarian" },
61
{ "alpha2": "my", "alpha3": "bur", "name": u"Burmese" },
62
{ "alpha2": "my", "alpha3": "mya", "name": u"Burmese" },
63
{ "alpha2": "ca", "alpha3": "cat", "name": u"Catalan" },
64
{ "alpha2": "zh", "alpha3": "chi", "name": u"TradChinese" },
65
{ "alpha2": "zh", "alpha3": "zho", "name": u"TradChinese" },
66
{ "alpha2": "cz", "alpha3": "cze", "name": u"Czech" },
67
{ "alpha2": "cs", "alpha3": "ces", "name": u"Czech" },
68
{ "alpha2": "da", "alpha3": "dan", "name": u"Danish" },
69
{ "alpha2": "nl", "alpha3": "dut", "name": u"Dutch" },
70
{ "alpha2": "nl", "alpha3": "nld", "name": u"Dutch" },
71
{ "alpha2": "dz", "alpha3": "dzo", "name": u"Dzongkha" },
72
{ "alpha2": "en", "alpha3": "eng", "name": u"English" },
73
{ "alpha2": "eo", "alpha3": "epo", "name": u"Esperanto" },
74
{ "alpha2": "et", "alpha3": "est", "name": u"Estonian" },
75
{ "alpha2": "fo", "alpha3": "fao", "name": u"Faroese" },
76
{ "alpha2": "fi", "alpha3": "fin", "name": u"Finnish" },
77
{ "alpha2": "fr", "alpha3": "fre", "name": u"French" },
78
{ "alpha2": "fr", "alpha3": "fra", "name": u"French" },
79
{ "alpha2": "ka", "alpha3": "geo", "name": u"Georgian" },
80
{ "alpha2": "ka", "alpha3": "kat", "name": u"Georgian" },
81
{ "alpha2": "de", "alpha3": "ger", "name": u"German" },
82
{ "alpha2": "de", "alpha3": "deu", "name": u"German" },
83
{ "alpha2": "gl", "alpha3": "glg", "name": u"Galician" },
84
{ "alpha2": "gd", "alpha3": "gla", "name": u"ScottishGaelic" },
85
{ "alpha2": "ga", "alpha3": "gle", "name": u"IrishGaelic" },
86
{ "alpha2": "gv", "alpha3": "glv", "name": u"ManxGaelic" },
87
{ "alpha2": "", "alpha3": "grc", "name": u"GreekAncient" },
88
{ "alpha2": "el", "alpha3": "gre", "name": u"Greek" },
89
{ "alpha2": "el", "alpha3": "ell", "name": u"Greek" },
90
{ "alpha2": "gn", "alpha3": "grn", "name": u"Guarani" },
91
{ "alpha2": "gu", "alpha3": "guj", "name": u"Gujarati" },
92
{ "alpha2": "he", "alpha3": "heb", "name": u"Hebrew" },
93
{ "alpha2": "hi", "alpha3": "hin", "name": u"Hindi" },
94
{ "alpha2": "hu", "alpha3": "hun", "name": u"Hungarian" },
95
{ "alpha2": "is", "alpha3": "ice", "name": u"Icelandic" },
96
{ "alpha2": "is", "alpha3": "isl", "name": u"Icelandic" },
97
{ "alpha2": "id", "alpha3": "ind", "name": u"Indonesian" },
98
{ "alpha2": "it", "alpha3": "ita", "name": u"Italian" },
99
{ "alpha2": "jv", "alpha3": "jav", "name": u"JavaneseRom" },
100
{ "alpha2": "ja", "alpha3": "jpn", "name": u"Japanese" },
101
{ "alpha2": "kl", "alpha3": "kal", "name": u"Greenlandic" },
102
{ "alpha2": "kn", "alpha3": "kan", "name": u"Kannada" },
103
{ "alpha2": "ks", "alpha3": "kas", "name": u"Kashmiri" },
104
{ "alpha2": "kk", "alpha3": "kaz", "name": u"Kazakh" },
105
{ "alpha2": "km", "alpha3": "khm", "name": u"Khmer" },
106
{ "alpha2": "rw", "alpha3": "kin", "name": u"Kinyarwanda" },
107
{ "alpha2": "ky", "alpha3": "kir", "name": u"Kirghiz" },
108
{ "alpha2": "ko", "alpha3": "kor", "name": u"Korean" },
109
{ "alpha2": "ku", "alpha3": "kur", "name": u"Kurdish" },
110
{ "alpha2": "lo", "alpha3": "lao", "name": u"Lao" },
111
{ "alpha2": "la", "alpha3": "lat", "name": u"Latin" },
112
{ "alpha2": "lv", "alpha3": "lav", "name": u"Latvian" },
113
{ "alpha2": "lt", "alpha3": "lit", "name": u"Lithuanian" },
114
{ "alpha2": "mk", "alpha3": "mac", "name": u"Macedonian" },
115
{ "alpha2": "mk", "alpha3": "mkd", "name": u"Macedonian" },
116
{ "alpha2": "ml", "alpha3": "mal", "name": u"Malayalam" },
117
{ "alpha2": "mr", "alpha3": "mar", "name": u"Marathi" },
118
{ "alpha2": "ms", "alpha3": "may", "name": u"MalayRoman" },
119
{ "alpha2": "ms", "alpha3": "msa", "name": u"MalayRoman" },
120
{ "alpha2": "mg", "alpha3": "mlg", "name": u"Malagasy" },
121
{ "alpha2": "mt", "alpha3": "mlt", "name": u"Maltese" },
122
{ "alpha2": "mo", "alpha3": "mol", "name": u"Moldavian" },
123
{ "alpha2": "mn", "alpha3": "mon", "name": u"Mongolian" },
124
{ "alpha2": "ne", "alpha3": "nep", "name": u"Nepali" },
125
{ "alpha2": "nb", "alpha3": "nob", "name": u"Norwegian" },
126
{ "alpha2": "no", "alpha3": "nor", "name": u"Norwegian" },
127
{ "alpha2": "nn", "alpha3": "nno", "name": u"Nynorsk" },
128
{ "alpha2": "ny", "alpha3": "nya", "name": u"Nyanja" },
129
{ "alpha2": "or", "alpha3": "ori", "name": u"Oriya" },
130
{ "alpha2": "om", "alpha3": "orm", "name": u"Oromo" },
131
{ "alpha2": "pa", "alpha3": "pan", "name": u"Punjabi" },
132
{ "alpha2": "fa", "alpha3": "per", "name": u"Persian" },
133
{ "alpha2": "fa", "alpha3": "fas", "name": u"Persian" },
134
{ "alpha2": "pl", "alpha3": "pol", "name": u"Polish" },
135
{ "alpha2": "pt", "alpha3": "por", "name": u"Portuguese" },
136
{ "alpha2": "qu", "alpha3": "que", "name": u"Quechua" },
137
{ "alpha2": "ro", "alpha3": "rum", "name": u"Romanian" },
138
{ "alpha2": "ro", "alpha3": "ron", "name": u"Romanian" },
139
{ "alpha2": "rn", "alpha3": "run", "name": u"Rundi" },
140
{ "alpha2": "ru", "alpha3": "rus", "name": u"Russian" },
141
{ "alpha2": "sa", "alpha3": "san", "name": u"Sanskrit" },
142
{ "alpha2": "sr", "alpha3": "scc", "name": u"Serbian" },
143
{ "alpha2": "sr", "alpha3": "srp", "name": u"Serbian" },
144
{ "alpha2": "hr", "alpha3": "scr", "name": u"Croatian" },
145
{ "alpha2": "hr", "alpha3": "hrv", "name": u"Croatian" },
146
{ "alpha2": "si", "alpha3": "sin", "name": u"Sinhalese" },
147
{ "alpha2": "", "alpha3": "sit", "name": u"Tibetan" },
148
{ "alpha2": "sk", "alpha3": "slo", "name": u"Slovak" },
149
{ "alpha2": "sk", "alpha3": "slk", "name": u"Slovak" },
150
{ "alpha2": "sl", "alpha3": "slv", "name": u"Slovenian" },
151
{ "alpha2": "se", "alpha3": "sme", "name": u"Sami" },
152
{ "alpha2": "", "alpha3": "smi", "name": u"Sami" },
153
{ "alpha2": "sd", "alpha3": "snd", "name": u"Sindhi" },
154
{ "alpha2": "so", "alpha3": "som", "name": u"Somali" },
155
{ "alpha2": "es", "alpha3": "spa", "name": u"Spanish" },
156
{ "alpha2": "su", "alpha3": "sun", "name": u"SundaneseRom" },
157
{ "alpha2": "sw", "alpha3": "swa", "name": u"Swahili" },
158
{ "alpha2": "sv", "alpha3": "swe", "name": u"Swedish" },
159
{ "alpha2": "ta", "alpha3": "tam", "name": u"Tamil" },
160
{ "alpha2": "tt", "alpha3": "tat", "name": u"Tatar" },
161
{ "alpha2": "te", "alpha3": "tel", "name": u"Telugu" },
162
{ "alpha2": "tg", "alpha3": "tgk", "name": u"Tajiki" },
163
{ "alpha2": "tl", "alpha3": "tgl", "name": u"Tagalog" },
164
{ "alpha2": "th", "alpha3": "tha", "name": u"Thai" },
165
{ "alpha2": "bo", "alpha3": "tib", "name": u"Tibetan" },
166
{ "alpha2": "bo", "alpha3": "bod", "name": u"Tibetan" },
167
{ "alpha2": "ti", "alpha3": "tir", "name": u"Tigrinya" },
168
{ "alpha2": "", "alpha3": "tog", "name": u"Tongan" },
169
{ "alpha2": "tr", "alpha3": "tur", "name": u"Turkish" },
170
{ "alpha2": "tk", "alpha3": "tuk", "name": u"Turkmen" },
171
{ "alpha2": "ug", "alpha3": "uig", "name": u"Uighur" },
172
{ "alpha2": "uk", "alpha3": "ukr", "name": u"Ukrainian" },
173
{ "alpha2": "ur", "alpha3": "urd", "name": u"Urdu" },
174
{ "alpha2": "uz", "alpha3": "uzb", "name": u"Uzbek" },
175
{ "alpha2": "vi", "alpha3": "vie", "name": u"Vietnamese" },
176
{ "alpha2": "cy", "alpha3": "wel", "name": u"Welsh" },
177
{ "alpha2": "cy", "alpha3": "cym", "name": u"Welsh" },
178
{ "alpha2": "yi", "alpha3": "yid", "name": u"Yiddish" }