[fix] move locale code from webapp.py to locales.py and fix #1303

To improve modularization this patch:

- moves *locale* related implementation from the webapp.py application to the
  locale.py module.

- The initialization of the locales is now done in the application (webapp) and
  is no longer done while importing searx.locales.

In the searx.locales module a new dictionary named `LOCALE_BEST_MATCH` has been
added.  In this dictionary we can map languages without a translation to
languages we have a translation for.

To fix #1303 zh-HK has been mapped to zh-Hant-TW (we do not need additional
translations of traditional Chinese)

Closes: https://github.com/searxng/searxng/issues/1303
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser 2022-06-10 17:01:12 +02:00
parent 59ef9b9287
commit ad964562ce
3 changed files with 129 additions and 78 deletions

View file

@ -1,3 +1,4 @@
from searx.locales import locales_initialize
from searx.preferences import (
EnumStringSetting,
MapSetting,
@ -8,6 +9,8 @@ from searx.preferences import (
)
from tests import SearxTestCase
locales_initialize()
class PluginStub:
def __init__(self, plugin_id, default_on):