~ubuntu-branches/ubuntu/trusty/miro/trusty

« back to all changes in this revision

Viewing changes to portable/iso_639.py

  • Committer: Daniel Hahler
  • Date: 2010-04-13 18:51:35 UTC
  • mfrom: (1.2.10 upstream)
  • Revision ID: ubuntu-launchpad@thequod.de-20100413185135-xi24v1diqg8w406x
Merging shared upstream rev into target branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Miro - an RSS based video player application
 
2
# Copyright (C) 2005-2010 Participatory Culture Foundation
 
3
#
 
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.
 
8
#
 
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.
 
13
#
 
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
 
17
#
 
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
 
20
# library.
 
21
#
 
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.
 
28
 
 
29
TWO_LETTERS_CODE = "alpha2"
 
30
THREE_LETTERS_CODE = "alpha3"
 
31
LENGTH_MAP = {2: TWO_LETTERS_CODE, 3: THREE_LETTERS_CODE}
 
32
 
 
33
def find(value, key=None):
 
34
    if key is None:
 
35
        try:
 
36
            key = LENGTH_MAP[len(value)]
 
37
        except (TypeError, KeyError):
 
38
            return None
 
39
    for lang in LANGUAGES_MAP:
 
40
        if key in lang and lang[key] == value:
 
41
            return lang
 
42
    return None
 
43
 
 
44
LANGUAGES_MAP = [
 
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" }
 
179
]