Browse Source

Add country names in language list.

marc 8 years ago
parent
commit
922d51bf0c
2 changed files with 255 additions and 349 deletions
  1. 201
    339
      searx/languages.py
  2. 54
    10
      utils/update_languages.py

+ 201
- 339
searx/languages.py View File

@@ -3,358 +3,220 @@
3 3
 # this file is generated automatically by utils/update_search_languages.py
4 4
 
5 5
 language_codes = (
6
-    (u"gv", u"Gaelg", u"", u"Manx"),
7
-    (u"sco", u"Scots", u"", u"Scots"),
8
-    (u"scn", u"Sicilianu", u"", u"Sicilian"),
9
-    (u"gu", u"ગુજરાતી", u"", u"Gujarati"),
10
-    (u"gd", u"Gàidhlig", u"", u"Scottish Gaelic"),
11
-    (u"ga", u"Gaeilge", u"", u"Irish"),
12
-    (u"gn", u"Avañe'ẽ", u"", u"Guarani"),
13
-    (u"gl", u"Galego", u"", u"Galician"),
6
+    (u"ach", u"Acoli", u"", u""),
7
+    (u"af", u"Afrikaans", u"", u"Afrikaans"),
8
+    (u"ak", u"Akan", u"", u""),
14 9
     (u"als", u"Alemannisch", u"", u"Alemannic"),
15
-    (u"lt-LT", u"Lietuvių", u"", u"Lithuanian"),
16
-    (u"vep", u"Vepsän", u"", u"Vepsian"),
17
-    (u"ty", u"Reo Mā`ohi", u"", u"Tahitian"),
18
-    (u"tw", u"Twi", u"", u"Twi"),
19
-    (u"tt", u"Tatarça / Татарча", u"", u"Tatar"),
20
-    (u"tr", u"Türkçe", u"", u"Turkish"),
21
-    (u"ts", u"Xitsonga", u"", u"Tsonga"),
22
-    (u"tn", u"Setswana", u"", u"Tswana"),
23
-    (u"to", u"faka Tonga", u"", u"Tongan"),
24
-    (u"tl", u"Tagalog", u"", u"Tagalog"),
25
-    (u"vec", u"Vèneto", u"", u"Venetian"),
26
-    (u"th", u"ไทย", u"", u"Thai"),
27
-    (u"ti", u"ትግርኛ", u"", u"Tigrinya"),
28
-    (u"tg", u"Тоҷикӣ", u"", u"Tajik"),
29
-    (u"te", u"తెలుగు", u"", u"Telugu"),
30
-    (u"ta", u"தமிழ்", u"", u"Tamil"),
31
-    (u"lrc", u"لۊری شومالی", u"", u"Northern Luri"),
32
-    (u"en-NZ", u"English", u"", u"English"),
33
-    (u"got", u"𐌲𐌿𐍄𐌹𐍃𐌺", u"", u"Gothic"),
34
-    (u"vls", u"West-Vlams", u"", u"West Flemish"),
35
-    (u"bxr", u"Буряад", u"", u"Buryat"),
36
-    (u"diq", u"Zazaki", u"", u"Zazaki"),
37
-    (u"zh", u"中文", u"", u"Chinese"),
38
-    (u"pms", u"Piemontèis", u"", u"Piedmontese"),
39
-    (u"za", u"Cuengh", u"", u"Zhuang"),
40
-    (u"zh-HK", u"中文", u"", u"Chinese"),
41
-    (u"zu", u"isiZulu", u"", u"Zulu"),
42
-    (u"tet", u"Tetun", u"", u"Tetum"),
43
-    (u"zh-CN", u"中文 (简体)", u"", u""),
44
-    (u"new", u"नेपाल भाषा", u"", u"Newar"),
45
-    (u"ro-RO", u"Română", u"", u"Romanian"),
46
-    (u"lez", u"Лезги чІал (Lezgi č’al)", u"", u"Lezgian"),
47
-    (u"glk", u"گیلکی", u"", u"Gilaki"),
48
-    (u"ko-KR", u"한국어", u"", u"Korean"),
49
-    (u"id-ID", u"Bahasa Indonesia", u"", u"Indonesian"),
50
-    (u"chr", u"ᏣᎳᎩ", u"", u"Cherokee"),
51
-    (u"vi", u"Tiếng Việt", u"", u"Vietnamese"),
52
-    (u"chy", u"Tsetsêhestâhese", u"", u"Cheyenne"),
53
-    (u"tk", u"تركمن / Туркмен", u"", u"Turkmen"),
54
-    (u"da-DK", u"Dansk", u"", u"Danish"),
55
-    (u"pfl", u"Pälzisch", u"", u"Palatinate German"),
56
-    (u"hu-HU", u"Magyar", u"", u"Hungarian"),
57
-    (u"mg", u"Malagasy", u"", u"Malagasy"),
58
-    (u"ml", u"മലയാളം", u"", u"Malayalam"),
59
-    (u"mo", u"Молдовеняскэ", u"", u"Moldovan"),
60
-    (u"mn", u"Монгол", u"", u"Mongolian"),
61
-    (u"mi", u"Māori", u"", u"Maori"),
62
-    (u"mk", u"Македонски", u"", u"Macedonian"),
63
-    (u"mt", u"Malti", u"", u"Maltese"),
64
-    (u"ms", u"Bahasa Melayu", u"", u"Malay"),
65
-    (u"mr", u"मराठी", u"", u"Marathi"),
66
-    (u"mwl", u"Mirandés", u"", u"Mirandese"),
67
-    (u"my", u"မြန်မာဘာသာ", u"", u"Burmese"),
68
-    (u"en-PH", u"English", u"", u"English"),
69
-    (u"srn", u"Sranantongo", u"", u"Sranan"),
70
-    (u"pl-PL", u"Polski", u"", u"Polish"),
71
-    (u"sl-SL", u"Slovenščina", u"", u"Slovenian"),
72
-    (u"csb", u"Kaszëbsczi", u"", u"Kashubian"),
73
-    (u"nyn", u"Runyankore", u"", u""),
74
-    (u"ig", u"Igbo", u"", u"Igbo"),
75
-    (u"fr", u"Français", u"", u"French"),
76
-    (u"lad", u"Dzhudezmo", u"", u"Ladino"),
77
-    (u"fy", u"Frysk", u"", u"West Frisian"),
78
-    (u"fa", u"فارسی", u"", u"Persian"),
79
-    (u"ff", u"Fulfulde", u"", u"Fula"),
80
-    (u"mai", u"मैथिली", u"", u"Maithili"),
81
-    (u"fi", u"Suomi", u"", u"Finnish"),
82
-    (u"fj", u"Na Vosa Vakaviti", u"", u"Fijian"),
83
-    (u"fo", u"Føroyskt", u"", u"Faroese"),
84
-    (u"ss", u"SiSwati", u"", u"Swati"),
85
-    (u"sr", u"Српски / Srpski", u"", u"Serbian"),
86
-    (u"sq", u"Shqip", u"", u"Albanian"),
87
-    (u"sw", u"Kiswahili", u"", u"Swahili"),
88
-    (u"sv", u"Svenska", u"", u"Swedish"),
89
-    (u"su", u"Basa Sunda", u"", u"Sundanese"),
90
-    (u"st", u"Sesotho", u"", u"Sesotho"),
91
-    (u"sk", u"Slovenčina", u"", u"Slovak"),
92
-    (u"si", u"සිංහල", u"", u"Sinhalese"),
93
-    (u"sh", u"Srpskohrvatski / Српскохрватски", u"", u"Serbo-Croatian"),
94
-    (u"so", u"Soomaali", u"", u"Somali"),
95
-    (u"sn", u"chiShona", u"", u"Shona"),
96
-    (u"sm", u"Gagana Samoa", u"", u"Samoan"),
97
-    (u"sl", u"Slovenščina", u"", u"Slovenian"),
98
-    (u"sc", u"Sardu", u"", u"Sardinian"),
99
-    (u"pt-BR", u"português (Brasil)", u"", u""),
100
-    (u"sa", u"संस्कृतम्", u"", u"Sanskrit"),
101
-    (u"he-IL", u"עברית", u"", u"Hebrew"),
102
-    (u"se", u"Sámegiella", u"", u"Northern Sami"),
103
-    (u"sd", u"سنڌي ،सिन्ध", u"", u"Sindhi"),
104
-    (u"fr-CH", u"Français", u"", u"French"),
105
-    (u"zea", u"Zeêuws", u"", u"Zeelandic"),
106
-    (u"it-CH", u"Italiano", u"", u"Italian"),
107
-    (u"wuu", u"吴语", u"", u"Wu"),
108
-    (u"fr-CA", u"Français", u"", u"French"),
109
-    (u"kbd", u"Адыгэбзэ (Adighabze)", u"", u"Kabardian Circassian"),
110
-    (u"no-NO", u"Norsk (Bokmål)", u"", u"Norwegian (Bokmål)"),
111
-    (u"ca-ES", u"Català", u"", u"Catalan"),
112
-    (u"lg", u"Luganda", u"", u"Luganda"),
113
-    (u"lb", u"Lëtzebuergesch", u"", u"Luxembourgish"),
114
-    (u"la", u"Latina", u"", u"Latin"),
115
-    (u"ln", u"Lingala", u"", u"Lingala"),
116
-    (u"lo", u"ລາວ", u"", u"Lao"),
117
-    (u"de-CH", u"Deutsch", u"", u"German"),
118
-    (u"li", u"Limburgs", u"", u"Limburgish"),
119
-    (u"lv", u"Latviešu", u"", u"Latvian"),
120
-    (u"lt", u"Lietuvių", u"", u"Lithuanian"),
121
-    (u"pcm", u"Nigerian Pidgin", u"", u""),
122
-    (u"pcd", u"Picard", u"", u"Picard"),
123
-    (u"yi", u"ייִדיש", u"", u"Yiddish"),
124
-    (u"ceb", u"Sinugboanong Binisaya", u"", u"Cebuano"),
125
-    (u"yo", u"Yorùbá", u"", u"Yoruba"),
126
-    (u"ru-RU", u"Русский", u"", u"Russian"),
127
-    (u"bar", u"Boarisch", u"", u"Bavarian"),
128
-    (u"nov", u"Novial", u"", u"Novial"),
129
-    (u"sr-ME", u"srpski (Crna Gora)", u"", u""),
130
-    (u"es-CL", u"Español", u"", u"Spanish"),
131
-    (u"es-CO", u"Español", u"", u"Spanish"),
132
-    (u"nl-NL", u"Nederlands", u"", u"Dutch"),
133
-    (u"el", u"Ελληνικά", u"", u"Greek"),
134
-    (u"eo", u"Esperanto", u"", u"Esperanto"),
135
-    (u"en", u"English", u"", u"English"),
136
-    (u"ee", u"Eʋegbe", u"", u"Ewe"),
137
-    (u"mdf", u"Мокшень (Mokshanj Kälj)", u"", u"Moksha"),
138
-    (u"eu", u"Euskara", u"", u"Basque"),
139
-    (u"et", u"Eesti", u"", u"Estonian"),
140
-    (u"es", u"Español", u"", u"Spanish"),
141
-    (u"gom", u"गोवा कोंकणी / Gova Konknni", u"", u"Goan Konkani"),
142
-    (u"ru", u"Русский", u"", u"Russian"),
143
-    (u"rw", u"Ikinyarwanda", u"", u"Kinyarwanda"),
144
-    (u"rm", u"Rumantsch", u"", u"Romansh"),
145
-    (u"rn", u"Kirundi", u"", u"Kirundi"),
146
-    (u"ro", u"Română", u"", u"Romanian"),
147
-    (u"dsb", u"Dolnoserbski", u"", u"Lower Sorbian"),
10
+    (u"am", u"አማርኛ", u"", u"Amharic"),
11
+    (u"an", u"Aragonés", u"", u"Aragonese"),
12
+    (u"ar-SA", u"العربية", u"المملكة العربية السعودية", u"Arabic"),
13
+    (u"arz", u"مصرى (Maṣri)", u"", u"Egyptian Arabic"),
148 14
     (u"ast", u"Asturianu", u"", u"Asturian"),
149
-    (u"lmo", u"Lumbaart", u"", u"Lombard"),
150
-    (u"ltg", u"Latgaļu", u"", u"Latgalian"),
151
-    (u"xh", u"isiXhosa", u"", u"Xhosa"),
152
-    (u"en-CA", u"English", u"", u"English"),
153
-    (u"koi", u"Перем Коми (Perem Komi)", u"", u"Komi-Permyak"),
154
-    (u"tr-TR", u"Türkçe", u"", u"Turkish"),
155
-    (u"pnt", u"Ποντιακά", u"", u"Pontic"),
156
-    (u"fi-FI", u"Suomi", u"", u"Finnish"),
157
-    (u"pnb", u"شاہ مکھی پنجابی (Shāhmukhī Pañjābī)", u"", u"Western Punjabi"),
158
-    (u"ar-SA", u"العربية", u"", u"Arabic"),
159
-    (u"bem", u"Ichibemba", u"", u""),
160
-    (u"en-ZA", u"English", u"", u"English"),
161
-    (u"stq", u"Seeltersk", u"", u"Saterland Frisian"),
162
-    (u"ang", u"Englisc", u"", u"Anglo-Saxon"),
163
-    (u"lbe", u"Лакку", u"", u"Lak"),
164
-    (u"min", u"Minangkabau", u"", u"Minangkabau"),
165
-    (u"es-US", u"Español", u"", u"Spanish"),
166
-    (u"lij", u"Líguru", u"", u"Ligurian"),
167
-    (u"kab", u"Taqbaylit", u"", u"Kabyle"),
168
-    (u"kaa", u"Qaraqalpaqsha", u"", u"Karakalpak"),
169
-    (u"fr-FR", u"Français", u"", u"French"),
170
-    (u"tyv", u"Тыва", u"", u"Tuvan"),
171
-    (u"ka", u"ქართული", u"", u"Georgian"),
172
-    (u"kg", u"KiKongo", u"", u"Kongo"),
173
-    (u"ckb", u"Soranî / کوردی", u"", u"Sorani"),
174
-    (u"kk", u"Қазақша", u"", u"Kazakh"),
175
-    (u"sg", u"Sängö", u"", u"Sango"),
176
-    (u"ki", u"Gĩkũyũ", u"", u"Kikuyu"),
177
-    (u"ko", u"한국어", u"", u"Korean"),
178
-    (u"kn", u"ಕನ್ನಡ", u"", u"Kannada"),
179
-    (u"tpi", u"Tok Pisin", u"", u"Tok Pisin"),
180
-    (u"kl", u"Kalaallisut", u"", u"Greenlandic"),
181
-    (u"ks", u"कश्मीरी / كشميري", u"", u"Kashmiri"),
182
-    (u"ext", u"Estremeñu", u"", u"Extremaduran"),
183
-    (u"kw", u"Kernewek/Karnuack", u"", u"Cornish"),
184
-    (u"kv", u"Коми", u"", u"Komi"),
185
-    (u"mrj", u"Кырык Мары (Kyryk Mary)", u"", u"Hill Mari"),
186
-    (u"ky", u"Кыргызча", u"", u"Kirghiz"),
187
-    (u"szl", u"Ślůnski", u"", u"Silesian"),
188
-    (u"cdo", u"Mìng-dĕ̤ng-ngṳ̄", u"", u"Min Dong"),
189
-    (u"en-GB", u"English", u"", u"English"),
190
-    (u"xmf", u"მარგალური (Margaluri)", u"", u"Mingrelian"),
191
-    (u"jam", u"Jamaican Creole English", u"", u"Patois"),
192
-    (u"udm", u"Удмурт кыл", u"", u"Udmurt"),
193
-    (u"ksh", u"Ripoarisch", u"", u"Ripuarian"),
194
-    (u"sl-SI", u"Slovenščina", u"", u"Slovenian"),
195
-    (u"ms-MY", u"Bahasa Melayu", u"", u"Malay"),
196
-    (u"de", u"Deutsch", u"", u"German"),
197
-    (u"da", u"Dansk", u"", u"Danish"),
198
-    (u"dz", u"ཇོང་ཁ", u"", u"Dzongkha"),
199
-    (u"hif", u"Fiji Hindi", u"", u"Fiji Hindi"),
200
-    (u"dv", u"ދިވެހިބަސް", u"", u"Divehi"),
201
-    (u"crs", u"Seychellois Creole", u"", u""),
202
-    (u"qu", u"Runa Simi", u"", u"Quechua"),
203
-    (u"eml", u"Emiliàn e rumagnòl", u"", u"Emilian-Romagnol"),
15
+    (u"az", u"Azərbaycanca", u"", u"Azerbaijani"),
16
+    (u"azb", u"تۆرکجه", u"", u"South Azerbaijani"),
17
+    (u"ba", u"Башҡорт", u"", u"Bashkir"),
204 18
     (u"ban", u"Balinese", u"", u""),
205
-    (u"crh", u"Qırımtatarca", u"", u"Crimean Tatar"),
206
-    (u"arz", u"مصرى (Maṣri)", u"", u"Egyptian Arabic"),
207
-    (u"rmy", u"romani - रोमानी", u"", u"Romani"),
208
-    (u"arc", u"ܐܪܡܝܐ", u"", u"Aramaic"),
209
-    (u"th-TH", u"ไทย", u"", u"Thai"),
210
-    (u"lua", u"Luba-Lulua", u"", u""),
211
-    (u"wa", u"Walon", u"", u"Walloon"),
212
-    (u"wo", u"Wolof", u"", u"Wolof"),
213
-    (u"jv", u"Basa Jawa", u"", u"Javanese"),
214
-    (u"fr-BE", u"Français", u"", u"French"),
215
-    (u"tum", u"chiTumbuka", u"", u"Tumbuka"),
216
-    (u"ja", u"日本語", u"", u"Japanese"),
217
-    (u"pt-PT", u"português (Portugal)", u"", u""),
218
-    (u"ilo", u"Ilokano", u"", u"Ilokano"),
219
-    (u"tlh", u"Klingon", u"", u""),
220
-    (u"pdc", u"Deitsch", u"", u"Pennsylvania German"),
221
-    (u"ch", u"Chamoru", u"", u"Chamorro"),
222
-    (u"co", u"Corsu", u"", u"Corsican"),
19
+    (u"bar", u"Boarisch", u"", u"Bavarian"),
20
+    (u"be", u"Беларуская", u"", u"Belarusian"),
21
+    (u"bem", u"Ichibemba", u"", u""),
22
+    (u"bg-BG", u"Български", u"България", u"Bulgarian"),
23
+    (u"bn", u"বাংলা", u"", u"Bengali"),
24
+    (u"bpy", u"ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী", u"", u"Bishnupriya Manipuri"),
25
+    (u"br", u"Brezhoneg", u"", u"Breton"),
26
+    (u"bs", u"Bosanski", u"", u"Bosnian"),
27
+    (u"bug", u"Basa Ugi", u"", u"Buginese"),
223 28
     (u"ca", u"Català", u"", u"Catalan"),
29
+    (u"ca-CT", u"Català", u"", u"Catalan"),
30
+    (u"ca-ES", u"Català", u"Espanya", u"Catalan"),
224 31
     (u"ce", u"Нохчийн", u"", u"Chechen"),
225
-    (u"cy", u"Cymraeg", u"", u"Welsh"),
226
-    (u"sah", u"Саха тыла (Saxa Tyla)", u"", u"Sakha"),
227
-    (u"cs", u"Čeština", u"", u"Czech"),
228
-    (u"cr", u"Nehiyaw", u"", u"Cree"),
229
-    (u"bg-BG", u"Български", u"", u"Bulgarian"),
32
+    (u"ceb", u"Sinugboanong Binisaya", u"", u"Cebuano"),
33
+    (u"chr", u"ᏣᎳᎩ", u"", u""),
34
+    (u"ckb", u"Soranî / کوردی", u"", u"Sorani"),
35
+    (u"co", u"Corsican", u"", u""),
36
+    (u"crs", u"Seychellois Creole", u"", u""),
37
+    (u"cs-CZ", u"Čeština", u"Česko", u"Czech"),
230 38
     (u"cv", u"Чăваш", u"", u"Chuvash"),
231
-    (u"cu", u"Словѣньскъ", u"", u"Old Church Slavonic"),
232
-    (u"ps", u"پښتو", u"", u"Pashto"),
233
-    (u"pt", u"Português", u"", u"Portuguese"),
234
-    (u"vi-VN", u"Tiếng Việt", u"", u"Vietnamese"),
235
-    (u"frr", u"Nordfriisk", u"", u"North Frisian"),
236
-    (u"frp", u"Arpitan", u"", u"Franco-Provençal"),
237
-    (u"xal", u"Хальмг", u"", u"Kalmyk"),
238
-    (u"pi", u"पाऴि", u"", u"Pali"),
239
-    (u"ak", u"Akana", u"", u"Akan"),
240
-    (u"pl", u"Polski", u"", u"Polish"),
241
-    (u"nrm", u"Nouormand/Normaund", u"", u"Norman"),
242
-    (u"en-US", u"English", u"", u"English"),
243
-    (u"gan", u"贛語", u"", u"Gan"),
244
-    (u"gag", u"Gagauz", u"", u"Gagauz"),
245
-    (u"an", u"Aragonés", u"", u"Aragonese"),
39
+    (u"cy", u"Cymraeg", u"", u"Welsh"),
40
+    (u"da-DK", u"Dansk", u"Danmark", u"Danish"),
41
+    (u"de", u"Deutsch", u"", u"German"),
42
+    (u"de-AT", u"Deutsch", u"Österreich", u"German"),
43
+    (u"de-CH", u"Deutsch", u"Schweiz", u"German"),
44
+    (u"de-DE", u"Deutsch", u"Deutschland", u"German"),
45
+    (u"ee", u"Eʋegbe", u"", u""),
46
+    (u"el-GR", u"Ελληνικά", u"Ελλάδα", u"Greek"),
47
+    (u"en", u"English", u"", u"English"),
48
+    (u"en-AU", u"English", u"Australia", u"English"),
49
+    (u"en-CA", u"English", u"Canada", u"English"),
50
+    (u"en-GB", u"English", u"United Kingdom", u"English"),
51
+    (u"en-ID", u"English", u"Indonesia", u"English"),
52
+    (u"en-IE", u"English", u"Ireland", u"English"),
53
+    (u"en-IN", u"English", u"India", u"English"),
54
+    (u"en-MY", u"English", u"Malaysia", u"English"),
55
+    (u"en-NZ", u"English", u"New Zealand", u"English"),
56
+    (u"en-PH", u"English", u"Philippines", u"English"),
57
+    (u"en-SG", u"English", u"Singapore", u"English"),
58
+    (u"en-US", u"English", u"United States", u"English"),
59
+    (u"en-ZA", u"English", u"South Africa", u"English"),
60
+    (u"eo", u"Esperanto", u"", u"Esperanto"),
61
+    (u"es", u"Español", u"", u"Spanish"),
62
+    (u"es-AR", u"Español", u"Argentina", u"Spanish"),
63
+    (u"es-CL", u"Español", u"Chile", u"Spanish"),
64
+    (u"es-CO", u"Español", u"Colombia", u"Spanish"),
65
+    (u"es-ES", u"Español", u"España", u"Spanish"),
66
+    (u"es-MX", u"Español", u"México", u"Spanish"),
67
+    (u"es-PE", u"Español", u"Perú", u"Spanish"),
68
+    (u"es-US", u"Español", u"Estados Unidos", u"Spanish"),
69
+    (u"et-EE", u"Eesti", u"Eesti", u"Estonian"),
70
+    (u"eu", u"Euskara", u"", u"Basque"),
71
+    (u"fa", u"فارسی", u"", u"Persian"),
72
+    (u"fi-FI", u"Suomi", u"Suomi", u"Finnish"),
73
+    (u"fo", u"Føroyskt", u"", u"Faroese"),
74
+    (u"fr", u"Français", u"", u"French"),
75
+    (u"fr-BE", u"Français", u"Belgique", u"French"),
76
+    (u"fr-CA", u"Français", u"Canada", u"French"),
77
+    (u"fr-CH", u"Français", u"Suisse", u"French"),
78
+    (u"fr-FR", u"Français", u"France", u"French"),
79
+    (u"fy", u"Frysk", u"", u"West Frisian"),
80
+    (u"ga", u"Gaeilge", u"", u"Irish"),
246 81
     (u"gaa", u"Ga", u"", u""),
247
-    (u"fur", u"Furlan", u"", u"Friulian"),
248
-    (u"es-PE", u"Español", u"", u"Spanish"),
249
-    (u"tl-PH", u"Tagalog", u"", u"Tagalog"),
250
-    (u"en-IN", u"English", u"", u"English"),
251
-    (u"ve", u"Tshivenda", u"", u"Venda"),
252
-    (u"en-ID", u"English", u"", u"English"),
253
-    (u"en-IE", u"English", u"", u"English"),
82
+    (u"gd", u"Gàidhlig", u"", u"Scottish Gaelic"),
83
+    (u"gl", u"Galego", u"", u"Galician"),
84
+    (u"gn", u"Guarani", u"", u""),
85
+    (u"gu", u"ગુજરાતી", u"", u"Gujarati"),
86
+    (u"ha", u"Hausa", u"", u""),
87
+    (u"haw", u"ʻŌlelo HawaiʻI", u"", u""),
88
+    (u"he-IL", u"עברית", u"ישראל", u"Hebrew"),
89
+    (u"hi", u"हिन्दी", u"", u"Hindi"),
90
+    (u"hr-HR", u"Hrvatski", u"Hrvatska", u"Croatian"),
91
+    (u"hsb", u"Hornjoserbsce", u"", u"Upper Sorbian"),
92
+    (u"ht", u"Krèyol ayisyen", u"", u"Haitian"),
93
+    (u"hu-HU", u"Magyar", u"Magyarország", u"Hungarian"),
94
+    (u"hy", u"Հայերեն", u"", u"Armenian"),
95
+    (u"ia", u"Interlingua", u"", u"Interlingua"),
96
+    (u"id-ID", u"Bahasa Indonesia", u"Indonesia", u"Indonesian"),
97
+    (u"ig", u"Igbo", u"", u""),
98
+    (u"io", u"Ido", u"", u"Ido"),
254 99
     (u"is", u"Íslenska", u"", u"Icelandic"),
255
-    (u"iu", u"ᐃᓄᒃᑎᑐᑦ", u"", u"Inuktitut"),
256 100
     (u"it", u"Italiano", u"", u"Italian"),
101
+    (u"it-CH", u"Italiano", u"Svizzera", u"Italian"),
102
+    (u"it-IT", u"Italiano", u"Italia", u"Italian"),
257 103
     (u"iw", u"עברית", u"", u""),
258
-    (u"vo", u"Volapük", u"", u"Volapük"),
259
-    (u"ik", u"Iñupiak", u"", u"Inupiak"),
260
-    (u"io", u"Ido", u"", u"Ido"),
261
-    (u"ia", u"Interlingua", u"", u"Interlingua"),
262
-    (u"ja-JP", u"日本語", u"", u"Japanese"),
263
-    (u"ie", u"Interlingue", u"", u"Interlingue"),
264
-    (u"id", u"Bahasa Indonesia", u"", u"Indonesian"),
265
-    (u"nds-nl", u"Nedersaksisch", u"", u"Dutch Low Saxon"),
266
-    (u"pap", u"Papiamentu", u"", u"Papiamentu"),
267
-    (u"pag", u"Pangasinan", u"", u"Pangasinan"),
268
-    (u"pam", u"Kapampangan", u"", u"Kapampangan"),
269
-    (u"nl", u"Nederlands", u"", u"Dutch"),
104
+    (u"ja-JP", u"日本語", u"日本", u"Japanese"),
105
+    (u"jv", u"Basa Jawa", u"", u"Javanese"),
106
+    (u"ka", u"ქართული", u"", u"Georgian"),
107
+    (u"kg", u"Kongo", u"", u""),
108
+    (u"kk", u"Қазақша", u"", u"Kazakh"),
109
+    (u"km", u"ខ្មែរ", u"", u""),
110
+    (u"kn", u"ಕನ್ನಡ", u"", u"Kannada"),
111
+    (u"ko-KR", u"한국어", u"대한민국", u"Korean"),
112
+    (u"kri", u"Krio (Sierra Leone)", u"", u""),
113
+    (u"ku", u"Kurdî / كوردی", u"", u"Kurdish"),
114
+    (u"ky", u"Кыргызча", u"", u"Kirghiz"),
115
+    (u"la", u"Latina", u"", u"Latin"),
116
+    (u"lb", u"Lëtzebuergesch", u"", u"Luxembourgish"),
117
+    (u"lg", u"Luganda", u"", u""),
118
+    (u"li", u"Limburgs", u"", u"Limburgish"),
119
+    (u"lmo", u"Lumbaart", u"", u"Lombard"),
120
+    (u"ln", u"Lingála", u"", u""),
121
+    (u"lo", u"ລາວ", u"", u""),
122
+    (u"loz", u"Lozi", u"", u""),
123
+    (u"lt-LT", u"Lietuvių", u"Lietuva", u"Lithuanian"),
124
+    (u"lua", u"Luba-Lulua", u"", u""),
125
+    (u"lv-LV", u"Latviešu", u"Latvijas Republika", u"Latvian"),
126
+    (u"mfe", u"Kreol Morisien", u"", u""),
127
+    (u"mg", u"Malagasy", u"", u"Malagasy"),
128
+    (u"mi", u"Maori", u"", u""),
129
+    (u"min", u"Minangkabau", u"", u"Minangkabau"),
130
+    (u"mk", u"Македонски", u"", u"Macedonian"),
131
+    (u"ml", u"മലയാളം", u"", u"Malayalam"),
132
+    (u"mn", u"Монгол", u"", u"Mongolian"),
133
+    (u"mr", u"मराठी", u"", u"Marathi"),
134
+    (u"mrj", u"Кырык Мары (Kyryk Mary)", u"", u"Hill Mari"),
135
+    (u"ms-MY", u"Bahasa Melayu", u"Malaysia", u"Malay"),
136
+    (u"mt", u"Malti", u"", u""),
137
+    (u"my", u"မြန်မာဘာသာ", u"", u"Burmese"),
270 138
     (u"mzn", u"مَزِروني", u"", u"Mazandarani"),
271
-    (u"nl-BE", u"Nederlands", u"", u"Dutch"),
272
-    (u"sk-SK", u"Slovenčina", u"", u"Slovak"),
273
-    (u"zh-TW", u"中文 (繁體)", u"", u""),
274
-    (u"es-MX", u"Español", u"", u"Spanish"),
275
-    (u"de-DE", u"Deutsch", u"", u"German"),
276
-    (u"jbo", u"Lojban", u"", u"Lojban"),
277
-    (u"mfe", u"kreol morisien", u"", u""),
278
-    (u"tcy", u"Tulu", u"", u"ತುಳು"),
279
-    (u"hak", u"Hak-kâ-fa / 客家話", u"", u"Hakka"),
280
-    (u"ny", u"Chichewa", u"", u"Chichewa"),
281
-    (u"ady", u"Адыгэбзэ", u"", u"Adyghe"),
282
-    (u"haw", u"Hawai`i", u"", u"Hawaiian"),
283
-    (u"el-GR", u"Ελληνικά", u"", u"Greek"),
284
-    (u"bpy", u"ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী", u"", u"Bishnupriya Manipuri"),
285
-    (u"mhr", u"Олык Марий (Olyk Marij)", u"", u"Meadow Mari"),
286
-    (u"ca-CT", u"Català", u"", u"Catalan"),
287
-    (u"en-MY", u"English", u"", u"English"),
288
-    (u"olo", u"Livvi-Karelian", u"", u"Livvinkarjala"),
289
-    (u"sv-SE", u"Svenska", u"", u"Swedish"),
290
-    (u"de-AT", u"Deutsch", u"", u"German"),
291
-    (u"hsb", u"Hornjoserbsce", u"", u"Upper Sorbian"),
292
-    (u"be", u"Беларуская", u"", u"Belarusian"),
293
-    (u"bg", u"Български", u"", u"Bulgarian"),
294
-    (u"ba", u"Башҡорт", u"", u"Bashkir"),
295
-    (u"bm", u"Bamanankan", u"", u"Bambara"),
296
-    (u"bn", u"বাংলা", u"", u"Bengali"),
297
-    (u"bo", u"བོད་སྐད", u"", u"Tibetan"),
298
-    (u"bh", u"भोजपुरी", u"", u"Bihari"),
299
-    (u"bi", u"Bislama", u"", u"Bislama"),
300
-    (u"rue", u"Русиньскый", u"", u"Rusyn"),
301
-    (u"et-EE", u"Eesti", u"", u"Estonian"),
302
-    (u"br", u"Brezhoneg", u"", u"Breton"),
303
-    (u"bs", u"Bosanski", u"", u"Bosnian"),
304
-    (u"om", u"Oromoo", u"", u"Oromo"),
305
-    (u"ace", u"Bahsa Acèh", u"", u"Acehnese"),
306
-    (u"es-AR", u"Español", u"", u"Spanish"),
307
-    (u"ach", u"Acoli", u"", u""),
139
+    (u"nah", u"Nāhuatl", u"", u"Nahuatl"),
140
+    (u"nap", u"Nnapulitano", u"", u"Neapolitan"),
141
+    (u"nds-nl", u"Plattdüütsch", u"Nedderlannen", u"Low Saxon"),
142
+    (u"ne", u"नेपाली", u"", u"Nepali"),
143
+    (u"new", u"नेपाल भाषा", u"", u"Newar"),
144
+    (u"nl", u"Nederlands", u"", u"Dutch"),
145
+    (u"nl-BE", u"Nederlands", u"België", u"Dutch"),
146
+    (u"nl-NL", u"Nederlands", u"Nederland", u"Dutch"),
147
+    (u"nn", u"Nynorsk", u"", u"Norwegian (Nynorsk)"),
148
+    (u"no-NO", u"Norsk (Bokmål)", u"Norge", u"Norwegian (Bokmål)"),
149
+    (u"nso", u"Northern Sotho", u"", u""),
150
+    (u"ny", u"Nyanja", u"", u""),
151
+    (u"nyn", u"Runyankore", u"", u""),
308 152
     (u"oc", u"Occitan", u"", u"Occitan"),
309
-    (u"kri", u"Krio (Sierra Leone)", u"", u""),
310
-    (u"krc", u"Къарачай-Малкъар (Qarachay-Malqar)", u"", u"Karachay-Balkar"),
311
-    (u"nds", u"Plattdüütsch", u"", u"Low Saxon"),
312
-    (u"os", u"Иронау", u"", u"Ossetian"),
153
+    (u"om", u"Oromoo", u"", u""),
313 154
     (u"or", u"ଓଡ଼ିଆ", u"", u"Oriya"),
314
-    (u"nso", u"Sepedi", u"", u"Northern Sotho"),
315
-    (u"bjn", u"Bahasa Banjar", u"", u"Banjar"),
155
+    (u"os", u"Иронау", u"", u"Ossetian"),
316 156
     (u"pa", u"ਪੰਜਾਬੀ", u"", u"Punjabi"),
317
-    (u"loz", u"Lozi", u"", u""),
318
-    (u"war", u"Winaray", u"", u"Waray-Waray"),
319
-    (u"hy", u"Հայերեն", u"", u"Armenian"),
320
-    (u"hr", u"Hrvatski", u"", u"Croatian"),
321
-    (u"ht", u"Krèyol ayisyen", u"", u"Haitian"),
322
-    (u"hu", u"Magyar", u"", u"Hungarian"),
323
-    (u"hi", u"हिन्दी", u"", u"Hindi"),
324
-    (u"ha", u"هَوُسَ", u"", u"Hausa"),
325
-    (u"bug", u"Basa Ugi", u"", u"Buginese"),
326
-    (u"he", u"עברית", u"", u"Hebrew"),
327
-    (u"hr-HR", u"Hrvatski", u"", u"Croatian"),
328
-    (u"uz", u"O‘zbek", u"", u"Uzbek"),
329
-    (u"azb", u"تۆرکجه", u"", u"South Azerbaijani"),
157
+    (u"pcm", u"Nigerian Pidgin", u"", u""),
158
+    (u"pl-PL", u"Polski", u"Rzeczpospolita Polska", u"Polish"),
159
+    (u"pms", u"Piemontèis", u"", u"Piedmontese"),
160
+    (u"pnb", u"شاہ مکھی پنجابی (Shāhmukhī Pañjābī)", u"", u"Western Punjabi"),
161
+    (u"ps", u"پښتو", u"", u""),
162
+    (u"pt", u"Português", u"", u"Portuguese"),
163
+    (u"pt-BR", u"Português", u"Brasil", u"Portuguese"),
164
+    (u"pt-PT", u"Português", u"Portugal", u"Portuguese"),
165
+    (u"qu", u"Runa Simi", u"", u"Quechua"),
166
+    (u"rm", u"Rumantsch", u"", u""),
167
+    (u"rn", u"Ikirundi", u"", u""),
168
+    (u"ro-RO", u"Română", u"România", u"Romanian"),
169
+    (u"ru-RU", u"Русский", u"Россия", u"Russian"),
170
+    (u"rw", u"Kinyarwanda", u"", u""),
171
+    (u"sa", u"संस्कृतम्", u"", u"Sanskrit"),
172
+    (u"sah", u"Саха тыла (Saxa Tyla)", u"", u"Sakha"),
173
+    (u"scn", u"Sicilianu", u"", u"Sicilian"),
174
+    (u"sco", u"Scots", u"", u"Scots"),
175
+    (u"sd", u"Sindhi", u"", u""),
176
+    (u"sh", u"Srpskohrvatski / Српскохрватски", u"", u"Serbo-Croatian"),
177
+    (u"si", u"සිංහල", u"", u"Sinhalese"),
178
+    (u"sk-SK", u"Slovenčina", u"Slovenská republika", u"Slovak"),
179
+    (u"sl", u"Slovenščina", u"", u"Slovenian"),
180
+    (u"sl-SI", u"Slovenščina", u"Slovenija", u"Slovenian"),
181
+    (u"sl-SL", u"Slovenščina", u"Sierra Leone", u"Slovenian"),
182
+    (u"sn", u"Chishona", u"", u""),
183
+    (u"so", u"Soomaali", u"", u""),
184
+    (u"sq", u"Shqip", u"", u"Albanian"),
185
+    (u"sr-ME", u"Српски / Srpski", u"Црна Гора", u"Serbian"),
186
+    (u"st", u"Southern Sotho", u"", u""),
187
+    (u"su", u"Basa Sunda", u"", u"Sundanese"),
188
+    (u"sv-SE", u"Svenska", u"Sverige", u"Swedish"),
189
+    (u"sw", u"Kiswahili", u"", u"Swahili"),
190
+    (u"ta", u"தமிழ்", u"", u"Tamil"),
191
+    (u"te", u"తెలుగు", u"", u"Telugu"),
192
+    (u"tg", u"Тоҷикӣ", u"", u"Tajik"),
193
+    (u"th-TH", u"ไทย", u"ไทย", u"Thai"),
194
+    (u"ti", u"ትግርኛ", u"", u""),
195
+    (u"tk", u"Turkmen", u"", u""),
196
+    (u"tl-PH", u"Tagalog", u"Pilipinas", u"Tagalog"),
197
+    (u"tlh", u"Klingon", u"", u""),
198
+    (u"tn", u"Tswana", u"", u""),
199
+    (u"to", u"Lea Fakatonga", u"", u""),
200
+    (u"tr-TR", u"Türkçe", u"Türkiye", u"Turkish"),
201
+    (u"tt", u"Tatarça / Татарча", u"", u"Tatar"),
202
+    (u"tum", u"Tumbuka", u"", u""),
203
+    (u"tw", u"Twi", u"", u""),
204
+    (u"ug", u"ئۇيغۇرچە", u"", u""),
205
+    (u"uk-UA", u"Українська", u"Україна", u"Ukrainian"),
330 206
     (u"ur", u"اردو", u"", u"Urdu"),
331
-    (u"uk", u"Українська", u"", u"Ukrainian"),
332
-    (u"ug", u"ئۇيغۇر تىلى", u"", u"Uyghur"),
333
-    (u"pih", u"Norfuk", u"", u"Norfolk"),
334
-    (u"ab", u"Аҧсуа", u"", u"Abkhazian"),
335
-    (u"af", u"Afrikaans", u"", u"Afrikaans"),
336
-    (u"it-IT", u"Italiano", u"", u"Italian"),
337
-    (u"am", u"አማርኛ", u"", u"Amharic"),
338
-    (u"myv", u"Эрзянь (Erzjanj Kelj)", u"", u"Erzya"),
339
-    (u"as", u"অসমীয়া", u"", u"Assamese"),
340
-    (u"ar", u"العربية", u"", u"Arabic"),
341
-    (u"km", u"ភាសាខ្មែរ", u"", u"Khmer"),
342
-    (u"uk-UA", u"Українська", u"", u"Ukrainian"),
343
-    (u"av", u"Авар", u"", u"Avar"),
344
-    (u"ay", u"Aymar", u"", u"Aymara"),
345
-    (u"az", u"Azərbaycanca", u"", u"Azerbaijani"),
346
-    (u"es-ES", u"Español", u"", u"Spanish"),
347
-    (u"lv-LV", u"Latviešu", u"", u"Latvian"),
348
-    (u"nn", u"Nynorsk", u"", u"Norwegian (Nynorsk)"),
349
-    (u"no", u"Norsk (Bokmål)", u"", u"Norwegian (Bokmål)"),
350
-    (u"na", u"dorerin Naoero", u"", u"Nauruan"),
351
-    (u"nah", u"Nāhuatl", u"", u"Nahuatl"),
352
-    (u"ne", u"नेपाली", u"", u"Nepali"),
353
-    (u"en-AU", u"English", u"", u"English"),
354
-    (u"nap", u"Nnapulitano", u"", u"Neapolitan"),
355
-    (u"nv", u"Diné bizaad", u"", u"Navajo"),
356
-    (u"ku", u"Kurdî / كوردی", u"", u"Kurdish"),
357
-    (u"cs-CZ", u"Čeština", u"", u"Czech"),
358
-    (u"en-SG", u"English", u"", u"English"),
359
-    (u"bcl", u"Bikol", u"", u"Central Bicolano")
207
+    (u"uz", u"O‘zbek", u"", u"Uzbek"),
208
+    (u"vec", u"Vèneto", u"", u"Venetian"),
209
+    (u"vi-VN", u"Tiếng Việt", u"Công Hòa Xã Hội Chủ Nghĩa Việt Nam", u"Vietnamese"),
210
+    (u"vo", u"Volapük", u"", u"Volapük"),
211
+    (u"wa", u"Walon", u"", u"Walloon"),
212
+    (u"war", u"Winaray", u"", u"Waray-Waray"),
213
+    (u"wo", u"Wolof", u"", u""),
214
+    (u"xh", u"Xhosa", u"", u""),
215
+    (u"yi", u"ייִדיש", u"", u"Yiddish"),
216
+    (u"yo", u"Yorùbá", u"", u"Yoruba"),
217
+    (u"zh", u"中文", u"", u"Chinese"),
218
+    (u"zh-CN", u"中文", u"中国", u"Chinese"),
219
+    (u"zh-HK", u"中文", u"香港", u"Chinese"),
220
+    (u"zh-TW", u"中文", u"台湾", u"Chinese"),
221
+    (u"zu", u"Isizulu", u"", u"")
360 222
 )

