Skip to content

Commit a8fadb2

Browse files
committed
feat(api): add system language api
1 parent 72c37c9 commit a8fadb2

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import os
2+
3+
from api.resource import APIView
4+
from api.lib.perm.auth import auth_abandoned
5+
6+
prefix = "/system"
7+
8+
9+
class SystemLanguageView(APIView):
10+
url_prefix = (f"{prefix}/language",)
11+
12+
method_decorators = []
13+
14+
@auth_abandoned
15+
def get(self):
16+
"""Get system default language
17+
Read from environment variable SYSTEM_DEFAULT_LANGUAGE, default to Chinese if not set
18+
"""
19+
default_language = os.environ.get("SYSTEM_DEFAULT_LANGUAGE", "")
20+
21+
return self.jsonify(
22+
{
23+
"language": default_language,
24+
"language_name": self._get_language_name(default_language),
25+
}
26+
)
27+
28+
def _get_language_name(self, language_code):
29+
"""Return language name based on language code"""
30+
language_mapping = {
31+
"zh-CN": "中文(简体)",
32+
"zh-TW": "中文(繁体)",
33+
"en-US": "English",
34+
"ja-JP": "日本語",
35+
"ko-KR": "한국어",
36+
}
37+
return language_mapping.get(language_code, "")

0 commit comments

Comments
 (0)