feat: Multilanguage sites: language selector only will show "enabled" languages and language default always will be System default (#17745) (#17766)

* feat: Select only enabled languages for "language selector", and use System Settings lang as default one

[skip ci]

(cherry picked from commit e5b8a47835d22b7834865324d30d796bb3031dd5)

Co-authored-by: Development for People <47140294+developmentforpeople@users.noreply.github.com>
This commit is contained in:
mergify[bot] 2022-08-09 14:57:48 +05:30 committed by GitHub
parent 42debec094
commit cde6755aff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -99,8 +99,8 @@ def get_language(lang_list: list = None) -> str:
if parent_language in lang_set:
return parent_language
# fallback to language set in User or System Settings
return frappe.local.lang
# fallback to language set in System Settings or "en"
return frappe.db.get_default("lang") or "en"
@functools.lru_cache
@ -1270,13 +1270,13 @@ def get_translator_url():
@frappe.whitelist(allow_guest=True)
def get_all_languages(with_language_name=False):
"""Returns all language codes ar, ch etc"""
"""Returns all enabled language codes ar, ch etc"""
def get_language_codes():
return frappe.get_all("Language", pluck="name")
return frappe.get_all("Language", filters={"enabled": 1}, pluck="name")
def get_all_language_with_name():
return frappe.db.get_all("Language", ["language_code", "language_name"])
return frappe.get_all("Language", ["language_code", "language_name"], {"enabled": 1})
if not frappe.db:
frappe.connect()