localization: Update Japanese and Korean translations; add missing Korean locale files

- Updated Japanese translations in config.json, core.json, prompts.json, and startup.json for improved clarity and accuracy.
- Added new Korean locale files for config.json, core.json, prompts.json, and startup.json to support Korean language users.
- Enhanced Chinese translations in core.json and startup.json to include missing resource not found messages and WebUI related texts.
This commit is contained in:
晴猫
2026-03-15 10:07:15 +09:00
parent 34a8de56c3
commit a9142aa643
14 changed files with 456 additions and 192 deletions

View File

@@ -1,39 +1,39 @@
{
"config.added_count": "新增配置数量: {count}",
"config.added_item": "配置文件中新增配置项: {attribute}",
"config.api_base_url_empty": "API基础URL不能为空请在配置中设置有效的基础URL。",
"config.api_key_empty": "API密钥不能为空请在配置中设置有效的API密钥。",
"config.api_provider_name_duplicate": "API提供商名称存在重复请检查配置文件。",
"config.api_provider_name_empty": "API提供商名称不能为空,请在配置中设置有效的名称。",
"config.api_providers_empty": "API提供商列表不能为空请在配置中设置有效的API提供商列表。",
"config.change_summary_header": "-------- 配置文件变更信息 --------",
"config.current_version": "MaiCore 当前版本: {version}",
"config.file_change_detected": "检测到配置文件变更,触发热重载",
"config.file_updated": "{file_name} 配置文件已经更新。Old: {old_version} -> New: {new_version},建议检查新配置文件中的内容,以免丢失重要信息",
"config.file_watcher_started": "配置文件监视器已启动",
"config.file_watcher_stop_stats": "配置文件监视器停止统计: batches={batches}, changes={changes}, ok={ok}, failed={failed}, timeout={timeout}, cooldown_skip={cooldown_skip}, restart={restart}",
"config.global_not_initialized": "global_config 未初始化",
"config.hot_reload_completed": "配置热重载完成",
"config.invalid_inner_version": "配置文件 inner.version 类型错误",
"config.legacy_migrated": "检测到旧版配置结构,已尝试自动修复: {reason}。建议稍后检查并保存生成的新配置文件。",
"config.loaded": "非常的新鲜,非常的美味!",
"config.loading": "正在品鉴配置文件...",
"config.missing_inner_version": "配置文件缺少 inner 版本信息",
"config.model_api_provider_empty": "API提供商不能为空请在配置中设置有效的API提供商。",
"config.model_api_provider_missing": "模型 '{model_name}' 的 api_provider '{api_provider}' 不存在",
"config.model_identifier_empty": "模型 '{model_name}' 的 model_identifier 不能为空",
"config.model_identifier_empty_generic": "模型标识符不能为空,请在配置中设置有效的模型标识符。",
"config.model_name_duplicate": "模型名称存在重复,请检查配置文件。",
"config.model_name_empty": "模型名称不能为空,请在配置中设置有效的模型名称。",
"config.model_not_initialized": "model_config 未初始化",
"config.models_empty": "模型列表不能为空,请在配置中设置有效的模型列表。",
"config.parse_failed": "配置文件 {file_name} 解析失败",
"config.reload_callback_failed": "配置重载回调执行失败: {error}",
"config.reload_failed": "配置重载失败: {error}",
"config.reload_skipped_too_frequent": "文件变更触发过于频繁,已跳过本次重载",
"config.reload_timeout": "配置热重载超时(>{timeout_seconds}s",
"config.removed_count": "移除配置数量: {count}",
"config.removed_item": "移除配置项: {attribute}",
"config.version_update_detected": "检测到配置版本更新,热重载仅更新内存数据",
"config.write_unsupported_type": "配置写入只支持 ConfigBase 子类"
"config.added_count": "Number of new config entries added: {count}",
"config.added_item": "New config entry added to config file: {attribute}",
"config.api_base_url_empty": "API base URL cannot be empty. Please set a valid base URL in the configuration.",
"config.api_key_empty": "API key cannot be empty. Please set a valid API key in the configuration.",
"config.api_provider_name_duplicate": "Duplicate API provider names detected. Please check the configuration file.",
"config.api_provider_name_empty": "API provider name cannot be empty. Please set a valid name in the configuration.",
"config.api_providers_empty": "API provider list cannot be empty. Please set a valid list of API providers in the configuration.",
"config.change_summary_header": "-------- Config File Change Summary --------",
"config.current_version": "MaiCore current version: {version}",
"config.file_change_detected": "Config file change detected, triggering hot reload",
"config.file_updated": "{file_name} config file has been updated. Old: {old_version} -> New: {new_version}. It is recommended to review the new config file to avoid losing important settings.",
"config.file_watcher_started": "Config file watcher started",
"config.file_watcher_stop_stats": "Config file watcher stop stats: batches={batches}, changes={changes}, ok={ok}, failed={failed}, timeout={timeout}, cooldown_skip={cooldown_skip}, restart={restart}",
"config.global_not_initialized": "global_config is not initialized",
"config.hot_reload_completed": "Config hot reload completed",
"config.invalid_inner_version": "Config file inner.version type error",
"config.legacy_migrated": "Legacy config structure detected, attempted auto-fix: {reason}. It is recommended to review and save the newly generated config file.",
"config.loaded": "So fresh, so delicious!",
"config.loading": "Savoring the config file...",
"config.missing_inner_version": "Config file is missing inner version information",
"config.model_api_provider_empty": "API provider cannot be empty. Please set a valid API provider in the configuration.",
"config.model_api_provider_missing": "api_provider '{api_provider}' for model '{model_name}' does not exist",
"config.model_identifier_empty": "model_identifier for model '{model_name}' cannot be empty",
"config.model_identifier_empty_generic": "Model identifier cannot be empty. Please set a valid model identifier in the configuration.",
"config.model_name_duplicate": "Duplicate model names detected. Please check the configuration file.",
"config.model_name_empty": "Model name cannot be empty. Please set a valid model name in the configuration.",
"config.model_not_initialized": "model_config is not initialized",
"config.models_empty": "Model list cannot be empty. Please set a valid list of models in the configuration.",
"config.parse_failed": "Failed to parse config file {file_name}",
"config.reload_callback_failed": "Config reload callback failed: {error}",
"config.reload_failed": "Config reload failed: {error}",
"config.reload_skipped_too_frequent": "File changes are too frequent, this reload has been skipped",
"config.reload_timeout": "Config hot reload timed out (>{timeout_seconds}s)",
"config.removed_count": "Number of config entries removed: {count}",
"config.removed_item": "Config entry removed: {attribute}",
"config.version_update_detected": "Config version update detected, hot reload will only update in-memory data",
"config.write_unsupported_type": "Config write only supports subclasses of ConfigBase"
}

