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:
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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}'"
|
||||
}
|
||||
|
||||
@@ -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}"
|
||||
}
|
||||
|
||||
@@ -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": "追加された設定数: {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 のサブクラスのみサポートしています"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"core.operation_failed": "操作失败: {error}",
|
||||
"core.not_found": "リソースが見つかりません",
|
||||
"core.operation_failed": "操作に失敗しました: {error}",
|
||||
"core.tasks_cancelled": {
|
||||
"one": "已取消 {count} 个任务",
|
||||
"other": "已取消 {count} 个任务"
|
||||
"one": "{count} 件のタスクをキャンセルしました",
|
||||
"other": "{count} 件のタスクをキャンセルしました"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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テンプレート名 '{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}' にPromptテンプレート '{name}' が見つかりません"
|
||||
}
|
||||
|
||||
@@ -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": "\"同意\" または \"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.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 およびプライバシーポリシーの確認が完了しました",
|
||||
"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の統計データは、ルートディレクトリの 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.opensource_group_value": "1006149251",
|
||||
"startup.opensource_repo": " 官方仓库: ",
|
||||
"startup.opensource_repo": " 公式リポジトリ: ",
|
||||
"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": " 本ソフトウェアを「商品」として転売したり、オープンソースであることを隠すことはライセンス違反です!",
|
||||
"startup.opensource_scamming_notice": " もし誰かが「本ソフトウェアを販売」しようとしてきたら、それは詐欺です!",
|
||||
"startup.opensource_title": " ★ MaiBot - オープンソース AI チャットボット ★",
|
||||
"startup.opensource_docs": " 公式ドキュメント: ",
|
||||
"startup.opensource_docs_value": "https://docs.mai-mai.org",
|
||||
"startup.prepare_exit": "[主程序] 准备退出...",
|
||||
"startup.privacy_name": "隐私条款",
|
||||
"startup.program_exited": "程序已退出(退出码 {return_code})",
|
||||
"startup.prepare_exit": "[メインプロセス] 終了を準備しています...",
|
||||
"startup.privacy_name": "プライバシーポリシー",
|
||||
"startup.program_exited": "プログラムが終了しました(終了コード: {return_code})",
|
||||
"startup.remaining_tasks_cancelling": {
|
||||
"one": "正在取消 {count} 个剩余任务...",
|
||||
"other": "正在取消 {count} 个剩余任务..."
|
||||
"one": "残り {count} 件のタスクをキャンセルしています...",
|
||||
"other": "残り {count} 件のタスクをキャンセルしています..."
|
||||
},
|
||||
"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": "残りのタスクをすべて正常にキャンセルしました",
|
||||
"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": "MaiBot のグレースフルシャットダウンが完了しました",
|
||||
"startup.shutdown_failed": "MaiBot のシャットダウンに失敗しました: {error}",
|
||||
"startup.shutdown_started": "MaiBot をグレースフルシャットダウンしています...",
|
||||
"startup.waking_up": "{nickname} を起動中......",
|
||||
"startup.webui_access_token": "🔑 WebUI Access Token: {token}",
|
||||
"startup.webui_access_token_failed": "❌ WebUI Access Token の取得に失敗しました: {error}",
|
||||
"startup.webui_access_token_login_hint": "💡 この Token を使って WebUI にログインしてください",
|
||||
"startup.webui_anti_crawler_config_failed": "❌ アンチクローラーミドルウェアの設定に失敗しました: {error}",
|
||||
"startup.webui_anti_crawler_configured": "🛡️ アンチクローラーミドルウェアを設定しました: {mode_desc}",
|
||||
"startup.webui_anti_crawler_mode_basic": "基本モード",
|
||||
"startup.webui_anti_crawler_mode_disabled": "無効",
|
||||
"startup.webui_anti_crawler_mode_loose": "緩和モード",
|
||||
"startup.webui_anti_crawler_mode_strict": "厳格モード",
|
||||
"startup.webui_api_routes_register_failed": "❌ WebUI API ルートの登録に失敗しました: {error}",
|
||||
"startup.webui_api_routes_registered": "✅ WebUI API ルートを登録しました",
|
||||
"startup.webui_auto_install_exec_failed": "❌ WebUI フロントエンド依存関係の自動インストール実行に失敗しました: {error}",
|
||||
"startup.webui_auto_install_failed": "❌ WebUI フロントエンド依存関係の自動インストールに失敗しました(終了コード {return_code})",
|
||||
"startup.webui_auto_install_failed_output": "📄 WebUI 依存関係インストール出力:\n{output}",
|
||||
"startup.webui_auto_install_started": "🔧 WebUI フロントエンド依存関係が不足しているため、自動インストールを開始します: {command}",
|
||||
"startup.webui_auto_install_succeeded": "✅ WebUI フロントエンド依存関係の自動インストールに成功しました",
|
||||
"startup.webui_auto_install_timeout": "❌ WebUI フロントエンド依存関係の自動インストールがタイムアウトしました({timeout_seconds} 秒超過)",
|
||||
"startup.webui_auto_recovery_failed": "❌ WebUI の自動復旧に失敗し、静的アセットはまだ利用できません",
|
||||
"startup.webui_auto_build_artifacts_invalid": "⚠️ WebUI の自動ビルドは完了しましたが、静的成果物はまだ利用できません",
|
||||
"startup.webui_auto_build_exec_failed": "❌ WebUI 自動ビルドの実行に失敗しました: {error}",
|
||||
"startup.webui_auto_build_failed": "❌ WebUI の自動ビルドに失敗しました(終了コード {return_code})",
|
||||
"startup.webui_auto_build_failed_output": "📄 WebUI ビルド出力:\n{output}",
|
||||
"startup.webui_auto_build_started": "🔧 WebUI フロントエンドの自動ビルドを試行します: {command}",
|
||||
"startup.webui_auto_build_succeeded": "✅ WebUI フロントエンドの自動ビルドに成功しました",
|
||||
"startup.webui_auto_build_timeout": "❌ WebUI の自動ビルドがタイムアウトしました({timeout_seconds} 秒超過)",
|
||||
"startup.webui_auto_build_tool_missing": "❌ 利用可能なフロントエンドビルドツールが見つからず、WebUI を自動ビルドできません",
|
||||
"startup.webui_cors_configured": "✅ CORS ミドルウェアを設定しました",
|
||||
"startup.webui_dashboard_source_missing": "❌ WebUI フロントエンドのソースディレクトリが見つかりません: {dashboard_root}",
|
||||
"startup.webui_disabled": "WebUI は無効です",
|
||||
"startup.webui_index_missing": "❌ index.html が見つかりません: {index_path}",
|
||||
"startup.webui_manual_build_hint": "💡 自動復旧でフロントエンド資産を復旧できなかったため、dashboard ディレクトリで依存関係をインストールして手動ビルドしてください: {command}",
|
||||
"startup.webui_path_traversal_detected": "🚫 パストラバーサルの疑いがあるリクエストを検出しました: {full_path}",
|
||||
"startup.webui_robots_route_register_failed": "❌ robots.txt ルートの登録に失敗しました: {error}",
|
||||
"startup.webui_robots_route_registered": "✅ robots.txt ルートを登録しました",
|
||||
"startup.webui_server_init_failed": "WebUI サーバーの初期化に失敗しました: {error}",
|
||||
"startup.webui_static_assets_try_auto_build": "⚠️ WebUI の静的アセットが利用できないため、フロントエンドの自動ビルドを試行します...",
|
||||
"startup.webui_static_dir_missing": "❌ WebUI の静的ディレクトリが存在しません",
|
||||
"startup.webui_static_dir_missing_with_path": "❌ WebUI の静的ディレクトリが存在しません: {static_path}",
|
||||
"startup.webui_static_files_configured": "✅ WebUI の静的ファイル配信を設定しました: {static_path}",
|
||||
"startup.worker_dir_set": "作業ディレクトリを設定しました: {script_dir}"
|
||||
}
|
||||
|
||||
39
locales/ko/config.json
Normal file
39
locales/ko/config.json
Normal file
@@ -0,0 +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 의 하위 클래스만 지원합니다"
|
||||
}
|
||||
8
locales/ko/core.json
Normal file
8
locales/ko/core.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"core.not_found": "리소스를 찾을 수 없습니다",
|
||||
"core.operation_failed": "작업 실패: {error}",
|
||||
"core.tasks_cancelled": {
|
||||
"one": "{count}개의 작업이 취소되었습니다",
|
||||
"other": "{count}개의 작업이 취소되었습니다"
|
||||
}
|
||||
}
|
||||
8
locales/ko/prompts.json
Normal file
8
locales/ko/prompts.json
Normal file
@@ -0,0 +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}' 을 찾을 수 없습니다"
|
||||
}
|
||||
95
locales/ko/startup.json
Normal file
95
locales/ko/startup.json
Normal file
@@ -0,0 +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.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 통계 데이터를 확인하려면 루트 디렉터리의 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.opensource_group_value": "1006149251",
|
||||
"startup.opensource_repo": " 공식 저장소: ",
|
||||
"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_docs_value": "https://docs.mai-mai.org",
|
||||
"startup.prepare_exit": "[메인 프로세스] 종료 준비 중...",
|
||||
"startup.privacy_name": "개인정보 처리방침",
|
||||
"startup.program_exited": "프로그램이 종료되었습니다 (종료 코드 {return_code})",
|
||||
"startup.remaining_tasks_cancelling": {
|
||||
"one": "{count}개의 남은 작업을 취소 중...",
|
||||
"other": "{count}개의 남은 작업을 취소 중..."
|
||||
},
|
||||
"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": "MaiBot 정상 종료 완료",
|
||||
"startup.shutdown_failed": "MaiBot 종료 실패: {error}",
|
||||
"startup.shutdown_started": "MaiBot 정상 종료 중...",
|
||||
"startup.waking_up": "{nickname} 깨우는 중......",
|
||||
"startup.webui_access_token": "🔑 WebUI Access Token: {token}",
|
||||
"startup.webui_access_token_failed": "❌ Access Token 가져오기 실패: {error}",
|
||||
"startup.webui_access_token_login_hint": "💡 이 토큰으로 WebUI에 로그인하세요",
|
||||
"startup.webui_anti_crawler_config_failed": "❌ 크롤러 방지 미들웨어 설정 실패: {error}",
|
||||
"startup.webui_anti_crawler_configured": "🛡️ 크롤러 방지 미들웨어 설정됨: {mode_desc}",
|
||||
"startup.webui_anti_crawler_mode_basic": "기본 모드",
|
||||
"startup.webui_anti_crawler_mode_disabled": "비활성화됨",
|
||||
"startup.webui_anti_crawler_mode_loose": "느슨한 모드",
|
||||
"startup.webui_anti_crawler_mode_strict": "엄격한 모드",
|
||||
"startup.webui_api_routes_register_failed": "❌ WebUI API 라우트 등록 실패: {error}",
|
||||
"startup.webui_api_routes_registered": "✅ WebUI API 라우트 등록 완료",
|
||||
"startup.webui_auto_install_exec_failed": "❌ WebUI 프론트엔드 의존성 자동 설치 실행 실패: {error}",
|
||||
"startup.webui_auto_install_failed": "❌ WebUI 프론트엔드 의존성 자동 설치 실패 (종료 코드 {return_code})",
|
||||
"startup.webui_auto_install_failed_output": "📄 WebUI 프론트엔드 의존성 설치 출력:\n{output}",
|
||||
"startup.webui_auto_install_started": "🔧 WebUI 프론트엔드 의존성 누락 감지, 자동 설치 중: {command}",
|
||||
"startup.webui_auto_install_succeeded": "✅ WebUI 프론트엔드 의존성 자동 설치 완료",
|
||||
"startup.webui_auto_install_timeout": "❌ WebUI 프론트엔드 의존성 자동 설치 시간 초과 ({timeout_seconds}초 초과)",
|
||||
"startup.webui_auto_recovery_failed": "❌ WebUI 프론트엔드 자동 복구 실패, 정적 리소스를 여전히 사용할 수 없습니다",
|
||||
"startup.webui_auto_build_artifacts_invalid": "⚠️ WebUI 프론트엔드 자동 빌드가 완료되었지만 정적 산출물을 여전히 사용할 수 없습니다",
|
||||
"startup.webui_auto_build_exec_failed": "❌ WebUI 프론트엔드 자동 빌드 실행 실패: {error}",
|
||||
"startup.webui_auto_build_failed": "❌ WebUI 프론트엔드 자동 빌드 실패 (종료 코드 {return_code})",
|
||||
"startup.webui_auto_build_failed_output": "📄 WebUI 프론트엔드 빌드 출력:\n{output}",
|
||||
"startup.webui_auto_build_started": "🔧 WebUI 프론트엔드 자동 빌드 시도 중: {command}",
|
||||
"startup.webui_auto_build_succeeded": "✅ WebUI 프론트엔드 자동 빌드 완료",
|
||||
"startup.webui_auto_build_timeout": "❌ WebUI 프론트엔드 자동 빌드 시간 초과 ({timeout_seconds}초 초과)",
|
||||
"startup.webui_auto_build_tool_missing": "❌ 사용 가능한 프론트엔드 빌드 도구를 찾을 수 없어 WebUI를 자동으로 빌드할 수 없습니다",
|
||||
"startup.webui_cors_configured": "✅ CORS 미들웨어 설정 완료",
|
||||
"startup.webui_dashboard_source_missing": "❌ WebUI 프론트엔드 소스 디렉터리를 찾을 수 없습니다: {dashboard_root}",
|
||||
"startup.webui_disabled": "WebUI가 비활성화되었습니다",
|
||||
"startup.webui_index_missing": "❌ index.html을 찾을 수 없습니다: {index_path}",
|
||||
"startup.webui_manual_build_hint": "💡 자동 복구로 프론트엔드 리소스를 수정하지 못했습니다. dashboard 디렉터리에서 의존성을 설치하고 수동으로 빌드하세요: {command}",
|
||||
"startup.webui_path_traversal_detected": "🚫 경로 탐색 공격이 의심되는 요청 감지됨: {full_path}",
|
||||
"startup.webui_robots_route_register_failed": "❌ robots.txt 라우트 등록 실패: {error}",
|
||||
"startup.webui_robots_route_registered": "✅ robots.txt 라우트 등록 완료",
|
||||
"startup.webui_server_init_failed": "WebUI 서버 초기화 실패: {error}",
|
||||
"startup.webui_static_assets_try_auto_build": "⚠️ WebUI 정적 리소스를 사용할 수 없어 프론트엔드 자동 빌드를 시도합니다...",
|
||||
"startup.webui_static_dir_missing": "❌ WebUI 정적 파일 디렉터리가 존재하지 않습니다",
|
||||
"startup.webui_static_dir_missing_with_path": "❌ WebUI 정적 파일 디렉터리가 존재하지 않습니다: {static_path}",
|
||||
"startup.webui_static_files_configured": "✅ WebUI 정적 파일 서비스 설정 완료: {static_path}",
|
||||
"startup.worker_dir_set": "작업 디렉터리를 설정했습니다: {script_dir}"
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"core.not_found": "未找到资源",
|
||||
"core.operation_failed": "操作失败: {error}",
|
||||
"core.tasks_cancelled": {
|
||||
"one": "已取消 {count} 个任务",
|
||||
|
||||
@@ -52,7 +52,44 @@
|
||||
"startup.shutdown_failed": "麦麦关闭失败: {error}",
|
||||
"startup.shutdown_started": "正在优雅关闭麦麦...",
|
||||
"startup.waking_up": "正在唤醒 {nickname}......",
|
||||
"startup.webui_access_token": "🔑 WebUI Access Token: {token}",
|
||||
"startup.webui_access_token_failed": "❌ 获取 Access Token 失败: {error}",
|
||||
"startup.webui_access_token_login_hint": "💡 请使用此 Token 登录 WebUI",
|
||||
"startup.webui_anti_crawler_config_failed": "❌ 配置防爬虫中间件失败: {error}",
|
||||
"startup.webui_anti_crawler_configured": "🛡️ 防爬虫中间件已配置: {mode_desc}",
|
||||
"startup.webui_anti_crawler_mode_basic": "基础模式",
|
||||
"startup.webui_anti_crawler_mode_disabled": "已禁用",
|
||||
"startup.webui_anti_crawler_mode_loose": "宽松模式",
|
||||
"startup.webui_anti_crawler_mode_strict": "严格模式",
|
||||
"startup.webui_api_routes_register_failed": "❌ 注册 WebUI API 路由失败: {error}",
|
||||
"startup.webui_api_routes_registered": "✅ WebUI API 路由已注册",
|
||||
"startup.webui_auto_install_exec_failed": "❌ 执行 WebUI 前端依赖自动安装失败: {error}",
|
||||
"startup.webui_auto_install_failed": "❌ WebUI 前端依赖自动安装失败(退出码 {return_code})",
|
||||
"startup.webui_auto_install_failed_output": "📄 WebUI 前端依赖安装输出:\n{output}",
|
||||
"startup.webui_auto_install_started": "🔧 检测到 WebUI 前端依赖缺失,正在自动安装: {command}",
|
||||
"startup.webui_auto_install_succeeded": "✅ WebUI 前端依赖自动安装成功",
|
||||
"startup.webui_auto_install_timeout": "❌ WebUI 前端依赖自动安装超时(超过 {timeout_seconds} 秒)",
|
||||
"startup.webui_auto_recovery_failed": "❌ WebUI 前端自动恢复失败,静态资源仍不可用",
|
||||
"startup.webui_auto_build_artifacts_invalid": "⚠️ WebUI 前端自动构建完成,但静态产物仍不可用",
|
||||
"startup.webui_auto_build_exec_failed": "❌ 执行 WebUI 前端自动构建失败: {error}",
|
||||
"startup.webui_auto_build_failed": "❌ WebUI 前端自动构建失败(退出码 {return_code})",
|
||||
"startup.webui_auto_build_failed_output": "📄 WebUI 前端构建输出:\n{output}",
|
||||
"startup.webui_auto_build_started": "🔧 正在尝试自动构建 WebUI 前端: {command}",
|
||||
"startup.webui_auto_build_succeeded": "✅ WebUI 前端自动构建成功",
|
||||
"startup.webui_auto_build_timeout": "❌ WebUI 前端自动构建超时(超过 {timeout_seconds} 秒)",
|
||||
"startup.webui_auto_build_tool_missing": "❌ 未找到可用的前端构建工具,无法自动构建 WebUI",
|
||||
"startup.webui_cors_configured": "✅ CORS 中间件已配置",
|
||||
"startup.webui_dashboard_source_missing": "❌ 未找到 WebUI 前端源码目录: {dashboard_root}",
|
||||
"startup.webui_disabled": "WebUI 已禁用",
|
||||
"startup.webui_index_missing": "❌ 未找到 index.html: {index_path}",
|
||||
"startup.webui_manual_build_hint": "💡 自动恢复未能修复前端资源,请在 dashboard 目录安装依赖并手动构建: {command}",
|
||||
"startup.webui_path_traversal_detected": "🚫 检测到疑似路径穿越请求: {full_path}",
|
||||
"startup.webui_robots_route_register_failed": "❌ 注册 robots.txt 路由失败: {error}",
|
||||
"startup.webui_robots_route_registered": "✅ robots.txt 路由已注册",
|
||||
"startup.webui_server_init_failed": "初始化 WebUI 服务器失败: {error}",
|
||||
"startup.webui_static_assets_try_auto_build": "⚠️ WebUI 静态资源不可用,尝试自动构建前端...",
|
||||
"startup.webui_static_dir_missing": "❌ WebUI 静态文件目录不存在",
|
||||
"startup.webui_static_dir_missing_with_path": "❌ WebUI 静态文件目录不存在: {static_path}",
|
||||
"startup.webui_static_files_configured": "✅ WebUI 静态文件服务已配置: {static_path}",
|
||||
"startup.worker_dir_set": "已设置工作目录为: {script_dir}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user