From a8fadb27857f816bd70454e5be4c8e18ebc06807 Mon Sep 17 00:00:00 2001 From: pycook Date: Thu, 19 Jun 2025 12:46:24 +0800 Subject: [PATCH] feat(api): add system language api --- .../views/common_setting/system_language.py | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 cmdb-api/api/views/common_setting/system_language.py diff --git a/cmdb-api/api/views/common_setting/system_language.py b/cmdb-api/api/views/common_setting/system_language.py new file mode 100644 index 0000000..d9defc3 --- /dev/null +++ b/cmdb-api/api/views/common_setting/system_language.py @@ -0,0 +1,37 @@ +import os + +from api.resource import APIView +from api.lib.perm.auth import auth_abandoned + +prefix = "/system" + + +class SystemLanguageView(APIView): + url_prefix = (f"{prefix}/language",) + + method_decorators = [] + + @auth_abandoned + def get(self): + """Get system default language + Read from environment variable SYSTEM_DEFAULT_LANGUAGE, default to Chinese if not set + """ + default_language = os.environ.get("SYSTEM_DEFAULT_LANGUAGE", "") + + return self.jsonify( + { + "language": default_language, + "language_name": self._get_language_name(default_language), + } + ) + + def _get_language_name(self, language_code): + """Return language name based on language code""" + language_mapping = { + "zh-CN": "中文(简体)", + "zh-TW": "中文(繁体)", + "en-US": "English", + "ja-JP": "日本語", + "ko-KR": "한국어", + } + return language_mapping.get(language_code, "")