View File

@@ -1,7 +1,8 @@
{
"core.operation_failed": "操作失败: {error}",
"core.not_found": "Not Found",
"core.operation_failed": "Operation failed: {error}",
"core.tasks_cancelled": {
"one": "已取消 {count} 个任务",
"other": "已取消 {count} 个任务"
"one": "Cancelled {count} task",
"other": "Cancelled {count} tasks"
}
}

View File

@@ -1,8 +1,8 @@
{
"prompt.duplicate_template_name": "Prompt 模板名称 '{name}' 重复:{path_a} {path_b}",
"prompt.format_failed": "渲染 Prompt 模板 '{name}' 失败: {error}",
"prompt.invalid_category": "Prompt 分类 '{category}' 非法",
"prompt.invalid_name": "Prompt 名称 '{name}' 非法",
"prompt.missing_placeholder": "Prompt 模板 '{name}' 缺少占位符 '{placeholder}'",
"prompt.template_not_found": "未找到 locale '{locale}' 下的 Prompt 模板 '{name}'"
"prompt.duplicate_template_name": "Prompt template name '{name}' is duplicated: {path_a} and {path_b}",
"prompt.format_failed": "Failed to render prompt template '{name}': {error}",
"prompt.invalid_category": "Prompt category '{category}' is invalid",
"prompt.invalid_name": "Prompt name '{name}' is invalid",
"prompt.missing_placeholder": "Prompt template '{name}' is missing placeholder '{placeholder}'",
"prompt.template_not_found": "Prompt template '{name}' not found under locale '{locale}'"
}

View File