+ 54
- 10
utils/update_languages.py View File

@@ -4,22 +4,28 @@
4 4
 # intersecting each engine's supported languages.
5 5
 #
6 6
 # The language's native names are obtained from
7
-# Wikipedia's supported languages.
7
+# Wikipedia and Google's supported languages.
8
+#
9
+# The country names are obtained from http://api.geonames.org
10
+# which requires registering as a user.
8 11
 #
9 12
 # Output file (languages.py) is written in current directory
10 13
 # to avoid overwriting in case something goes wrong.
11 14
 
12 15
 from requests import get
13
-from re import sub
14
-from lxml.html import fromstring, tostring
16
+from urllib import urlencode
17
+from lxml.html import fromstring
15 18
 from json import loads
16 19
 from sys import path
17 20
 path.append('../searx')
18 21
 from searx.engines import engines
19 22
 
20
-# list of language names
23
+# list of names
21 24
 wiki_languages_url = 'https://meta.wikimedia.org/wiki/List_of_Wikipedias'
22 25
 google_languages_url = 'https://www.google.com/preferences?#languages'
26
+country_names_url = 'http://api.geonames.org/countryInfoJSON?{parameters}'
27
+
28
+geonames_user = ''  # add user name here
23 29
 
24 30
 google_json_name = 'google.preferences.langMap'
