i18n: crowdin integration
This commit is contained in:
39
locales/en-US/config.json
Normal file
39
locales/en-US/config.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"config.added_count": "Added config items: {count}",
|
||||
"config.added_item": "Added config entry: {attribute}",
|
||||
"config.api_base_url_empty": "The API base URL cannot be empty. Please configure a valid base URL.",
|
||||
"config.api_key_empty": "The API key cannot be empty. Please configure a valid API key.",
|
||||
"config.api_provider_name_duplicate": "Duplicate API provider names were found. Please check the config file.",
|
||||
"config.api_provider_name_empty": "The API provider name cannot be empty. Please configure a valid name.",
|
||||
"config.api_providers_empty": "The API provider list cannot be empty. Please configure at least one valid API provider.",
|
||||
"config.change_summary_header": "-------- Config File Change Summary --------",
|
||||
"config.current_version": "Current MaiCore version: {version}",
|
||||
"config.file_change_detected": "Detected config file changes and triggered hot reload",
|
||||
"config.file_updated": "The {file_name} config file has been updated. Old: {old_version} -> New: {new_version}. Please review the new 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": "The config file inner.version field has an invalid type",
|
||||
"config.legacy_migrated": "A legacy config structure was detected and automatically migrated: {reason}. Please review and save the regenerated config file later.",
|
||||
"config.loaded": "Fresh and delicious!",
|
||||
"config.loading": "Tasting the config files...",
|
||||
"config.missing_inner_version": "The config file is missing inner version information",
|
||||
"config.model_api_provider_empty": "The API provider cannot be empty. Please configure a valid API provider.",
|
||||
"config.model_api_provider_missing": "Model '{model_name}' references a missing api_provider '{api_provider}'",
|
||||
"config.model_identifier_empty": "Model '{model_name}' must not have an empty model_identifier",
|
||||
"config.model_identifier_empty_generic": "The model identifier cannot be empty. Please configure a valid model identifier.",
|
||||
"config.model_name_duplicate": "Duplicate model names were found. Please check the config file.",
|
||||
"config.model_name_empty": "The model name cannot be empty. Please configure a valid model name.",
|
||||
"config.model_not_initialized": "model_config is not initialized",
|
||||
"config.models_empty": "The model list cannot be empty. Please configure at least one valid model.",
|
||||
"config.parse_failed": "Failed to parse config file {file_name}",
|
||||
"config.reload_callback_failed": "A config reload callback failed: {error}",
|
||||
"config.reload_failed": "Config reload failed: {error}",
|
||||
"config.reload_skipped_too_frequent": "Config file changes happened too frequently, so this reload was skipped",
|
||||
"config.reload_timeout": "Config hot reload timed out (>{timeout_seconds}s)",
|
||||
"config.removed_count": "Removed config items: {count}",
|
||||
"config.removed_item": "Removed config entry: {attribute}",
|
||||
"config.version_update_detected": "A config version update was detected. Hot reload only refreshed in-memory data.",
|
||||
"config.write_unsupported_type": "Config writing only supports ConfigBase subclasses"
|
||||
}
|
||||
7
locales/en-US/core.json
Normal file
7
locales/en-US/core.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"core.operation_failed": "Operation failed: {error}",
|
||||
"core.tasks_cancelled": {
|
||||
"one": "Cancelled {count} task",
|
||||
"other": "Cancelled {count} tasks"
|
||||
}
|
||||
}
|
||||
58
locales/en-US/startup.json
Normal file
58
locales/en-US/startup.json
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"startup.agreement_confirm_prompt": "Type \"confirmed\" or the Chinese word \"同意\", or set environment variables \"EULA_AGREE={eula_hash}\" and \"PRIVACY_AGREE={privacy_hash}\" to continue",
|
||||
"startup.agreement_confirm_retry": "Please type \"confirmed\" or \"同意\" to continue",
|
||||
"startup.agreement_reconfirm": "The EULA or Privacy Policy has been updated. Please review and confirm again before continuing.",
|
||||
"startup.agreement_updated": "Updated the {agreement_name} confirmation file {file_hash}",
|
||||
"startup.brain_external_world_failed": "Failed to start the brain and external world: {error}",
|
||||
"startup.chat_manager_initialized": "Chat manager initialized successfully",
|
||||
"startup.child_process_force_kill": "The child process did not respond and was forcefully terminated...",
|
||||
"startup.compiling_shaders": "Compiling shaders: 1/114514",
|
||||
"startup.dev_branch_warning": "Warning: the Dev branch is in an unstable development state. Plugins and the WebUI may not work properly.",
|
||||
"startup.easter_egg": "Many years later, facing the AI execution squad, Zhang San would recall that afternoon in 2023 when he discussed artificial intelligence at a meeting.",
|
||||
"startup.emoji_manager_initialized": "Emoji manager initialized successfully",
|
||||
"startup.env_auto_create_failed": "Failed to auto-create .env: {error}",
|
||||
"startup.env_created": "No .env file was found. One has been created from template/template.env",
|
||||
"startup.env_file_missing": "The .env file does not exist. Please create it and configure the required environment variables.",
|
||||
"startup.env_template_missing": "No .env file was found, and template/template.env is also missing",
|
||||
"startup.eula_name": "EULA",
|
||||
"startup.eula_privacy_checked": "Finished checking the EULA and Privacy Policy",
|
||||
"startup.event_loop_closed": "[Main] Event loop closed",
|
||||
"startup.file_not_found": "{file_type} file does not exist",
|
||||
"startup.graceful_shutdown_error": "An error occurred during graceful shutdown: {error}",
|
||||
"startup.initialization_completed_banner": "\n--------------------------------\nAll systems have been initialized. {nickname} is now awake.\n--------------------------------\nIf you want to customize {nickname}, please visit: https://docs.mai-mai.org/manual/usage/\nIf you run into issues, please check the docs: https://docs.mai-mai.org/\n--------------------------------\nIf you want to write or learn about plugins, see the developer docs: https://docs.mai-mai.org/develop/\n--------------------------------\nIf you need model usage or MaiBot statistics, open the maibot_statistics.html file in the project root.\n",
|
||||
"startup.initialization_completed_cycles": "Initialization completed after {init_time} neural firing cycles",
|
||||
"startup.interrupt_received": "Interrupt signal received. Starting graceful shutdown...",
|
||||
"startup.launching_script": "Starting {script_file}...",
|
||||
"startup.logging_shutdown_error": "Failed to shut down logging: {error}",
|
||||
"startup.main_error": "The main program encountered an exception: {error}",
|
||||
"startup.opensource_free_notice": " This project is fully free and open source under the GPL-3.0 license",
|
||||
"startup.opensource_group": " Official group chat: ",
|
||||
"startup.opensource_group_value": "1006149251",
|
||||
"startup.opensource_repo": " Official repository: ",
|
||||
"startup.opensource_repo_value": "https://github.com/MaiM-with-u/MaiBot",
|
||||
"startup.opensource_resale_warning": " Reselling this software or hiding its open source nature violates the license!",
|
||||
"startup.opensource_scamming_notice": " If someone sold you this software, you were scammed!",
|
||||
"startup.opensource_title": " ★ MaiBot - Open Source AI Chat Bot ★",
|
||||
"startup.opensource_docs": " Official docs: ",
|
||||
"startup.opensource_docs_value": "https://docs.mai-mai.org",
|
||||
"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": "Cancelling {count} remaining task...",
|
||||
"other": "Cancelling {count} remaining tasks..."
|
||||
},
|
||||
"startup.remaining_tasks_cancelled": "All remaining tasks were cancelled successfully",
|
||||
"startup.remaining_tasks_cancel_error": "An error occurred while waiting for tasks to cancel: {error}",
|
||||
"startup.remaining_tasks_cancel_timeout": "Timed out while waiting for task cancellation. Continuing shutdown.",
|
||||
"startup.restart_requested": "Restart requested (exit code {exit_code}). Restarting...",
|
||||
"startup.restart_signal_received": "Restart signal received. Exiting and requesting restart...",
|
||||
"startup.schedule_cancelled": "Scheduled tasks were cancelled",
|
||||
"startup.shutdown_completed": "MaiBot shut down gracefully",
|
||||
"startup.shutdown_failed": "MaiBot failed to shut down: {error}",
|
||||
"startup.shutdown_started": "Starting graceful shutdown for MaiBot...",
|
||||
"startup.waking_up": "Waking up {nickname}......",
|
||||
"startup.webui_disabled": "WebUI is disabled",
|
||||
"startup.webui_server_init_failed": "Failed to initialize the WebUI server: {error}",
|
||||
"startup.worker_dir_set": "Working directory set to: {script_dir}"
|
||||
}
|
||||
39
locales/zh-CN/config.json
Normal file
39
locales/zh-CN/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 子类"
|
||||
}
|
||||
7
locales/zh-CN/core.json
Normal file
7
locales/zh-CN/core.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"core.operation_failed": "操作失败: {error}",
|
||||
"core.tasks_cancelled": {
|
||||
"one": "已取消 {count} 个任务",
|
||||
"other": "已取消 {count} 个任务"
|
||||
}
|
||||
}
|
||||
58
locales/zh-CN/startup.json
Normal file
58
locales/zh-CN/startup.json
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"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.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": "麦麦优雅关闭完成",
|
||||
"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}"
|
||||
}
|
||||
Reference in New Issue
Block a user