commit: af35eee10b98940c51c6e5e18629de514b4bd48d
parent e0c270bd72f7b2a40222e3ed264e25d36cb0fc30
Author: marc <a01200356@itesm.mx>
Date: Thu, 15 Dec 2016 00:34:43 -0600
tests for _fetch_supported_languages in engines
and refactor method to make it testable without making requests
Diffstat:
27 files changed, 388 insertions(+), 3389 deletions(-)
diff --git a/searx/data/engines_languages.json b/searx/data/engines_languages.json
@@ -1,3256 +1 @@
-{
- "google news": {
- "gu": {
- "name": "ગુજરાતી"
- },
- "mfe": {
- "name": "Kreol Morisien"
- },
- "gd": {
- "name": "Gàidhlig"
- },
- "ga": {
- "name": "Gaeilge"
- },
- "gn": {
- "name": "Guarani"
- },
- "gl": {
- "name": "Galego"
- },
- "lg": {
- "name": "Luganda"
- },
- "la": {
- "name": "Latin"
- },
- "ln": {
- "name": "Lingála"
- },
- "tw": {
- "name": "Twi"
- },
- "tt": {
- "name": "Tatar"
- },
- "tr": {
- "name": "Türkçe"
- },
- "lv": {
- "name": "Latviešu"
- },
- "to": {
- "name": "Lea Fakatonga"
- },
- "lt": {
- "name": "Lietuvių"
- },
- "tk": {
- "name": "Turkmen"
- },
- "th": {
- "name": "ไทย"
- },
- "pcm": {
- "name": "Nigerian Pidgin"
- },
- "tg": {
- "name": "Tajik"
- },
- "te": {
- "name": "తెలుగు"
- },
- "haw": {
- "name": "ʻŌlelo HawaiʻI"
- },
- "yi": {
- "name": "ייִדיש"
- },
- "ceb": {
- "name": "Cebuano"
- },
- "yo": {
- "name": "Èdè Yorùbá"
- },
- "de": {
- "name": "Deutsch"
- },
- "ko": {
- "name": "한국어"
- },
- "da": {
- "name": "Dansk"
- },
- "crs": {
- "name": "Seychellois Creole"
- },
- "qu": {
- "name": "Runasimi"
- },
- "bem": {
- "name": "Ichibemba"
- },
- "xx": {
- "name": "Pirate"
- },
- "ban": {
- "name": "Balinese"
- },
- "el": {
- "name": "Ελληνικά"
- },
- "eo": {
- "name": "Esperanto"
- },
- "en": {
- "name": "English"
- },
- "zh": {
- "name": "中文 (繁體)"
- },
- "ee": {
- "name": "Eʋegbe"
- },
- "eu": {
- "name": "Euskara"
- },
- "et": {
- "name": "Eesti"
- },
- "es": {
- "name": "Español (Latinoamérica)"
- },
- "ru": {
- "name": "Русский"
- },
- "rw": {
- "name": "Kinyarwanda"
- },
- "lua": {
- "name": "Luba-Lulua"
- },
- "rm": {
- "name": "Rumantsch"
- },
- "rn": {
- "name": "Ikirundi"
- },
- "ro": {
- "name": "Română"
- },
- "be": {
- "name": "Беларуская"
- },
- "bg": {
- "name": "Български"
- },
- "uk": {
- "name": "Українська"
- },
- "ps": {
- "name": "پښتو"
- },
- "wo": {
- "name": "Wolof"
- },
- "bn": {
- "name": "বাংলা"
- },
- "jw": {
- "name": "Javanese"
- },
- "tum": {
- "name": "Tumbuka"
- },
- "br": {
- "name": "Brezhoneg"
- },
- "bs": {
- "name": "Bosanski"
- },
- "ja": {
- "name": "日本語"
- },
- "om": {
- "name": "Oromoo"
- },
- "ach": {
- "name": "Acoli"
- },
- "oc": {
- "name": "Occitan"
- },
- "kri": {
- "name": "Krio (Sierra Leone)"
- },
- "lo": {
- "name": "ລາວ"
- },
- "tlh": {
- "name": "Klingon"
- },
- "or": {
- "name": "ଓଡ଼ିଆ"
- },
- "xh": {
- "name": "Xhosa"
- },
- "co": {
- "name": "Corsican"
- },
- "nso": {
- "name": "Northern Sotho"
- },
- "ca": {
- "name": "Català"
- },
- "cy": {
- "name": "Cymraeg"
- },
- "cs": {
- "name": "Čeština"
- },
- "tn": {
- "name": "Tswana"
- },
- "pt": {
- "name": "Português (Portugal)"
- },
- "tl": {
- "name": "Filipino"
- },
- "chr": {
- "name": "ᏣᎳᎩ"
- },
- "pa": {
- "name": "ਪੰਜਾਬੀ"
- },
- "loz": {
- "name": "Lozi"
- },
- "is": {
- "name": "Íslenska"
- },
- "pl": {
- "name": "Polski"
- },
- "hy": {
- "name": "Հայերեն"
- },
- "hr": {
- "name": "Hrvatski"
- },
- "ti": {
- "name": "ትግርኛ"
- },
- "ht": {
- "name": "Haitian Creole"
- },
- "hu": {
- "name": "Magyar"
- },
- "hi": {
- "name": "हिन्दी"
- },
- "ha": {
- "name": "Hausa"
- },
- "gaa": {
- "name": "Ga"
- },
- "mg": {
- "name": "Malagasy"
- },
- "uz": {
- "name": "O‘Zbek"
- },
- "ml": {
- "name": "മലയാളം"
- },
- "mn": {
- "name": "Монгол"
- },
- "mi": {
- "name": "Maori"
- },
- "mk": {
- "name": "Македонски"
- },
- "ur": {
- "name": "اردو"
- },
- "mt": {
- "name": "Malti"
- },
- "ms": {
- "name": "Bahasa Melayu"
- },
- "mr": {
- "name": "मराठी"
- },
- "ug": {
- "name": "ئۇيغۇرچە"
- },
- "ta": {
- "name": "தமிழ்"
- },
- "my": {
- "name": "ဗမာ"
- },
- "af": {
- "name": "Afrikaans"
- },
- "vi": {
- "name": "Tiếng Việt"
- },
- "ak": {
- "name": "Akan"
- },
- "am": {
- "name": "አማርኛ"
- },
- "it": {
- "name": "Italiano"
- },
- "iw": {
- "name": "עברית"
- },
- "kn": {
- "name": "ಕನ್ನಡ"
- },
- "ar": {
- "name": "العربية"
- },
- "km": {
- "name": "ខ្មែរ"
- },
- "zu": {
- "name": "Isizulu"
- },
- "ia": {
- "name": "Interlingua"
- },
- "az": {
- "name": "Azərbaycan Dili"
- },
- "id": {
- "name": "Indonesia"
- },
- "ig": {
- "name": "Igbo"
- },
- "nl": {
- "name": "Nederlands"
- },
- "nn": {
- "name": "Nynorsk"
- },
- "no": {
- "name": "Norsk"
- },
- "ne": {
- "name": "नेपाली"
- },
- "ny": {
- "name": "Nyanja"
- },
- "nyn": {
- "name": "Runyankore"
- },
- "fr": {
- "name": "Français"
- },
- "fy": {
- "name": "West-Frysk"
- },
- "fa": {
- "name": "فارسی"
- },
- "fi": {
- "name": "Suomi"
- },
- "fo": {
- "name": "Føroyskt"
- },
- "ka": {
- "name": "ქართული"
- },
- "kg": {
- "name": "Kongo"
- },
- "ckb": {
- "name": "Central Kurdish"
- },
- "kk": {
- "name": "Қазақ Тілі"
- },
- "sr": {
- "name": "Српски"
- },
- "sq": {
- "name": "Shqip"
- },
- "sw": {
- "name": "Kiswahili"
- },
- "sv": {
- "name": "Svenska"
- },
- "su": {
- "name": "Sundanese"
- },
- "st": {
- "name": "Southern Sotho"
- },
- "sk": {
- "name": "Slovenčina"
- },
- "si": {
- "name": "සිංහල"
- },
- "so": {
- "name": "Soomaali"
- },
- "sn": {
- "name": "Chishona"
- },
- "sl": {
- "name": "Slovenščina"
- },
- "ky": {
- "name": "Кыргызча"
- },
- "sd": {
- "name": "Sindhi"
- }
- },
- "dailymotion": {
- "gv": {
- "english_name": "Manx"
- },
- "gu": {
- "name": "ગુજરાતી",
- "english_name": "Gujarati"
- },
- "gd": {
- "english_name": "Gaelic, Scottish"
- },
- "ga": {
- "name": "Gaeilge",
- "english_name": "Irish"
- },
- "gn": {
- "english_name": "Guarani"
- },
- "gl": {
- "name": "Galego",
- "english_name": "Galician"
- },
- "lg": {
- "english_name": "Ganda"
- },
- "lb": {
- "english_name": "Luxembourgish"
- },
- "la": {
- "english_name": "Latin"
- },
- "ln": {
- "english_name": "Lingala"
- },
- "lo": {
- "english_name": "Lao"
- },
- "tt": {
- "name": "Татарча",
- "english_name": "Tatar"
- },
- "tr": {
- "name": "Türkçe",
- "english_name": "Turkish"
- },
- "ts": {
- "english_name": "Tsonga"
- },
- "li": {
- "english_name": "Limburgan"
- },
- "lv": {
- "name": "Latviešu",
- "english_name": "Latvian"
- },
- "to": {
- "english_name": "Tonga (Tonga Islands)"
- },
- "lt": {
- "name": "Lietuvių",
- "english_name": "Lithuanian"
- },
- "lu": {
- "english_name": "Luba-Katanga"
- },
- "tk": {
- "english_name": "Turkmen"
- },
- "th": {
- "name": "ไทย",
- "english_name": "Thai"
- },
- "ti": {
- "name": "ትግርኛ",
- "english_name": "Tigrinya"
- },
- "tg": {
- "english_name": "Tajik"
- },
- "te": {
- "english_name": "Telugu"
- },
- "ta": {
- "name": "தமிழ்",
- "english_name": "Tamil"
- },
- "yi": {
- "english_name": "Yiddish"
- },
- "yo": {
- "english_name": "Yoruba"
- },
- "de": {
- "name": "Deutsch",
- "english_name": "German"
- },
- "da": {
- "name": "Dansk",
- "english_name": "Danish"
- },
- "dz": {
- "english_name": "Dzongkha"
- },
- "st": {
- "english_name": "Sotho, Southern"
- },
- "dv": {
- "english_name": "Dhivehi"
- },
- "qu": {
- "english_name": "Quechua"
- },
- "el": {
- "name": "Ελληνικά",
- "english_name": "Greek, Modern (1453-)"
- },
- "eo": {
- "name": "Esperanto",
- "english_name": "Esperanto"
- },
- "en": {
- "english_name": "English"
- },
- "zh": {
- "name": "中文",
- "english_name": "Chinese"
- },
- "ee": {
- "english_name": "Ewe"
- },
- "za": {
- "english_name": "Zhuang"
- },
- "mh": {
- "english_name": "Marshallese"
- },
- "uk": {
- "name": "українська",
- "english_name": "Ukrainian"
- },
- "eu": {
- "name": "Euskara",
- "english_name": "Basque"
- },
- "et": {
- "name": "Eesti",
- "english_name": "Estonian"
- },
- "es": {
- "name": "Español",
- "english_name": "Spanish"
- },
- "ru": {
- "name": "русский",
- "english_name": "Russian"
- },
- "rw": {
- "name": "Ikinyarwanda",
- "english_name": "Kinyarwanda"
- },
- "rm": {
- "english_name": "Romansh"
- },
- "rn": {
- "english_name": "Rundi"
- },
- "ro": {
- "name": "Română",
- "english_name": "Romanian"
- },
- "bn": {
- "name": "বাংলা",
- "english_name": "Bengali"
- },
- "be": {
- "english_name": "Belarusian"
- },
- "bg": {
- "name": "Български",
- "english_name": "Bulgarian"
- },
- "ba": {
- "english_name": "Bashkir"
- },
- "wa": {
- "name": "Walon",
- "english_name": "Walloon"
- },
- "wo": {
- "english_name": "Wolof"
- },
- "bm": {
- "english_name": "Bambara"
- },
- "jv": {
- "english_name": "Javanese"
- },
- "bo": {
- "english_name": "Tibetan"
- },
- "bi": {
- "english_name": "Bislama"
- },
- "br": {
- "name": "Brezhoneg",
- "english_name": "Breton"
- },
- "bs": {
- "name": "Bosnian",
- "english_name": "Bosnian"
- },
- "ja": {
- "name": "日本語",
- "english_name": "Japanese"
- },
- "om": {
- "english_name": "Oromo"
- },
- "oj": {
- "english_name": "Ojibwa"
- },
- "ty": {
- "english_name": "Tahitian"
- },
- "oc": {
- "name": "Occitan",
- "english_name": "Occitan"
- },
- "tw": {
- "english_name": "Twi"
- },
- "os": {
- "english_name": "Ossetian"
- },
- "or": {
- "name": "Oriya",
- "english_name": "Oriya"
- },
- "xh": {
- "name": "Xhosa",
- "english_name": "Xhosa"
- },
- "ch": {
- "english_name": "Chamorro"
- },
- "co": {
- "english_name": "Corsican"
- },
- "ca": {
- "name": "Català",
- "english_name": "Catalan"
- },
- "ce": {
- "english_name": "Chechen"
- },
- "cy": {
- "name": "Cymraeg",
- "english_name": "Welsh"
- },
- "cs": {
- "name": "čeština",
- "english_name": "Czech"
- },
- "cr": {
- "english_name": "Cree"
- },
- "cv": {
- "english_name": "Chuvash"
- },
- "cu": {
- "english_name": "Slavic, Church"
- },
- "ve": {
- "name": "Venda",
- "english_name": "Venda"
- },
- "ps": {
- "name": "Pushto",
- "english_name": "Pushto"
- },
- "pt": {
- "name": "Português",
- "english_name": "Portuguese"
- },
- "tl": {
- "english_name": "Tagalog"
- },
- "pa": {
- "name": "ਪੰਜਾਬੀ",
- "english_name": "Panjabi"
- },
- "vi": {
- "name": "Tiếng Việt",
- "english_name": "Vietnamese"
- },
- "pi": {
- "english_name": "Pali"
- },
- "is": {
- "name": "Íslenska",
- "english_name": "Icelandic"
- },
- "pl": {
- "name": "polski",
- "english_name": "Polish"
- },
- "hz": {
- "english_name": "Herero"
- },
- "hy": {
- "english_name": "Armenian"
- },
- "hr": {
- "name": "hrvatski",
- "english_name": "Croatian"
- },
- "iu": {
- "english_name": "Inuktitut"
- },
- "ht": {
- "english_name": "Haitian"
- },
- "hu": {
- "name": "magyar",
- "english_name": "Hungarian"
- },
- "hi": {
- "name": "हिंदी",
- "english_name": "Hindi"
- },
- "ho": {
- "english_name": "Hiri Motu"
- },
- "ha": {
- "english_name": "Hausa"
- },
- "he": {
- "name": "עברית",
- "english_name": "Hebrew"
- },
- "mg": {
- "english_name": "Malagasy"
- },
- "uz": {
- "english_name": "Uzbek"
- },
- "ml": {
- "english_name": "Malayalam"
- },
- "mn": {
- "name": "Монгол",
- "english_name": "Mongolian"
- },
- "mi": {
- "name": "Reo Māori",
- "english_name": "Maori"
- },
- "ik": {
- "english_name": "Inupiaq"
- },
- "mk": {
- "name": "Македонски",
- "english_name": "Macedonian"
- },
- "ur": {
- "english_name": "Urdu"
- },
- "mt": {
- "name": "Malti",
- "english_name": "Maltese"
- },
- "ms": {
- "name": "Malay",
- "english_name": "Malay"
- },
- "mr": {
- "name": "मराठी",
- "english_name": "Marathi"
- },
- "ug": {
- "english_name": "Uighur"
- },
- "my": {
- "english_name": "Burmese"
- },
- "sq": {
- "english_name": "Albanian"
- },
- "ae": {
- "english_name": "Avestan"
- },
- "ss": {
- "english_name": "Swati"
- },
- "af": {
- "name": "Afrikaans",
- "english_name": "Afrikaans"
- },
- "tn": {
- "english_name": "Tswana"
- },
- "sw": {
- "english_name": "Swahili (macrolanguage)"
- },
- "ak": {
- "english_name": "Akan"
- },
- "am": {
- "name": "አማርኛ",
- "english_name": "Amharic"
- },
- "it": {
- "name": "Italiano",
- "english_name": "Italian"
- },
- "an": {
- "english_name": "Aragonese"
- },
- "ii": {
- "english_name": "Yi, Sichuan"
- },
- "ia": {
- "english_name": "Interlingua"
- },
- "as": {
- "english_name": "Assamese"
- },
- "ar": {
- "name": "العربية",
- "english_name": "Arabic"
- },
- "su": {
- "english_name": "Sundanese"
- },
- "io": {
- "english_name": "Ido"
- },
- "av": {
- "english_name": "Avaric"
- },
- "ay": {
- "english_name": "Aymara"
- },
- "az": {
- "name": "Azerbaijani",
- "english_name": "Azerbaijani"
- },
- "ie": {
- "english_name": "Interlingue"
- },
- "id": {
- "name": "Indonesian",
- "english_name": "Indonesian"
- },
- "ig": {
- "english_name": "Igbo"
- },
- "sk": {
- "name": "Slovenský",
- "english_name": "Slovak"
- },
- "sr": {
- "name": "српски",
- "english_name": "Serbian"
- },
- "nl": {
- "name": "Nederlands",
- "english_name": "Dutch"
- },
- "nn": {
- "name": "Norwegian Nynorsk",
- "english_name": "Norwegian Nynorsk"
- },
- "no": {
- "english_name": "Norwegian"
- },
- "na": {
- "english_name": "Nauru"
- },
- "nb": {
- "name": "Norwegian Bokmål",
- "english_name": "Norwegian Bokmål"
- },
- "nd": {
- "english_name": "Ndebele, North"
- },
- "ne": {
- "english_name": "Nepali (macrolanguage)"
- },
- "ng": {
- "english_name": "Ndonga"
- },
- "ny": {
- "english_name": "Nyanja"
- },
- "vo": {
- "english_name": "Volapük"
- },
- "zu": {
- "name": "Isi-Zulu",
- "english_name": "Zulu"
- },
- "so": {
- "english_name": "Somali"
- },
- "nr": {
- "english_name": "Ndebele, South"
- },
- "nv": {
- "english_name": "Navajo"
- },
- "sn": {
- "english_name": "Shona"
- },
- "fr": {
- "name": "français",
- "english_name": "French"
- },
- "sm": {
- "english_name": "Samoan"
- },
- "fy": {
- "english_name": "Frisian, Western"
- },
- "sv": {
- "name": "Svenska",
- "english_name": "Swedish"
- },
- "fa": {
- "name": "فارسی",
- "english_name": "Persian"
- },
- "ff": {
- "english_name": "Fulah"
- },
- "fi": {
- "name": "suomi",
- "english_name": "Finnish"
- },
- "fj": {
- "english_name": "Fijian"
- },
- "sa": {
- "english_name": "Sanskrit"
- },
- "fo": {
- "english_name": "Faroese"
- },
- "ka": {
- "english_name": "Georgian"
- },
- "kg": {
- "english_name": "Kongo"
- },
- "kk": {
- "english_name": "Kazakh"
- },
- "kj": {
- "english_name": "Kuanyama"
- },
- "ki": {
- "english_name": "Kikuyu"
- },
- "ko": {
- "name": "한국어",
- "english_name": "Korean"
- },
- "kn": {
- "name": "ಕನ್ನಡ",
- "english_name": "Kannada"
- },
- "km": {
- "english_name": "Khmer, Central"
- },
- "kl": {
- "english_name": "Kalaallisut"
- },
- "ks": {
- "english_name": "Kashmiri"
- },
- "kr": {
- "english_name": "Kanuri"
- },
- "si": {
- "english_name": "Sinhala"
- },
- "sh": {
- "name": "Serbo-Croatian",
- "english_name": "Serbo-Croatian"
- },
- "kw": {
- "english_name": "Cornish"
- },
- "kv": {
- "english_name": "Komi"
- },
- "ku": {
- "english_name": "Kurdish"
- },
- "sl": {
- "name": "slovenščina",
- "english_name": "Slovenian"
- },
- "sc": {
- "english_name": "Sardinian"
- },
- "ky": {
- "english_name": "Kirghiz"
- },
- "sg": {
- "english_name": "Sango"
- },
- "se": {
- "english_name": "Sami, Northern"
- },
- "sd": {
- "english_name": "Sindhi"
- }
- },
- "google": {
- "gu": {
- "name": "ગુજરાતી"
- },
- "mfe": {
- "name": "Kreol Morisien"
- },
- "gd": {
- "name": "Gàidhlig"
- },
- "ga": {
- "name": "Gaeilge"
- },
- "gn": {
- "name": "Guarani"
- },
- "gl": {
- "name": "Galego"
- },
- "lg": {
- "name": "Luganda"
- },
- "la": {
- "name": "Latin"
- },
- "ln": {
- "name": "Lingála"
- },
- "tw": {
- "name": "Twi"
- },
- "tt": {
- "name": "Tatar"
- },
- "tr": {
- "name": "Türkçe"
- },
- "lv": {
- "name": "Latviešu"
- },
- "to": {
- "name": "Lea Fakatonga"
- },
- "lt": {
- "name": "Lietuvių"
- },
- "tk": {
- "name": "Turkmen"
- },
- "th": {
- "name": "ไทย"
- },
- "pcm": {
- "name": "Nigerian Pidgin"
- },
- "tg": {
- "name": "Tajik"
- },
- "te": {
- "name": "తెలుగు"
- },
- "haw": {
- "name": "ʻŌlelo HawaiʻI"
- },
- "yi": {
- "name": "ייִדיש"
- },
- "ceb": {
- "name": "Cebuano"
- },
- "yo": {
- "name": "Èdè Yorùbá"
- },
- "de": {
- "name": "Deutsch"
- },
- "ko": {
- "name": "한국어"
- },
- "da": {
- "name": "Dansk"
- },
- "crs": {
- "name": "Seychellois Creole"
- },
- "qu": {
- "name": "Runasimi"
- },
- "bem": {
- "name": "Ichibemba"
- },
- "xx": {
- "name": "Pirate"
- },
- "ban": {
- "name": "Balinese"
- },
- "el": {
- "name": "Ελληνικά"
- },
- "eo": {
- "name": "Esperanto"
- },
- "en": {
- "name": "English"
- },
- "zh": {
- "name": "中文 (繁體)"
- },
- "ee": {
- "name": "Eʋegbe"
- },
- "eu": {
- "name": "Euskara"
- },
- "et": {
- "name": "Eesti"
- },
- "es": {
- "name": "Español (Latinoamérica)"
- },
- "ru": {
- "name": "Русский"
- },
- "rw": {
- "name": "Kinyarwanda"
- },
- "lua": {
- "name": "Luba-Lulua"
- },
- "rm": {
- "name": "Rumantsch"
- },
- "rn": {
- "name": "Ikirundi"
- },
- "ro": {
- "name": "Română"
- },
- "be": {
- "name": "Беларуская"
- },
- "bg": {
- "name": "Български"
- },
- "uk": {
- "name": "Українська"
- },
- "ps": {
- "name": "پښتو"
- },
- "wo": {
- "name": "Wolof"
- },
- "bn": {
- "name": "বাংলা"
- },
- "jw": {
- "name": "Javanese"
- },
- "tum": {
- "name": "Tumbuka"
- },
- "br": {
- "name": "Brezhoneg"
- },
- "bs": {
- "name": "Bosanski"
- },
- "ja": {
- "name": "日本語"
- },
- "om": {
- "name": "Oromoo"
- },
- "ach": {
- "name": "Acoli"
- },
- "oc": {
- "name": "Occitan"
- },
- "kri": {
- "name": "Krio (Sierra Leone)"
- },
- "lo": {
- "name": "ລາວ"
- },
- "tlh": {
- "name": "Klingon"
- },
- "or": {
- "name": "ଓଡ଼ିଆ"
- },
- "xh": {
- "name": "Xhosa"
- },
- "co": {
- "name": "Corsican"
- },
- "nso": {
- "name": "Northern Sotho"
- },
- "ca": {
- "name": "Català"
- },
- "cy": {
- "name": "Cymraeg"
- },
- "cs": {
- "name": "Čeština"
- },
- "tn": {
- "name": "Tswana"
- },
- "pt": {
- "name": "Português (Portugal)"
- },
- "tl": {
- "name": "Filipino"
- },
- "chr": {
- "name": "ᏣᎳᎩ"
- },
- "pa": {
- "name": "ਪੰਜਾਬੀ"
- },
- "loz": {
- "name": "Lozi"
- },
- "is": {
- "name": "Íslenska"
- },
- "pl": {
- "name": "Polski"
- },
- "hy": {
- "name": "Հայերեն"
- },
- "hr": {
- "name": "Hrvatski"
- },
- "ti": {
- "name": "ትግርኛ"
- },
- "ht": {
- "name": "Haitian Creole"
- },
- "hu": {
- "name": "Magyar"
- },
- "hi": {
- "name": "हिन्दी"
- },
- "ha": {
- "name": "Hausa"
- },
- "gaa": {
- "name": "Ga"
- },
- "mg": {
- "name": "Malagasy"
- },
- "uz": {
- "name": "O‘Zbek"
- },
- "ml": {
- "name": "മലയാളം"
- },
- "mn": {
- "name": "Монгол"
- },
- "mi": {
- "name": "Maori"
- },
- "mk": {
- "name": "Македонски"
- },
- "ur": {
- "name": "اردو"
- },
- "mt": {
- "name": "Malti"
- },
- "ms": {
- "name": "Bahasa Melayu"
- },
- "mr": {
- "name": "मराठी"
- },
- "ug": {
- "name": "ئۇيغۇرچە"
- },
- "ta": {
- "name": "தமிழ்"
- },
- "my": {
- "name": "ဗမာ"
- },
- "af": {
- "name": "Afrikaans"
- },
- "vi": {
- "name": "Tiếng Việt"
- },
- "ak": {
- "name": "Akan"
- },
- "am": {
- "name": "አማርኛ"
- },
- "it": {
- "name": "Italiano"
- },
- "iw": {
- "name": "עברית"
- },
- "kn": {
- "name": "ಕನ್ನಡ"
- },
- "ar": {
- "name": "العربية"
- },
- "km": {
- "name": "ខ្មែរ"
- },
- "zu": {
- "name": "Isizulu"
- },
- "ia": {
- "name": "Interlingua"
- },
- "az": {
- "name": "Azərbaycan Dili"
- },
- "id": {
- "name": "Indonesia"
- },
- "ig": {
- "name": "Igbo"
- },
- "nl": {
- "name": "Nederlands"
- },
- "nn": {
- "name": "Nynorsk"
- },
- "no": {
- "name": "Norsk"
- },
- "ne": {
- "name": "नेपाली"
- },
- "ny": {
- "name": "Nyanja"
- },
- "nyn": {
- "name": "Runyankore"
- },
- "fr": {
- "name": "Français"
- },
- "fy": {
- "name": "West-Frysk"
- },
- "fa": {
- "name": "فارسی"
- },
- "fi": {
- "name": "Suomi"
- },
- "fo": {
- "name": "Føroyskt"
- },
- "ka": {
- "name": "ქართული"
- },
- "kg": {
- "name": "Kongo"
- },
- "ckb": {
- "name": "Central Kurdish"
- },
- "kk": {
- "name": "Қазақ Тілі"
- },
- "sr": {
- "name": "Српски"
- },
- "sq": {
- "name": "Shqip"
- },
- "sw": {
- "name": "Kiswahili"
- },
- "sv": {
- "name": "Svenska"
- },
- "su": {
- "name": "Sundanese"
- },
- "st": {
- "name": "Southern Sotho"
- },
- "sk": {
- "name": "Slovenčina"
- },
- "si": {
- "name": "සිංහල"
- },
- "so": {
- "name": "Soomaali"
- },
- "sn": {
- "name": "Chishona"
- },
- "sl": {
- "name": "Slovenščina"
- },
- "ky": {
- "name": "Кыргызча"
- },
- "sd": {
- "name": "Sindhi"
- }
- },
- "duckduckgo": [
- "da-DK",
- "vi-VN",
- "en-SG",
- "sl-SL",
- "en-XA",
- "tzh-HK",
- "en-UK",
- "ro-RO",
- "en-MY",
- "el-GR",
- "it-CH",
- "hu-HU",
- "fr-FR",
- "en-PH",
- "tl-PH",
- "fr-CA",
- "fi-FI",
- "et-EE",
- "sv-SE",
- "es-XL",
- "th-TH",
- "sk-SK",
- "es-ES",
- "en-IE",
- "es-US",
- "es-PE",
- "nl-NL",
- "en-US",
- "de-DE",
- "de-AT",
- "wt-WT",
- "no-NO",
- "tr-TR",
- "ca-ES",
- "it-IT",
- "es-CO",
- "ru-RU",
- "ca-CT",
- "en-ZA",
- "en-CA",
- "jp-JP",
- "es-MX",
- "id-ID",
- "es-AR",
- "he-IL",
- "kr-KR",
- "en-AU",
- "ms-MY",
- "pl-PL",
- "lv-LV",
- "bg-BG",
- "zh-CN",
- "en-NZ",
- "lt-LT",
- "tzh-TW",
- "hr-HR",
- "pt-PT",
- "fr-BE",
- "de-CH",
- "cs-CZ",
- "en-IN",
- "nl-BE",
- "fr-CH",
- "en-ID",
- "ar-XA",
- "pt-BR",
- "uk-UA",
- "es-CL"
- ],
- "bing": [
- "sq",
- "de",
- "ar",
- "bg",
- "ca",
- "cs",
- "zh-CHS",
- "zh-CHT",
- "ko",
- "hr",
- "da",
- "sk",
- "sl",
- "es",
- "et",
- "fi",
- "fr",
- "el",
- "he",
- "nl",
- "hu",
- "id",
- "en",
- "is",
- "it",
- "ja",
- "lv",
- "lt",
- "ms",
- "nb",
- "fa",
- "pl",
- "pt-BR",
- "pt-PT",
- "ro",
- "ru",
- "sr",
- "sv",
- "th",
- "tr",
- "uk",
- "vi"
- ],
- "wikipedia": {
- "sco": {
- "articles": 41754,
- "name": "Scots",
- "english_name": "Scots"
- },
- "scn": {
- "articles": 25373,
- "name": "Sicilianu",
- "english_name": "Sicilian"
- },
- "gu": {
- "articles": 26690,
- "name": "ગુજરાતી",
- "english_name": "Gujarati"
- },
- "gd": {
- "articles": 14246,
- "name": "Gàidhlig",
- "english_name": "Scottish Gaelic"
- },
- "ga": {
- "articles": 38828,
- "name": "Gaeilge",
- "english_name": "Irish"
- },
- "gl": {
- "articles": 134667,
- "name": "Galego",
- "english_name": "Galician"
- },
- "als": {
- "articles": 22337,
- "name": "Alemannisch",
- "english_name": "Alemannic"
- },
- "lb": {
- "articles": 47306,
- "name": "Lëtzebuergesch",
- "english_name": "Luxembourgish"
- },
- "la": {
- "articles": 125689,
- "name": "Latina",
- "english_name": "Latin"
- },
- "tt": {
- "articles": 69902,
- "name": "Tatarça / Татарча",
- "english_name": "Tatar"
- },
- "tr": {
- "articles": 287403,
- "name": "Türkçe",
- "english_name": "Turkish"
- },
- "li": {
- "articles": 11552,
- "name": "Limburgs",
- "english_name": "Limburgish"
- },
- "lv": {
- "articles": 74333,
- "name": "Latviešu",
- "english_name": "Latvian"
- },
- "tl": {
- "articles": 65681,
- "name": "Tagalog",
- "english_name": "Tagalog"
- },
- "vec": {
- "articles": 10855,
- "name": "Vèneto",
- "english_name": "Venetian"
- },
- "th": {
- "articles": 113214,
- "name": "ไทย",
- "english_name": "Thai"
- },
- "tg": {
- "articles": 67389,
- "name": "Тоҷикӣ",
- "english_name": "Tajik"
- },
- "te": {
- "articles": 66207,
- "name": "తెలుగు",
- "english_name": "Telugu"
- },
- "ta": {
- "articles": 89565,
- "name": "தமிழ்",
- "english_name": "Tamil"
- },
- "yi": {
- "articles": 13590,
- "name": "ייִדיש",
- "english_name": "Yiddish"
- },
- "ceb": {
- "articles": 3525383,
- "name": "Sinugboanong Binisaya",
- "english_name": "Cebuano"
- },
- "yo": {
- "articles": 31493,
- "name": "Yorùbá",
- "english_name": "Yoruba"
- },
- "de": {
- "articles": 2008971,
- "name": "Deutsch",
- "english_name": "German"
- },
- "da": {
- "articles": 221798,
- "name": "Dansk",
- "english_name": "Danish"
- },
- "qu": {
- "articles": 19808,
- "name": "Runa Simi",
- "english_name": "Quechua"
- },
- "bar": {
- "articles": 21966,
- "name": "Boarisch",
- "english_name": "Bavarian"
- },
- "kn": {
- "articles": 21617,
- "name": "ಕನ್ನಡ",
- "english_name": "Kannada"
- },
- "bpy": {
- "articles": 25067,
- "name": "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী",
- "english_name": "Bishnupriya Manipuri"
- },
- "el": {
- "articles": 124348,
- "name": "Ελληνικά",
- "english_name": "Greek"
- },
- "eo": {
- "articles": 235567,
- "name": "Esperanto",
- "english_name": "Esperanto"
- },
- "en": {
- "articles": 5307436,
- "name": "English",
- "english_name": "English"
- },
- "zh": {
- "articles": 915298,
- "name": "中文",
- "english_name": "Chinese"
- },
- "pms": {
- "articles": 63988,
- "name": "Piemontèis",
- "english_name": "Piedmontese"
- },
- "arz": {
- "articles": 16098,
- "name": "مصرى (Maṣri)",
- "english_name": "Egyptian Arabic"
- },
- "eu": {
- "articles": 261846,
- "name": "Euskara",
- "english_name": "Basque"
- },
- "et": {
- "articles": 151580,
- "name": "Eesti",
- "english_name": "Estonian"
- },
- "es": {
- "articles": 1301725,
- "name": "Español",
- "english_name": "Spanish"
- },
- "ba": {
- "articles": 36610,
- "name": "Башҡорт",
- "english_name": "Bashkir"
- },
- "ru": {
- "articles": 1359173,
- "name": "Русский",
- "english_name": "Russian"
- },
- "new": {
- "articles": 72175,
- "name": "नेपाल भाषा",
- "english_name": "Newar"
- },
- "ro": {
- "articles": 373067,
- "name": "Română",
- "english_name": "Romanian"
- },
- "jv": {
- "articles": 49675,
- "name": "Basa Jawa",
- "english_name": "Javanese"
- },
- "hsb": {
- "articles": 10908,
- "name": "Hornjoserbsce",
- "english_name": "Upper Sorbian"
- },
- "be": {
- "articles": 123470,
- "name": "Беларуская",
- "english_name": "Belarusian"
- },
- "bg": {
- "articles": 223701,
- "name": "Български",
- "english_name": "Bulgarian"
- },
- "uk": {
- "articles": 666877,
- "name": "Українська",
- "english_name": "Ukrainian"
- },
- "wa": {
- "articles": 14312,
- "name": "Walon",
- "english_name": "Walloon"
- },
- "ast": {
- "articles": 47712,
- "name": "Asturianu",
- "english_name": "Asturian"
- },
- "bn": {
- "articles": 46038,
- "name": "বাংলা",
- "english_name": "Bengali"
- },
- "map-bms": {
- "articles": 13275,
- "name": "Basa Banyumasan",
- "english_name": "Banyumasan"
- },
- "br": {
- "articles": 60624,
- "name": "Brezhoneg",
- "english_name": "Breton"
- },
- "bs": {
- "articles": 72057,
- "name": "Bosanski",
- "english_name": "Bosnian"
- },
- "ja": {
- "articles": 1041538,
- "name": "日本語",
- "english_name": "Japanese"
- },
- "oc": {
- "articles": 84521,
- "name": "Occitan",
- "english_name": "Occitan"
- },
- "be-tarask": {
- "articles": 59872,
- "name": "Беларуская (тарашкевіца)",
- "english_name": "Belarusian (Taraškievica)"
- },
- "nds": {
- "articles": 25732,
- "name": "Plattdüütsch",
- "english_name": "Low Saxon"
- },
- "os": {
- "articles": 10293,
- "name": "Иронау",
- "english_name": "Ossetian"
- },
- "or": {
- "articles": 11703,
- "name": "ଓଡ଼ିଆ",
- "english_name": "Oriya"
- },
- "simple": {
- "articles": 121809,
- "name": "Simple English",
- "english_name": "Simple English"
- },
- "ca": {
- "articles": 528658,
- "name": "Català",
- "english_name": "Catalan"
- },
- "lmo": {
- "articles": 34556,
- "name": "Lumbaart",
- "english_name": "Lombard"
- },
- "ce": {
- "articles": 158845,
- "name": "Нохчийн",
- "english_name": "Chechen"
- },
- "cy": {
- "articles": 89271,
- "name": "Cymraeg",
- "english_name": "Welsh"
- },
- "cs": {
- "articles": 369023,
- "name": "Čeština",
- "english_name": "Czech"
- },
- "cv": {
- "articles": 36500,
- "name": "Чăваш",
- "english_name": "Chuvash"
- },
- "pt": {
- "articles": 949039,
- "name": "Português",
- "english_name": "Portuguese"
- },
- "lt": {
- "articles": 180372,
- "name": "Lietuvių",
- "english_name": "Lithuanian"
- },
- "zh-min-nan": {
- "articles": 201851,
- "name": "Bân-lâm-gú",
- "english_name": "Min Nan"
- },
- "pa": {
- "articles": 24065,
- "name": "ਪੰਜਾਬੀ",
- "english_name": "Punjabi"
- },
- "war": {
- "articles": 1261969,
- "name": "Winaray",
- "english_name": "Waray-Waray"
- },
- "pl": {
- "articles": 1197444,
- "name": "Polski",
- "english_name": "Polish"
- },
- "hy": {
- "articles": 212704,
- "name": "Հայերեն",
- "english_name": "Armenian"
- },
- "an": {
- "articles": 31832,
- "name": "Aragonés",
- "english_name": "Aragonese"
- },
- "hr": {
- "articles": 171042,
- "name": "Hrvatski",
- "english_name": "Croatian"
- },
- "ht": {
- "articles": 51108,
- "name": "Krèyol ayisyen",
- "english_name": "Haitian"
- },
- "hu": {
- "articles": 399859,
- "name": "Magyar",
- "english_name": "Hungarian"
- },
- "bat-smg": {
- "articles": 15940,
- "name": "Žemaitėška",
- "english_name": "Samogitian"
- },
- "hi": {
- "articles": 114388,
- "name": "हिन्दी",
- "english_name": "Hindi"
- },
- "pnb": {
- "articles": 42659,
- "name": "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)",
- "english_name": "Western Punjabi"
- },
- "bug": {
- "articles": 14116,
- "name": "Basa Ugi",
- "english_name": "Buginese"
- },
- "he": {
- "articles": 199202,
- "name": "עברית",
- "english_name": "Hebrew"
- },
- "mg": {
- "articles": 82826,
- "name": "Malagasy",
- "english_name": "Malagasy"
- },
- "uz": {
- "articles": 128742,
- "name": "O‘zbek",
- "english_name": "Uzbek"
- },
- "ml": {
- "articles": 46792,
- "name": "മലയാളം",
- "english_name": "Malayalam"
- },
- "azb": {
- "articles": 11813,
- "name": "تۆرکجه",
- "english_name": "South Azerbaijani"
- },
- "mn": {
- "articles": 16281,
- "name": "Монгол",
- "english_name": "Mongolian"
- },
- "mk": {
- "articles": 87527,
- "name": "Македонски",
- "english_name": "Macedonian"
- },
- "ur": {
- "articles": 110767,
- "name": "اردو",
- "english_name": "Urdu"
- },
- "ms": {
- "articles": 286177,
- "name": "Bahasa Melayu",
- "english_name": "Malay"
- },
- "mr": {
- "articles": 45049,
- "name": "मराठी",
- "english_name": "Marathi"
- },
- "my": {
- "articles": 33571,
- "name": "မြန်မာဘာသာ",
- "english_name": "Burmese"
- },
- "sah": {
- "articles": 10965,
- "name": "Саха тыла (Saxa Tyla)",
- "english_name": "Sakha"
- },
- "af": {
- "articles": 42949,
- "name": "Afrikaans",
- "english_name": "Afrikaans"
- },
- "vi": {
- "articles": 1151564,
- "name": "Tiếng Việt",
- "english_name": "Vietnamese"
- },
- "is": {
- "articles": 41500,
- "name": "Íslenska",
- "english_name": "Icelandic"
- },
- "am": {
- "articles": 13291,
- "name": "አማርኛ",
- "english_name": "Amharic"
- },
- "it": {
- "articles": 1317506,
- "name": "Italiano",
- "english_name": "Italian"
- },
- "vo": {
- "articles": 120413,
- "name": "Volapük",
- "english_name": "Volapük"
- },
- "ar": {
- "articles": 453499,
- "name": "العربية",
- "english_name": "Arabic"
- },
- "io": {
- "articles": 26845,
- "name": "Ido",
- "english_name": "Ido"
- },
- "ia": {
- "articles": 19784,
- "name": "Interlingua",
- "english_name": "Interlingua"
- },
- "az": {
- "articles": 111474,
- "name": "Azərbaycanca",
- "english_name": "Azerbaijani"
- },
- "id": {
- "articles": 390200,
- "name": "Bahasa Indonesia",
- "english_name": "Indonesian"
- },
- "nl": {
- "articles": 1885741,
- "name": "Nederlands",
- "english_name": "Dutch"
- },
- "nn": {
- "articles": 131696,
- "name": "Nynorsk",
- "english_name": "Norwegian (Nynorsk)"
- },
- "no": {
- "articles": 458147,
- "name": "Norsk (Bokmål)",
- "english_name": "Norwegian (Bokmål)"
- },
- "nah": {
- "articles": 10428,
- "name": "Nāhuatl",
- "english_name": "Nahuatl"
- },
- "ne": {
- "articles": 29164,
- "name": "नेपाली",
- "english_name": "Nepali"
- },
- "nap": {
- "articles": 14400,
- "name": "Nnapulitano",
- "english_name": "Neapolitan"
- },
- "fr": {
- "articles": 1822985,
- "name": "Français",
- "english_name": "French"
- },
- "mrj": {
- "articles": 10164,
- "name": "Кырык Мары (Kyryk Mary)",
- "english_name": "Hill Mari"
- },
- "zh-yue": {
- "articles": 49352,
- "name": "粵語",
- "english_name": "Cantonese"
- },
- "fy": {
- "articles": 36464,
- "name": "Frysk",
- "english_name": "West Frisian"
- },
- "fa": {
- "articles": 516569,
- "name": "فارسی",
- "english_name": "Persian"
- },
- "fi": {
- "articles": 405166,
- "name": "Suomi",
- "english_name": "Finnish"
- },
- "mzn": {
- "articles": 12362,
- "name": "مَزِروني",
- "english_name": "Mazandarani"
- },
- "sa": {
- "articles": 10198,
- "name": "संस्कृतम्",
- "english_name": "Sanskrit"
- },
- "fo": {
- "articles": 12370,
- "name": "Føroyskt",
- "english_name": "Faroese"
- },
- "ka": {
- "articles": 111155,
- "name": "ქართული",
- "english_name": "Georgian"
- },
- "ckb": {
- "articles": 18217,
- "name": "Soranî / کوردی",
- "english_name": "Sorani"
- },
- "kk": {
- "articles": 217477,
- "name": "Қазақша",
- "english_name": "Kazakh"
- },
- "sr": {
- "articles": 342497,
- "name": "Српски / Srpski",
- "english_name": "Serbian"
- },
- "sq": {
- "articles": 62437,
- "name": "Shqip",
- "english_name": "Albanian"
- },
- "min": {
- "articles": 221961,
- "name": "Minangkabau",
- "english_name": "Minangkabau"
- },
- "ko": {
- "articles": 367127,
- "name": "한국어",
- "english_name": "Korean"
- },
- "sv": {
- "articles": 3783326,
- "name": "Svenska",
- "english_name": "Swedish"
- },
- "su": {
- "articles": 19163,
- "name": "Basa Sunda",
- "english_name": "Sundanese"
- },
- "sk": {
- "articles": 215360,
- "name": "Slovenčina",
- "english_name": "Slovak"
- },
- "si": {
- "articles": 12832,
- "name": "සිංහල",
- "english_name": "Sinhalese"
- },
- "sh": {
- "articles": 436526,
- "name": "Srpskohrvatski / Српскохрватски",
- "english_name": "Serbo-Croatian"
- },
- "ku": {
- "articles": 22367,
- "name": "Kurdî / كوردی",
- "english_name": "Kurdish"
- },
- "sl": {
- "articles": 153978,
- "name": "Slovenščina",
- "english_name": "Slovenian"
- },
- "ky": {
- "articles": 59677,
- "name": "Кыргызча",
- "english_name": "Kirghiz"
- },
- "sw": {
- "articles": 34773,
- "name": "Kiswahili",
- "english_name": "Swahili"
- }
- },
- "bing news": [
- "sq",
- "de",
- "ar",
- "bg",
- "ca",
- "cs",
- "zh-CHS",
- "zh-CHT",
- "ko",
- "hr",
- "da",
- "sk",
- "sl",
- "es",
- "et",
- "fi",
- "fr",
- "el",
- "he",
- "nl",
- "hu",
- "id",
- "en",
- "is",
- "it",
- "ja",
- "lv",
- "lt",
- "ms",
- "nb",
- "fa",
- "pl",
- "pt-BR",
- "pt-PT",
- "ro",
- "ru",
- "sr",
- "sv",
- "th",
- "tr",
- "uk",
- "vi"
- ],
- "yahoo news": [
- "ar",
- "bg",
- "zh_chs",
- "zh_cht",
- "hr",
- "cs",
- "da",
- "nl",
- "en",
- "et",
- "fi",
- "fr",
- "de",
- "el",
- "he",
- "hu",
- "it",
- "ja",
- "ko",
- "lv",
- "lt",
- "no",
- "pl",
- "pt",
- "ro",
- "ru",
- "sk",
- "sl",
- "es",
- "sv",
- "th",
- "tr"
- ],
- "swisscows": [
- "browser",
- "ar-SA",
- "es-AR",
- "en-AU",
- "de-AT",
- "fr-BE",
- "nl-BE",
- "pt-BR",
- "en-CA",
- "fr-CA",
- "es-CL",
- "zh-CN",
- "da-DK",
- "fi-FI",
- "fr-FR",
- "de-DE",
- "zh-HK",
- "en-IN",
- "en-IE",
- "it-IT",
- "ja-JP",
- "ko-KR",
- "en-MY",
- "es-MX",
- "nl-NL",
- "en-NZ",
- "nb-NO",
- "en-PH",
- "pl-PL",
- "pt-PT",
- "ru-RU",
- "en-ZA",
- "es-ES",
- "sv-SE",
- "de-CH",
- "fr-CH",
- "zh-TW",
- "tr-TR",
- "en-GB",
- "en-US",
- "es-US"
- ],
- "wikidata": {
- "sco": {
- "articles": 41754,
- "name": "Scots",
- "english_name": "Scots"
- },
- "scn": {
- "articles": 25373,
- "name": "Sicilianu",
- "english_name": "Sicilian"
- },
- "gu": {
- "articles": 26690,
- "name": "ગુજરાતી",
- "english_name": "Gujarati"
- },
- "gd": {
- "articles": 14246,
- "name": "Gàidhlig",
- "english_name": "Scottish Gaelic"
- },
- "ga": {
- "articles": 38828,
- "name": "Gaeilge",
- "english_name": "Irish"
- },
- "gl": {
- "articles": 134667,
- "name": "Galego",
- "english_name": "Galician"
- },
- "als": {
- "articles": 22337,
- "name": "Alemannisch",
- "english_name": "Alemannic"
- },
- "lb": {
- "articles": 47306,
- "name": "Lëtzebuergesch",
- "english_name": "Luxembourgish"
- },
- "la": {
- "articles": 125689,
- "name": "Latina",
- "english_name": "Latin"
- },
- "tt": {
- "articles": 69902,
- "name": "Tatarça / Татарча",
- "english_name": "Tatar"
- },
- "tr": {
- "articles": 287403,
- "name": "Türkçe",
- "english_name": "Turkish"
- },
- "li": {
- "articles": 11552,
- "name": "Limburgs",
- "english_name": "Limburgish"
- },
- "lv": {
- "articles": 74333,
- "name": "Latviešu",
- "english_name": "Latvian"
- },
- "tl": {
- "articles": 65681,
- "name": "Tagalog",
- "english_name": "Tagalog"
- },
- "vec": {
- "articles": 10855,
- "name": "Vèneto",
- "english_name": "Venetian"
- },
- "th": {
- "articles": 113214,
- "name": "ไทย",
- "english_name": "Thai"
- },
- "tg": {
- "articles": 67389,
- "name": "Тоҷикӣ",
- "english_name": "Tajik"
- },
- "te": {
- "articles": 66207,
- "name": "తెలుగు",
- "english_name": "Telugu"
- },
- "ta": {
- "articles": 89565,
- "name": "தமிழ்",
- "english_name": "Tamil"
- },
- "yi": {
- "articles": 13590,
- "name": "ייִדיש",
- "english_name": "Yiddish"
- },
- "ceb": {
- "articles": 3525383,
- "name": "Sinugboanong Binisaya",
- "english_name": "Cebuano"
- },
- "yo": {
- "articles": 31493,
- "name": "Yorùbá",
- "english_name": "Yoruba"
- },
- "de": {
- "articles": 2008971,
- "name": "Deutsch",
- "english_name": "German"
- },
- "da": {
- "articles": 221798,
- "name": "Dansk",
- "english_name": "Danish"
- },
- "qu": {
- "articles": 19808,
- "name": "Runa Simi",
- "english_name": "Quechua"
- },
- "bar": {
- "articles": 21966,
- "name": "Boarisch",
- "english_name": "Bavarian"
- },
- "kn": {
- "articles": 21617,
- "name": "ಕನ್ನಡ",
- "english_name": "Kannada"
- },
- "bpy": {
- "articles": 25067,
- "name": "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী",
- "english_name": "Bishnupriya Manipuri"
- },
- "el": {
- "articles": 124348,
- "name": "Ελληνικά",
- "english_name": "Greek"
- },
- "eo": {
- "articles": 235567,
- "name": "Esperanto",
- "english_name": "Esperanto"
- },
- "en": {
- "articles": 5307436,
- "name": "English",
- "english_name": "English"
- },
- "zh": {
- "articles": 915298,
- "name": "中文",
- "english_name": "Chinese"
- },
- "pms": {
- "articles": 63988,
- "name": "Piemontèis",
- "english_name": "Piedmontese"
- },
- "arz": {
- "articles": 16098,
- "name": "مصرى (Maṣri)",
- "english_name": "Egyptian Arabic"
- },
- "eu": {
- "articles": 261846,
- "name": "Euskara",
- "english_name": "Basque"
- },
- "et": {
- "articles": 151580,
- "name": "Eesti",
- "english_name": "Estonian"
- },
- "es": {
- "articles": 1301725,
- "name": "Español",
- "english_name": "Spanish"
- },
- "ba": {
- "articles": 36610,
- "name": "Башҡорт",
- "english_name": "Bashkir"
- },
- "ru": {
- "articles": 1359173,
- "name": "Русский",
- "english_name": "Russian"
- },
- "new": {
- "articles": 72175,
- "name": "नेपाल भाषा",
- "english_name": "Newar"
- },
- "ro": {
- "articles": 373067,
- "name": "Română",
- "english_name": "Romanian"
- },
- "jv": {
- "articles": 49675,
- "name": "Basa Jawa",
- "english_name": "Javanese"
- },
- "hsb": {
- "articles": 10908,
- "name": "Hornjoserbsce",
- "english_name": "Upper Sorbian"
- },
- "be": {
- "articles": 123470,
- "name": "Беларуская",
- "english_name": "Belarusian"
- },
- "bg": {
- "articles": 223701,
- "name": "Български",
- "english_name": "Bulgarian"
- },
- "uk": {
- "articles": 666877,
- "name": "Українська",
- "english_name": "Ukrainian"
- },
- "wa": {
- "articles": 14312,
- "name": "Walon",
- "english_name": "Walloon"
- },
- "ast": {
- "articles": 47712,
- "name": "Asturianu",
- "english_name": "Asturian"
- },
- "bn": {
- "articles": 46038,
- "name": "বাংলা",
- "english_name": "Bengali"
- },
- "map-bms": {
- "articles": 13275,
- "name": "Basa Banyumasan",
- "english_name": "Banyumasan"
- },
- "br": {
- "articles": 60624,
- "name": "Brezhoneg",
- "english_name": "Breton"
- },
- "bs": {
- "articles": 72057,
- "name": "Bosanski",
- "english_name": "Bosnian"
- },
- "ja": {
- "articles": 1041538,
- "name": "日本語",
- "english_name": "Japanese"
- },
- "oc": {
- "articles": 84521,
- "name": "Occitan",
- "english_name": "Occitan"
- },
- "be-tarask": {
- "articles": 59872,
- "name": "Беларуская (тарашкевіца)",
- "english_name": "Belarusian (Taraškievica)"
- },
- "nds": {
- "articles": 25732,
- "name": "Plattdüütsch",
- "english_name": "Low Saxon"
- },
- "os": {
- "articles": 10293,
- "name": "Иронау",
- "english_name": "Ossetian"
- },
- "or": {
- "articles": 11703,
- "name": "ଓଡ଼ିଆ",
- "english_name": "Oriya"
- },
- "simple": {
- "articles": 121809,
- "name": "Simple English",
- "english_name": "Simple English"
- },
- "ca": {
- "articles": 528658,
- "name": "Català",
- "english_name": "Catalan"
- },
- "lmo": {
- "articles": 34556,
- "name": "Lumbaart",
- "english_name": "Lombard"
- },
- "ce": {
- "articles": 158845,
- "name": "Нохчийн",
- "english_name": "Chechen"
- },
- "cy": {
- "articles": 89271,
- "name": "Cymraeg",
- "english_name": "Welsh"
- },
- "cs": {
- "articles": 369023,
- "name": "Čeština",
- "english_name": "Czech"
- },
- "cv": {
- "articles": 36500,
- "name": "Чăваш",
- "english_name": "Chuvash"
- },
- "pt": {
- "articles": 949039,
- "name": "Português",
- "english_name": "Portuguese"
- },
- "lt": {
- "articles": 180372,
- "name": "Lietuvių",
- "english_name": "Lithuanian"
- },
- "zh-min-nan": {
- "articles": 201851,
- "name": "Bân-lâm-gú",
- "english_name": "Min Nan"
- },
- "pa": {
- "articles": 24065,
- "name": "ਪੰਜਾਬੀ",
- "english_name": "Punjabi"
- },
- "war": {
- "articles": 1261969,
- "name": "Winaray",
- "english_name": "Waray-Waray"
- },
- "pl": {
- "articles": 1197444,
- "name": "Polski",
- "english_name": "Polish"
- },
- "hy": {
- "articles": 212704,
- "name": "Հայերեն",
- "english_name": "Armenian"
- },
- "an": {
- "articles": 31832,
- "name": "Aragonés",
- "english_name": "Aragonese"
- },
- "hr": {
- "articles": 171042,
- "name": "Hrvatski",
- "english_name": "Croatian"
- },
- "ht": {
- "articles": 51108,
- "name": "Krèyol ayisyen",
- "english_name": "Haitian"
- },
- "hu": {
- "articles": 399859,
- "name": "Magyar",
- "english_name": "Hungarian"
- },
- "bat-smg": {
- "articles": 15940,
- "name": "Žemaitėška",
- "english_name": "Samogitian"
- },
- "hi": {
- "articles": 114388,
- "name": "हिन्दी",
- "english_name": "Hindi"
- },
- "pnb": {
- "articles": 42659,
- "name": "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)",
- "english_name": "Western Punjabi"
- },
- "bug": {
- "articles": 14116,
- "name": "Basa Ugi",
- "english_name": "Buginese"
- },
- "he": {
- "articles": 199202,
- "name": "עברית",
- "english_name": "Hebrew"
- },
- "mg": {
- "articles": 82826,
- "name": "Malagasy",
- "english_name": "Malagasy"
- },
- "uz": {
- "articles": 128742,
- "name": "O‘zbek",
- "english_name": "Uzbek"
- },
- "ml": {
- "articles": 46792,
- "name": "മലയാളം",
- "english_name": "Malayalam"
- },
- "azb": {
- "articles": 11813,
- "name": "تۆرکجه",
- "english_name": "South Azerbaijani"
- },
- "mn": {
- "articles": 16281,
- "name": "Монгол",
- "english_name": "Mongolian"
- },
- "mk": {
- "articles": 87527,
- "name": "Македонски",
- "english_name": "Macedonian"
- },
- "ur": {
- "articles": 110767,
- "name": "اردو",
- "english_name": "Urdu"
- },
- "ms": {
- "articles": 286177,
- "name": "Bahasa Melayu",
- "english_name": "Malay"
- },
- "mr": {
- "articles": 45049,
- "name": "मराठी",
- "english_name": "Marathi"
- },
- "my": {
- "articles": 33571,
- "name": "မြန်မာဘာသာ",
- "english_name": "Burmese"
- },
- "sah": {
- "articles": 10965,
- "name": "Саха тыла (Saxa Tyla)",
- "english_name": "Sakha"
- },
- "af": {
- "articles": 42949,
- "name": "Afrikaans",
- "english_name": "Afrikaans"
- },
- "vi": {
- "articles": 1151564,
- "name": "Tiếng Việt",
- "english_name": "Vietnamese"
- },
- "is": {
- "articles": 41500,
- "name": "Íslenska",
- "english_name": "Icelandic"
- },
- "am": {
- "articles": 13291,
- "name": "አማርኛ",
- "english_name": "Amharic"
- },
- "it": {
- "articles": 1317506,
- "name": "Italiano",
- "english_name": "Italian"
- },
- "vo": {
- "articles": 120413,
- "name": "Volapük",
- "english_name": "Volapük"
- },
- "ar": {
- "articles": 453499,
- "name": "العربية",
- "english_name": "Arabic"
- },
- "io": {
- "articles": 26845,
- "name": "Ido",
- "english_name": "Ido"
- },
- "ia": {
- "articles": 19784,
- "name": "Interlingua",
- "english_name": "Interlingua"
- },
- "az": {
- "articles": 111474,
- "name": "Azərbaycanca",
- "english_name": "Azerbaijani"
- },
- "id": {
- "articles": 390200,
- "name": "Bahasa Indonesia",
- "english_name": "Indonesian"
- },
- "nl": {
- "articles": 1885741,
- "name": "Nederlands",
- "english_name": "Dutch"
- },
- "nn": {
- "articles": 131696,
- "name": "Nynorsk",
- "english_name": "Norwegian (Nynorsk)"
- },
- "no": {
- "articles": 458147,
- "name": "Norsk (Bokmål)",
- "english_name": "Norwegian (Bokmål)"
- },
- "nah": {
- "articles": 10428,
- "name": "Nāhuatl",
- "english_name": "Nahuatl"
- },
- "ne": {
- "articles": 29164,
- "name": "नेपाली",
- "english_name": "Nepali"
- },
- "nap": {
- "articles": 14400,
- "name": "Nnapulitano",
- "english_name": "Neapolitan"
- },
- "fr": {
- "articles": 1822985,
- "name": "Français",
- "english_name": "French"
- },
- "mrj": {
- "articles": 10164,
- "name": "Кырык Мары (Kyryk Mary)",
- "english_name": "Hill Mari"
- },
- "zh-yue": {
- "articles": 49352,
- "name": "粵語",
- "english_name": "Cantonese"
- },
- "fy": {
- "articles": 36464,
- "name": "Frysk",
- "english_name": "West Frisian"
- },
- "fa": {
- "articles": 516569,
- "name": "فارسی",
- "english_name": "Persian"
- },
- "fi": {
- "articles": 405166,
- "name": "Suomi",
- "english_name": "Finnish"
- },
- "mzn": {
- "articles": 12362,
- "name": "مَزِروني",
- "english_name": "Mazandarani"
- },
- "sa": {
- "articles": 10198,
- "name": "संस्कृतम्",
- "english_name": "Sanskrit"
- },
- "fo": {
- "articles": 12370,
- "name": "Føroyskt",
- "english_name": "Faroese"
- },
- "ka": {
- "articles": 111155,
- "name": "ქართული",
- "english_name": "Georgian"
- },
- "ckb": {
- "articles": 18217,
- "name": "Soranî / کوردی",
- "english_name": "Sorani"
- },
- "kk": {
- "articles": 217477,
- "name": "Қазақша",
- "english_name": "Kazakh"
- },
- "sr": {
- "articles": 342497,
- "name": "Српски / Srpski",
- "english_name": "Serbian"
- },
- "sq": {
- "articles": 62437,
- "name": "Shqip",
- "english_name": "Albanian"
- },
- "min": {
- "articles": 221961,
- "name": "Minangkabau",
- "english_name": "Minangkabau"
- },
- "ko": {
- "articles": 367127,
- "name": "한국어",
- "english_name": "Korean"
- },
- "sv": {
- "articles": 3783326,
- "name": "Svenska",
- "english_name": "Swedish"
- },
- "su": {
- "articles": 19163,
- "name": "Basa Sunda",
- "english_name": "Sundanese"
- },
- "sk": {
- "articles": 215360,
- "name": "Slovenčina",
- "english_name": "Slovak"
- },
- "si": {
- "articles": 12832,
- "name": "සිංහල",
- "english_name": "Sinhalese"
- },
- "sh": {
- "articles": 436526,
- "name": "Srpskohrvatski / Српскохрватски",
- "english_name": "Serbo-Croatian"
- },
- "ku": {
- "articles": 22367,
- "name": "Kurdî / كوردی",
- "english_name": "Kurdish"
- },
- "sl": {
- "articles": 153978,
- "name": "Slovenščina",
- "english_name": "Slovenian"
- },
- "ky": {
- "articles": 59677,
- "name": "Кыргызча",
- "english_name": "Kirghiz"
- },
- "sw": {
- "articles": 34773,
- "name": "Kiswahili",
- "english_name": "Swahili"
- }
- },
- "ddg definitions": [
- "da-DK",
- "vi-VN",
- "en-SG",
- "sl-SL",
- "en-XA",
- "tzh-HK",
- "en-UK",
- "ro-RO",
- "en-MY",
- "el-GR",
- "it-CH",
- "hu-HU",
- "fr-FR",
- "en-PH",
- "tl-PH",
- "fr-CA",
- "fi-FI",
- "et-EE",
- "sv-SE",
- "es-XL",
- "th-TH",
- "sk-SK",
- "es-ES",
- "en-IE",
- "es-US",
- "es-PE",
- "nl-NL",
- "en-US",
- "de-DE",
- "de-AT",
- "wt-WT",
- "no-NO",
- "tr-TR",
- "ca-ES",
- "it-IT",
- "es-CO",
- "ru-RU",
- "ca-CT",
- "en-ZA",
- "en-CA",
- "jp-JP",
- "es-MX",
- "id-ID",
- "es-AR",
- "he-IL",
- "kr-KR",
- "en-AU",
- "ms-MY",
- "pl-PL",
- "lv-LV",
- "bg-BG",
- "zh-CN",
- "en-NZ",
- "lt-LT",
- "tzh-TW",
- "hr-HR",
- "pt-PT",
- "fr-BE",
- "de-CH",
- "cs-CZ",
- "en-IN",
- "nl-BE",
- "fr-CH",
- "en-ID",
- "ar-XA",
- "pt-BR",
- "uk-UA",
- "es-CL"
- ],
- "bing images": [
- "sq",
- "de",
- "ar",
- "bg",
- "ca",
- "cs",
- "zh-CHS",
- "zh-CHT",
- "ko",
- "hr",
- "da",
- "sk",
- "sl",
- "es",
- "et",
- "fi",
- "fr",
- "el",
- "he",
- "nl",
- "hu",
- "id",
- "en",
- "is",
- "it",
- "ja",
- "lv",
- "lt",
- "ms",
- "nb",
- "fa",
- "pl",
- "pt-BR",
- "pt-PT",
- "ro",
- "ru",
- "sr",
- "sv",
- "th",
- "tr",
- "uk",
- "vi"
- ],
- "yahoo": [
- "ar",
- "bg",
- "zh_chs",
- "zh_cht",
- "hr",
- "cs",
- "da",
- "nl",
- "en",
- "et",
- "fi",
- "fr",
- "de",
- "el",
- "he",
- "hu",
- "it",
- "ja",
- "ko",
- "lv",
- "lt",
- "no",
- "pl",
- "pt",
- "ro",
- "ru",
- "sk",
- "sl",
- "es",
- "sv",
- "th",
- "tr"
- ],
- "gigablast": [
- "en",
- "fr",
- "es",
- "ru",
- "tr",
- "ja",
- "h_",
- "tw",
- "cn",
- "ko",
- "de",
- "nl",
- "it",
- "fi",
- "sv",
- "no",
- "pt",
- "vi",
- "ar",
- "he",
- "id",
- "el",
- "th",
- "hi",
- "bn",
- "pl",
- "tl",
- "la",
- "eo",
- "ca",
- "bg",
- "tx",
- "sr",
- "hu",
- "da",
- "lt",
- "cs",
- "gl",
- "ka",
- "gd",
- "go",
- "ro",
- "ga",
- "lv",
- "hy",
- "is",
- "ag",
- "gv",
- "io",
- "fa",
- "te",
- "vv",
- "mg",
- "ku",
- "lb",
- "et"
- ]
-}
-\ No newline at end of file
+{"google news": {"el": {"name": "Ελληνικά"}, "eo": {"name": "Esperanto"}, "en": {"name": "English"}, "af": {"name": "Afrikaans"}, "vi": {"name": "Tiếng Việt"}, "ca": {"name": "Català"}, "it": {"name": "Italiano"}, "iw": {"name": "עברית"}, "hy": {"name": "Հայերեն"}, "cs": {"name": "Čeština"}, "et": {"name": "Eesti"}, "id": {"name": "Indonesia"}, "es": {"name": "Español"}, "ru": {"name": "Русский"}, "nl": {"name": "Nederlands"}, "pt": {"name": "Português"}, "no": {"name": "Norsk"}, "tr": {"name": "Türkçe"}, "lt": {"name": "Lietuvių"}, "lv": {"name": "Latviešu"}, "tl": {"name": "Filipino"}, "zh-TW": {"name": "中文 (繁體)"}, "th": {"name": "ไทย"}, "ro": {"name": "Română"}, "is": {"name": "Íslenska"}, "pl": {"name": "Polski"}, "be": {"name": "Беларуская"}, "fr": {"name": "Français"}, "bg": {"name": "Български"}, "hr": {"name": "Hrvatski"}, "de": {"name": "Deutsch"}, "ko": {"name": "한국어"}, "da": {"name": "Dansk"}, "fa": {"name": "فارسی"}, "hi": {"name": "हिन्दी"}, "fi": {"name": "Suomi"}, "hu": {"name": "Magyar"}, "ja": {"name": "日本語"}, "sr": {"name": "Српски"}, "sw": {"name": "Kiswahili"}, "sv": {"name": "Svenska"}, "sk": {"name": "Slovenčina"}, "zh-CN": {"name": "中文 (简体)"}, "ar": {"name": "العربية"}, "uk": {"name": "Українська"}, "sl": {"name": "Slovenščina"}}, "dailymotion": {"gv": {"english_name": "Manx"}, "gu": {"name": "ગુજરાતી", "english_name": "Gujarati"}, "gd": {"english_name": "Gaelic, Scottish"}, "ga": {"name": "Gaeilge", "english_name": "Irish"}, "gn": {"english_name": "Guarani"}, "gl": {"name": "Galego", "english_name": "Galician"}, "lg": {"english_name": "Ganda"}, "lb": {"english_name": "Luxembourgish"}, "la": {"english_name": "Latin"}, "ln": {"english_name": "Lingala"}, "lo": {"english_name": "Lao"}, "tt": {"name": "Татарча", "english_name": "Tatar"}, "tr": {"name": "Türkçe", "english_name": "Turkish"}, "ts": {"english_name": "Tsonga"}, "li": {"english_name": "Limburgan"}, "lv": {"name": "Latviešu", "english_name": "Latvian"}, "to": {"english_name": "Tonga (Tonga Islands)"}, "lt": {"name": "Lietuvių", "english_name": "Lithuanian"}, "lu": {"english_name": "Luba-Katanga"}, "tk": {"english_name": "Turkmen"}, "th": {"name": "ไทย", "english_name": "Thai"}, "ti": {"name": "ትግርኛ", "english_name": "Tigrinya"}, "tg": {"english_name": "Tajik"}, "te": {"english_name": "Telugu"}, "ta": {"name": "தமிழ்", "english_name": "Tamil"}, "yi": {"english_name": "Yiddish"}, "yo": {"english_name": "Yoruba"}, "de": {"name": "Deutsch", "english_name": "German"}, "da": {"name": "Dansk", "english_name": "Danish"}, "dz": {"english_name": "Dzongkha"}, "st": {"english_name": "Sotho, Southern"}, "dv": {"english_name": "Dhivehi"}, "qu": {"english_name": "Quechua"}, "el": {"name": "Ελληνικά", "english_name": "Greek, Modern (1453-)"}, "eo": {"name": "Esperanto", "english_name": "Esperanto"}, "en": {"english_name": "English"}, "zh": {"name": "中文", "english_name": "Chinese"}, "ee": {"english_name": "Ewe"}, "za": {"english_name": "Zhuang"}, "mh": {"english_name": "Marshallese"}, "uk": {"name": "українська", "english_name": "Ukrainian"}, "eu": {"name": "Euskara", "english_name": "Basque"}, "et": {"name": "Eesti", "english_name": "Estonian"}, "es": {"name": "Español", "english_name": "Spanish"}, "ru": {"name": "русский", "english_name": "Russian"}, "rw": {"name": "Ikinyarwanda", "english_name": "Kinyarwanda"}, "rm": {"english_name": "Romansh"}, "rn": {"english_name": "Rundi"}, "ro": {"name": "Română", "english_name": "Romanian"}, "bn": {"name": "বাংলা", "english_name": "Bengali"}, "be": {"english_name": "Belarusian"}, "bg": {"name": "Български", "english_name": "Bulgarian"}, "ba": {"english_name": "Bashkir"}, "wa": {"name": "Walon", "english_name": "Walloon"}, "wo": {"english_name": "Wolof"}, "bm": {"english_name": "Bambara"}, "jv": {"english_name": "Javanese"}, "bo": {"english_name": "Tibetan"}, "bi": {"english_name": "Bislama"}, "br": {"name": "Brezhoneg", "english_name": "Breton"}, "bs": {"name": "Bosnian", "english_name": "Bosnian"}, "ja": {"name": "日本語", "english_name": "Japanese"}, "om": {"english_name": "Oromo"}, "oj": {"english_name": "Ojibwa"}, "ty": {"english_name": "Tahitian"}, "oc": {"name": "Occitan", "english_name": "Occitan"}, "tw": {"english_name": "Twi"}, "os": {"english_name": "Ossetian"}, "or": {"name": "Oriya", "english_name": "Oriya"}, "xh": {"name": "Xhosa", "english_name": "Xhosa"}, "ch": {"english_name": "Chamorro"}, "co": {"english_name": "Corsican"}, "ca": {"name": "Català", "english_name": "Catalan"}, "ce": {"english_name": "Chechen"}, "cy": {"name": "Cymraeg", "english_name": "Welsh"}, "cs": {"name": "čeština", "english_name": "Czech"}, "cr": {"english_name": "Cree"}, "cv": {"english_name": "Chuvash"}, "cu": {"english_name": "Slavic, Church"}, "ve": {"name": "Venda", "english_name": "Venda"}, "ps": {"name": "Pushto", "english_name": "Pushto"}, "pt": {"name": "Português", "english_name": "Portuguese"}, "tl": {"english_name": "Tagalog"}, "pa": {"name": "ਪੰਜਾਬੀ", "english_name": "Panjabi"}, "vi": {"name": "Tiếng Việt", "english_name": "Vietnamese"}, "pi": {"english_name": "Pali"}, "is": {"name": "Íslenska", "english_name": "Icelandic"}, "pl": {"name": "polski", "english_name": "Polish"}, "hz": {"english_name": "Herero"}, "hy": {"english_name": "Armenian"}, "hr": {"name": "hrvatski", "english_name": "Croatian"}, "iu": {"english_name": "Inuktitut"}, "ht": {"english_name": "Haitian"}, "hu": {"name": "magyar", "english_name": "Hungarian"}, "hi": {"name": "हिंदी", "english_name": "Hindi"}, "ho": {"english_name": "Hiri Motu"}, "ha": {"english_name": "Hausa"}, "he": {"name": "עברית", "english_name": "Hebrew"}, "mg": {"english_name": "Malagasy"}, "uz": {"english_name": "Uzbek"}, "ml": {"english_name": "Malayalam"}, "mn": {"name": "Монгол", "english_name": "Mongolian"}, "mi": {"name": "Reo Māori", "english_name": "Maori"}, "ik": {"english_name": "Inupiaq"}, "mk": {"name": "Македонски", "english_name": "Macedonian"}, "ur": {"english_name": "Urdu"}, "mt": {"name": "Malti", "english_name": "Maltese"}, "ms": {"name": "Malay", "english_name": "Malay"}, "mr": {"name": "मराठी", "english_name": "Marathi"}, "ug": {"english_name": "Uighur"}, "my": {"english_name": "Burmese"}, "sq": {"english_name": "Albanian"}, "ae": {"english_name": "Avestan"}, "ss": {"english_name": "Swati"}, "af": {"name": "Afrikaans", "english_name": "Afrikaans"}, "tn": {"english_name": "Tswana"}, "sw": {"english_name": "Swahili (macrolanguage)"}, "ak": {"english_name": "Akan"}, "am": {"name": "አማርኛ", "english_name": "Amharic"}, "it": {"name": "Italiano", "english_name": "Italian"}, "an": {"english_name": "Aragonese"}, "ii": {"english_name": "Yi, Sichuan"}, "ia": {"english_name": "Interlingua"}, "as": {"english_name": "Assamese"}, "ar": {"name": "العربية", "english_name": "Arabic"}, "su": {"english_name": "Sundanese"}, "io": {"english_name": "Ido"}, "av": {"english_name": "Avaric"}, "ay": {"english_name": "Aymara"}, "az": {"name": "Azerbaijani", "english_name": "Azerbaijani"}, "ie": {"english_name": "Interlingue"}, "id": {"name": "Indonesian", "english_name": "Indonesian"}, "ig": {"english_name": "Igbo"}, "sk": {"name": "Slovenský", "english_name": "Slovak"}, "sr": {"name": "српски", "english_name": "Serbian"}, "nl": {"name": "Nederlands", "english_name": "Dutch"}, "nn": {"name": "Norwegian Nynorsk", "english_name": "Norwegian Nynorsk"}, "no": {"english_name": "Norwegian"}, "na": {"english_name": "Nauru"}, "nb": {"name": "Norwegian Bokmål", "english_name": "Norwegian Bokmål"}, "nd": {"english_name": "Ndebele, North"}, "ne": {"english_name": "Nepali (macrolanguage)"}, "ng": {"english_name": "Ndonga"}, "ny": {"english_name": "Nyanja"}, "vo": {"english_name": "Volapük"}, "zu": {"name": "Isi-Zulu", "english_name": "Zulu"}, "so": {"english_name": "Somali"}, "nr": {"english_name": "Ndebele, South"}, "nv": {"english_name": "Navajo"}, "sn": {"english_name": "Shona"}, "fr": {"name": "français", "english_name": "French"}, "sm": {"english_name": "Samoan"}, "fy": {"english_name": "Frisian, Western"}, "sv": {"name": "Svenska", "english_name": "Swedish"}, "fa": {"name": "فارسی", "english_name": "Persian"}, "ff": {"english_name": "Fulah"}, "fi": {"name": "suomi", "english_name": "Finnish"}, "fj": {"english_name": "Fijian"}, "sa": {"english_name": "Sanskrit"}, "fo": {"english_name": "Faroese"}, "ka": {"english_name": "Georgian"}, "kg": {"english_name": "Kongo"}, "kk": {"english_name": "Kazakh"}, "kj": {"english_name": "Kuanyama"}, "ki": {"english_name": "Kikuyu"}, "ko": {"name": "한국어", "english_name": "Korean"}, "kn": {"name": "ಕನ್ನಡ", "english_name": "Kannada"}, "km": {"english_name": "Khmer, Central"}, "kl": {"english_name": "Kalaallisut"}, "ks": {"english_name": "Kashmiri"}, "kr": {"english_name": "Kanuri"}, "si": {"english_name": "Sinhala"}, "sh": {"name": "Serbo-Croatian", "english_name": "Serbo-Croatian"}, "kw": {"english_name": "Cornish"}, "kv": {"english_name": "Komi"}, "ku": {"english_name": "Kurdish"}, "sl": {"name": "slovenščina", "english_name": "Slovenian"}, "sc": {"english_name": "Sardinian"}, "ky": {"english_name": "Kirghiz"}, "sg": {"english_name": "Sango"}, "se": {"english_name": "Sami, Northern"}, "sd": {"english_name": "Sindhi"}}, "google": {"el": {"name": "Ελληνικά"}, "eo": {"name": "Esperanto"}, "en": {"name": "English"}, "af": {"name": "Afrikaans"}, "vi": {"name": "Tiếng Việt"}, "ca": {"name": "Català"}, "it": {"name": "Italiano"}, "iw": {"name": "עברית"}, "hy": {"name": "Հայերեն"}, "cs": {"name": "Čeština"}, "et": {"name": "Eesti"}, "id": {"name": "Indonesia"}, "es": {"name": "Español"}, "ru": {"name": "Русский"}, "nl": {"name": "Nederlands"}, "pt": {"name": "Português"}, "no": {"name": "Norsk"}, "tr": {"name": "Türkçe"}, "lt": {"name": "Lietuvių"}, "lv": {"name": "Latviešu"}, "tl": {"name": "Filipino"}, "zh-TW": {"name": "中文 (繁體)"}, "th": {"name": "ไทย"}, "ro": {"name": "Română"}, "is": {"name": "Íslenska"}, "pl": {"name": "Polski"}, "be": {"name": "Беларуская"}, "fr": {"name": "Français"}, "bg": {"name": "Български"}, "hr": {"name": "Hrvatski"}, "de": {"name": "Deutsch"}, "ko": {"name": "한국어"}, "da": {"name": "Dansk"}, "fa": {"name": "فارسی"}, "hi": {"name": "हिन्दी"}, "fi": {"name": "Suomi"}, "hu": {"name": "Magyar"}, "ja": {"name": "日本語"}, "sr": {"name": "Српски"}, "sw": {"name": "Kiswahili"}, "sv": {"name": "Svenska"}, "sk": {"name": "Slovenčina"}, "zh-CN": {"name": "中文 (简体)"}, "ar": {"name": "العربية"}, "uk": {"name": "Українська"}, "sl": {"name": "Slovenščina"}}, "duckduckgo": ["da-DK", "vi-VN", "en-SG", "sl-SL", "en-XA", "tzh-HK", "en-UK", "ro-RO", "en-MY", "el-GR", "it-CH", "hu-HU", "fr-FR", "en-PH", "tl-PH", "fr-CA", "fi-FI", "et-EE", "sv-SE", "es-XL", "th-TH", "sk-SK", "es-ES", "en-IE", "es-US", "es-PE", "nl-NL", "en-US", "de-DE", "de-AT", "wt-WT", "no-NO", "tr-TR", "ca-ES", "it-IT", "es-CO", "ru-RU", "ca-CT", "en-ZA", "en-CA", "jp-JP", "es-MX", "id-ID", "es-AR", "he-IL", "kr-KR", "en-AU", "ms-MY", "pl-PL", "lv-LV", "bg-BG", "zh-CN", "en-NZ", "lt-LT", "tzh-TW", "hr-HR", "pt-PT", "fr-BE", "de-CH", "cs-CZ", "en-IN", "nl-BE", "fr-CH", "en-ID", "ar-XA", "pt-BR", "uk-UA", "es-CL"], "bing": ["sq", "de", "ar", "bg", "ca", "cs", "zh-CHS", "zh-CHT", "ko", "hr", "da", "sk", "sl", "es", "et", "fi", "fr", "el", "he", "nl", "hu", "id", "en", "is", "it", "ja", "lv", "lt", "ms", "nb", "fa", "pl", "pt-BR", "pt-PT", "ro", "ru", "sr", "sv", "th", "tr", "uk", "vi"], "wikipedia": {"sco": {"articles": 41758, "name": "Scots", "english_name": "Scots"}, "scn": {"articles": 25373, "name": "Sicilianu", "english_name": "Sicilian"}, "gu": {"articles": 26688, "name": "ગુજરાતી", "english_name": "Gujarati"}, "gd": {"articles": 14250, "name": "Gàidhlig", "english_name": "Scottish Gaelic"}, "ga": {"articles": 38830, "name": "Gaeilge", "english_name": "Irish"}, "gl": {"articles": 134702, "name": "Galego", "english_name": "Galician"}, "als": {"articles": 22350, "name": "Alemannisch", "english_name": "Alemannic"}, "lb": {"articles": 47313, "name": "Lëtzebuergesch", "english_name": "Luxembourgish"}, "la": {"articles": 125692, "name": "Latina", "english_name": "Latin"}, "tt": {"articles": 69908, "name": "Tatarça / Татарча", "english_name": "Tatar"}, "tr": {"articles": 287464, "name": "Türkçe", "english_name": "Turkish"}, "li": {"articles": 11552, "name": "Limburgs", "english_name": "Limburgish"}, "lv": {"articles": 74371, "name": "Latviešu", "english_name": "Latvian"}, "tl": {"articles": 65689, "name": "Tagalog", "english_name": "Tagalog"}, "vec": {"articles": 10855, "name": "Vèneto", "english_name": "Venetian"}, "th": {"articles": 113239, "name": "ไทย", "english_name": "Thai"}, "tg": {"articles": 67388, "name": "Тоҷикӣ", "english_name": "Tajik"}, "te": {"articles": 66228, "name": "తెలుగు", "english_name": "Telugu"}, "ta": {"articles": 89570, "name": "தமிழ்", "english_name": "Tamil"}, "yi": {"articles": 13591, "name": "ייִדיש", "english_name": "Yiddish"}, "ceb": {"articles": 3535780, "name": "Sinugboanong Binisaya", "english_name": "Cebuano"}, "yo": {"articles": 31494, "name": "Yorùbá", "english_name": "Yoruba"}, "de": {"articles": 2009282, "name": "Deutsch", "english_name": "German"}, "da": {"articles": 221813, "name": "Dansk", "english_name": "Danish"}, "qu": {"articles": 19810, "name": "Runa Simi", "english_name": "Quechua"}, "bar": {"articles": 21968, "name": "Boarisch", "english_name": "Bavarian"}, "kn": {"articles": 21607, "name": "ಕನ್ನಡ", "english_name": "Kannada"}, "bpy": {"articles": 25067, "name": "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী", "english_name": "Bishnupriya Manipuri"}, "el": {"articles": 124371, "name": "Ελληνικά", "english_name": "Greek"}, "eo": {"articles": 235590, "name": "Esperanto", "english_name": "Esperanto"}, "en": {"articles": 5308212, "name": "English", "english_name": "English"}, "zh": {"articles": 915374, "name": "中文", "english_name": "Chinese"}, "pms": {"articles": 63988, "name": "Piemontèis", "english_name": "Piedmontese"}, "arz": {"articles": 16103, "name": "مصرى (Maṣri)", "english_name": "Egyptian Arabic"}, "eu": {"articles": 261872, "name": "Euskara", "english_name": "Basque"}, "et": {"articles": 151596, "name": "Eesti", "english_name": "Estonian"}, "es": {"articles": 1301888, "name": "Español", "english_name": "Spanish"}, "ba": {"articles": 36625, "name": "Башҡорт", "english_name": "Bashkir"}, "ru": {"articles": 1359387, "name": "Русский", "english_name": "Russian"}, "new": {"articles": 72176, "name": "नेपाल भाषा", "english_name": "Newar"}, "ro": {"articles": 373081, "name": "Română", "english_name": "Romanian"}, "jv": {"articles": 49676, "name": "Basa Jawa", "english_name": "Javanese"}, "hsb": {"articles": 10909, "name": "Hornjoserbsce", "english_name": "Upper Sorbian"}, "be": {"articles": 123483, "name": "Беларуская", "english_name": "Belarusian"}, "bg": {"articles": 223764, "name": "Български", "english_name": "Bulgarian"}, "uk": {"articles": 667063, "name": "Українська", "english_name": "Ukrainian"}, "wa": {"articles": 14315, "name": "Walon", "english_name": "Walloon"}, "ast": {"articles": 47719, "name": "Asturianu", "english_name": "Asturian"}, "bn": {"articles": 46064, "name": "বাংলা", "english_name": "Bengali"}, "map-bms": {"articles": 13275, "name": "Basa Banyumasan", "english_name": "Banyumasan"}, "br": {"articles": 60626, "name": "Brezhoneg", "english_name": "Breton"}, "bs": {"articles": 72084, "name": "Bosanski", "english_name": "Bosnian"}, "ja": {"articles": 1041648, "name": "日本語", "english_name": "Japanese"}, "oc": {"articles": 84329, "name": "Occitan", "english_name": "Occitan"}, "be-tarask": {"articles": 59873, "name": "Беларуская (тарашкевіца)", "english_name": "Belarusian (Taraškievica)"}, "nds": {"articles": 25733, "name": "Plattdüütsch", "english_name": "Low Saxon"}, "os": {"articles": 10293, "name": "Иронау", "english_name": "Ossetian"}, "or": {"articles": 11725, "name": "ଓଡ଼ିଆ", "english_name": "Oriya"}, "simple": {"articles": 121800, "name": "Simple English", "english_name": "Simple English"}, "ca": {"articles": 528757, "name": "Català", "english_name": "Catalan"}, "lmo": {"articles": 34558, "name": "Lumbaart", "english_name": "Lombard"}, "ce": {"articles": 158923, "name": "Нохчийн", "english_name": "Chechen"}, "cy": {"articles": 89273, "name": "Cymraeg", "english_name": "Welsh"}, "cs": {"articles": 369105, "name": "Čeština", "english_name": "Czech"}, "cv": {"articles": 36501, "name": "Чăваш", "english_name": "Chuvash"}, "pt": {"articles": 949123, "name": "Português", "english_name": "Portuguese"}, "lt": {"articles": 180377, "name": "Lietuvių", "english_name": "Lithuanian"}, "zh-min-nan": {"articles": 201884, "name": "Bân-lâm-gú", "english_name": "Min Nan"}, "pa": {"articles": 24072, "name": "ਪੰਜਾਬੀ", "english_name": "Punjabi"}, "war": {"articles": 1261970, "name": "Winaray", "english_name": "Waray-Waray"}, "pl": {"articles": 1197597, "name": "Polski", "english_name": "Polish"}, "hy": {"articles": 212747, "name": "Հայերեն", "english_name": "Armenian"}, "an": {"articles": 31832, "name": "Aragonés", "english_name": "Aragonese"}, "hr": {"articles": 171047, "name": "Hrvatski", "english_name": "Croatian"}, "ht": {"articles": 51108, "name": "Krèyol ayisyen", "english_name": "Haitian"}, "hu": {"articles": 399927, "name": "Magyar", "english_name": "Hungarian"}, "bat-smg": {"articles": 15940, "name": "Žemaitėška", "english_name": "Samogitian"}, "hi": {"articles": 114396, "name": "हिन्दी", "english_name": "Hindi"}, "pnb": {"articles": 42670, "name": "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)", "english_name": "Western Punjabi"}, "bug": {"articles": 14116, "name": "Basa Ugi", "english_name": "Buginese"}, "he": {"articles": 199250, "name": "עברית", "english_name": "Hebrew"}, "mg": {"articles": 82826, "name": "Malagasy", "english_name": "Malagasy"}, "uz": {"articles": 128744, "name": "O‘zbek", "english_name": "Uzbek"}, "ml": {"articles": 46807, "name": "മലയാളം", "english_name": "Malayalam"}, "azb": {"articles": 11827, "name": "تۆرکجه", "english_name": "South Azerbaijani"}, "mn": {"articles": 16285, "name": "Монгол", "english_name": "Mongolian"}, "mk": {"articles": 87543, "name": "Македонски", "english_name": "Macedonian"}, "ur": {"articles": 110819, "name": "اردو", "english_name": "Urdu"}, "ms": {"articles": 286189, "name": "Bahasa Melayu", "english_name": "Malay"}, "mr": {"articles": 45052, "name": "मराठी", "english_name": "Marathi"}, "my": {"articles": 33576, "name": "မြန်မာဘာသာ", "english_name": "Burmese"}, "sah": {"articles": 10965, "name": "Саха тыла (Saxa Tyla)", "english_name": "Sakha"}, "af": {"articles": 43005, "name": "Afrikaans", "english_name": "Afrikaans"}, "vi": {"articles": 1151596, "name": "Tiếng Việt", "english_name": "Vietnamese"}, "is": {"articles": 41503, "name": "Íslenska", "english_name": "Icelandic"}, "am": {"articles": 13297, "name": "አማርኛ", "english_name": "Amharic"}, "it": {"articles": 1317642, "name": "Italiano", "english_name": "Italian"}, "vo": {"articles": 120413, "name": "Volapük", "english_name": "Volapük"}, "ar": {"articles": 453687, "name": "العربية", "english_name": "Arabic"}, "io": {"articles": 26845, "name": "Ido", "english_name": "Ido"}, "ia": {"articles": 19784, "name": "Interlingua", "english_name": "Interlingua"}, "az": {"articles": 111510, "name": "Azərbaycanca", "english_name": "Azerbaijani"}, "id": {"articles": 390261, "name": "Bahasa Indonesia", "english_name": "Indonesian"}, "nl": {"articles": 1885863, "name": "Nederlands", "english_name": "Dutch"}, "nn": {"articles": 131704, "name": "Nynorsk", "english_name": "Norwegian (Nynorsk)"}, "no": {"articles": 458295, "name": "Norsk (Bokmål)", "english_name": "Norwegian (Bokmål)"}, "nah": {"articles": 10429, "name": "Nāhuatl", "english_name": "Nahuatl"}, "ne": {"articles": 29279, "name": "नेपाली", "english_name": "Nepali"}, "nap": {"articles": 14400, "name": "Nnapulitano", "english_name": "Neapolitan"}, "fr": {"articles": 1823284, "name": "Français", "english_name": "French"}, "mrj": {"articles": 10164, "name": "Кырык Мары (Kyryk Mary)", "english_name": "Hill Mari"}, "zh-yue": {"articles": 49372, "name": "粵語", "english_name": "Cantonese"}, "fy": {"articles": 36467, "name": "Frysk", "english_name": "West Frisian"}, "fa": {"articles": 516655, "name": "فارسی", "english_name": "Persian"}, "fi": {"articles": 405189, "name": "Suomi", "english_name": "Finnish"}, "mzn": {"articles": 12362, "name": "مَزِروني", "english_name": "Mazandarani"}, "sa": {"articles": 10198, "name": "संस्कृतम्", "english_name": "Sanskrit"}, "fo": {"articles": 12373, "name": "Føroyskt", "english_name": "Faroese"}, "ka": {"articles": 111160, "name": "ქართული", "english_name": "Georgian"}, "ckb": {"articles": 18218, "name": "Soranî / کوردی", "english_name": "Sorani"}, "kk": {"articles": 217488, "name": "Қазақша", "english_name": "Kazakh"}, "sr": {"articles": 342526, "name": "Српски / Srpski", "english_name": "Serbian"}, "sq": {"articles": 62453, "name": "Shqip", "english_name": "Albanian"}, "min": {"articles": 221961, "name": "Minangkabau", "english_name": "Minangkabau"}, "ko": {"articles": 367197, "name": "한국어", "english_name": "Korean"}, "sv": {"articles": 3783412, "name": "Svenska", "english_name": "Swedish"}, "su": {"articles": 19163, "name": "Basa Sunda", "english_name": "Sundanese"}, "sk": {"articles": 215364, "name": "Slovenčina", "english_name": "Slovak"}, "si": {"articles": 12831, "name": "සිංහල", "english_name": "Sinhalese"}, "sh": {"articles": 436549, "name": "Srpskohrvatski / Српскохрватски", "english_name": "Serbo-Croatian"}, "ku": {"articles": 22370, "name": "Kurdî / كوردی", "english_name": "Kurdish"}, "sl": {"articles": 153986, "name": "Slovenščina", "english_name": "Slovenian"}, "ky": {"articles": 60035, "name": "Кыргызча", "english_name": "Kirghiz"}, "sw": {"articles": 34775, "name": "Kiswahili", "english_name": "Swahili"}}, "bing news": ["sq", "de", "ar", "bg", "ca", "cs", "zh-CHS", "zh-CHT", "ko", "hr", "da", "sk", "sl", "es", "et", "fi", "fr", "el", "he", "nl", "hu", "id", "en", "is", "it", "ja", "lv", "lt", "ms", "nb", "fa", "pl", "pt-BR", "pt-PT", "ro", "ru", "sr", "sv", "th", "tr", "uk", "vi"], "yahoo news": ["ar", "bg", "zh-chs", "zh-cht", "hr", "cs", "da", "nl", "en", "et", "fi", "fr", "de", "el", "he", "hu", "it", "ja", "ko", "lv", "lt", "no", "pl", "pt", "ro", "ru", "sk", "sl", "es", "sv", "th", "tr"], "swisscows": ["browser", "ar-SA", "es-AR", "en-AU", "de-AT", "fr-BE", "nl-BE", "pt-BR", "en-CA", "fr-CA", "es-CL", "zh-CN", "da-DK", "fi-FI", "fr-FR", "de-DE", "zh-HK", "en-IN", "en-IE", "it-IT", "ja-JP", "ko-KR", "en-MY", "es-MX", "nl-NL", "en-NZ", "nb-NO", "en-PH", "pl-PL", "pt-PT", "ru-RU", "en-ZA", "es-ES", "sv-SE", "de-CH", "fr-CH", "zh-TW", "tr-TR", "en-GB", "en-US", "es-US"], "wikidata": {"sco": {"articles": 41758, "name": "Scots", "english_name": "Scots"}, "scn": {"articles": 25373, "name": "Sicilianu", "english_name": "Sicilian"}, "gu": {"articles": 26688, "name": "ગુજરાતી", "english_name": "Gujarati"}, "gd": {"articles": 14250, "name": "Gàidhlig", "english_name": "Scottish Gaelic"}, "ga": {"articles": 38830, "name": "Gaeilge", "english_name": "Irish"}, "gl": {"articles": 134702, "name": "Galego", "english_name": "Galician"}, "als": {"articles": 22350, "name": "Alemannisch", "english_name": "Alemannic"}, "lb": {"articles": 47313, "name": "Lëtzebuergesch", "english_name": "Luxembourgish"}, "la": {"articles": 125692, "name": "Latina", "english_name": "Latin"}, "tt": {"articles": 69908, "name": "Tatarça / Татарча", "english_name": "Tatar"}, "tr": {"articles": 287464, "name": "Türkçe", "english_name": "Turkish"}, "li": {"articles": 11552, "name": "Limburgs", "english_name": "Limburgish"}, "lv": {"articles": 74371, "name": "Latviešu", "english_name": "Latvian"}, "tl": {"articles": 65689, "name": "Tagalog", "english_name": "Tagalog"}, "vec": {"articles": 10855, "name": "Vèneto", "english_name": "Venetian"}, "th": {"articles": 113239, "name": "ไทย", "english_name": "Thai"}, "tg": {"articles": 67388, "name": "Тоҷикӣ", "english_name": "Tajik"}, "te": {"articles": 66228, "name": "తెలుగు", "english_name": "Telugu"}, "ta": {"articles": 89570, "name": "தமிழ்", "english_name": "Tamil"}, "yi": {"articles": 13591, "name": "ייִדיש", "english_name": "Yiddish"}, "ceb": {"articles": 3535780, "name": "Sinugboanong Binisaya", "english_name": "Cebuano"}, "yo": {"articles": 31494, "name": "Yorùbá", "english_name": "Yoruba"}, "de": {"articles": 2009282, "name": "Deutsch", "english_name": "German"}, "da": {"articles": 221813, "name": "Dansk", "english_name": "Danish"}, "qu": {"articles": 19810, "name": "Runa Simi", "english_name": "Quechua"}, "bar": {"articles": 21968, "name": "Boarisch", "english_name": "Bavarian"}, "kn": {"articles": 21607, "name": "ಕನ್ನಡ", "english_name": "Kannada"}, "bpy": {"articles": 25067, "name": "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী", "english_name": "Bishnupriya Manipuri"}, "el": {"articles": 124371, "name": "Ελληνικά", "english_name": "Greek"}, "eo": {"articles": 235590, "name": "Esperanto", "english_name": "Esperanto"}, "en": {"articles": 5308212, "name": "English", "english_name": "English"}, "zh": {"articles": 915374, "name": "中文", "english_name": "Chinese"}, "pms": {"articles": 63988, "name": "Piemontèis", "english_name": "Piedmontese"}, "arz": {"articles": 16103, "name": "مصرى (Maṣri)", "english_name": "Egyptian Arabic"}, "eu": {"articles": 261872, "name": "Euskara", "english_name": "Basque"}, "et": {"articles": 151596, "name": "Eesti", "english_name": "Estonian"}, "es": {"articles": 1301888, "name": "Español", "english_name": "Spanish"}, "ba": {"articles": 36625, "name": "Башҡорт", "english_name": "Bashkir"}, "ru": {"articles": 1359387, "name": "Русский", "english_name": "Russian"}, "new": {"articles": 72176, "name": "नेपाल भाषा", "english_name": "Newar"}, "ro": {"articles": 373081, "name": "Română", "english_name": "Romanian"}, "jv": {"articles": 49676, "name": "Basa Jawa", "english_name": "Javanese"}, "hsb": {"articles": 10909, "name": "Hornjoserbsce", "english_name": "Upper Sorbian"}, "be": {"articles": 123483, "name": "Беларуская", "english_name": "Belarusian"}, "bg": {"articles": 223764, "name": "Български", "english_name": "Bulgarian"}, "uk": {"articles": 667063, "name": "Українська", "english_name": "Ukrainian"}, "wa": {"articles": 14315, "name": "Walon", "english_name": "Walloon"}, "ast": {"articles": 47719, "name": "Asturianu", "english_name": "Asturian"}, "bn": {"articles": 46064, "name": "বাংলা", "english_name": "Bengali"}, "map-bms": {"articles": 13275, "name": "Basa Banyumasan", "english_name": "Banyumasan"}, "br": {"articles": 60626, "name": "Brezhoneg", "english_name": "Breton"}, "bs": {"articles": 72084, "name": "Bosanski", "english_name": "Bosnian"}, "ja": {"articles": 1041648, "name": "日本語", "english_name": "Japanese"}, "oc": {"articles": 84329, "name": "Occitan", "english_name": "Occitan"}, "be-tarask": {"articles": 59873, "name": "Беларуская (тарашкевіца)", "english_name": "Belarusian (Taraškievica)"}, "nds": {"articles": 25733, "name": "Plattdüütsch", "english_name": "Low Saxon"}, "os": {"articles": 10293, "name": "Иронау", "english_name": "Ossetian"}, "or": {"articles": 11725, "name": "ଓଡ଼ିଆ", "english_name": "Oriya"}, "simple": {"articles": 121800, "name": "Simple English", "english_name": "Simple English"}, "ca": {"articles": 528757, "name": "Català", "english_name": "Catalan"}, "lmo": {"articles": 34558, "name": "Lumbaart", "english_name": "Lombard"}, "ce": {"articles": 158923, "name": "Нохчийн", "english_name": "Chechen"}, "cy": {"articles": 89273, "name": "Cymraeg", "english_name": "Welsh"}, "cs": {"articles": 369105, "name": "Čeština", "english_name": "Czech"}, "cv": {"articles": 36501, "name": "Чăваш", "english_name": "Chuvash"}, "pt": {"articles": 949123, "name": "Português", "english_name": "Portuguese"}, "lt": {"articles": 180377, "name": "Lietuvių", "english_name": "Lithuanian"}, "zh-min-nan": {"articles": 201884, "name": "Bân-lâm-gú", "english_name": "Min Nan"}, "pa": {"articles": 24072, "name": "ਪੰਜਾਬੀ", "english_name": "Punjabi"}, "war": {"articles": 1261970, "name": "Winaray", "english_name": "Waray-Waray"}, "pl": {"articles": 1197597, "name": "Polski", "english_name": "Polish"}, "hy": {"articles": 212747, "name": "Հայերեն", "english_name": "Armenian"}, "an": {"articles": 31832, "name": "Aragonés", "english_name": "Aragonese"}, "hr": {"articles": 171047, "name": "Hrvatski", "english_name": "Croatian"}, "ht": {"articles": 51108, "name": "Krèyol ayisyen", "english_name": "Haitian"}, "hu": {"articles": 399927, "name": "Magyar", "english_name": "Hungarian"}, "bat-smg": {"articles": 15940, "name": "Žemaitėška", "english_name": "Samogitian"}, "hi": {"articles": 114396, "name": "हिन्दी", "english_name": "Hindi"}, "pnb": {"articles": 42670, "name": "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)", "english_name": "Western Punjabi"}, "bug": {"articles": 14116, "name": "Basa Ugi", "english_name": "Buginese"}, "he": {"articles": 199250, "name": "עברית", "english_name": "Hebrew"}, "mg": {"articles": 82826, "name": "Malagasy", "english_name": "Malagasy"}, "uz": {"articles": 128744, "name": "O‘zbek", "english_name": "Uzbek"}, "ml": {"articles": 46807, "name": "മലയാളം", "english_name": "Malayalam"}, "azb": {"articles": 11827, "name": "تۆرکجه", "english_name": "South Azerbaijani"}, "mn": {"articles": 16285, "name": "Монгол", "english_name": "Mongolian"}, "mk": {"articles": 87543, "name": "Македонски", "english_name": "Macedonian"}, "ur": {"articles": 110819, "name": "اردو", "english_name": "Urdu"}, "ms": {"articles": 286189, "name": "Bahasa Melayu", "english_name": "Malay"}, "mr": {"articles": 45052, "name": "मराठी", "english_name": "Marathi"}, "my": {"articles": 33576, "name": "မြန်မာဘာသာ", "english_name": "Burmese"}, "sah": {"articles": 10965, "name": "Саха тыла (Saxa Tyla)", "english_name": "Sakha"}, "af": {"articles": 43005, "name": "Afrikaans", "english_name": "Afrikaans"}, "vi": {"articles": 1151596, "name": "Tiếng Việt", "english_name": "Vietnamese"}, "is": {"articles": 41503, "name": "Íslenska", "english_name": "Icelandic"}, "am": {"articles": 13297, "name": "አማርኛ", "english_name": "Amharic"}, "it": {"articles": 1317642, "name": "Italiano", "english_name": "Italian"}, "vo": {"articles": 120413, "name": "Volapük", "english_name": "Volapük"}, "ar": {"articles": 453687, "name": "العربية", "english_name": "Arabic"}, "io": {"articles": 26845, "name": "Ido", "english_name": "Ido"}, "ia": {"articles": 19784, "name": "Interlingua", "english_name": "Interlingua"}, "az": {"articles": 111510, "name": "Azərbaycanca", "english_name": "Azerbaijani"}, "id": {"articles": 390261, "name": "Bahasa Indonesia", "english_name": "Indonesian"}, "nl": {"articles": 1885863, "name": "Nederlands", "english_name": "Dutch"}, "nn": {"articles": 131704, "name": "Nynorsk", "english_name": "Norwegian (Nynorsk)"}, "no": {"articles": 458295, "name": "Norsk (Bokmål)", "english_name": "Norwegian (Bokmål)"}, "nah": {"articles": 10429, "name": "Nāhuatl", "english_name": "Nahuatl"}, "ne": {"articles": 29279, "name": "नेपाली", "english_name": "Nepali"}, "nap": {"articles": 14400, "name": "Nnapulitano", "english_name": "Neapolitan"}, "fr": {"articles": 1823284, "name": "Français", "english_name": "French"}, "mrj": {"articles": 10164, "name": "Кырык Мары (Kyryk Mary)", "english_name": "Hill Mari"}, "zh-yue": {"articles": 49372, "name": "粵語", "english_name": "Cantonese"}, "fy": {"articles": 36467, "name": "Frysk", "english_name": "West Frisian"}, "fa": {"articles": 516655, "name": "فارسی", "english_name": "Persian"}, "fi": {"articles": 405189, "name": "Suomi", "english_name": "Finnish"}, "mzn": {"articles": 12362, "name": "مَزِروني", "english_name": "Mazandarani"}, "sa": {"articles": 10198, "name": "संस्कृतम्", "english_name": "Sanskrit"}, "fo": {"articles": 12373, "name": "Føroyskt", "english_name": "Faroese"}, "ka": {"articles": 111160, "name": "ქართული", "english_name": "Georgian"}, "ckb": {"articles": 18218, "name": "Soranî / کوردی", "english_name": "Sorani"}, "kk": {"articles": 217488, "name": "Қазақша", "english_name": "Kazakh"}, "sr": {"articles": 342526, "name": "Српски / Srpski", "english_name": "Serbian"}, "sq": {"articles": 62453, "name": "Shqip", "english_name": "Albanian"}, "min": {"articles": 221961, "name": "Minangkabau", "english_name": "Minangkabau"}, "ko": {"articles": 367197, "name": "한국어", "english_name": "Korean"}, "sv": {"articles": 3783412, "name": "Svenska", "english_name": "Swedish"}, "su": {"articles": 19163, "name": "Basa Sunda", "english_name": "Sundanese"}, "sk": {"articles": 215364, "name": "Slovenčina", "english_name": "Slovak"}, "si": {"articles": 12831, "name": "සිංහල", "english_name": "Sinhalese"}, "sh": {"articles": 436549, "name": "Srpskohrvatski / Српскохрватски", "english_name": "Serbo-Croatian"}, "ku": {"articles": 22370, "name": "Kurdî / كوردی", "english_name": "Kurdish"}, "sl": {"articles": 153986, "name": "Slovenščina", "english_name": "Slovenian"}, "ky": {"articles": 60035, "name": "Кыргызча", "english_name": "Kirghiz"}, "sw": {"articles": 34775, "name": "Kiswahili", "english_name": "Swahili"}}, "ddg definitions": ["da-DK", "vi-VN", "en-SG", "sl-SL", "en-XA", "tzh-HK", "en-UK", "ro-RO", "en-MY", "el-GR", "it-CH", "hu-HU", "fr-FR", "en-PH", "tl-PH", "fr-CA", "fi-FI", "et-EE", "sv-SE", "es-XL", "th-TH", "sk-SK", "es-ES", "en-IE", "es-US", "es-PE", "nl-NL", "en-US", "de-DE", "de-AT", "wt-WT", "no-NO", "tr-TR", "ca-ES", "it-IT", "es-CO", "ru-RU", "ca-CT", "en-ZA", "en-CA", "jp-JP", "es-MX", "id-ID", "es-AR", "he-IL", "kr-KR", "en-AU", "ms-MY", "pl-PL", "lv-LV", "bg-BG", "zh-CN", "en-NZ", "lt-LT", "tzh-TW", "hr-HR", "pt-PT", "fr-BE", "de-CH", "cs-CZ", "en-IN", "nl-BE", "fr-CH", "en-ID", "ar-XA", "pt-BR", "uk-UA", "es-CL"], "bing images": ["sq", "de", "ar", "bg", "ca", "cs", "zh-CHS", "zh-CHT", "ko", "hr", "da", "sk", "sl", "es", "et", "fi", "fr", "el", "he", "nl", "hu", "id", "en", "is", "it", "ja", "lv", "lt", "ms", "nb", "fa", "pl", "pt-BR", "pt-PT", "ro", "ru", "sr", "sv", "th", "tr", "uk", "vi"], "yahoo": ["ar", "bg", "zh-chs", "zh-cht", "hr", "cs", "da", "nl", "en", "et", "fi", "fr", "de", "el", "he", "hu", "it", "ja", "ko", "lv", "lt", "no", "pl", "pt", "ro", "ru", "sk", "sl", "es", "sv", "th", "tr"], "gigablast": ["en", "fr", "es", "ru", "tr", "ja", "h_", "tw", "cn", "ko", "de", "nl", "it", "fi", "sv", "no", "pt", "vi", "ar", "he", "id", "el", "th", "hi", "bn", "pl", "tl", "la", "eo", "ca", "bg", "tx", "sr", "hu", "da", "lt", "cs", "gl", "ka", "gd", "go", "ro", "ga", "lv", "hy", "is", "ag", "gv", "io", "fa", "te", "vv", "mg", "ku", "lb", "et"]}
+\ No newline at end of file
diff --git a/searx/engines/.yandex.py.swp b/searx/engines/.yandex.py.swp
Binary files differ.
diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py
@@ -21,6 +21,7 @@ import sys
from flask_babel import gettext
from operator import itemgetter
from json import loads
+from requests import get
from searx import settings
from searx import logger
from searx.utils import load_module
@@ -79,9 +80,6 @@ def load_engine(engine_data):
if not hasattr(engine, arg_name):
setattr(engine, arg_name, arg_value)
- if engine_data['name'] in languages:
- setattr(engine, 'supported_languages', languages[engine_data['name']])
-
# checking required variables
for engine_attr in dir(engine):
if engine_attr.startswith('_'):
@@ -91,6 +89,15 @@ def load_engine(engine_data):
.format(engine.name, engine_attr))
sys.exit(1)
+ # assign supported languages from json file
+ if engine_data['name'] in languages:
+ setattr(engine, 'supported_languages', languages[engine_data['name']])
+
+ # assign language fetching method if auxiliary method exists
+ if hasattr(engine, '_fetch_supported_languages'):
+ setattr(engine, 'fetch_supported_languages',
+ lambda: engine._fetch_supported_languages(get(engine.supported_languages_url)))
+
engine.stats = {
'result_count': 0,
'search_count': 0,
diff --git a/searx/engines/bing.py b/searx/engines/bing.py
@@ -15,7 +15,6 @@
from urllib import urlencode
from lxml import html
-from requests import get
from searx.engines.xpath import extract_text
# engine dependent config
@@ -86,10 +85,9 @@ def response(resp):
# get supported languages from their site
-def fetch_supported_languages():
+def _fetch_supported_languages(resp):
supported_languages = []
- response = get(supported_languages_url)
- dom = html.fromstring(response.text)
+ dom = html.fromstring(resp.text)
options = dom.xpath('//div[@id="limit-languages"]//input')
for option in options:
code = option.xpath('./@id')[0].replace('_', '-')
diff --git a/searx/engines/bing_images.py b/searx/engines/bing_images.py
@@ -19,7 +19,7 @@ from urllib import urlencode
from lxml import html
from json import loads
import re
-from searx.engines.bing import fetch_supported_languages
+from searx.engines.bing import _fetch_supported_languages, supported_languages_url
# engine dependent config
categories = ['images']
diff --git a/searx/engines/bing_news.py b/searx/engines/bing_news.py
@@ -17,7 +17,7 @@ from datetime import datetime
from dateutil import parser
from lxml import etree
from searx.utils import list_get
-from searx.engines.bing import fetch_supported_languages
+from searx.engines.bing import _fetch_supported_languages, supported_languages_url
# engine dependent config
categories = ['news']
diff --git a/searx/engines/dailymotion.py b/searx/engines/dailymotion.py
@@ -80,11 +80,10 @@ def response(resp):
# get supported languages from their site
-def fetch_supported_languages():
+def _fetch_supported_languages(resp):
supported_languages = {}
- response = get(supported_languages_url)
- response_json = loads(response.text)
+ response_json = loads(resp.text)
for language in response_json['list']:
supported_languages[language['code']] = {}
diff --git a/searx/engines/duckduckgo.py b/searx/engines/duckduckgo.py
@@ -119,11 +119,10 @@ def response(resp):
# get supported languages from their site
-def fetch_supported_languages():
- response = get(supported_languages_url)
+def _fetch_supported_languages(resp):
# response is a js file with regions as an embedded object
- response_page = response.text
+ response_page = resp.text
response_page = response_page[response_page.find('regions:{') + 8:]
response_page = response_page[:response_page.find('}') + 1]
diff --git a/searx/engines/duckduckgo_definitions.py b/searx/engines/duckduckgo_definitions.py
@@ -4,7 +4,7 @@ from re import compile, sub
from lxml import html
from searx.utils import html_to_text
from searx.engines.xpath import extract_text
-from searx.engines.duckduckgo import fetch_supported_languages
+from searx.engines.duckduckgo import _fetch_supported_languages, supported_languages_url
url = 'https://api.duckduckgo.com/'\
+ '?{query}&format=json&pretty=0&no_redirect=1&d=1'
diff --git a/searx/engines/gigablast.py b/searx/engines/gigablast.py
@@ -14,7 +14,6 @@ from json import loads
from random import randint
from time import time
from urllib import urlencode
-from requests import get
from lxml.html import fromstring
# engine dependent config
@@ -91,10 +90,9 @@ def response(resp):
# get supported languages from their site
-def fetch_supported_languages():
+def _fetch_supported_languages(resp):
supported_languages = []
- response = get(supported_languages_url)
- dom = fromstring(response.text)
+ dom = fromstring(resp.text)
links = dom.xpath('//span[@id="menu2"]/a')
for link in links:
code = link.xpath('./@href')[0][-2:]
diff --git a/searx/engines/google.py b/searx/engines/google.py
@@ -12,7 +12,6 @@ import re
from urllib import urlencode
from urlparse import urlparse, parse_qsl
from lxml import html, etree
-from requests import get
from searx.engines.xpath import extract_text, extract_url
from searx.search import logger
@@ -364,14 +363,13 @@ def attributes_to_html(attributes):
# get supported languages from their site
-def fetch_supported_languages():
+def _fetch_supported_languages(resp):
supported_languages = {}
- response = get(supported_languages_url)
- dom = html.fromstring(response.text)
- options = dom.xpath('//select[@name="hl"]/option')
+ dom = html.fromstring(resp.text)
+ options = dom.xpath('//table//td/font/label/span')
for option in options:
- code = option.xpath('./@value')[0].split('-')[0]
- name = option.text[:-1].title()
+ code = option.xpath('./@id')[0][1:]
+ name = option.text.title()
supported_languages[code] = {"name": name}
return supported_languages
diff --git a/searx/engines/google_news.py b/searx/engines/google_news.py
@@ -13,7 +13,7 @@
from lxml import html
from urllib import urlencode
from json import loads
-from searx.engines.google import fetch_supported_languages
+from searx.engines.google import _fetch_supported_languages, supported_languages_url
# search-url
categories = ['news']
diff --git a/searx/engines/swisscows.py b/searx/engines/swisscows.py
@@ -13,7 +13,6 @@
from json import loads
from urllib import urlencode, unquote
import re
-from requests import get
from lxml.html import fromstring
# engine dependent config
@@ -25,6 +24,8 @@ language_support = True
base_url = 'https://swisscows.ch/'
search_string = '?{query}&page={page}'
+supported_languages_url = base_url
+
# regex
regex_json = re.compile(r'initialData: {"Request":(.|\n)*},\s*environment')
regex_json_remove_start = re.compile(r'^initialData:\s*')
@@ -113,10 +114,9 @@ def response(resp):
# get supported languages from their site
-def fetch_supported_languages():
+def _fetch_supported_languages(resp):
supported_languages = []
- response = get(base_url)
- dom = fromstring(response.text)
+ dom = fromstring(resp.text)
options = dom.xpath('//div[@id="regions-popup"]//ul/li/a')
for option in options:
code = option.xpath('./@data-val')[0]
diff --git a/searx/engines/wikidata.py b/searx/engines/wikidata.py
@@ -15,7 +15,7 @@ from searx import logger
from searx.poolrequests import get
from searx.engines.xpath import extract_text
from searx.utils import format_date_by_locale
-from searx.engines.wikipedia import fetch_supported_languages
+from searx.engines.wikipedia import _fetch_supported_languages, supported_languages_url
from json import loads
from lxml.html import fromstring
diff --git a/searx/engines/wikipedia.py b/searx/engines/wikipedia.py
@@ -12,7 +12,6 @@
from json import loads
from urllib import urlencode, quote
-from requests import get
from lxml.html import fromstring
@@ -119,10 +118,9 @@ def response(resp):
# get supported languages from their site
-def fetch_supported_languages():
+def _fetch_supported_languages(resp):
supported_languages = {}
- response = get(supported_languages_url)
- dom = fromstring(response.text)
+ dom = fromstring(resp.text)
tables = dom.xpath('//table[contains(@class,"sortable")]')
for table in tables:
# exclude header row
diff --git a/searx/engines/yahoo.py b/searx/engines/yahoo.py
@@ -14,7 +14,6 @@
from urllib import urlencode
from urlparse import unquote
from lxml import html
-from requests import get
from searx.engines.xpath import extract_text, extract_url
# engine dependent config
@@ -144,13 +143,12 @@ def response(resp):
# get supported languages from their site
-def fetch_supported_languages():
+def _fetch_supported_languages(resp):
supported_languages = []
- response = get(supported_languages_url)
- dom = html.fromstring(response.text)
+ dom = html.fromstring(resp.text)
options = dom.xpath('//div[@id="yschlang"]/span/label/input')
for option in options:
- code = option.xpath('./@value')[0][5:]
+ code = option.xpath('./@value')[0][5:].replace('_', '-')
supported_languages.append(code)
return supported_languages
diff --git a/searx/engines/yahoo_news.py b/searx/engines/yahoo_news.py
@@ -12,7 +12,7 @@
from urllib import urlencode
from lxml import html
from searx.engines.xpath import extract_text, extract_url
-from searx.engines.yahoo import parse_url, fetch_supported_languages
+from searx.engines.yahoo import parse_url, _fetch_supported_languages, supported_languages_url
from datetime import datetime, timedelta
import re
from dateutil import parser
diff --git a/searx/languages.py b/searx/languages.py
@@ -3,36 +3,27 @@
# this file is generated automatically by utils/update_search_languages.py
language_codes = (
- (u"ach", u"Acoli", u"", u""),
(u"af", u"Afrikaans", u"", u""),
- (u"ak", u"Akan", u"", u""),
- (u"am", u"አማርኛ", u"", u""),
+ (u"am", u"አማርኛ", u"", u"Amharic"),
(u"ar-SA", u"العربية", u"المملكة العربية السعودية", u"Arabic"),
(u"az", u"Azərbaycanca", u"", u"Azerbaijani"),
- (u"ban", u"Balinese", u"", u""),
(u"be", u"Беларуская", u"", u"Belarusian"),
- (u"bem", u"Ichibemba", u"", u""),
(u"bg-BG", u"Български", u"България", u"Bulgarian"),
- (u"bn", u"বাংলা", u"", u""),
- (u"br", u"Brezhoneg", u"", u""),
- (u"bs", u"Bosanski", u"", u""),
+ (u"bn", u"বাংলা", u"", u"Bengali"),
+ (u"br", u"Brezhoneg", u"", u"Breton"),
+ (u"bs", u"Bosnian", u"", u"Bosnian"),
(u"ca", u"Català", u"", u"Catalan"),
(u"ca-CT", u"Català", u"", u"Catalan"),
(u"ca-ES", u"Català", u"Espanya", u"Catalan"),
(u"ce", u"Нохчийн", u"", u"Chechen"),
(u"ceb", u"Sinugboanong Binisaya", u"", u"Cebuano"),
- (u"chr", u"ᏣᎳᎩ", u"", u""),
- (u"ckb", u"Central Kurdish", u"", u""),
- (u"co", u"Corsican", u"", u""),
- (u"crs", u"Seychellois Creole", u"", u""),
(u"cs-CZ", u"Čeština", u"Česko", u"Czech"),
- (u"cy", u"Cymraeg", u"", u""),
+ (u"cy", u"Cymraeg", u"", u"Welsh"),
(u"da-DK", u"Dansk", u"Danmark", u"Danish"),
(u"de", u"Deutsch", u"", u"German"),
(u"de-AT", u"Deutsch", u"Österreich", u"German"),
(u"de-CH", u"Deutsch", u"Schweiz", u"German"),
(u"de-DE", u"Deutsch", u"Deutschland", u"German"),
- (u"ee", u"Eʋegbe", u"", u""),
(u"el-GR", u"Ελληνικά", u"Ελλάδα", u"Greek"),
(u"en", u"English", u"", u"English"),
(u"en-AU", u"English", u"Australia", u"English"),
@@ -60,30 +51,20 @@ language_codes = (
(u"eu", u"Euskara", u"", u"Basque"),
(u"fa", u"فارسی", u"", u"Persian"),
(u"fi-FI", u"Suomi", u"Suomi", u"Finnish"),
- (u"fo", u"Føroyskt", u"", u""),
(u"fr", u"Français", u"", u"French"),
(u"fr-BE", u"Français", u"Belgique", u"French"),
(u"fr-CA", u"Français", u"Canada", u"French"),
(u"fr-CH", u"Français", u"Suisse", u"French"),
(u"fr-FR", u"Français", u"France", u"French"),
- (u"fy", u"West-Frysk", u"", u""),
- (u"ga", u"Gaeilge", u"", u""),
- (u"gaa", u"Ga", u"", u""),
- (u"gd", u"Gàidhlig", u"", u""),
+ (u"ga", u"Gaeilge", u"", u"Irish"),
(u"gl", u"Galego", u"", u"Galician"),
- (u"gn", u"Guarani", u"", u""),
- (u"gu", u"ગુજરાતી", u"", u""),
- (u"ha", u"Hausa", u"", u""),
- (u"haw", u"ʻŌlelo HawaiʻI", u"", u""),
+ (u"gu", u"ગુજરાતી", u"", u"Gujarati"),
(u"he-IL", u"עברית", u"ישראל", u"Hebrew"),
(u"hi", u"हिन्दी", u"", u"Hindi"),
(u"hr-HR", u"Hrvatski", u"Hrvatska", u"Croatian"),
- (u"ht", u"Haitian Creole", u"", u""),
(u"hu-HU", u"Magyar", u"Magyarország", u"Hungarian"),
(u"hy", u"Հայերեն", u"", u"Armenian"),
- (u"ia", u"Interlingua", u"", u""),
(u"id-ID", u"Bahasa Indonesia", u"Indonesia", u"Indonesian"),
- (u"ig", u"Igbo", u"", u""),
(u"is", u"Íslenska", u"", u""),
(u"it", u"Italiano", u"", u"Italian"),
(u"it-CH", u"Italiano", u"Svizzera", u"Italian"),
@@ -91,86 +72,48 @@ language_codes = (
(u"iw", u"עברית", u"", u""),
(u"ja-JP", u"日本語", u"日本", u"Japanese"),
(u"ka", u"ქართული", u"", u"Georgian"),
- (u"kg", u"Kongo", u"", u""),
(u"kk", u"Қазақша", u"", u"Kazakh"),
- (u"km", u"ខ្មែរ", u"", u""),
- (u"kn", u"ಕನ್ನಡ", u"", u""),
+ (u"kn", u"ಕನ್ನಡ", u"", u"Kannada"),
(u"ko-KR", u"한국어", u"대한민국", u"Korean"),
- (u"kri", u"Krio", u"", u""),
- (u"ky", u"Кыргызча", u"", u""),
(u"la", u"Latina", u"", u"Latin"),
- (u"lg", u"Luganda", u"", u""),
- (u"ln", u"Lingála", u"", u""),
- (u"lo", u"ລາວ", u"", u""),
- (u"loz", u"Lozi", u"", u""),
(u"lt-LT", u"Lietuvių", u"Lietuva", u"Lithuanian"),
- (u"lua", u"Luba-Lulua", u"", u""),
(u"lv-LV", u"Latviešu", u"Latvijas Republika", u""),
- (u"mfe", u"Kreol Morisien", u"", u""),
- (u"mg", u"Malagasy", u"", u""),
- (u"mi", u"Maori", u"", u""),
+ (u"mi", u"Reo Māori", u"", u"Maori"),
(u"min", u"Minangkabau", u"", u"Minangkabau"),
- (u"mk", u"Македонски", u"", u""),
- (u"ml", u"മലയാളം", u"", u""),
- (u"mn", u"Монгол", u"", u""),
- (u"mr", u"मराठी", u"", u""),
+ (u"mk", u"Македонски", u"", u"Macedonian"),
+ (u"mn", u"Монгол", u"", u"Mongolian"),
+ (u"mr", u"मराठी", u"", u"Marathi"),
(u"ms-MY", u"Bahasa Melayu", u"Malaysia", u"Malay"),
- (u"mt", u"Malti", u"", u""),
- (u"my", u"ဗမာ", u"", u""),
+ (u"mt", u"Malti", u"", u"Maltese"),
(u"nb-NO", u"Norwegian Bokmål", u"Norge", u"Norwegian Bokmål"),
- (u"ne", u"नेपाली", u"", u""),
(u"nl", u"Nederlands", u"", u"Dutch"),
(u"nl-BE", u"Nederlands", u"België", u"Dutch"),
(u"nl-NL", u"Nederlands", u"Nederland", u"Dutch"),
(u"nn", u"Nynorsk", u"", u"Norwegian"),
(u"no-NO", u"Norsk", u"Norge", u"Norwegian"),
- (u"nso", u"Northern Sotho", u"", u""),
- (u"ny", u"Nyanja", u"", u""),
- (u"nyn", u"Runyankore", u"", u""),
- (u"oc", u"Occitan", u"", u""),
- (u"om", u"Oromoo", u"", u""),
- (u"or", u"ଓଡ଼ିଆ", u"", u""),
- (u"pa", u"ਪੰਜਾਬੀ", u"", u""),
- (u"pcm", u"Nigerian Pidgin", u"", u""),
+ (u"oc", u"Occitan", u"", u"Occitan"),
+ (u"or", u"Oriya", u"", u"Oriya"),
+ (u"pa", u"ਪੰਜਾਬੀ", u"", u"Panjabi"),
(u"pl-PL", u"Polski", u"Rzeczpospolita Polska", u"Polish"),
- (u"ps", u"پښتو", u"", u""),
+ (u"ps", u"Pushto", u"", u"Pushto"),
(u"pt", u"Português", u"", u"Portuguese"),
(u"pt-BR", u"Português", u"Brasil", u"Portuguese"),
(u"pt-PT", u"Português", u"Portugal", u"Portuguese"),
- (u"qu", u"Runasimi", u"", u""),
- (u"rm", u"Rumantsch", u"", u""),
- (u"rn", u"Ikirundi", u"", u""),
(u"ro-RO", u"Română", u"România", u"Romanian"),
(u"ru-RU", u"Русский", u"Россия", u"Russian"),
- (u"rw", u"Kinyarwanda", u"", u""),
- (u"sd", u"Sindhi", u"", u""),
+ (u"rw", u"Ikinyarwanda", u"", u"Kinyarwanda"),
(u"sh", u"Srpskohrvatski / Српскохрватски", u"", u"Serbo-Croatian"),
- (u"si", u"සිංහල", u"", u""),
(u"sk-SK", u"Slovenčina", u"Slovenská republika", u"Slovak"),
(u"sl", u"Slovenščina", u"", u"Slovenian"),
- (u"sn", u"Chishona", u"", u""),
- (u"so", u"Soomaali", u"", u""),
- (u"sq", u"Shqip", u"", u""),
(u"sr", u"Српски / Srpski", u"", u"Serbian"),
- (u"st", u"Southern Sotho", u"", u""),
- (u"su", u"Sundanese", u"", u""),
(u"sv-SE", u"Svenska", u"Sverige", u"Swedish"),
(u"sw", u"Kiswahili", u"", u""),
- (u"ta", u"தமிழ்", u"", u""),
- (u"te", u"తెలుగు", u"", u""),
- (u"tg", u"Tajik", u"", u""),
+ (u"ta", u"தமிழ்", u"", u"Tamil"),
(u"th-TH", u"ไทย", u"ไทย", u"Thai"),
- (u"ti", u"ትግርኛ", u"", u""),
- (u"tk", u"Turkmen", u"", u""),
+ (u"ti", u"ትግርኛ", u"", u"Tigrinya"),
(u"tl-PH", u"Filipino", u"Pilipinas", u""),
- (u"tlh", u"Klingon", u"", u""),
- (u"tn", u"Tswana", u"", u""),
- (u"to", u"Lea Fakatonga", u"", u""),
(u"tr-TR", u"Türkçe", u"Türkiye", u"Turkish"),
- (u"tt", u"Tatar", u"", u""),
- (u"tum", u"Tumbuka", u"", u""),
- (u"tw", u"Twi", u"", u""),
- (u"ug", u"ئۇيغۇرچە", u"", u""),
+ (u"tt", u"Татарча", u"", u"Tatar"),
(u"uk-UA", u"Українська", u"Україна", u"Ukrainian"),
(u"ur", u"اردو", u"", u"Urdu"),
(u"uz", u"O‘zbek", u"", u"Uzbek"),
@@ -179,13 +122,10 @@ language_codes = (
(u"vo", u"Volapük", u"", u"Volapük"),
(u"wa", u"Walon", u"", u"Walloon"),
(u"war", u"Winaray", u"", u"Waray-Waray"),
- (u"wo", u"Wolof", u"", u""),
- (u"xh", u"Xhosa", u"", u""),
- (u"yi", u"ייִדיש", u"", u""),
- (u"yo", u"Èdè Yorùbá", u"", u""),
+ (u"xh", u"Xhosa", u"", u"Xhosa"),
(u"zh", u"中文", u"", u"Chinese"),
- (u"zh-CN", u"中文", u"中国", u"Chinese"),
+ (u"zh-CN", u"中文", u"中国", u""),
(u"zh-HK", u"中文", u"香港", u"Chinese"),
- (u"zh-TW", u"中文", u"台湾", u"Chinese"),
- (u"zu", u"Isizulu", u"", u"")
+ (u"zh-TW", u"中文", u"台湾", u""),
+ (u"zu", u"Isi-Zulu", u"", u"Zulu")
)
diff --git a/tests/unit/engines/test_bing.py b/tests/unit/engines/test_bing.py
@@ -86,3 +86,35 @@ class TestBingEngine(SearxTestCase):
self.assertEqual(results[0]['title'], 'This should be the title')
self.assertEqual(results[0]['url'], 'http://this.should.be.the.link/')
self.assertEqual(results[0]['content'], 'This should be the content.')
+
+ def test_fetch_supported_languages(self):
+ html = """<html></html>"""
+ response = mock.Mock(text=html)
+ results = bing._fetch_supported_languages(response)
+ self.assertEqual(type(results), list)
+ self.assertEqual(len(results), 0)
+
+ html = """
+ <html>
+ <body>
+ <form>
+ <div id="limit-languages">
+ <div>
+ <div><input id="es" value="es"></input></div>
+ </div>
+ <div>
+ <div><input id="pt_BR" value="pt_BR"></input></div>
+ <div><input id="pt_PT" value="pt_PT"></input></div>
+ </div>
+ </div>
+ </form>
+ </body>
+ </html>
+ """
+ response = mock.Mock(text=html)
+ languages = bing._fetch_supported_languages(response)
+ self.assertEqual(type(languages), list)
+ self.assertEqual(len(languages), 3)
+ self.assertIn('es', languages)
+ self.assertIn('pt-BR', languages)
+ self.assertIn('pt-PT', languages)
diff --git a/tests/unit/engines/test_dailymotion.py b/tests/unit/engines/test_dailymotion.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
from collections import defaultdict
import mock
from searx.engines import dailymotion
@@ -72,3 +73,39 @@ class TestDailymotionEngine(SearxTestCase):
results = dailymotion.response(response)
self.assertEqual(type(results), list)
self.assertEqual(len(results), 0)
+
+ def test_fetch_supported_languages(self):
+ json = r"""
+ {"list":[{"code":"af","name":"Afrikaans","native_name":"Afrikaans",
+ "localized_name":"Afrikaans","display_name":"Afrikaans"},
+ {"code":"ar","name":"Arabic","native_name":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629",
+ "localized_name":"Arabic","display_name":"Arabic"},
+ {"code":"la","name":"Latin","native_name":null,
+ "localized_name":"Latin","display_name":"Latin"}
+ ]}
+ """
+ response = mock.Mock(text=json)
+ languages = dailymotion._fetch_supported_languages(response)
+ self.assertEqual(type(languages), dict)
+ self.assertEqual(len(languages), 3)
+ self.assertIn('af', languages)
+ self.assertIn('ar', languages)
+ self.assertIn('la', languages)
+
+ self.assertEqual(type(languages['af']), dict)
+ self.assertEqual(type(languages['ar']), dict)
+ self.assertEqual(type(languages['la']), dict)
+
+ self.assertIn('name', languages['af'])
+ self.assertIn('name', languages['ar'])
+ self.assertNotIn('name', languages['la'])
+
+ self.assertIn('english_name', languages['af'])
+ self.assertIn('english_name', languages['ar'])
+ self.assertIn('english_name', languages['la'])
+
+ self.assertEqual(languages['af']['name'], 'Afrikaans')
+ self.assertEqual(languages['af']['english_name'], 'Afrikaans')
+ self.assertEqual(languages['ar']['name'], u'العربية')
+ self.assertEqual(languages['ar']['english_name'], 'Arabic')
+ self.assertEqual(languages['la']['english_name'], 'Latin')
diff --git a/tests/unit/engines/test_duckduckgo.py b/tests/unit/engines/test_duckduckgo.py
@@ -84,3 +84,17 @@ class TestDuckduckgoEngine(SearxTestCase):
self.assertEqual(results[0]['title'], 'This is the title')
self.assertEqual(results[0]['url'], u'http://this.should.be.the.link/ű')
self.assertEqual(results[0]['content'], 'This should be the content.')
+
+ def test_fetch_supported_languages(self):
+ js = """some code...regions:{
+ "wt-wt":"All Results","ar-es":"Argentina","au-en":"Australia","at-de":"Austria","be-fr":"Belgium (fr)"
+ }some more code..."""
+ response = mock.Mock(text=js)
+ languages = duckduckgo._fetch_supported_languages(response)
+ self.assertEqual(type(languages), list)
+ self.assertEqual(len(languages), 5)
+ self.assertIn('wt-WT', languages)
+ self.assertIn('es-AR', languages)
+ self.assertIn('en-AU', languages)
+ self.assertIn('de-AT', languages)
+ self.assertIn('fr-BE', languages)
diff --git a/tests/unit/engines/test_gigablast.py b/tests/unit/engines/test_gigablast.py
@@ -89,3 +89,28 @@ class TestGigablastEngine(SearxTestCase):
self.assertEqual(results[0]['title'], 'South by Southwest 2016')
self.assertEqual(results[0]['url'], 'www.sxsw.com')
self.assertEqual(results[0]['content'], 'This should be the content.')
+
+ def test_fetch_supported_languages(self):
+ html = """<html></html>"""
+ response = mock.Mock(text=html)
+ results = gigablast._fetch_supported_languages(response)
+ self.assertEqual(type(results), list)
+ self.assertEqual(len(results), 0)
+
+ html = """
+ <html>
+ <body>
+ <span id="menu2">
+ <a href="/search?&rxikd=1&qlang=xx"></a>
+ <a href="/search?&rxikd=1&qlang=en"></a>
+ <a href="/search?&rxikd=1&qlang=fr"></a>
+ </span>
+ </body>
+ </html>
+ """
+ response = mock.Mock(text=html)
+ languages = gigablast._fetch_supported_languages(response)
+ self.assertEqual(type(languages), list)
+ self.assertEqual(len(languages), 2)
+ self.assertIn('en', languages)
+ self.assertIn('fr', languages)
diff --git a/tests/unit/engines/test_google.py b/tests/unit/engines/test_google.py
@@ -177,3 +177,60 @@ class TestGoogleEngine(SearxTestCase):
self.assertEqual(results[0]['title'], '')
self.assertEqual(results[0]['content'], '')
self.assertEqual(results[0]['img_src'], 'https://this.is.the.image/image.jpg')
+
+ def test_fetch_supported_languages(self):
+ html = """<html></html>"""
+ response = mock.Mock(text=html)
+ languages = google._fetch_supported_languages(response)
+ self.assertEqual(type(languages), dict)
+ self.assertEqual(len(languages), 0)
+
+ html = u"""
+ <html>
+ <body>
+ <table>
+ <tbody>
+ <tr>
+ <td>
+ <font>
+ <label>
+ <span id="ten">English</span>
+ </label>
+ </font>
+ </td>
+ <td>
+ <font>
+ <label>
+ <span id="tzh-CN">中文 (简体)</span>
+ </label>
+ <label>
+ <span id="tzh-TW">中文 (繁體)</span>
+ </label>
+ </font>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </body>
+ </html>
+ """
+ response = mock.Mock(text=html)
+ languages = google._fetch_supported_languages(response)
+ self.assertEqual(type(languages), dict)
+ self.assertEqual(len(languages), 3)
+
+ self.assertIn('en', languages)
+ self.assertIn('zh-CN', languages)
+ self.assertIn('zh-TW', languages)
+
+ self.assertEquals(type(languages['en']), dict)
+ self.assertEquals(type(languages['zh-CN']), dict)
+ self.assertEquals(type(languages['zh-TW']), dict)
+
+ self.assertIn('name', languages['en'])
+ self.assertIn('name', languages['zh-CN'])
+ self.assertIn('name', languages['zh-TW'])
+
+ self.assertEquals(languages['en']['name'], 'English')
+ self.assertEquals(languages['zh-CN']['name'], u'中文 (简体)')
+ self.assertEquals(languages['zh-TW']['name'], u'中文 (繁體)')
diff --git a/tests/unit/engines/test_swisscows.py b/tests/unit/engines/test_swisscows.py
@@ -126,3 +126,30 @@ class TestSwisscowsEngine(SearxTestCase):
self.assertEqual(results[2]['url'], 'http://de.wikipedia.org/wiki/Datei:This should.svg')
self.assertEqual(results[2]['img_src'], 'http://ts2.mm.This/should.png')
self.assertEqual(results[2]['template'], 'images.html')
+
+ def test_fetch_supported_languages(self):
+ html = """<html></html>"""
+ response = mock.Mock(text=html)
+ languages = swisscows._fetch_supported_languages(response)
+ self.assertEqual(type(languages), list)
+ self.assertEqual(len(languages), 0)
+
+ html = """
+ <html>
+ <div id="regions-popup">
+ <div>
+ <ul>
+ <li><a data-val="browser"></a></li>
+ <li><a data-val="de-CH"></a></li>
+ <li><a data-val="fr-CH"></a></li>
+ </ul>
+ </div>
+ </div>
+ </html>
+ """
+ response = mock.Mock(text=html)
+ languages = swisscows._fetch_supported_languages(response)
+ self.assertEqual(type(languages), list)
+ self.assertEqual(len(languages), 3)
+ self.assertIn('de-CH', languages)
+ self.assertIn('fr-CH', languages)
diff --git a/tests/unit/engines/test_wikipedia.py b/tests/unit/engines/test_wikipedia.py
@@ -164,3 +164,96 @@ class TestWikipediaEngine(SearxTestCase):
self.assertEqual(len(results), 2)
self.assertEqual(results[1]['infobox'], u'披頭四樂隊')
self.assertIn(u'披头士乐队...', results[1]['content'])
+
+ def test_fetch_supported_languages(self):
+ html = u"""<html></html>"""
+ response = mock.Mock(text=html)
+ languages = wikipedia._fetch_supported_languages(response)
+ self.assertEqual(type(languages), dict)
+ self.assertEqual(len(languages), 0)
+
+ html = u"""
+ <html>
+ <body>
+ <div>
+ <div>
+ <h3>Table header</h3>
+ <table class="sortable jquery-tablesorter">
+ <thead>
+ <tr>
+ <th>N</th>
+ <th>Language</th>
+ <th>Language (local)</th>
+ <th>Wiki</th>
+ <th>Articles</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>2</td>
+ <td><a>Swedish</a></td>
+ <td><a>Svenska</a></td>
+ <td><a>sv</a></td>
+ <td><a><b>3000000</b></a></td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td><a>Cebuano</a></td>
+ <td><a>Sinugboanong Binisaya</a></td>
+ <td><a>ceb</a></td>
+ <td><a><b>3000000</b></a></td>
+ </tr>
+ </tbody>
+ </table>
+ <h3>Table header</h3>
+ <table class="sortable jquery-tablesorter">
+ <thead>
+ <tr>
+ <th>N</th>
+ <th>Language</th>
+ <th>Language (local)</th>
+ <th>Wiki</th>
+ <th>Articles</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>2</td>
+ <td><a>Norwegian (Bokmål)</a></td>
+ <td><a>Norsk (Bokmål)</a></td>
+ <td><a>no</a></td>
+ <td><a><b>100000</b></a></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </body>
+ </html>
+ """
+ response = mock.Mock(text=html)
+ languages = wikipedia._fetch_supported_languages(response)
+ self.assertEqual(type(languages), dict)
+ self.assertEqual(len(languages), 3)
+
+ self.assertIn('sv', languages)
+ self.assertIn('ceb', languages)
+ self.assertIn('no', languages)
+
+ self.assertEqual(type(languages['sv']), dict)
+ self.assertEqual(type(languages['ceb']), dict)
+ self.assertEqual(type(languages['no']), dict)
+
+ self.assertIn('name', languages['sv'])
+ self.assertIn('english_name', languages['sv'])
+ self.assertIn('articles', languages['sv'])
+
+ self.assertEqual(languages['sv']['name'], 'Svenska')
+ self.assertEqual(languages['sv']['english_name'], 'Swedish')
+ self.assertEqual(languages['sv']['articles'], 3000000)
+ self.assertEqual(languages['ceb']['name'], 'Sinugboanong Binisaya')
+ self.assertEqual(languages['ceb']['english_name'], 'Cebuano')
+ self.assertEqual(languages['ceb']['articles'], 3000000)
+ self.assertEqual(languages['no']['name'], u'Norsk (Bokmål)')
+ self.assertEqual(languages['no']['english_name'], u'Norwegian (Bokmål)')
+ self.assertEqual(languages['no']['articles'], 100000)
diff --git a/tests/unit/engines/test_yahoo.py b/tests/unit/engines/test_yahoo.py
@@ -147,3 +147,33 @@ class TestYahooEngine(SearxTestCase):
results = yahoo.response(response)
self.assertEqual(type(results), list)
self.assertEqual(len(results), 0)
+
+ def test_fetch_supported_languages(self):
+ html = """<html></html>"""
+ response = mock.Mock(text=html)
+ results = yahoo._fetch_supported_languages(response)
+ self.assertEqual(type(results), list)
+ self.assertEqual(len(results), 0)
+
+ html = """
+ <html>
+ <div>
+ <div id="yschlang">
+ <span>
+ <label><input value="lang_ar"></input></label>
+ </span>
+ <span>
+ <label><input value="lang_zh_chs"></input></label>
+ <label><input value="lang_zh_cht"></input></label>
+ </span>
+ </div>
+ </div>
+ </html>
+ """
+ response = mock.Mock(text=html)
+ languages = yahoo._fetch_supported_languages(response)
+ self.assertEqual(type(languages), list)
+ self.assertEqual(len(languages), 3)
+ self.assertIn('ar', languages)
+ self.assertIn('zh-chs', languages)
+ self.assertIn('zh-cht', languages)
diff --git a/utils/fetch_languages.py b/utils/fetch_languages.py
@@ -84,7 +84,7 @@ def fetch_supported_languages():
# write json file
f = io.open(engines_languages_file, "w", encoding="utf-8")
- f.write(unicode(dumps(engines_languages, indent=4, ensure_ascii=False, encoding="utf-8")))
+ f.write(unicode(dumps(engines_languages, ensure_ascii=False, encoding="utf-8")))
f.close()
@@ -110,18 +110,22 @@ def join_language_lists():
else:
languages[locale] = {}
- # get locales that have no name yet
+ # get locales that have no name or country yet
for locale in languages.keys():
if not languages[locale].get('name'):
- # try to get language and country names
+ # try to get language names
name = languages.get(locale.split('-')[0], {}).get('name', None)
if name:
languages[locale]['name'] = name
- languages[locale]['country'] = get_country_name(locale) or ''
languages[locale]['english_name'] = languages.get(locale.split('-')[0], {}).get('english_name', '')
else:
# filter out locales with no name
del languages[locale]
+ continue
+
+ # try to get country name
+ if locale.find('-') > 0 and not languages[locale].get('country'):
+ languages[locale]['country'] = get_country_name(locale) or ''
# Remove countryless language if language is featured in only one country.