25 31
 
@@ -46,6 +52,29 @@ def valid_code(lang_code):
46 52
     return True
47 53
 
48 54
 
55
+# Get country name in specified language.
56
+def get_country_name(locale):
57
+    if geonames_user is '':
58
+        return ''
59
+
60
+    locale = locale.split('-')
61
+    if len(locale) != 2:
62
+        return ''
63
+
64
+    url = country_names_url.format(parameters=urlencode({'lang': locale[0],
65
+                                                         'country': locale[1],
66
+                                                         'username': geonames_user}))
67
+    response = get(url)
68
+    json = loads(response.text)
69
+    content = json.get('geonames', None)
70
+    if content is None or len(content) != 1:
71
+        print "No country name found for " + locale[0] + "-" + locale[1]
72
+        print json
73
+        return ''
74
+
75
+    return content[0].get('countryName', '')
76
+
77
+
49 78
 # Get language names from Wikipedia.
50 79
 def get_wikipedia_languages():
51 80
     response = get(wiki_languages_url)
@@ -62,7 +91,7 @@ def get_wikipedia_languages():
62 91
             articles = int(td[4].xpath('./a/b')[0].text.replace(',',''))
63 92
             
64 93
             # exclude language variants and languages with few articles
65
-            if code not in languages and articles >= 1000 and valid_code(code):
94
+            if code not in languages and articles >= 10000 and valid_code(code):
66 95
                 languages[code] = (name, '', english_name)
