"""VoxCast UI strings: Simplified Chinese. Key/placeholder parity with en.py enforced."""

STRINGS: dict[str, str] = {
    # ── Panel (main.qml) ────────────────────────────────────────────────
    "panel_ready": "就绪",
    "panel_transcribing": "转写中...",
    "panel_correcting": "校正中...",
    "panel_enhancing": "AI 润色中…",
    "panel_converting": "转换中...",
    "panel_error": "出错",
    "panel_drop_file": "拖入文件 → Markdown",
    "panel_acc_ai_mode": "AI 模式",
    "panel_acc_settings": "设置",
    "panel_acc_undock": "取消停靠",
    "panel_acc_hide": "隐藏",

    # ── Settings window ─────────────────────────────────────────────────
    "settings_title": "设置",
    "sec_interface": "界面",
    "row_ui_language": "语言",
    "sec_audio": "音频",
    "row_microphone": "麦克风",
    "opt_system_default": "系统默认",
    "row_voice_test": "语音测试",
    "btn_test": "测试",
    "btn_stop": "停止",
    "btn_play": "播放",
    "sec_recognition": "识别",
    "row_model": "模型",
    "model_swift": "Swift",
    "model_precise": "Precise",
    "model_ultra": "Ultra",
    "hint_model_swift": "快速轻量，适合笔记本电脑和没有独立显卡的电脑。",
    "hint_model_precise": "准确度均衡，日常使用的可靠之选，在大多数电脑上运行良好。",
    "hint_model_ultra": "准确度最高，配备显卡（4 GB）时效果最佳；没有显卡时明显较慢。",
    "compat_gpu_ok": "将在你的显卡（{vram} GB）上运行。",
    "compat_gpu_low": "你的显卡（{vram} GB）显存不足以运行此模型，它将在处理器上运行（较慢）。",
    "compat_cpu": "未检测到兼容的显卡，此模型将在处理器上运行。",
    "compat_cpu_forced": "将在处理器上运行（已在设置中指定）。",
    "row_language": "语言",
    "row_lang_auto": "自动检测语言",
    "hint_lang_auto": "每次听写时检测语言。固定语言更快、更准确。",
    "row_live_mode": "实时转写",
    "hint_live_mode": "文本会在你说话的同时出现在光标处，而不是停止后才出现。此模式下不进行 AI 润色；文本以键入方式输出到光标处。",
    "hint_output_live": "实时转写已开启：说话时文本会直接输入到光标处，因此这些输出选项不适用。",
    "hint_live_cpu": "配备显卡时效果最佳；在处理器上可能跟不上你的语速。",
    "live_cpu_warning": "实时模式正在处理器上运行，可能出现延迟；建议使用显卡。",
    "sec_output": "输出",
    "row_text_output": "文本输出",
    "opt_clipboard": "剪贴板",
    "opt_type_at_cursor": "在光标处键入",
    "opt_both": "两者",
    "row_insert_method": "插入方式",
    "opt_paste": "粘贴（Ctrl+V）",
    "opt_typing": "键入",
    "hint_typing": "模拟键盘输入，在终端中也可用。",
    "sec_controls": "控制",
    "row_hotkey": "快捷键",
    "row_mode": "模式",
    "opt_hold": "按住",
    "opt_toggle": "切换",
    "sec_performance": "性能",
    "row_compute": "计算方式",
    "opt_auto": "自动",
    "opt_gpu": "GPU",
    "opt_cpu": "CPU",
    "hint_cpu_slow": "CPU 模式速度较慢。",
    "sec_system": "系统",
    "row_autostart": "开机自启",
    "row_startup_sound": "启动提示音",
    "row_recording_sound": "录音提示音",
    "row_shutdown_sound": "退出提示音",
    "row_always_on_top": "窗口置顶",
    "row_small_panel": "小面板",
    "sec_file_conversion": "文件转换",
    "row_save_mode": "保存方式",
    "opt_ask": "每次询问",
    "opt_beside_file": "文件旁",
    "opt_folder": "指定文件夹",
    "row_folder": "文件夹",
    "btn_browse": "浏览",
    "row_timestamps": "时间戳",
    "row_open_after": "完成后打开",
    "row_context_menu": "右键菜单",
    "hint_context_menu": "在资源管理器的右键菜单中添加“转换为 Markdown”。",
    "sec_ai": "AI 润色",
    "row_enable": "启用",
    "hint_ai": "用 AI 润色你的听写内容（整理、电子邮件、回复…）。右键点击面板或使用面板上的 AI 按钮选择当前模式。",
    "row_provider": "服务商",
    "row_api_key": "API 密钥",
    "ph_api_key": "粘贴 API 密钥",
    "ph_api_key_saved": "•••••••• 已保存，输入即可替换",
    "btn_save": "保存",
    "hint_key_stored": "密钥已安全存储在 Windows 凭据管理器中。",
    "btn_clear": "清除",
    "btn_load": "加载",
    "btn_loading": "加载中",
    "row_active_mode": "当前模式",
    "mode_normal": "普通（无 AI）",
    # Display names of the built-in AI modes (shown while the user hasn't
    # renamed them; the stored name stays the English default).
    "mode_cleanup": "整理",
    "mode_email": "电子邮件",
    "mode_reply": "回复",
    "mode_todo": "待办清单",
    "mode_notes": "笔记",
    "mode_formal": "正式",
    "lbl_custom_modes": "自定义模式",
    "sec_license": "许可证",
    "row_status": "状态",
    "lic_activated": "● 已激活",
    "lic_not_activated": "○ 未激活",
    "btn_activate": "激活",
    "sec_updates": "更新",
    "row_version": "版本",
    "btn_check_updates": "检查更新",
    "btn_checking": "检查中",
    "btn_downloading_pct": "{pct}%  下载中…",
    "btn_download_install": "下载并安装 v{version}",
    "btn_reset": "重置",
    "reset_title": "重置设置",
    "reset_question": "将所有设置恢复为默认值？",
    "dlg_model_dl_title": "需要下载",
    "dlg_model_dl_text": "所选模型尚未安装。VoxCast 将下载约 {size} 的语音数据，然后进行切换。现在开始下载吗？",

    # ── Mode editor ─────────────────────────────────────────────────────
    "ph_mode_name": "模式名称",
    "tip_remove_mode": "删除模式",
    "ph_system_prompt": "系统提示词，告诉 AI 如何改写转写文本。",
    "btn_add_mode": "添加模式",
    "mode_new": "新模式",

    # ── Mode menu (panel) ───────────────────────────────────────────────
    "menu_ai_mode": "AI 模式",
    "menu_ai_mode_off": "AI 模式  ·  关闭",
    "menu_ai_settings": "设置…",
    "menu_copy_raw": "复制原始转写文本",
    "tray_raw_copied": "原始转写文本已复制到剪贴板。",

    # ── Activation overlay ──────────────────────────────────────────────
    "act_title": "激活 VoxCast",
    "act_intro": "输入你的许可证密钥以激活此设备。激活只需联网一次，之后 VoxCast 可完全离线使用。",
    "act_enter_key": "请输入你的许可证密钥。",
    "act_button": "激活",
    "act_button_busy": "正在激活…",
    "act_update_available": "版本 {version} 已可用。",
    "act_update_now": "立即更新",
    "act_device": "设备：",
    "act_quit": "退出",

    # ── First-run overlay ───────────────────────────────────────────────
    "fr_title": "VoxCast 初始设置",
    "fr_pick_language": "选择语音识别使用的语言。\n这样可以避免每次使用时进行缓慢的自动检测。",
    "fr_continue": "继续",
    "fr_preparing": "正在准备模型...",
    "fr_hint_label": "提示：",
    "status_hw_check": "正在检测硬件...",
    "fr_hw_gpu": "检测到显卡（{vram} GB）：将设置 {model} 模型。",
    "fr_hw_cpu": "未检测到独立显卡：将设置 {model} 模型。",
    "fr_hint_download": "模型只需下载一次，之后保存在你的设备上，无需云端。",
    "fr_hint_hotkey": "按 Ctrl+Shift+Space 开始听写，再按一次停止。",
    "fr_hint_ai": "右键点击面板可选择 AI 模式（如电子邮件、回复）。",
    "fr_hint_dragfile": "将文件拖到面板上即可转换为 Markdown。",
    "fr_hint_audio": "拖入音频文件（mp3、ogg、m4a…）即可转写。",
    "fr_hint_explorer": "在资源管理器中右键点击文件 → “转换为 Markdown”。",
    "fr_hint_dock": "将面板停靠到屏幕边缘，不用时会自动滑出隐藏。",
    "fr_hint_settings": "随时可在设置中更改模型、语言或快捷键。",

    # ── Status messages (Python → panel) ────────────────────────────────
    "status_init_services": "正在初始化服务...",
    "status_loading_vad": "正在加载语音活动检测...",
    "status_loading_model": "正在加载语音识别模型...",
    "status_init_models": "正在初始化模型...",
    "status_loading": "正在加载模型...",
    "status_switching_model": "正在切换模型...",
    "status_downloading_engine": "正在下载语音识别引擎...",
    "status_engine_ready": "语音识别引擎已就绪",
    "status_downloading_correction": "正在下载校正模型...",
    "status_correction_ready": "校正模型下载完成",

    # ── Meeting recording ────────────────────────────────────────────────
    "menu_meeting_start": "录制会议",
    "menu_meeting_stop": "停止会议录制",
    "meeting_consent_title": "录制会议",
    "meeting_consent_body": "VoxCast 会录制系统音频和你的麦克风，以便转写通话和会议。\n\n请确保所有参与者都同意录音，在许多国家（包括德国），未经同意录制通话属于刑事犯罪。",
    "meeting_consent_accept": "我已了解，开始录制",
    "meeting_consent_cancel": "取消",
    "status_meeting_recording": "正在录制会议",
    "status_meeting_transcribing": "正在转写会议… {pct}%",
    "meeting_done_title": "会议转写完成",
    "meeting_done_body": "转写文本已保存，点击此处打开。",
    "meeting_resume_note": "发现一段未完成的会议录音，正在转写。",
    "menu_meeting_folder": "打开会议文件夹",
    "meeting_source_title": "要录制什么？",
    "meeting_source_system": "整个系统",
    "meeting_source_empty": "当前没有应用在播放音频",
    "meeting_app_fallback": "无法只录制该应用，改为录制整个系统。",
    "md_meeting_source": "来源",
    "meeting_partial_note": "录制提前结束，已保留的部分录音仍已处理。",
    "meeting_system_silent": "未捕获到系统音频，请检查你的播放设备。部分耳机的音频输出方式使 Windows 无法录制；切换默认输出设备即可解决。",
    "meeting_summary_failed": "AI 摘要生成失败，转写文本已保存（不含摘要）。",
    "err_meeting_folder": "无法创建会议文件夹。请检查设置中的文件夹。",
    "err_meeting_disk": "磁盘可用空间不足，会议录制已停止。",
    "err_meeting_maxlen": "已达到会议最大时长（4 小时），录制已停止。",
    "err_meeting_capture": "会议录制失败，未能捕获任何音频。",
    "err_meeting_transcribe": "会议转写失败。音频文件已保留，你可以重试。",
    "md_meeting_title": "会议",
    "md_meeting_date": "日期",
    "md_meeting_duration": "时长",
    "md_meeting_summary": "摘要",
    "md_meeting_transcript": "转写文本",
    "sec_remote": "远程服务器",
    "row_remote_enable": "使用远程服务器",
    "hint_remote": "在另一台配备更强 GPU 或 CPU 的计算机上运行转录。听写、文件转换和会议将在服务器上处理。",
    "hint_recognition_remote": "识别由远程服务器处理，因此下方的本地模型已禁用。请在服务器上选择模型。",
    "row_remote_url": "服务器地址",
    "ph_remote_url": "http://192.168.1.10:8590",
    "row_remote_key": "API 密钥",
    "ph_remote_key": "粘贴服务器的 API 密钥",
    "btn_remote_test": "测试连接",
    "remote_testing": "测试中...",
    "btn_remote_discover": "查找服务器",
    "remote_discovering": "正在搜索...",
    "remote_discover_none": "未找到服务器。请确认服务器正在运行、两台设备在同一网络中、且服务器的防火墙允许 VoxCast Server 在本地网络中通信。",
    "remote_enhance_available": "可使用 AI 润色",
    "remote_update_available": "有可用的服务器更新：{version}",
    "row_tls_mode": "证书",
    "tls_verify": "要求有效证书",
    "tls_pinned": "信任此服务器",
    "tls_insecure": "允许任意证书",
    "btn_trust_cert": "检查证书",
    "tls_trust_title": "信任此服务器？",
    "tls_trust_body": "服务器出示了此证书指纹。在信任之前，请确认它与你的服务器一致。",
    "tls_trust_confirm": "信任",
    "tls_trust_failed": "无法读取服务器的证书。请检查地址以及是否已启用 HTTPS。",
    "tls_insecure_warning": "此连接未经验证。请仅在你信任的网络中使用。",
    "row_enhance_source": "AI 润色",
    "enhance_own": "我自己的 API 密钥",
    "enhance_server": "使用服务器",
    "hint_enhance_server": "服务器使用它自己的 AI 密钥进行润色，因此你无需在此输入。",
    "lbl_server_modes": "公司模式（来自服务器）",
    "managed_locked": "由你的组织管理",
    "remote_http_warn": "此连接未加密。请仅在受信任的本地网络中使用。",
    "remote_live_hint": "实时字幕在本设备上运行，需要本地安装的模型。",
    "remote_connected": "已连接：{where} 上的 {model}",
    "remote_on_gpu": "GPU（{vram} GB）",
    "remote_on_cpu": "CPU",
    "err_remote_unreachable": "无法连接到远程服务器。请检查地址和网络。",
    "err_remote_auth": "远程服务器拒绝了 API 密钥。",
    "err_remote_busy": "远程服务器繁忙。请稍后重试。",
    "err_remote_failed": "远程服务器无法处理此音频。",
    "sec_meeting": "会议",
    "row_meeting_mic": "录制麦克风",
    "hint_meeting_mic": "同时录下你自己的声音，而不只是其他参与者的。",
    "row_meeting_language": "语言",
    "lang_meeting_auto": "自动检测",
    "row_convert_language": "音频语言",
    "lang_convert_auto": "自动检测",
    "err_convert_engine_loading": "语音引擎仍在加载中，请稍后再试一次转换。",
    "err_convert_no_speech": "未能在此文件中识别到语音，未创建 Markdown 文件。",
    "err_convert_engine_error": "语音引擎在转写过程中报告了错误。",
    "tray_convert_failed": "无法转换 {name}：{error}",
    "hint_meeting_language": "自动检测可处理任何语言的会议，即使会议中途切换语言也没问题。仅在检测效果不佳时才指定语言。",
    "row_meeting_keep": "保留音频文件",
    "hint_meeting_keep": "将录音以 .wav 文件保存在转写文本旁。",
    "row_meeting_summary": "AI 摘要",
    "hint_meeting_summary": "在转写文本前添加 AI 生成的摘要（需要先设置 AI 润色）。",
    "hint_meeting_summary_nokey": "尚未设置 AI 润色，将跳过摘要。",
    "row_meeting_folder": "保存位置",
    "meeting_folder_default": "文档\\VoxCast\\Meetings",
    "btn_open": "打开",

    # ── Errors / tray (Python) ──────────────────────────────────────────
    "err_audio_lib": "音频库不可用",
    "err_gpu_oom": "GPU 显存不足。请以 CPU 模式重新启动。",
    "err_gpu_fallback": "显卡不可用，正在处理器上运行（较慢）。",
    "err_hotkey_init": "快捷键系统未初始化",
    "err_mic": "麦克风错误。请检查你的音频设备。",
    "err_mic_test_busy": "已有录音正在进行。请先停止，再测试麦克风。",
    "err_model_switch": "模型切换失败。请重试。",
    "err_model_download": "语音模型下载失败。请检查网络连接。",
    "err_speech_start": "语音识别无法启动。",
    "err_transcription": "转写失败。请重试。",
    "err_model_missing": "未找到语音模型。请在设置中选择一个模型。",
    "tray_cpu_fallback": "未找到兼容的 GPU。正在使用 CPU 运行。\n转写速度会比 GPU 加速时慢。",
    "tray_cpu_configured": "按设置中的配置在 CPU 上运行。",
    "tray_cpu_detected": "未检测到兼容的 GPU。正在使用 CPU 运行。\n建议使用兼容的显卡以获得更快的转写速度。",
    "tray_file_not_found": "未找到文件。",
    "tray_no_supported_files": "没有可转换的受支持文件。",
    "tray_still_starting": "VoxCast 仍在启动中，请稍后重试。",
    "tray_no_output_folder": "未设置输出文件夹，请选择保存位置。",
    "tray_context_menu_failed": "无法更新右键菜单。",
    "tray_need_api_key": "请先输入并保存 API 密钥。",
    "tray_models_load_failed": "无法加载模型。",
    "tray_show_hide": "显示/隐藏",

    # ── License (Python user messages) ──────────────────────────────────
    "lic_enter_key": "请输入你的许可证密钥。",
    "lic_saved_failed": "已激活，但许可证无法保存到这台电脑上。",
    "lic_success": "VoxCast 已激活。感谢支持！",
    "lic_check_failed": "激活失败。请检查你的密钥。",
    "lic_no_server": "无法连接激活服务器。请检查网络连接。",
    "lic_unexpected": "激活时发生意外错误。请重试。",

    # ── Updates (Python user messages) ──────────────────────────────────
    "upd_checking": "正在检查更新…",
    "upd_latest": "你已是最新版本。",
    "upd_available": "版本 {version} 已可用。",
    "upd_dialog_title": "有可用更新",
    "upd_whats_new": "更新内容",
    "upd_required": "必需",
    "upd_no_notes": "常规改进与问题修复。",
    "upd_later": "稍后",
    "upd_install_now": "下载并安装",
    "upd_install_note": "更新会自动替换当前版本，无需其他操作。",
    "upd_downloading": "正在下载版本 {version}…",
    "upd_failed": "更新失败。请重试。",
    "upd_starting_installer": "正在启动安装程序…",
    "upd_installer_failed": "无法启动安装程序。",
    "upd_err_filename": "更新清单中的安装程序文件名异常。",
    "upd_err_https": "更新下载必须使用 HTTPS。",
    "upd_err_response": "更新服务器返回了无效响应。",
    "upd_err_no_url": "未提供下载地址。",
    "upd_err_no_checksum": "更新清单缺少校验和。已中止。",
    "upd_err_redirect": "更新服务器返回了意外的重定向。",
    "upd_err_integrity": "下载的文件未通过完整性校验。已中止。",
    "upd_err_check": "无法检查更新：{error}",
    "upd_err_download": "下载失败：{error}",
    "upd_err_save": "无法保存更新：{error}",
    "upd_err_host": "已拒绝从不受信任的主机 '{host}' 下载更新。",

    # ── LLM (user messages) ─────────────────────────────────────────────
    # ── Late additions (review sweep) ───────────────────────────────────
    "act_first": "请先激活 VoxCast。",
    "llm_enhance_failed": "AI 润色失败：{error}",
    "llm_truncated": "AI 回复被截断，已改用原始转写文本。",
    "llm_mode_needs_key": "已选择 AI 模式，请在设置中添加 API 密钥以启用润色。",
    "tt_recording": "录音中...",
    "tray_saved": "已保存：{name}",
    "tray_converted": "已将 {n} 个文件转换为 Markdown。",
    "hk_press_key": "请按下按键...",
    "hk_acc_record": "按下快捷键组合",
    "no_folder": "未选择文件夹",
    "llm_load_models_ph": "加载模型 →",

    "llm_no_key": "未提供 API 密钥。",
    "llm_no_key_configured": "未配置 API 密钥。",
    "llm_bad_key": "API 密钥无效或未授权。",
    "llm_rate_limit": "已达到调用频率限制。请稍后重试。",
    "llm_provider_down": "AI 服务商暂时不可用。",
    "llm_request_failed": "请求失败（{code}）。",
    "llm_network": "网络错误：{error}",
    "llm_no_model": "未找到此 API 密钥可用的 AI 模型。",
}
