进一步的 kvmd 国际化(汉化)支持,添加配置入口

yaml 配置示例:
```
languages:
    console: zh
    web: zh
```
This commit is contained in:
mofeng-git
2024-08-14 22:54:12 +08:00
parent 5b25b3661f
commit 35397c5414
47 changed files with 567 additions and 181 deletions

18
kvmd/languages.py Normal file
View File

@@ -0,0 +1,18 @@
from gettext import translation
class Languages:
use_ttranslation = None
languages = "default"
@classmethod
def gettext(cls, string: str) -> str:
if cls.languages == "default" or cls.languages == "en" :
return string
else:
return cls.use_ttranslation(string)
@classmethod
def init(cls, domain:str, localedir: str, languages: str) -> None:
cls.languages = languages
cls.use_ttranslation = translation(domain=domain, localedir=localedir, languages=[cls.languages]).gettext