From effcde3d0ea18be713dd9d0a63669a547cb6011a Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sun, 3 Apr 2022 14:30:19 +0200 Subject: [PATCH] [fix] add missing territory (country) name Related-to: https://github.com/searxng/searxng/pull/1029#issuecomment-1086824911 Signed-off-by: Markus Heiser --- searx/languages.py | 54 +++++++++++++----------- searxng_extra/update/update_languages.py | 12 +++++- tests/unit/test_query.py | 2 +- 3 files changed, 41 insertions(+), 27 deletions(-) diff --git a/searx/languages.py b/searx/languages.py index 177a43bfe..e9f167103 100644 --- a/searx/languages.py +++ b/searx/languages.py @@ -2,11 +2,11 @@ # list of language codes # this file is generated automatically by utils/fetch_languages.py language_codes = ( - ('af-ZA', 'Afrikaans', '', 'Afrikaans', '\U0001f1ff\U0001f1e6'), - ('ar-EG', 'العربية', '', 'Arabic', '\U0001f1ea\U0001f1ec'), - ('be-BY', 'Беларуская', '', 'Belarusian', '\U0001f1e7\U0001f1fe'), + ('af-ZA', 'Afrikaans', 'Suid-Afrika', 'Afrikaans', '\U0001f1ff\U0001f1e6'), + ('ar-EG', 'العربية', 'مصر', 'Arabic', '\U0001f1ea\U0001f1ec'), + ('be-BY', 'Беларуская', 'Беларусь', 'Belarusian', '\U0001f1e7\U0001f1fe'), ('bg-BG', 'Български', 'България', 'Bulgarian', '\U0001f1e7\U0001f1ec'), - ('ca-ES', 'Català', '', 'Catalan', '\U0001f1ea\U0001f1f8'), + ('ca-ES', 'Català', 'Espanya', 'Catalan', '\U0001f1ea\U0001f1f8'), ('cs-CZ', 'Čeština', 'Česko', 'Czech', '\U0001f1e8\U0001f1ff'), ('da-DK', 'Dansk', 'Danmark', 'Danish', '\U0001f1e9\U0001f1f0'), ('de', 'Deutsch', '', 'German', '\U0001f310'), @@ -28,26 +28,30 @@ language_codes = ( ('es-ES', 'Español', 'España', 'Spanish', '\U0001f1ea\U0001f1f8'), ('es-MX', 'Español', 'México', 'Spanish', '\U0001f1f2\U0001f1fd'), ('et-EE', 'Eesti', 'Eesti', 'Estonian', '\U0001f1ea\U0001f1ea'), - ('fa-IR', 'فارسی', '', 'Persian', '\U0001f1ee\U0001f1f7'), + ('fa-IR', 'فارسی', 'ایران', 'Persian', '\U0001f1ee\U0001f1f7'), ('fi-FI', 'Suomi', 'Suomi', 'Finnish', '\U0001f1eb\U0001f1ee'), - ('fil-PH', 'Filipino', '', 'Filipino', '\U0001f1f5\U0001f1ed'), + ('fil-PH', 'Filipino', 'Pilipinas', 'Filipino', '\U0001f1f5\U0001f1ed'), ('fr', 'Français', '', 'French', '\U0001f310'), ('fr-BE', 'Français', 'Belgique', 'French', '\U0001f1e7\U0001f1ea'), ('fr-CA', 'Français', 'Canada', 'French', '\U0001f1e8\U0001f1e6'), ('fr-CH', 'Français', 'Suisse', 'French', '\U0001f1e8\U0001f1ed'), ('fr-FR', 'Français', 'France', 'French', '\U0001f1eb\U0001f1f7'), - ('he-IL', 'עברית', '', 'Hebrew', '\U0001f1ee\U0001f1f1'), - ('hi-IN', 'हिन्दी', '', 'Hindi', '\U0001f1ee\U0001f1f3'), - ('hr-HR', 'Hrvatski', '', 'Croatian', '\U0001f1ed\U0001f1f7'), + ('he-IL', 'עברית', 'ישראל', 'Hebrew', '\U0001f1ee\U0001f1f1'), + ('hi-IN', 'हिन्दी', 'भारत', 'Hindi', '\U0001f1ee\U0001f1f3'), + ('hr-HR', 'Hrvatski', 'Hrvatska', 'Croatian', '\U0001f1ed\U0001f1f7'), ('hu-HU', 'Magyar', 'Magyarország', 'Hungarian', '\U0001f1ed\U0001f1fa'), - ('id-ID', 'Indonesia', '', 'Indonesian', '\U0001f1ee\U0001f1e9'), - ('is-IS', 'Íslenska', '', 'Icelandic', '\U0001f1ee\U0001f1f8'), + ('id-ID', 'Indonesia', 'Indonesia', 'Indonesian', '\U0001f1ee\U0001f1e9'), + ('is-IS', 'Íslenska', 'Ísland', 'Icelandic', '\U0001f1ee\U0001f1f8'), ('it-IT', 'Italiano', 'Italia', 'Italian', '\U0001f1ee\U0001f1f9'), - ('ja-JP', '日本語', '', 'Japanese', '\U0001f1ef\U0001f1f5'), - ('ko-KR', '한국어', '', 'Korean', '\U0001f1f0\U0001f1f7'), - ('lt-LT', 'Lietuvių', '', 'Lithuanian', '\U0001f1f1\U0001f1f9'), - ('lv-LV', 'Latviešu', '', 'Latvian', '\U0001f1f1\U0001f1fb'), - ('nb-NO', 'Norsk Bokmål', '', 'Norwegian Bokmål', '\U0001f1f3\U0001f1f4'), + ('ja-JP', '日本語', '日本', 'Japanese', '\U0001f1ef\U0001f1f5'), + ('ko-KR', '한국어', '대한민국', 'Korean', '\U0001f1f0\U0001f1f7'), + ('lt-LT', 'Lietuvių', 'Lietuva', 'Lithuanian', '\U0001f1f1\U0001f1f9'), + ('lv-LV', 'Latviešu', 'Latvija', 'Latvian', '\U0001f1f1\U0001f1fb'), + ( 'nb-NO', + 'Norsk Bokmål', + 'Norge', + 'Norwegian Bokmål', + '\U0001f1f3\U0001f1f4'), ('nl', 'Nederlands', '', 'Dutch', '\U0001f310'), ('nl-BE', 'Nederlands', 'België', 'Dutch', '\U0001f1e7\U0001f1ea'), ('nl-NL', 'Nederlands', 'Nederland', 'Dutch', '\U0001f1f3\U0001f1f1'), @@ -56,16 +60,16 @@ language_codes = ( ('pt-BR', 'Português', 'Brasil', 'Portuguese', '\U0001f1e7\U0001f1f7'), ('pt-PT', 'Português', 'Portugal', 'Portuguese', '\U0001f1f5\U0001f1f9'), ('ro-RO', 'Română', 'România', 'Romanian', '\U0001f1f7\U0001f1f4'), - ('ru-RU', 'Русский', '', 'Russian', '\U0001f1f7\U0001f1fa'), - ('sk-SK', 'Slovenčina', '', 'Slovak', '\U0001f1f8\U0001f1f0'), - ('sl-SI', 'Slovenščina', '', 'Slovenian', '\U0001f1f8\U0001f1ee'), - ('sr-RS', 'Српски', '', 'Serbian', '\U0001f1f7\U0001f1f8'), + ('ru-RU', 'Русский', 'Россия', 'Russian', '\U0001f1f7\U0001f1fa'), + ('sk-SK', 'Slovenčina', 'Slovensko', 'Slovak', '\U0001f1f8\U0001f1f0'), + ('sl-SI', 'Slovenščina', 'Slovenija', 'Slovenian', '\U0001f1f8\U0001f1ee'), + ('sr-RS', 'Српски', 'Србија', 'Serbian', '\U0001f1f7\U0001f1f8'), ('sv-SE', 'Svenska', 'Sverige', 'Swedish', '\U0001f1f8\U0001f1ea'), - ('sw-TZ', 'Kiswahili', '', 'Swahili', '\U0001f1f9\U0001f1ff'), - ('th-TH', 'ไทย', '', 'Thai', '\U0001f1f9\U0001f1ed'), - ('tr-TR', 'Türkçe', '', 'Turkish', '\U0001f1f9\U0001f1f7'), - ('uk-UA', 'Українська', '', 'Ukrainian', '\U0001f1fa\U0001f1e6'), - ('vi-VN', 'Tiếng Việt', '', 'Vietnamese', '\U0001f1fb\U0001f1f3'), + ('sw-TZ', 'Kiswahili', 'Tanzania', 'Swahili', '\U0001f1f9\U0001f1ff'), + ('th-TH', 'ไทย', 'ไทย', 'Thai', '\U0001f1f9\U0001f1ed'), + ('tr-TR', 'Türkçe', 'Türkiye', 'Turkish', '\U0001f1f9\U0001f1f7'), + ('uk-UA', 'Українська', 'Україна', 'Ukrainian', '\U0001f1fa\U0001f1e6'), + ('vi-VN', 'Tiếng Việt', 'Việt Nam', 'Vietnamese', '\U0001f1fb\U0001f1f3'), ('zh', '中文', '', 'Chinese', '\U0001f310'), ('zh-CN', '中文', '中国', 'Chinese', '\U0001f1e8\U0001f1f3'), ('zh-HK', '中文', '中國香港特別行政區', 'Chinese', '\U0001f1ed\U0001f1f0'), diff --git a/searxng_extra/update/update_languages.py b/searxng_extra/update/update_languages.py index 92083f39f..95ee5bd3e 100755 --- a/searxng_extra/update/update_languages.py +++ b/searxng_extra/update/update_languages.py @@ -113,6 +113,16 @@ def get_unicode_flag(lang_code): return c1 + c2 +def get_territory_name(lang_code): + country_name = None + locale = get_locale(lang_code) + try: + country_name = locale.get_territory_name() + except FileNotFoundError as exc: + print("ERROR: %s --> %s" % (locale, exc)) + return country_name + + # Join all language lists. def join_language_lists(engines_languages): language_list = {} @@ -274,7 +284,7 @@ def write_languages_file(languages): item = ( code, languages[code]['name'].split(' (')[0], - languages[code].get('country_name') or '', + get_territory_name(code) or '', languages[code].get('english_name') or '', UnicodeEscape(flag), ) diff --git a/tests/unit/test_query.py b/tests/unit/test_query.py index 05fcafe30..0bbf8b4ba 100644 --- a/tests/unit/test_query.py +++ b/tests/unit/test_query.py @@ -130,7 +130,7 @@ class TestLanguageParser(SearxTestCase): self.assertEqual(query.autocomplete_list, [":hu-hu"]) query = RawTextQuery(':v', []) - self.assertEqual(query.autocomplete_list, [":vi", ":tiếng việt"]) + self.assertEqual(query.autocomplete_list, [':vi', ':tiếng việt', ':việt_nam']) class TestTimeoutParser(SearxTestCase):