on master help sign in
Add country names in language list.
commit922d51bf0c992cee71a69496efbfafee5c81afcf authormarc <a01200356@itesm.mx> dateSun 30 Oct 2016, 19:12 (10 years ago) parenta11948c
2 files changed+255−349
searx/languages.py+201−339 utils/update_languages.py+54−10
searx/languages.py+201−339
@@ -3,358 +3,220 @@
33# this file is generated automatically by utils/update_search_languages.py
44
55language_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""),
149 (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"),
14814 (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"),
20418 (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"),
22328 (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"),
22431 (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"),
23038 (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"),
24681 (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"),
25499 (u"is", u"Íslenska", u"", u"Icelandic"),
255− (u"iu", u"ᐃᓄᒃᑎᑐᑦ", u"", u"Inuktitut"),
256100 (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"),
257103 (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"),
270138 (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""),
308152 (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""),
313154 (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"),
316156 (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"),
330206 (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"")
360222)
utils/update_languages.py+54−10
@@ -4,22 +4,28 @@
44# intersecting each engine's supported languages.
55#
66# 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.
811#
912# Output file (languages.py) is written in current directory
1013# to avoid overwriting in case something goes wrong.
1114
1215from 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
1518from json import loads
1619from sys import path
1720path.append('../searx')
1821from searx.engines import engines
1922
20−# list of language names
23+# list of names
2124wiki_languages_url = 'https://meta.wikimedia.org/wiki/List_of_Wikipedias'
2225google_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
2329
2430google_json_name = 'google.preferences.langMap'
2531
@@ -46,6 +52,29 @@ def valid_code(lang_code):
4652 return True
4753
4854
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+
4978# Get language names from Wikipedia.
5079def get_wikipedia_languages():
5180 response = get(wiki_languages_url)
@@ -62,7 +91,7 @@ def get_wikipedia_languages():
6291 articles = int(td[4].xpath('./a/b')[0].text.replace(',',''))
6392
6493 # 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):
6695 languages[code] = (name, '', english_name)
6796
6897
@@ -72,8 +101,8 @@ def get_google_languages():
72101 dom = fromstring(response.text)
73102 options = dom.xpath('//select[@name="hl"]/option')
74103 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()
77106
78107 if code not in languages and valid_code(code):
79108 languages[code] = (name, '', '')
@@ -92,8 +121,22 @@ def join_language_lists():
92121 print engine_name + ": " + locale
93122 continue
94123
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
97140
98141
99142# Write languages.py.
@@ -103,7 +146,7 @@ def write_languages_file():
103146 file_content += '# list of language codes\n'
104147 file_content += '# this file is generated automatically by utils/update_search_languages.py\n'
105148 file_content += '\nlanguage_codes = ('
106− for code in languages:
149+ for code in sorted(languages):
107150 (name, country, english) = languages[code]
108151 file_content += '\n (u"' + code + '"'\
109152 + ', u"' + name + '"'\
@@ -120,4 +163,5 @@ if __name__ == "__main__":
120163 get_wikipedia_languages()
121164 get_google_languages()
122165 join_language_lists()
166+ filter_single_country_languages()
123167 write_languages_file()