Danielzero/GPT3.5
1
1import os2import locale3import commentjson as json4 5class I18nAuto:6 def __init__(self):7 if os.path.exists("config.json"):8 with open("config.json", "r", encoding='utf-8') as f:9 config = json.load(f)10 else:11 config = {}12 lang_config = config.get("language", "auto")13 language = os.environ.get("LANGUAGE", lang_config)14 if language == "auto":15 language = locale.getdefaultlocale()[0] # get the language code of the system (ex. zh_CN)16 self.language_map = {}17 self.file_is_exists = os.path.isfile(f"./locale/{language}.json")18 if self.file_is_exists:19 with open(f"./locale/{language}.json", "r", encoding="utf-8") as f:20 self.language_map.update(json.load(f))21 22 def __call__(self, key):23 if self.file_is_exists and key in self.language_map:24 return self.language_map[key]25 else:26 return key27 