diff --git a/src/liteyuki_main/dev.py b/src/liteyuki_main/dev.py index e442754..72eb330 100644 --- a/src/liteyuki_main/dev.py +++ b/src/liteyuki_main/dev.py @@ -22,7 +22,7 @@ if get_config("debug", False): "resources", ) - nonebot.logger.info("Liteyuki Reload is enable, watching for file changes...") + nonebot.logger.info("Liteyuki Reload enabled, watching for file changes...") class CodeModifiedHandler(FileSystemEventHandler): diff --git a/src/plugins/liteyuki_status/api.py b/src/plugins/liteyuki_status/api.py index b5791ce..4c39352 100644 --- a/src/plugins/liteyuki_status/api.py +++ b/src/plugins/liteyuki_status/api.py @@ -23,12 +23,12 @@ from nonebot_plugin_apscheduler import scheduler commit_hash = Repo(".").head.commit.hexsha protocol_names = { - 0: "iPad", - 1: "Android Phone", - 2: "Android Watch", - 3: "Mac", - 5: "iPad", - 6: "Android Pad", + 0: "iPad", + 1: "Android Phone", + 2: "Android Watch", + 3: "Mac", + 5: "iPad", + 6: "Android Pad", } """ @@ -67,73 +67,74 @@ status_card_cache = {} # lang -> bytes # 60s刷新一次 +# 之前写的什么鬼玩意,这么重要的功能这样写??? @scheduler.scheduled_job("cron", second="*/40") -async def refresh_status_card(): - nonebot.logger.debug("Refreshing status card cache...") +async def refresh_status_card(languale: str = "zh-CN"): + nonebot.logger.debug("Refreshing status card cache of lang {}...".format(languale)) global status_card_cache - bot_data = await get_bots_data() - hardware_data = await get_hardware_data() - liteyuki_data = await get_liteyuki_data() - for lang in status_card_cache.keys(): - status_card_cache[lang] = await generate_status_card( - bot_data, - hardware_data, - liteyuki_data, - lang=lang, - use_cache=False - ) + status_card_cache = {} + # bot_data = await get_bots_data() + # hardware_data = await get_hardware_data() + # liteyuki_data = await get_liteyuki_data() + # for lang in status_card_cache.keys(): + # status_card_cache[lang] = await generate_status_card( + # bot_data, + # hardware_data, + # liteyuki_data, + # lang=lang, + # use_cache=False + # ) -async def generate_status_card(bot: dict, hardware: dict, liteyuki: dict, lang="zh-CN", bot_id="0", - use_cache=False - ) -> bytes: - if not use_cache: - return await template2image( - get_path("templates/status.html", abs_path=True), - { - "data": { - "bot" : bot, - "hardware" : hardware, - "liteyuki" : liteyuki, - "localization": get_local_data(lang) - } - }, - ) - else: - if lang not in status_card_cache: - status_card_cache[lang] = await generate_status_card(bot, hardware, liteyuki, lang=lang, bot_id=bot_id) - return status_card_cache[lang] +# 获取状态卡片 +# bot_id 参数已经是bot参数的一部分了,不需要保留,但为了“兼容性”…… +async def generate_status_card( + bot: dict, + hardware: dict, + liteyuki: dict, + lang="zh-CN", + bot_id="0", +) -> bytes: + return await template2image( + get_path("templates/status.html", abs_path=True), + { + "data": { + "bot": bot, + "hardware": hardware, + "liteyuki": liteyuki, + "localization": get_local_data(lang), + } + }, + ) def get_local_data(lang_code) -> dict: lang = Language(lang_code) return { - "friends" : lang.get("status.friends"), - "groups" : lang.get("status.groups"), - "plugins" : lang.get("status.plugins"), - "bots" : lang.get("status.bots"), - "message_sent" : lang.get("status.message_sent"), - "message_received": lang.get("status.message_received"), - "cpu" : lang.get("status.cpu"), - "memory" : lang.get("status.memory"), - "swap" : lang.get("status.swap"), - "disk" : lang.get("status.disk"), - - "usage" : lang.get("status.usage"), - "total" : lang.get("status.total"), - "used" : lang.get("status.used"), - "free" : lang.get("status.free"), - - "days" : lang.get("status.days"), - "hours" : lang.get("status.hours"), - "minutes" : lang.get("status.minutes"), - "seconds" : lang.get("status.seconds"), - "runtime" : lang.get("status.runtime"), - "threads" : lang.get("status.threads"), - "cores" : lang.get("status.cores"), - "process" : lang.get("status.process"), - "resources" : lang.get("status.resources"), - "description" : lang.get("status.description"), + "friends": lang.get("status.friends"), + "groups": lang.get("status.groups"), + "plugins": lang.get("status.plugins"), + "bots": lang.get("status.bots"), + "message_sent": lang.get("status.message_sent"), + "message_received": lang.get("status.message_received"), + "cpu": lang.get("status.cpu"), + "memory": lang.get("status.memory"), + "swap": lang.get("status.swap"), + "disk": lang.get("status.disk"), + "usage": lang.get("status.usage"), + "total": lang.get("status.total"), + "used": lang.get("status.used"), + "free": lang.get("status.free"), + "days": lang.get("status.days"), + "hours": lang.get("status.hours"), + "minutes": lang.get("status.minutes"), + "seconds": lang.get("status.seconds"), + "runtime": lang.get("status.runtime"), + "threads": lang.get("status.threads"), + "cores": lang.get("status.cores"), + "process": lang.get("status.process"), + "resources": lang.get("status.resources"), + "description": lang.get("status.description"), } @@ -142,8 +143,8 @@ async def get_bots_data(self_id: str = "0") -> dict: Returns: """ result = { - "self_id": self_id, - "bots" : [], + "self_id": self_id, + "bots": [], } for bot_id, bot in nonebot.get_bots().items(): groups = 0 @@ -181,15 +182,25 @@ async def get_bots_data(self_id: str = "0") -> dict: else: icon = None bot_data = { - "name" : bot_name, - "icon" : icon, - "id" : bot_id, - "protocol_name" : protocol_names.get(version_info.get("protocol_name"), "Online"), - "groups" : groups, - "friends" : friends, - "message_sent" : satori_counter.msg_sent if isinstance(bot, satori.Bot) else statistics.get("message_sent", 0), - "message_received": satori_counter.msg_received if isinstance(bot, satori.Bot) else statistics.get("message_received", 0), - "app_name" : app_name + "name": bot_name, + "icon": icon, + "id": bot_id, + "protocol_name": protocol_names.get( + version_info.get("protocol_name"), "Online" + ), + "groups": groups, + "friends": friends, + "message_sent": ( + satori_counter.msg_sent + if isinstance(bot, satori.Bot) + else statistics.get("message_sent", 0) + ), + "message_received": ( + satori_counter.msg_received + if isinstance(bot, satori.Bot) + else statistics.get("message_received", 0) + ), + "app_name": app_name, } result["bots"].append(bot_data) @@ -221,27 +232,27 @@ async def get_hardware_data() -> dict: else: brand = "Unknown" result = { - "cpu" : { - "percent": psutil.cpu_percent(), - "name" : f"{brand} {cpuinfo.get_cpu_info().get('arch', 'Unknown')}", - "cores" : psutil.cpu_count(logical=False), - "threads": psutil.cpu_count(logical=True), - "freq" : psutil.cpu_freq().current # MHz - }, - "memory": { - "percent" : mem.percent, - "total" : mem.total, - "used" : mem.used, - "free" : mem.free, - "usedProcess": mem_used_process, - }, - "swap" : { - "percent": swap.percent, - "total" : swap.total, - "used" : swap.used, - "free" : swap.free - }, - "disk" : [], + "cpu": { + "percent": psutil.cpu_percent(), + "name": f"{brand} {cpuinfo.get_cpu_info().get('arch', 'Unknown')}", + "cores": psutil.cpu_count(logical=False), + "threads": psutil.cpu_count(logical=True), + "freq": psutil.cpu_freq().current, # MHz + }, + "memory": { + "percent": mem.percent, + "total": mem.total, + "used": mem.used, + "free": mem.free, + "usedProcess": mem_used_process, + }, + "swap": { + "percent": swap.percent, + "total": swap.total, + "used": swap.used, + "free": swap.free, + }, + "disk": [], } for disk in psutil.disk_partitions(all=True): @@ -249,13 +260,15 @@ async def get_hardware_data() -> dict: disk_usage = psutil.disk_usage(disk.mountpoint) if disk_usage.total == 0: continue # 虚拟磁盘 - result["disk"].append({ - "name" : disk.mountpoint, + result["disk"].append( + { + "name": disk.mountpoint, "percent": disk_usage.percent, - "total" : disk_usage.total, - "used" : disk_usage.used, - "free" : disk_usage.free - }) + "total": disk_usage.total, + "used": disk_usage.used, + "free": disk_usage.free, + } + ) except: pass @@ -265,14 +278,15 @@ async def get_hardware_data() -> dict: async def get_liteyuki_data() -> dict: temp_data: TempConfig = common_db.where_one(TempConfig(), default=TempConfig()) result = { - "name" : list(get_config("nickname", [__NAME__]))[0], - "version" : f"{__VERSION__}{'-' + commit_hash[:7] if (commit_hash and len(commit_hash) > 8) else ''}", - "plugins" : len(nonebot.get_loaded_plugins()), - "resources": len(get_loaded_resource_packs()), - "nonebot" : f"{nonebot.__version__}", - "python" : f"{platform.python_implementation()} {platform.python_version()}", - "system" : f"{platform.system()} {platform.release()}", - "runtime" : time.time() - temp_data.data.get("start_time", time.time()), # 运行时间秒数 - "bots" : len(nonebot.get_bots()) + "name": list(get_config("nickname", [__NAME__]))[0], + "version": f"{__VERSION__}{'-' + commit_hash[:7] if (commit_hash and len(commit_hash) > 8) else ''}", + "plugins": len(nonebot.get_loaded_plugins()), + "resources": len(get_loaded_resource_packs()), + "nonebot": f"{nonebot.__version__}", + "python": f"{platform.python_implementation()} {platform.python_version()}", + "system": f"{platform.system()} {platform.release()}", + "runtime": time.time() + - temp_data.data.get("start_time", time.time()), # 运行时间秒数 + "bots": len(nonebot.get_bots()), } return result diff --git a/src/plugins/liteyuki_status/status.py b/src/plugins/liteyuki_status/status.py index f8d418c..c98fc2e 100644 --- a/src/plugins/liteyuki_status/status.py +++ b/src/plugins/liteyuki_status/status.py @@ -17,7 +17,7 @@ status_alc = on_alconna( Subcommand( "process", alias={"proc", "p", "进程"}, - ) + ), ), ) @@ -25,17 +25,15 @@ status_alc = on_alconna( @status_alc.handle() async def _(event: T_MessageEvent, bot: T_Bot): ulang = get_user_lang(event_utils.get_user_id(event)) - if ulang.lang_code in status_card_cache: - image = status_card_cache[ulang.lang_code] - else: - image = await generate_status_card( + if ulang.lang_code not in status_card_cache.keys(): + status_card_cache[ulang.lang_code] = await generate_status_card( bot=await get_bots_data(), hardware=await get_hardware_data(), liteyuki=await get_liteyuki_data(), lang=ulang.lang_code, bot_id=bot.self_id, - use_cache=True ) + image = status_card_cache[ulang.lang_code] await status_alc.finish(UniMessage.image(raw=image)) diff --git a/src/resources/vanilla_language/lang/de.lang b/src/resources/vanilla_language/lang/de.lang index f01fbfa..26c305f 100644 --- a/src/resources/vanilla_language/lang/de.lang +++ b/src/resources/vanilla_language/lang/de.lang @@ -103,7 +103,6 @@ npm.update_index=Plugin-Index aktualisieren npm.list_plugins=Plugin-Liste npm.disable_session=Plugin für aktuelle Sitzung deaktivieren npm.enable_session=Plugin für aktuelle Sitzung aktivieren -npm.help=Hilfe npm.search=Suche user.profile.edit=Bearbeiten diff --git a/src/resources/vanilla_language/lang/en.lang b/src/resources/vanilla_language/lang/en.lang index c1f856c..8c31470 100644 --- a/src/resources/vanilla_language/lang/en.lang +++ b/src/resources/vanilla_language/lang/en.lang @@ -103,7 +103,6 @@ npm.update_index=Update Plugin Index npm.list_plugins=Plugin List npm.disable_session=Disable plugin for current session npm.enable_session=Enable plugin for current session -npm.help=Help npm.search=Search user.profile.edit=Edit diff --git a/src/resources/vanilla_language/lang/es.lang b/src/resources/vanilla_language/lang/es.lang index 001bb72..463c280 100644 --- a/src/resources/vanilla_language/lang/es.lang +++ b/src/resources/vanilla_language/lang/es.lang @@ -103,7 +103,6 @@ npm.update_index=Actualizar el Índice del Plugin npm.list_plugins=Lista de Plugins npm.disable_session=Desactivar sesión actual npm.enable_session=Activar sesión actual -npm.help=Ayuda npm.search=Búsqueda user.profile.edit=Editar diff --git a/src/resources/vanilla_language/lang/fr.lang b/src/resources/vanilla_language/lang/fr.lang index 281f0bb..c74f29c 100644 --- a/src/resources/vanilla_language/lang/fr.lang +++ b/src/resources/vanilla_language/lang/fr.lang @@ -103,7 +103,6 @@ npm.update_index=Mise à jour de l'index des plugins npm.list_plugins=Liste des plugins npm.disable_session=Désactivation des plugins pour cette session npm.enable_session=Activation des plugins pour cette session -npm.help=Aide npm.search=Recherche user.profile.edit=Modifier diff --git a/src/resources/vanilla_language/lang/ja.lang b/src/resources/vanilla_language/lang/ja.lang index 2ebebe6..bc4dd33 100644 --- a/src/resources/vanilla_language/lang/ja.lang +++ b/src/resources/vanilla_language/lang/ja.lang @@ -103,7 +103,6 @@ npm.update_index=プラグインインデックスを更新 npm.list_plugins=プラグイン一覧 npm.disable_session=セッション中にプラグインを無効にしました npm.enable_session=セッション中にプラグインを有効にしました -npm.help=ヘルプ npm.search=検索 user.profile.edit=編集 diff --git a/src/resources/vanilla_language/lang/ko.lang b/src/resources/vanilla_language/lang/ko.lang index 609b494..1a8e83a 100644 --- a/src/resources/vanilla_language/lang/ko.lang +++ b/src/resources/vanilla_language/lang/ko.lang @@ -103,7 +103,6 @@ npm.update_index=플러그인 인덱스 업데이트 npm.list_plugins=플러그인 목록 npm.disable_session=현재 세션에서 플러그인을 비활성화합니다. npm.enable_session=현재 세션에서 플러그인을 활성화합니다. -npm.help=도움말 npm.search=검색 user.profile.edit=수정 diff --git a/src/resources/vanilla_language/lang/ru.lang b/src/resources/vanilla_language/lang/ru.lang index ffd4c1a..22f694b 100644 --- a/src/resources/vanilla_language/lang/ru.lang +++ b/src/resources/vanilla_language/lang/ru.lang @@ -103,7 +103,6 @@ npm.update_index=Обновить индекс плагинов npm.list_plugins=Список плагинов npm.disable_session=Отключить плагины для текущей сессии npm.enable_session=Включить плагины для текущей сессии -npm.help=Помощь npm.search=Поиск user.profile.edit=Редактировать diff --git a/src/resources/vanilla_language/lang/zh-CN.lang b/src/resources/vanilla_language/lang/zh-CN.lang index b994116..d419752 100644 --- a/src/resources/vanilla_language/lang/zh-CN.lang +++ b/src/resources/vanilla_language/lang/zh-CN.lang @@ -103,7 +103,6 @@ npm.update_index=更新插件索引 npm.list_plugins=插件列表 npm.disable_session=当前会话停用插件 npm.enable_session=当前会话启用插件 -npm.help=帮助 npm.search=搜索 user.profile.edit=修改 diff --git a/src/resources/vanilla_language/lang/zh-HK.lang b/src/resources/vanilla_language/lang/zh-HK.lang index 867b90f..de108fa 100644 --- a/src/resources/vanilla_language/lang/zh-HK.lang +++ b/src/resources/vanilla_language/lang/zh-HK.lang @@ -103,7 +103,6 @@ npm.update_index=更新插件索引 npm.list_plugins=插件列表 npm.disable_session=當前會話停用插件 npm.enable_session=當前會話啟用插件 -npm.help=幫助 npm.search=搜索 user.profile.edit=修改 diff --git a/src/resources/vanilla_language/lang/zh-Kawaii.lang b/src/resources/vanilla_language/lang/zh-Kawaii.lang index 3d3f983..e2ec2c4 100644 --- a/src/resources/vanilla_language/lang/zh-Kawaii.lang +++ b/src/resources/vanilla_language/lang/zh-Kawaii.lang @@ -103,7 +103,6 @@ npm.update_index=更新插件索引 npm.list_plugins=插件列表 npm.disable_session=当前会话停用插件 npm.enable_session=当前会话启用插件 -npm.help=帮助 npm.search=搜索 user.profile.edit=修改 diff --git a/src/resources/vanilla_language/lang/zh-MS.lang b/src/resources/vanilla_language/lang/zh-MS.lang index 4a8b5b0..1687d61 100644 --- a/src/resources/vanilla_language/lang/zh-MS.lang +++ b/src/resources/vanilla_language/lang/zh-MS.lang @@ -7,10 +7,10 @@ log.error=错误错了 log.success=成功达成 liteyuki.restart=重新开始 -liteyuki.restart_now=立即重启 -liteyuki.update_restart=更新完成,你可以{RESTART}或稍后手动重启以应用这些更新 +liteyuki.restart_now=立即重开 +liteyuki.update_restart=更完成,你可以{RESTART}或稍后手动重开来开启这些新的法术 liteyuki.current_config=当前构建来袭 -liteyuki.static_config=静态设置 +liteyuki.static_config=规则设置 liteyuki.stored_config=存储的神秘宝藏 liteyuki.config_set_success=配置项 {KEY}={VAL} 非常有趣地设定成功 liteyuki.stats.group=群组 @@ -54,23 +54,23 @@ main.monitor.cpu=中国药科大学 main.monitor.memory=回忆 main.monitor.swap=换个地方 main.monitor.disk=神秘碟片 -main.monitor.usage=使用率 -main.monitor.total=总计 -main.monitor.used=已经被用掉了 +main.monitor.usage=使用 +main.monitor.total=满计 +main.monitor.used=已经被用光了 main.monitor.free=魔法保护中 data_manager.migrate_success=数据模型{NAME}成功变身 npm.loaded_plugins=魔法插件已经装载 -npm.total=总计 {TOTAL} 件奇怪的魔法 -npm.help=帮助 +npm.total=总统 {TOTAL} 件奇怪的魔法 +npm.help=助我一臂之力 npm.usage=使用法术 -npm.description=描述 -npm.disable=关闭 -npm.disable_global=全球关闭 -npm.enable=开启 -npm.enable_global=全球开启 -npm.install=安装 +npm.description=说一说 +npm.disable=停一停 +npm.disable_global=全球都停 +npm.enable=用一用 +npm.enable_global=全球都用 +npm.install=装一装 npm.uninstall=解除魔法 npm.installing=正在释放{name}的魔力 npm.cannot_uninstall=无法解除 @@ -91,9 +91,9 @@ npm.plugin_already_installed={NAME}已经附身,请勿重复释放 npm.author=法师 npm.homepage=魔法门 npm.pypi=PyPI -npm.next_page=前进 -npm.prev_page=后退 -npm.update=更新 +npm.next_page==进! +npm.prev_page=撤! +npm.update=新术 npm.plugin_cannot_be_toggled={NAME}咒语无法变化状态 npm.plugin_already={NAME}已经是{STATUS}状态,无需再次操作 npm.toggle_failed=咒语 {NAME} {STATUS} 失败:{ERROR} @@ -103,7 +103,6 @@ npm.update_index=更新法术索引 npm.list_plugins=咒语列表 npm.disable_session=当前会话中的咒语被屏蔽 npm.enable_session=当前会话中的咒语被解除屏蔽 -npm.help=帮助 npm.search=寻找黑暗中的宝藏 user.profile.edit=改变命运 @@ -145,15 +144,16 @@ status.cpu=中国药科大学 status.memory=回忆 status.swap=换个地方 status.disk=神秘碟片 -status.usage=使用率 -status.total=总计 +status.usage=使用 +status.total=满计 status.used=已经被用掉了 status.free=魔法保护中 status.runtime=时间流逝 -status.days=天 +status.days=日天 status.hours=小时 status.minutes=分钟 -status.seconds=秒 -status.cores=核心 -status.threads=线程 -status.process=进程 \ No newline at end of file +status.seconds=秒钟 +status.cores=精髓 +status.threads=螺纹 +status.process=工序 +status.description=轻雪秘法展示塔 \ No newline at end of file diff --git a/src/resources/vanilla_language/lang/zh-WY.lang b/src/resources/vanilla_language/lang/zh-WY.lang index fa24411..11d24ab 100644 --- a/src/resources/vanilla_language/lang/zh-WY.lang +++ b/src/resources/vanilla_language/lang/zh-WY.lang @@ -1,159 +1,159 @@ language.name=文言 -log.debug=觀其調 -log.info=見其訊 -log.warning=告之懼 -log.error=惡之誤 -log.success=喜之成 +log.debug=试言 +log.info=讯文 +log.warning=警示 +log.error=查误 +log.success=名成 -liteyuki.restart=復其初 -liteyuki.restart_now=即其初 -liteyuki.update_restart=更新既成,可{RESTART}或稍後手動復始以行是更新 -liteyuki.current_config=當前設之如左 -liteyuki.static_config=靜態設之 -liteyuki.stored_config=存之設也 -liteyuki.config_set_success=設之 {KEY}={VAL} 成焉 -liteyuki.stats.group=群 +liteyuki.restart=复启 +liteyuki.restart_now=即复启 +liteyuki.update_restart=新服既成,或{RESTART}于此,或待后躬行 +liteyuki.current_config=今规制如左 +liteyuki.static_config=机置规制 +liteyuki.stored_config=所贮规制 +liteyuki.config_set_success=乃令规制 {KEY} 为 {VAL} 而成焉 +liteyuki.stats.group=羣 liteyuki.stats.user=友 -liteyuki.stats.plugin=插 -liteyuki.stats.sent=遣 -liteyuki.stats.received=受 -liteyuki.stats.run_time=進行時 +liteyuki.stats.plugin=件 +liteyuki.stats.sent=即传 +liteyuki.stats.received=所受 +liteyuki.stats.run_time=所启时分 liteyuki.stats.groups=羣 liteyuki.stats.friends=友 -liteyuki.stats.plugins=插 -liteyuki.image_mode_on=開云標示式圖之術 -liteyuki.image_mode_off=閉云標示式圖之術 -liteyuki.invalid_command=無其可爲之語也 {TEXT} -liteyuki.reload_resources=重載資 -liteyuki.list_resources=資列表 -liteyuki.reload_resources_success=資重載成,資數 {NUM} 也 -liteyuki.loaded_resources=載資 {NUM},優先之次是 -liteyuki.unloaded_resources=資未載 -liteyuki.load_resource_success=資 {NAME} 載 -liteyuki.unload_resource_success=資 {NAME} 拔 -liteyuki.load_resource_failed=資 {NAME} 載失 -liteyuki.unload_resource_failed=資 {NAME} 拔失 -liteyuki.resource_not_found=資 {NAME} 不存或無爲 -liteyuki.resource_already_loaded=資 {NAME} 已載,勿復 -liteyuki.resource_already_unloaded=資 {NAME} 已拔,勿復 -liteyuki.need_reload=請{BTN}以行是更新 -liteyuki.dont_repeat=勿復行 -liteyuki.change_priority_success=資 {NAME} 優先成 -liteyuki.change_priority_failed=資 {NAME} 優先不成 -liteyuki.group_already=羣 {GROUP} 之狀已是 {STATUS} ,勿再行 -liteyuki.group_success=羣 {GROUP} {STATUS} 成 -liteyuki.permission_denied=權不及也 -liteyuki.config_remove_success=設 {KEY} 移 +liteyuki.stats.plugins=件 +liteyuki.image_mode_on=展圖之術 +liteyuki.image_mode_off=收圖之術 +liteyuki.invalid_command=彼 {TEXT} 之言无所指 +liteyuki.reload_resources=复誊件资 +liteyuki.list_resources=件资 +liteyuki.reload_resources_success=件资所誊即成,其数有 {NUM} +liteyuki.loaded_resources=誊件资 {NUM} 而循优先之次 +liteyuki.unloaded_resources=件资已去 +liteyuki.load_resource_success=件资曰 {NAME} 者,方誊成 +liteyuki.unload_resource_success=件资曰 {NAME} 者,方去也 +liteyuki.load_resource_failed=件资曰 {NAME} 者,无以誊 +liteyuki.unload_resource_failed=件资曰 {NAME} 者,无以去 +liteyuki.resource_not_found=件资曰 {NAME} 者,不可求 +liteyuki.resource_already_loaded=件资曰 {NAME} 者,方誊 +liteyuki.resource_already_unloaded=件资曰 {NAME} ,方去 +liteyuki.need_reload=谨{BTN}复誊以新 +liteyuki.dont_repeat=勿复行 +liteyuki.change_priority_success=方变件资曰 {NAME} 者优先之次 +liteyuki.change_priority_failed=件资曰 {NAME} 者优先之次无以变 +liteyuki.group_already=羣号曰 {GROUP} 者,已 {STATUS} ,勿复行 +liteyuki.group_success=羣号曰 {GROUP} 者,方 {STATUS} 成 +liteyuki.permission_denied=权不及也 +liteyuki.config_remove_success=规制 {KEY} 方去也 -main.current_language=當前言 {LANG} 爲是 -main.enable_webdash=啟網监塔: {URL} -main.monitor.title=輕雪監塔 -main.monitor.description=輕雪機之監塔 -main.monitor.cpu=中药科大学 -main.monitor.memory=懷 -main.monitor.swap=易 -main.monitor.disk=磁 -main.monitor.usage=用之 -main.monitor.total=總 -main.monitor.used=所用 -main.monitor.free=閑也 +main.current_language=往复四海皆蛮夷,惟我华夏泱泱。行见闻之广,无可匹敌。故而此番作 {LANG} 之文,以彰圣朝大德。 +main.enable_webdash=令 {URL} 为遥讯监司 +main.monitor.title=轻雪监司 +main.monitor.description=工造机巧曰轻雪者,今有司赏监察之大德,为其置一新衙,曰:轻雪监司 +main.monitor.cpu=央核之机 +main.monitor.memory=机置所存 +main.monitor.swap=变易之区 +main.monitor.disk=贮形长存 +main.monitor.usage=计用 +main.monitor.total=合 +main.monitor.used=占 +main.monitor.free=余 -data_manager.migrate_success=模{NAME}易 +data_manager.migrate_success=卷型曰 {NAME} 者,方易成 -npm.loaded_plugins=載插 -npm.total=总 {TOTAL} -npm.help=救 -npm.usage=法用 -npm.description=其形 -npm.disable=斷 -npm.disable_global=宇斷 -npm.enable=啟 -npm.enable_global=宇啟 -npm.install=法 -npm.uninstall=遣 -npm.installing=法 {NAME} 裝中 -npm.cannot_uninstall=法遣 -npm.no_description=无形 -npm.store_update_success=插庫成 -npm.store_update_failed=插庫敗 -npm.search_result=索所 -npm.search_no_result=無索 -npm.too_many_results=之多,{HIDE_NUM} 無現,審爲 -npm.install_success={NAME} 成 -npm.install_failed={NAME} 敗,語目以知,不知求于{HOMEPAGE} -npm.uninstall_success={NAME} 遣,明{HOMEPAGE} -npm.uninstall_failed={NAME} 遣 -npm.load_failed={NAME} 載,求于{HOMEPAGE} -npm.plugin_not_found=無 {NAME} ,揭揭庫爲 -npm.plugin_not_installed={NAME} 未 -npm.plugin_already_installed={NAME} 已,勿復法 -npm.author=主 +npm.loaded_plugins=所誊件 +npm.total=合 {TOTAL} +npm.help=师 +npm.usage=问 +npm.description=答 +npm.disable=去 +npm.disable_global=皆去 +npm.enable=用 +npm.enable_global=皆用 +npm.install=置 +npm.uninstall=消 +npm.installing=乃置 {NAME} +npm.cannot_uninstall=未消 +npm.no_description=无答 +npm.store_update_success=件阁方新 +npm.store_update_failed=件阁无以新 +npm.search_result=索得 +npm.search_no_result=未果 +npm.too_many_results=所得之多,为数 {HIDE_NUM} 尽隐,求则号精 +npm.install_success={NAME} 方置 +npm.install_failed={NAME} 无以置,求讯文观其始末,未解则取 {HOMEPAGE} 而从师 +npm.uninstall_success={NAME} 方消,次复启以毕功 +npm.uninstall_failed={NAME} 无以消 +npm.load_failed={NAME} 无以誊,或求讯文观始末,或查所依偏离否,未解则取{HOMEPAGE} 而从师 +npm.plugin_not_found=阁内无件曰 {NAME} 者 +npm.plugin_not_installed={NAME} 未置 +npm.plugin_already_installed={NAME} 已置,勿复行 +npm.author=上 npm.homepage=揭 -npm.pypi=PyPI -npm.next_page=後 -npm.prev_page=前 -npm.update=兵 -npm.plugin_cannot_be_toggled={NAME} 不兵 -npm.plugin_already=插 {NAME} 之狀已是 {STATUS} ,勿再行 -npm.toggle_failed=插 {NAME} {STATUS} 敗:{ERROR} -npm.toggle_success=插 {NAME} {STATUS} 成 -npm.page=第{PAGE}/{TOTAL} 節 -npm.update_index=兵索 -npm.list_plugins=插目 -npm.disable_session=在次斷 -npm.enable_session=在次啟 -npm.help=救 +npm.pypi=磐蛇件阁 +npm.next_page=进 +npm.prev_page=返 +npm.update=新 +npm.plugin_cannot_be_toggled=不可变易件曰 {NAME} 者 +npm.plugin_already=件曰 {NAME} 者,乃 {STATUS} ,勿复行 +npm.toggle_failed=因 {ERROR} 所误,良机尽失,{NAME} 无以 {STATUS} +npm.toggle_success=件曰 {NAME} 者,方 {STATUS} 成 +npm.page=页第 {PAGE} 之于 {TOTAL} +npm.update_index=阁引 +npm.list_plugins=件目 +npm.disable_session=是处去 +npm.enable_session=是处用 npm.search=索 -user.profile.edit=改 -user.profile.set=設 -user.profile_manager.query=汝之訊 {ATTR} 爲 {VALUE} 也 -user.profile_manager.set=汝之訊 {ATTR} 已設 {VALUE} 也 +user.profile.edit=易 +user.profile.set=设 +user.profile_manager.query=君 {ATTR} 为 {VALUE} +user.profile_manager.set=君 {ATTR} 設为 {VALUE} 也 user.profile.settings=設 -user.profile.info=訊 -user.profile.lang=言 -user.profile.lang.desc=言設 -user.profile.timezone=時 -user.profile.timezone.desc=時設 -user.profile.theme=題 -user.profile.theme.desc=題設 -user.profile.location=所 -user.profile.location.desc=所設 -user.profile.nickname=名 -user.profile.nickname.desc=設之之名 -user.profile.input_value=求輸 {ATTR} 之量 -user.profile.set_success={ATTR} 成 {VALUE} 也 -user.profile.set_failed={ATTR} 失,問求也 +user.profile.info=私讯 +user.profile.lang=语文 +user.profile.lang.desc=凡语者,乃语言之所谓,掌人之音及思之习;凡文者,乃文字之所指,操人之德及行之法 +user.profile.timezone=时区 +user.profile.timezone.desc=所谓时区者,郑和西洋之学所成,乃由英吉利某天监司衙始,分天下为十二时辰之区,以令四海之时得以各循所便 +user.profile.theme=色泽 +user.profile.theme.desc=昔《周易》乃传阴阳之术,各色纷发而共赏诸方,乃决次色之设,为爱一方也 +user.profile.location=居所 +user.profile.location.desc=君子之所常居,道合山水之学。昔孟母三迁择邻里,为人有道成功名。 +user.profile.nickname=字号 +user.profile.nickname.desc=无名之辈无登大雅之堂,王侯将相皆各有名号,见此字号而辨君子。 +user.profile.input_value=求 {ATTR} 之量 +user.profile.set_success=君 {ATTR} 方设 {VALUE} 而成 +user.profile.set_failed={ATTR} 无以设,子阙否 -rpm.move_up=上 -rpm.move_down=下 -rpm.move_top=初 +rpm.move_up=右移 +rpm.move_down=左移 +rpm.move_top=归首 -weather.city_not_found=城 {CITY} 不存也 -weather.weather_not_found=城 {CITY} 之氣也不存也 -weather.no_key=未設氣金鑰也,爲請增于設也 +weather.city_not_found=无城谓 {CITY} 者 +weather.weather_not_found=无{CITY}城之天象 +weather.no_key=无天监司遥讯之玥,请于设增 status.friends=友 status.groups=羣 -status.plugins=插 -status.resources=資 -status.bots=機 -status.message_sent=遣訊 -status.message_received=受訊 -status.cpu=中药科大学 -status.memory=懷 -status.swap=易 -status.disk=磁 -status.usage=用 -status.total=總 -status.used=所用 -status.free=閑 -status.runtime=時 +status.plugins=件 +status.resources=件资 +status.bots=工造机巧 +status.message_sent=方传 +status.message_received=方受 +status.cpu=央核之机 +status.memory=机置所存 +status.swap=变易之区 +status.disk=贮形长存 +status.usage=计用 +status.total=合 +status.used=占 +status.free=余 +status.runtime=所启时分 status.days=日 -status.hours=時 +status.hours=小时 status.minutes=分 status.seconds=秒 -status.cores=核 -status.threads=縷 -status.process=程 \ No newline at end of file +status.cores=机轮核数 +status.threads=机线条量 +status.process=机行轨度 +status.description=轻雪端司 \ No newline at end of file diff --git a/src/resources/vanilla_language/metadata.yml b/src/resources/vanilla_language/metadata.yml index f4c3e9f..127a1f6 100644 --- a/src/resources/vanilla_language/metadata.yml +++ b/src/resources/vanilla_language/metadata.yml @@ -1,3 +1,3 @@ name: 轻雪语言资源包 description: 全局的语言资源包,不可卸载 -version: 2024.4.26 \ No newline at end of file +version: 2024.7.14 \ No newline at end of file