67 96
 
68 97
 
@@ -72,8 +101,8 @@ def get_google_languages():
72 101
     dom = fromstring(response.text)
73 102
     options = dom.xpath('//select[@name="hl"]/option')
74 103
     for option in options:
75
-        code = option.xpath('./@value')[0]
76
-        name = option.text[:-1]
104
+        code = option.xpath('./@value')[0].split('-')[0]
105
+        name = option.text[:-1].title()
77 106
 
78 107
         if code not in languages and valid_code(code):
79 108
             languages[code] = (name, '', '')
@@ -92,8 +121,22 @@ def join_language_lists():
92 121
                     print engine_name + ": " + locale
93 122
                     continue
94 123
 
95
-                (name, country, english) = language
96
-                languages[locale] = (name, country, english)
124
+                country = get_country_name(locale)
125
+                languages[locale] = (language[0], country, language[2])
126
+
127
+
128
+# Remove countryless language if language is featured in only one country.
129
+def filter_single_country_languages():
130
+    prev_lang = None
131
+    for code in sorted(languages):
132
+        lang = code.split('-')[0]
133
+        if lang == prev_lang:
134
+            countries += 1
135
+        else:
136
+            if prev_lang is not None and countries == 1:
137
+                del languages[prev_lang]
138
+            countries = 0
139
+            prev_lang = lang
97 140
 
98 141
 
99 142
 # Write languages.py.
@@ -103,7 +146,7 @@ def write_languages_file():
103 146
     file_content += '# list of language codes\n'
104 147
     file_content += '# this file is generated automatically by utils/update_search_languages.py\n'
105 148
     file_content += '\nlanguage_codes = ('
106
-    for code in languages:
149
+    for code in sorted(languages):
107 150
         (name, country, english) = languages[code]
108 151
         file_content += '\n    (u"' + code + '"'\
109 152
                         + ', u"' + name + '"'\
@@ -120,4 +163,5 @@ if __name__ == "__main__":
120 163
     get_wikipedia_languages()
121 164
     get_google_languages()
122 165
     join_language_lists()
166
+    filter_single_country_languages()
123 167
     write_languages_file()