@@ -1,58 +1,95 @@
{
"startup.agreement_confirm_prompt": "输入\"同意\"或\"confirmed\",或设置环境变量\"EULA_AGREE={eula_hash}\"\"PRIVACY_AGREE={privacy_hash}\"继续运行",
"startup.agreement_confirm_retry": "请输入\"同意\"或\"confirmed\"以继续运行",
"startup.agreement_reconfirm": "EULA 或隐私条款内容已更新,请在阅读后重新确认,继续运行视为同意更新后的以上两款协议",
"startup.agreement_updated": "更新 {agreement_name} 确认文件 {file_hash}",
"startup.brain_external_world_failed": "启动大脑和外部世界失败: {error}",
"startup.chat_manager_initialized": "聊天管理器初始化成功",
"startup.child_process_force_kill": "子进程未响应,强制关闭...",
"startup.compiling_shaders": "正在编译着色器:1/114514",
"startup.dev_branch_warning": "警告Dev 进入不稳定开发状态,任何插件与 WebUI 均可能无法正常工作!",
"startup.easter_egg": "多年以后面对AI行刑队张三将会回想起他2023年在会议上讨论人工智能的那个下午",
"startup.emoji_manager_initialized": "表情包管理器初始化成功",
"startup.env_auto_create_failed": "自动创建 .env 失败: {error}",
"startup.env_created": "未找到 .env已从 template/template.env 自动创建",
"startup.env_file_missing": ".env 文件不存在,请创建并配置所需的环境变量",
"startup.env_template_missing": "未找到 .env 文件,也未找到模板 template/template.env",
"startup.agreement_confirm_prompt": "Enter \"agreed\" or \"confirmed\", or set environment variables \"EULA_AGREE={eula_hash}\" and \"PRIVACY_AGREE={privacy_hash}\" to continue",
"startup.agreement_confirm_retry": "Please enter \"agreed\" or \"confirmed\" to continue",
"startup.agreement_reconfirm": "The EULA or Privacy Policy has been updated. Please read and re-confirm. Continuing to run indicates your agreement to the updated terms.",
"startup.agreement_updated": "Updated {agreement_name} confirmation file {file_hash}",
"startup.brain_external_world_failed": "Failed to start brain and external world: {error}",
"startup.chat_manager_initialized": "Chat manager initialized successfully",
"startup.child_process_force_kill": "Child process not responding, force killing...",
"startup.compiling_shaders": "Compiling shaders: 1/114514",
"startup.dev_branch_warning": "Warning: Dev branch is in an unstable development state. Any plugins and WebUI may not function correctly!",
"startup.easter_egg": "Many years later, facing the AI firing squad, John would remember that distant afternoon in 2023 when he discussed artificial intelligence at the meeting",
"startup.emoji_manager_initialized": "Emoji manager initialized successfully",
"startup.env_auto_create_failed": "Failed to auto-create .env: {error}",
"startup.env_created": ".env not found, auto-created from template/template.env",
"startup.env_file_missing": ".env file does not exist. Please create it and configure the required environment variables.",
"startup.env_template_missing": ".env file not found, and template template/template.env is also missing",
"startup.eula_name": "EULA",
"startup.eula_privacy_checked": "检查 EULA 和隐私条款完成",
"startup.event_loop_closed": "[主程序] 事件循环已关闭",
"startup.file_not_found": "{file_type} 文件不存在",
"startup.graceful_shutdown_error": "优雅关闭时发生错误: {error}",
"startup.initialization_completed_banner": "\n--------------------------------\n全部系统初始化完成,{nickname} 已成功唤醒\n--------------------------------\n如果想要自定义 {nickname} 的功能请查阅https://docs.mai-mai.org/manual/usage/\n或者遇到了问题请访问我们的文档https://docs.mai-mai.org/\n--------------------------------\n如果你想要编写或了解插件相关内容,请访问开发文档 https://docs.mai-mai.org/develop/\n--------------------------------\n如果你需要查阅模型的消耗以及麦麦的统计数据,请访问根目录的 maibot_statistics.html 文件\n",
"startup.initialization_completed_cycles": "初始化完成,神经元放电 {init_time} ",
"startup.interrupt_received": "收到中断信号,正在优雅关闭...",
"startup.launching_script": "正在启动 {script_file}...",
"startup.logging_shutdown_error": "关闭日志系统时出错: {error}",
"startup.main_error": "主程序发生异常: {error}",
"startup.opensource_free_notice": " 本项目是完全免费的开源软件,基于 GPL-3.0 协议发布",
"startup.opensource_group": " 官方群聊: ",
"startup.eula_privacy_checked": "EULA and Privacy Policy check completed",
"startup.event_loop_closed": "[Main] Event loop closed",
"startup.file_not_found": "{file_type} file does not exist",
"startup.graceful_shutdown_error": "Error during graceful shutdown: {error}",
"startup.initialization_completed_banner": "\n--------------------------------\nAll systems initialized. {nickname} has been awakened successfully.\n--------------------------------\nTo customize {nickname}'s behavior, see: https://docs.mai-mai.org/manual/usage/\nOr if you've run into issues, visit our documentation: https://docs.mai-mai.org/\n--------------------------------\nTo write or learn about plugins, visit the developer docs: https://docs.mai-mai.org/develop/\n--------------------------------\nTo view model usage and MaiBot statistics, open maibot_statistics.html in the root directory.\n",
"startup.initialization_completed_cycles": "Initialization complete, neurons fired {init_time} times",
"startup.interrupt_received": "Interrupt signal received, initiating graceful shutdown...",
"startup.launching_script": "Launching {script_file}...",
"startup.logging_shutdown_error": "Error shutting down logging system: {error}",
"startup.main_error": "Main process encountered an exception: {error}",
"startup.opensource_free_notice": " This project is completely free and open-source software, released under the GPL-3.0 license",
"startup.opensource_group": " Official group chat: ",
"startup.opensource_group_value": "1006149251",
"startup.opensource_repo": " 官方仓库: ",
"startup.opensource_repo": " Official repository: ",
"startup.opensource_repo_value": "https://github.com/MaiM-with-u/MaiBot",
"startup.opensource_resale_warning": " 将本软件作为「商品」倒卖、隐瞒开源性质均违反协议!",
"startup.opensource_scamming_notice": " 如果有人向你「出售本软件」,你被骗了!",
"startup.opensource_title": " MaiBot - 开源 AI 聊天机器人 ★",
"startup.opensource_docs": " 官方文档: ",
"startup.opensource_resale_warning": " Reselling this software as a \"product\" or concealing its open-source nature violates the license!",
"startup.opensource_scamming_notice": " If someone is \"selling you this software\", you've been scammed!",
"startup.opensource_title": " \u2605 MaiBot - Open Source AI Chatbot \u2605",
"startup.opensource_docs": " Official documentation: ",
"startup.opensource_docs_value": "https://docs.mai-mai.org",
"startup.prepare_exit": "[主程序] 准备退出...",
"startup.privacy_name": "隐私条款",
"startup.program_exited": "程序已退出(退出码 {return_code}",
"startup.prepare_exit": "[Main] Preparing to exit...",
"startup.privacy_name": "Privacy Policy",
"startup.program_exited": "Program exited (exit code {return_code})",
"startup.remaining_tasks_cancelling": {
"one": "正在取消 {count} 个剩余任务...",
"other": "正在取消 {count} 个剩余任务..."
"one": "Cancelling {count} remaining task...",
"other": "Cancelling {count} remaining tasks..."
},
"startup.remaining_tasks_cancelled": "所有剩余任务已成功取消",
"startup.remaining_tasks_cancel_error": "等待任务取消时发生异常: {error}",
"startup.remaining_tasks_cancel_timeout": "等待任务取消超时,强制继续关闭",
"startup.restart_requested": "检测到重启请求(退出码 {exit_code}),正在重启...",
"startup.restart_signal_received": "收到重启信号,准备退出并请求重启...",
"startup.schedule_cancelled": "调度任务已取消",
"startup.shutdown_completed": "麦麦优雅关闭完成",
"startup.shutdown_failed": "麦麦关闭失败: {error}",
"startup.shutdown_started": "正在优雅关闭麦麦...",
"startup.waking_up": "正在唤醒 {nickname}......",
"startup.webui_disabled": "WebUI 已禁用",
"startup.webui_server_init_failed": "初始化 WebUI 服务器失败: {error}",
"startup.worker_dir_set": "已设置工作目录为: {script_dir}"
"startup.remaining_tasks_cancelled": "All remaining tasks cancelled successfully",
"startup.remaining_tasks_cancel_error": "Exception while waiting for tasks to cancel: {error}",
"startup.remaining_tasks_cancel_timeout": "Timed out waiting for task cancellation, forcing shutdown",
"startup.restart_requested": "Restart request detected (exit code {exit_code}), restarting...",
"startup.restart_signal_received": "Restart signal received, preparing to exit and request restart...",
"startup.schedule_cancelled": "Scheduled tasks cancelled",
"startup.shutdown_completed": "MaiBot graceful shutdown complete",
"startup.shutdown_failed": "MaiBot shutdown failed: {error}",
"startup.shutdown_started": "Initiating graceful shutdown of MaiBot...",
"startup.waking_up": "Waking up {nickname}......",
"startup.webui_access_token": "🔑 WebUI access token: {token}",
"startup.webui_access_token_failed": "❌ Failed to get WebUI access token: {error}",
"startup.webui_access_token_login_hint": "💡 Use this token to sign in to WebUI",
"startup.webui_anti_crawler_config_failed": "❌ Failed to configure anti-crawler middleware: {error}",
"startup.webui_anti_crawler_configured": "🛡️ Anti-crawler middleware configured: {mode_desc}",
"startup.webui_anti_crawler_mode_basic": "basic mode",
"startup.webui_anti_crawler_mode_disabled": "disabled",
"startup.webui_anti_crawler_mode_loose": "loose mode",
"startup.webui_anti_crawler_mode_strict": "strict mode",
"startup.webui_api_routes_register_failed": "❌ Failed to register WebUI API routes: {error}",
"startup.webui_api_routes_registered": "✅ WebUI API routes registered",
"startup.webui_auto_install_exec_failed": "❌ Failed to execute automatic installation of WebUI frontend dependencies: {error}",
"startup.webui_auto_install_failed": "❌ Automatic installation of WebUI frontend dependencies failed (exit code {return_code})",
"startup.webui_auto_install_failed_output": "📄 WebUI dependency install output:\n{output}",
"startup.webui_auto_install_started": "🔧 WebUI frontend dependencies are missing, installing automatically: {command}",
"startup.webui_auto_install_succeeded": "✅ WebUI frontend dependencies installed successfully",
"startup.webui_auto_install_timeout": "❌ Automatic installation of WebUI frontend dependencies timed out (over {timeout_seconds} seconds)",
"startup.webui_auto_recovery_failed": "❌ WebUI automatic recovery failed and the static assets are still unavailable",
"startup.webui_auto_build_artifacts_invalid": "⚠️ WebUI auto-build finished, but the static artifacts are still unavailable",
"startup.webui_auto_build_exec_failed": "❌ Failed to execute WebUI auto-build: {error}",
"startup.webui_auto_build_failed": "❌ WebUI auto-build failed (exit code {return_code})",
"startup.webui_auto_build_failed_output": "📄 WebUI build output:\n{output}",
"startup.webui_auto_build_started": "🔧 Attempting to auto-build WebUI frontend: {command}",
"startup.webui_auto_build_succeeded": "✅ WebUI frontend auto-build succeeded",
"startup.webui_auto_build_timeout": "❌ WebUI auto-build timed out (over {timeout_seconds} seconds)",
"startup.webui_auto_build_tool_missing": "❌ No supported frontend build tool was found, cannot auto-build WebUI",
"startup.webui_cors_configured": "✅ CORS middleware configured",
"startup.webui_dashboard_source_missing": "❌ WebUI frontend source directory not found: {dashboard_root}",
"startup.webui_disabled": "WebUI is disabled",
"startup.webui_index_missing": "❌ index.html not found: {index_path}",
"startup.webui_manual_build_hint": "💡 Automatic recovery could not restore the frontend assets. Install dependencies and build manually in the dashboard directory: {command}",
"startup.webui_path_traversal_detected": "🚫 Suspicious path traversal request detected: {full_path}",
"startup.webui_robots_route_register_failed": "❌ Failed to register robots.txt route: {error}",
"startup.webui_robots_route_registered": "✅ robots.txt route registered",
"startup.webui_server_init_failed": "Failed to initialize WebUI server: {error}",
"startup.webui_static_assets_try_auto_build": "⚠️ WebUI static assets are unavailable, attempting to auto-build the frontend...",
"startup.webui_static_dir_missing": "❌ WebUI static directory does not exist",
"startup.webui_static_dir_missing_with_path": "❌ WebUI static directory does not exist: {static_path}",
"startup.webui_static_files_configured": "✅ WebUI static file service configured: {static_path}",
"startup.worker_dir_set": "Working directory set to: {script_dir}"
}