diff --git a/core/i18n/__init__.py b/core/i18n/__init__.py deleted file mode 100644 index 924ce3a7..00000000 --- a/core/i18n/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -import json -import os - -from core.elements import MessageSession -from database import BotDBUtil - - -class BotI18n: - storage = {} - languages = [] - uselang = 'zh_cn' - session = {} - - def __init__(self, msg: MessageSession): - BotI18n.session = msg - files = os.listdir(os.path.abspath('./core/i18n/lang/')) - for lang in files: - obj = json.load(open('./core/i18n/lang/' + lang, 'r')) - name = lang.split('.')[0] - BotI18n.languages.append(name) - BotI18n.storage[name] = obj - - for module in BotDBUtil.Module(msg).enable_modules_list: - if module.startswith('_lang_'): - BotI18n.uselang = module.strip('_lang_') - break - else: - continue - - @classmethod - def get_string(self, key: str): - strings = BotI18n.storage[BotI18n.uselang] - if key in strings: - return strings[key] - else: - fallbacks = strings['__metadata__']['fallback'] - for fallback in fallbacks: - fallbacked = False - fallback_strings = BotI18n.storage[fallback] - if key in fallback_strings: - fallbacked = True - return fallback_strings[key] - else: - continue - if not fallbacked: - return key - - @classmethod - def set_language(self, target): - module_session = BotDBUtil.Module(BotI18n.session) - BotI18n.uselang = target - module_session.disable(f'_lang_{BotI18n.uselang}') - module_session.enable(f'_lang_{target}') diff --git a/core/i18n/lang/en_us.json b/core/i18n/lang/en_us.json deleted file mode 100644 index 323ebda2..00000000 --- a/core/i18n/lang/en_us.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "en": "1" -} diff --git a/core/i18n/lang/zh_cn.json b/core/i18n/lang/zh_cn.json deleted file mode 100644 index 67b5ecd2..00000000 --- a/core/i18n/lang/zh_cn.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "en": "0" -} \ No newline at end of file diff --git a/modules/lang/__init__.py b/modules/lang/__init__.py deleted file mode 100644 index 64106278..00000000 --- a/modules/lang/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -from core.elements import MessageSession -from core.i18n import BotI18n -from core.loader.decorator import command - - -@command('lang', ('i18n', 'language', 'languages'), ( - '~lang {获取当前语言}', - '~lang set {设置群组使用语言}', - '~lang get {获取指定字符串}'), - need_admin=True, is_base_function=True - ) -async def lang(msg: MessageSession): - i18n = BotI18n(msg) - if msg.parsed_msg is None: - await msg.sendMessage(i18n.uselang) - elif msg.parsed_msg['set']: - i18n.set_language(msg.parsed_msg['']) - await msg.sendMessage('设置成功。') - elif msg.parsed_msg['get']: - await msg.sendMessage(i18n.get_string(msg.parsed_msg['']))