1 line
144 KiB
JSON
1 line
144 KiB
JSON
{"repo": "chuwuyo/multilangswitcher", "files": {"src/i18n/detect-dict.js": {"1c1512cdae0ae7e0c279c7a62b28d6fdd2dce052": {"t": 1785746664.9476762, "n": 20610, "h": "8321997e43d5298b", "c": "const detectEn = {\n\tlocale_formatting_title: \"Locale Formatting Fingerprint\",\n\tsystem_timezone_label: \"System timezone\",\n\tip_timezone_label: \"IP timezone\",\n\tip_geo_label: \"IP geolocation\",\n\tip_org_label: \"Organization / ISP\",\n\tip_timezone_unavailable: \"Lookup unavailable\",\n\tcollator_label: \"Collator\",\n\tplural_rules_label: \"Plural rules\",\n\tother_intl_locale_label: \"Other Intl locales\",\n\tformat_samples_label: \"Format samples (date | number | currency)\",\n\tsort_sample_label: \"Collation sort sample\",\n\tip_timezone_detection_failed: \"IP timezone lookup failed\",\n\tlocale_formatting_detection_failed: \"Locale formatting detection failed\",\n\tai_copy_tooltip: \"Copy\",\n\tai_copied_tooltip: \"Copied\",\n\ttheme_toggle: \"Toggle Theme\",\n\treset_accept_language_tooltip: \"Reset Accept-Language\",\n\ttitle: \"MultiLangSwitcher Detection Page\",\n\theading: \"MultiLangSwitcher Detection Page\",\n\tsubtitle: \"This page is used to verify the effect of MultiLangSwitcher extension settings\",\n\ttip: \"Pay special attention to the value of the Accept-Language request header, which should match the language you set in the extension.\",\n\trequest_header: \"Accept-Language\",\n\tjs_language: \"JS Language Preference\",\n\tintl_api: \"Internationalization API\",\n\twebrtc_detection: \"WebRTC Detection\",\n\tbrowser_fingerprint: \"Browser Fingerprint (Partial)\",\n\tdetecting: \"Detecting...\",\n\tbrowser_compatibility: \"Browser Compatibility Check\",\n\tbrowser_info: \"Browser Information:\",\n\tapi_support: \"API Support Status:\",\n\thardware_fingerprint: \"Hardware Fingerprint Detection\",\n\tcanvas_fingerprint: \"Canvas Fingerprint\",\n\twebgl_fingerprint: \"WebGL Fingerprint\",\n\taudio_fingerprint: \"AudioContext Fingerprint\",\n\tcomplete_headers: \"Complete Request Header Information:\",\n\tloading: \"Loading...\",\n\tcurrent_value: \"Current Value:\",\n\tdetected_via: \"Detected via {method}\",\n\twebrtc_local_ip: \"WebRTC Local IP Address (for connection optimization):\",\n\twebrtc_description:\n\t\t\"This is normal WebRTC behavior that helps establish direct connections, but may also expose your local network IP address.\",\n\tpartial_fingerprint: \"Partial Browser Fingerprint Information\",\n\tsupported: \"Supported\",\n\tnot_supported: \"Not Supported\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL version:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat Locale:\",\n\tnumber_format_locale_label: \"NumberFormat Locale:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"Screen information:\",\n\toffset_label: \"Offset:\",\n\ton_connector: \"on\",\n\tua_ch_full_version_list: \"UA-CH Full Versions\",\n\tua_ch_brands: \"UA-CH Brands\",\n\tua_ch_platform: \"UA-CH Platform\",\n\tua_ch_mobile: \"UA-CH Mobile\",\n\tyes: \"Yes\",\n\tno: \"No\",\n\t\"Refresh detection\": \"Refresh Detection Info\",\n\trequest_header_method: \"Request Header\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"Detection Failed\",\n\tfetching_headers: \"Fetching request headers...\",\n\ttrying_webrtc: \"Trying to detect WebRTC local IP...\",\n\twebrtc_not_supported: \"WebRTC detection failed or not supported\",\n\twebgl_not_supported: \"WebGL not supported or disabled\",\n\taudio_not_supported: \"AudioContext not supported\",\n\tunknown_os: \"Unknown OS\",\n\tdetected_accept_language: \"Detected Accept-Language:\",\n\tno_accept_language: \"No Accept-Language header detected\",\n\tnot_detected_accept_language: \"No Accept-Language request header detected\",\n\texternal_check_prefix: \"Please visit\",\n\texternal_check_or: \"or\",\n\texternal_check_suffix: \"and similar sites to view\",\n\tall_attempts_failed: \"All attempts to fetch request headers failed:\",\n\tfetch_failed_all_services: \"Failed to fetch request header information (all services failed or timed out).\",\n\tdetailed_error: \"Detailed error:\",\n\tdetection_failed_all_services: \"Detection failed (all services failed or timed out).\",\n\thttp_error_status: \"HTTP error! Status:\",\n\tfrom: \"from\",\n\trequest_timeout: \"Request {url} timeout ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS language detection failed:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas fingerprint detection failed:\",\n\twebgl_fingerprint_detection_failed: \"WebGL fingerprint detection failed:\",\n\taudio_fingerprint_detection_failed: \"AudioContext fingerprint detection failed:\",\n\tintl_api_detection_failed: \"Intl API detection failed:\",\n\twebrtc_detection_failed: \"WebRTC detection failed:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription failed:\",\n\twebrtc_detected_local_ip: \"WebRTC detected local IP (normal behavior):\",\n\twebrtc_no_ip_detected: \"No WebRTC local IP address exposure detected.\",\n\twebrtc_no_local_ip: \"WebRTC no local IP detected\",\n\tfingerprint_detection_failed: \"Fingerprint detection failed:\",\n\trestricted: \"(restricted)\",\n\tbutton_add_failed_container:\n\t\t\"Could not precisely find .header-info for adding refresh button, button has been added to the end of .container.\",\n\tbutton_add_failed_no_container: \"Could not find .container for adding refresh button.\",\n\tai_diagnosis_title: \"AI Diagnosis\",\n\tai_config_summary: \"AI Service Configuration\",\n\tai_provider_label: \"Preset Provider\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"DashScope / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / Zhipu\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"Custom Compatible API\",\n\tai_provider_openai_desc:\n\t\t\"Official OpenAI endpoint with default Base URL https://api.openai.com/v1. Default model is gpt-5-mini.\",\n\tai_provider_openrouter_desc:\n\t\t\"Good for routing across many models, with default Base URL https://openrouter.ai/api/v1. Default model is openrouter/free.\",\n\tai_provider_deepseek_desc:\n\t\t\"Official DeepSeek endpoint with default Base URL https://api.deepseek.com. Default model is deepseek-chat, which DeepSeek documents as the non-thinking V3.2 chat alias.\",\n\tai_provider_gemini_desc:\n\t\t\"Google's OpenAI-compatible Gemini endpoint uses https://generativelanguage.googleapis.com/v1beta/openai. Default model is gemini-2.5-flash.\",\n\tai_provider_qwen_desc:\n\t\t\"DashScope OpenAI-compatible endpoint. Default preset uses the Beijing region at https://dashscope.aliyuncs.com/compatible-mode/v1. Default model is qwen3.5-plus. Official docs also list Singapore and Virginia region variants.\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI-compatible endpoint with default Base URL https://api.siliconflow.com/v1. Default model is Qwen/Qwen3.5-27B.\",\n\tai_provider_glm_desc:\n\t\t\"Zhipu GLM's OpenAI-compatible endpoint uses https://open.bigmodel.cn/api/paas/v4. Default model is glm-4.7.\",\n\tai_provider_kimi_desc:\n\t\t\"Moonshot Kimi's OpenAI-compatible endpoint uses https://api.moonshot.cn/v1. Default model is kimi-k2-0905.\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax's OpenAI-compatible endpoint uses https://api.minimax.io/v1 for the international platform, and MiniMax docs note https://api.minimaxi.com/v1 for users in China. Default model is MiniMax-M2.5.\",\n\tai_provider_custom_desc: \"Keep manual values for any OpenAI-compatible service.\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"Model Name\",\n\tai_api_key_toggle_show: \"Show\",\n\tai_api_key_toggle_hide: \"Hide\",\n\tai_privacy_hint:\n\t\t\"Your API key is stored only in chrome.storage.local. The extension does not upload or sync this setting, and chat history is kept only for this page session.\",\n\tai_config_ready: \"AI configuration saved. You can start a diagnosis now.\",\n\tai_config_incomplete: \"Please provide Base URL, API key, and model name to enable AI diagnosis.\",\n\tai_config_replace_template: \"Replace the template resource name in the endpoint before starting AI diagnosis.\",\n\tai_chat_placeholder: \"Start AI diagnosis to turn the current detection snapshot into actionable privacy guidance.\",\n\tai_user_input_placeholder:\n\t\t\"Ask a follow-up, for example: Why does a language/timezone mismatch increase fingerprint risk?\",\n\tai_start: \"Start AI Diagnosis\",\n\tai_stop: \"Stop\",\n\tai_clear: \"Clear Session\",\n\tai_export_structured: \"Export Structured Text\",\n\tai_send: \"Send\",\n\tai_export: \"Export Markdown\",\n\tai_user_input_label: \"Follow-up question\",\n\tai_export_empty: \"There is no visible chat content to export yet.\",\n\tai_export_success: \"Chat exported as Markdown.\",\n\tai_export_structured_empty: \"There is no detection data to export yet.\",\n\tai_export_structured_success: \"Detection data exported as Markdown.\",\n\tai_export_structured_notice:\n\t\t\"Note: This snapshot has been sanitized by sanitizeSnapshotForAI. User Agent, WebRTC IPs, HTTP headers (names only), and Canvas/WebGL/Audio fingerprint hashes have been redacted.\",\n\tai_export_label_generated_at: \"Generated At\",\n\tai_export_label_snapshot_version: \"Snapshot Version\",\n\tai_export_label_ui_language: \"UI Language\",\n\tai_export_label_extension_version: \"Extension Version\",\n\tai_export_section_extension: \"Extension\",\n\tai_export_label_current_language: \"Current Language\",\n\tai_export_label_auto_switch_enabled: \"Auto Switch Enabled\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"Status\",\n\tai_export_label_endpoint: \"Endpoint\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"Error\",\n\tai_export_label_headers: \"Headers\",\n\tai_export_section_js_env: \"JavaScript Environment\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"Timezone\",\n\tai_export_label_timezone_offset: \"Timezone Offset\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat Locale\",\n\tai_export_label_number_locale: \"NumberFormat Locale\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"IP Leak Detected\",\n\tai_export_label_ips: \"IPs\",\n\tai_export_section_browser_fingerprint: \"Browser Fingerprint\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"Screen\",\n\tai_export_section_hardware_fingerprint: \"Hardware Fingerprint\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"Compatibility\",\n\tai_export_label_browser: \"Browser\",\n\tai_export_label_api_support: \"API Support\",\n\tai_copy_failed: \"Copy failed. Please try again.\",\n\tai_role_user: \"User\",\n\tai_role_assistant: \"Assistant\",\n\tai_detection_pending:\n\t\t\"Detection is still running. Wait for the current environment check to finish before starting AI diagnosis.\",\n\tai_session_expired:\n\t\t\"The detection snapshot has been refreshed, so the current chat context is stale. Start a new AI diagnosis.\",\n\tai_request_in_progress: \"AI is generating the diagnosis...\",\n\tai_request_stopped: \"Generation stopped.\",\n\tai_request_failed: \"AI request failed: {error}\",\n\tai_render_fallback: \"Markdown rendering is unavailable, so the response was shown as plain text.\",\n\tai_chat_cleared: \"Session cleared.\",\n\tai_starting: \"Starting AI diagnosis from the current detection snapshot...\",\n\tai_ready_for_followup: \"You can keep asking follow-up questions with the same detection context.\",\n\tai_config_missing_runtime: \"AI client is unavailable in the current page context. Refresh and try again.\",\n\tai_waiting_for_question: \"Enter a follow-up question first.\",\n\tai_restart_required:\n\t\t\"The detection snapshot changed, so the old context is no longer reliable. Start AI diagnosis again.\",\n\tai_empty_reply: \"The AI service returned no usable content.\",\n};\n\nconst detectZh = {\n\tlocale_formatting_title: \"Locale 格式化指纹\",\n\tsystem_timezone_label: \"系统时区\",\n\tip_timezone_label: \"IP 时区\",\n\tip_geo_label: \"IP 地理位置\",\n\tip_org_label: \"组织 / ISP\",\n\tip_timezone_unavailable: \"查询不可用\",\n\tcollator_label: \"排序规则器\",\n\tplural_rules_label: \"复数规则\",\n\tother_intl_locale_label: \"其他 Intl locale\",\n\tformat_samples_label: \"格式化样本(日期 | 数字 | 货币)\",\n\tsort_sample_label: \"排序行为样本\",\n\tip_timezone_detection_failed: \"IP 时区查询失败\",\n\tlocale_formatting_detection_failed: \"Locale 格式化检测失败\",\n\tai_copy_tooltip: \"复制\",\n\tai_copied_tooltip: \"已复制\",\n\ttheme_toggle: \"切换主题\",\n\treset_accept_language_tooltip: \"重置 Accept-Language\",\n\ttitle: \"MultiLangSwitcher 检测页面\",\n\theading: \"MultiLangSwitcher 检测页面\",\n\tsubtitle: \"此页面用于验证MultiLangSwitcher扩展的设置效果\",\n\ttip: \"请特别关注 Accept-Language 请求头的值,它应该与您在扩展中设置的语言相匹配。\",\n\trequest_header: \"请求头语言 Accept-Language\",\n\tjs_language: \"JS 语言偏好\",\n\tintl_api: \"国际化 API\",\n\twebrtc_detection: \"WebRTC 检测\",\n\tbrowser_fingerprint: \"浏览器指纹 (部分)\",\n\tdetecting: \"检测中...\",\n\tbrowser_compatibility: \"浏览器兼容性检查\",\n\tbrowser_info: \"浏览器信息:\",\n\tapi_support: \"API 支持情况:\",\n\thardware_fingerprint: \"硬件指纹检测\",\n\tcanvas_fingerprint: \"Canvas 指纹\",\n\twebgl_fingerprint: \"WebGL 指纹\",\n\taudio_fingerprint: \"AudioContext 指纹\",\n\tcomplete_headers: \"完整请求头信息:\",\n\tloading: \"加载中...\",\n\tcurrent_value: \"当前值:\",\n\tdetected_via: \"通过{method}检测\",\n\twebrtc_local_ip: \"WebRTC 本地 IP 地址 (用于连接优化):\",\n\twebrtc_description: \"这是 WebRTC 的正常行为,有助于建立直接连接,但也可能暴露您的本地网络 IP 地址。\",\n\tpartial_fingerprint: \"部分浏览器指纹信息\",\n\tsupported: \"支持\",\n\tnot_supported: \"不支持\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL 版本:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat 区域设置:\",\n\tnumber_format_locale_label: \"NumberFormat 区域设置:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"屏幕信息:\",\n\toffset_label: \"偏移:\",\n\ton_connector: \"运行于\",\n\tua_ch_full_version_list: \"UA-CH 完整版本列表\",\n\tua_ch_brands: \"UA-CH 品牌列表\",\n\tua_ch_platform: \"UA-CH 平台\",\n\tua_ch_mobile: \"UA-CH 移动设备\",\n\tyes: \"是\",\n\tno: \"否\",\n\t\"Refresh detection\": \"刷新检测信息\",\n\trequest_header_method: \"请求头\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"检测失败\",\n\tfetching_headers: \"正在获取请求头信息...\",\n\ttrying_webrtc: \"正在尝试检测 WebRTC 本地 IP...\",\n\twebrtc_not_supported: \"WebRTC 检测失败或不受支持\",\n\twebgl_not_supported: \"WebGL 不支持或已禁用\",\n\taudio_not_supported: \"AudioContext 不支持\",\n\tunknown_os: \"未知操作系统\",\n\tdetected_accept_language: \"检测到的Accept-Language:\",\n\tno_accept_language: \"未检测到Accept-Language请求头\",\n\tnot_detected_accept_language: \"未检测到Accept-Language请求头\",\n\texternal_check_prefix: \"请访问\",\n\texternal_check_or: \"或\",\n\texternal_check_suffix: \"等网站进行查看\",\n\tall_attempts_failed: \"所有获取请求头的尝试都失败了:\",\n\tfetch_failed_all_services: \"获取请求头信息失败 (所有服务均失败或超时)。\",\n\tdetailed_error: \"详细错误:\",\n\tdetection_failed_all_services: \"检测失败 (所有服务均失败或超时)。\",\n\thttp_error_status: \"HTTP错误! 状态:\",\n\tfrom: \"来自\",\n\trequest_timeout: \"请求 {url} 超时 ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS 语言检测失败:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas 指纹检测失败:\",\n\twebgl_fingerprint_detection_failed: \"WebGL 指纹检测失败:\",\n\taudio_fingerprint_detection_failed: \"AudioContext 指纹检测失败:\",\n\tintl_api_detection_failed: \"Intl API 检测失败:\",\n\twebrtc_detection_failed: \"WebRTC 检测失败:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription 失败:\",\n\twebrtc_detected_local_ip: \"WebRTC 检测到本地 IP (正常行为):\",\n\twebrtc_no_ip_detected: \"未检测到 WebRTC 本地 IP 地址暴露。\",\n\twebrtc_no_local_ip: \"WebRTC 未检测到本地 IP\",\n\tfingerprint_detection_failed: \"指纹检测失败:\",\n\trestricted: \"(受限)\",\n\tbutton_add_failed_container: \"未能精确找到 .header-info 用于附加刷新按钮,按钮已附加到 .container 末尾。\",\n\tbutton_add_failed_no_container: \"未能找到 .container 用于附加刷新按钮。\",\n\tai_diagnosis_title: \"AI 诊断\",\n\tai_config_summary: \"AI 服务配置\",\n\tai_provider_label: \"预设平台\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"阿里云百炼 / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / 智谱\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"自定义兼容接口\",\n\tai_provider_openai_desc: \"官方 OpenAI 接口,默认 Base URL 为 https://api.openai.com/v1,默认模型为 gpt-5-mini。\",\n\tai_provider_openrouter_desc:\n\t\t\"适合统一接入多家模型,默认 Base URL 为 https://openrouter.ai/api/v1,默认模型为 openrouter/free。\",\n\tai_provider_deepseek_desc:\n\t\t\"DeepSeek 官方接口当前文档主地址为 https://api.deepseek.com;默认模型为 deepseek-chat,官方将其说明为 V3.2 的非思考聊天别名。\",\n\tai_provider_gemini_desc:\n\t\t\"Google Gemini 的 OpenAI 兼容入口为 https://generativelanguage.googleapis.com/v1beta/openai,默认模型为 gemini-2.5-flash。\",\n\tai_provider_qwen_desc:\n\t\t\"阿里云百炼 OpenAI 兼容接口。默认预设为北京地域 https://dashscope.aliyuncs.com/compatible-mode/v1,默认模型为 qwen3.5-plus,官方还提供新加坡和美国(弗吉尼亚)地域变体。\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI 兼容接口当前文档地址为 https://api.siliconflow.com/v1,默认模型为 Qwen/Qwen3.5-27B。\",\n\tai_provider_glm_desc: \"智谱 GLM 的 OpenAI 兼容入口为 https://open.bigmodel.cn/api/paas/v4,默认模型为 glm-4.7。\",\n\tai_provider_kimi_desc: \"Moonshot Kimi 的 OpenAI 兼容入口为 https://api.moonshot.cn/v1,默认模型为 kimi-k2-0905。\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax 的 OpenAI 兼容入口国际站为 https://api.minimax.io/v1;官方也说明中国区可使用 https://api.minimaxi.com/v1。默认模型为 MiniMax-M2.5。\",\n\tai_provider_custom_desc: \"保持手动填写,适用于任意 OpenAI 兼容服务。\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"模型名称\",\n\tai_api_key_toggle_show: \"显示\",\n\tai_api_key_toggle_hide: \"隐藏\",\n\tai_privacy_hint: \"您的 API Key 仅保存在 chrome.storage.local,本扩展不会上传或同步该配置;聊天记录只保留在当前页面。\",\n\tai_config_ready: \"AI 配置已保存,可开始诊断。\",\n\tai_config_incomplete: \"请填写完整的 Base URL、API Key 和模型名称。\",\n\tai_config_replace_template: \"请先把地址中的模板资源名替换成您自己的实际资源名,再开始 AI 诊断。\",\n\tai_chat_placeholder: \"点击“开始 AI 诊断”后,AI 会基于当前检测快照给出风险分析。\",\n\tai_user_input_placeholder: \"继续追问,例如:为什么语言和时区不一致会增加指纹风险?\",\n\tai_start: \"开始 AI 诊断\",\n\tai_stop: \"停止生成\",\n\tai_clear: \"清空会话\",\n\tai_export_structured: \"导出结构化文本\",\n\tai_send: \"发送\",\n\tai_export: \"导出 Markdown\",\n\tai_user_input_label: \"追问内容\",\n\tai_export_empty: \"当前还没有可导出的可见对话内容。\",\n\tai_export_success: \"对话已导出为 Markdown。\",\n\tai_export_structured_empty: \"当前还没有可导出的检测信息。\",\n\tai_export_structured_success: \"检测信息已导出为 Markdown。\",\n\tai_export_structured_notice:\n\t\t\"说明:此快照已通过 sanitizeSnapshotForAI 脱敏处理,已隐藏 User Agent、WebRTC IP、HTTP 请求头(仅保留名称)以及 Canvas/WebGL/Audio 指纹哈希。\",\n\tai_export_label_generated_at: \"生成时间\",\n\tai_export_label_snapshot_version: \"快照版本\",\n\tai_export_label_ui_language: \"界面语言\",\n\tai_export_label_extension_version: \"扩展版本\",\n\tai_export_section_extension: \"扩展状态\",\n\tai_export_label_current_language: \"当前语言\",\n\tai_export_label_auto_switch_enabled: \"自动切换已启用\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"状态\",\n\tai_export_label_endpoint: \"接口地址\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"错误\",\n\tai_export_label_headers: \"请求头\",\n\tai_export_section_js_env: \"JavaScript 环境\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"时区\",\n\tai_export_label_timezone_offset: \"时区偏移\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat 区域设置\",\n\tai_export_label_number_locale: \"NumberFormat 区域设置\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"检测到 IP 泄露\",\n\tai_export_label_ips: \"IP 列表\",\n\tai_export_section_browser_fingerprint: \"浏览器指纹\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"屏幕信息\",\n\tai_export_section_hardware_fingerprint: \"硬件指纹\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"兼容性\",\n\tai_export_label_browser: \"浏览器\",\n\tai_export_label_api_support: \"API 支持\",\n\tai_copy_failed: \"复制失败,请重试。\",\n\tai_role_user: \"用户\",\n\tai_role_assistant: \"助手\",\n\tai_detection_pending: \"检测尚未完成,请等待当前环境检测结束后再开始 AI 诊断。\",\n\tai_session_expired: \"检测结果已刷新,当前会话上下文已过期。请重新点击“开始 AI 诊断”。\",\n\tai_request_in_progress: \"AI 正在生成诊断结果...\",\n\tai_request_stopped: \"已停止生成。\",\n\tai_request_failed: \"AI 请求失败:{error}\",\n\tai_render_fallback: \"Markdown 渲染库不可用,已回退为纯文本显示。\",\n\tai_chat_cleared: \"会话已清空。\",\n\tai_starting: \"正在基于当前检测快照启动 AI 诊断...\",\n\tai_ready_for_followup: \"可以继续追问,AI 会沿用本次检测上下文。\",\n\tai_config_missing_runtime: \"当前环境无法访问 AI 客户端,请刷新页面后重试。\",\n\tai_waiting_for_question: \"请输入追问内容。\",\n\tai_restart_required: \"检测快照已变化,旧上下文不再可靠。请重新开始 AI 诊断。\",\n\tai_empty_reply: \"AI 没有返回有效内容。\",\n};\n\nexport { detectEn, detectZh };\n"}, "fc24abd014578ec048b2bedb2a5565c3f52b69f6": {"t": 1785766690.8130684, "n": 20610, "h": "8321997e43d5298b", "c": "const detectEn = {\n\tlocale_formatting_title: \"Locale Formatting Fingerprint\",\n\tsystem_timezone_label: \"System timezone\",\n\tip_timezone_label: \"IP timezone\",\n\tip_geo_label: \"IP geolocation\",\n\tip_org_label: \"Organization / ISP\",\n\tip_timezone_unavailable: \"Lookup unavailable\",\n\tcollator_label: \"Collator\",\n\tplural_rules_label: \"Plural rules\",\n\tother_intl_locale_label: \"Other Intl locales\",\n\tformat_samples_label: \"Format samples (date | number | currency)\",\n\tsort_sample_label: \"Collation sort sample\",\n\tip_timezone_detection_failed: \"IP timezone lookup failed\",\n\tlocale_formatting_detection_failed: \"Locale formatting detection failed\",\n\tai_copy_tooltip: \"Copy\",\n\tai_copied_tooltip: \"Copied\",\n\ttheme_toggle: \"Toggle Theme\",\n\treset_accept_language_tooltip: \"Reset Accept-Language\",\n\ttitle: \"MultiLangSwitcher Detection Page\",\n\theading: \"MultiLangSwitcher Detection Page\",\n\tsubtitle: \"This page is used to verify the effect of MultiLangSwitcher extension settings\",\n\ttip: \"Pay special attention to the value of the Accept-Language request header, which should match the language you set in the extension.\",\n\trequest_header: \"Accept-Language\",\n\tjs_language: \"JS Language Preference\",\n\tintl_api: \"Internationalization API\",\n\twebrtc_detection: \"WebRTC Detection\",\n\tbrowser_fingerprint: \"Browser Fingerprint (Partial)\",\n\tdetecting: \"Detecting...\",\n\tbrowser_compatibility: \"Browser Compatibility Check\",\n\tbrowser_info: \"Browser Information:\",\n\tapi_support: \"API Support Status:\",\n\thardware_fingerprint: \"Hardware Fingerprint Detection\",\n\tcanvas_fingerprint: \"Canvas Fingerprint\",\n\twebgl_fingerprint: \"WebGL Fingerprint\",\n\taudio_fingerprint: \"AudioContext Fingerprint\",\n\tcomplete_headers: \"Complete Request Header Information:\",\n\tloading: \"Loading...\",\n\tcurrent_value: \"Current Value:\",\n\tdetected_via: \"Detected via {method}\",\n\twebrtc_local_ip: \"WebRTC Local IP Address (for connection optimization):\",\n\twebrtc_description:\n\t\t\"This is normal WebRTC behavior that helps establish direct connections, but may also expose your local network IP address.\",\n\tpartial_fingerprint: \"Partial Browser Fingerprint Information\",\n\tsupported: \"Supported\",\n\tnot_supported: \"Not Supported\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL version:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat Locale:\",\n\tnumber_format_locale_label: \"NumberFormat Locale:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"Screen information:\",\n\toffset_label: \"Offset:\",\n\ton_connector: \"on\",\n\tua_ch_full_version_list: \"UA-CH Full Versions\",\n\tua_ch_brands: \"UA-CH Brands\",\n\tua_ch_platform: \"UA-CH Platform\",\n\tua_ch_mobile: \"UA-CH Mobile\",\n\tyes: \"Yes\",\n\tno: \"No\",\n\t\"Refresh detection\": \"Refresh Detection Info\",\n\trequest_header_method: \"Request Header\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"Detection Failed\",\n\tfetching_headers: \"Fetching request headers...\",\n\ttrying_webrtc: \"Trying to detect WebRTC local IP...\",\n\twebrtc_not_supported: \"WebRTC detection failed or not supported\",\n\twebgl_not_supported: \"WebGL not supported or disabled\",\n\taudio_not_supported: \"AudioContext not supported\",\n\tunknown_os: \"Unknown OS\",\n\tdetected_accept_language: \"Detected Accept-Language:\",\n\tno_accept_language: \"No Accept-Language header detected\",\n\tnot_detected_accept_language: \"No Accept-Language request header detected\",\n\texternal_check_prefix: \"Please visit\",\n\texternal_check_or: \"or\",\n\texternal_check_suffix: \"and similar sites to view\",\n\tall_attempts_failed: \"All attempts to fetch request headers failed:\",\n\tfetch_failed_all_services: \"Failed to fetch request header information (all services failed or timed out).\",\n\tdetailed_error: \"Detailed error:\",\n\tdetection_failed_all_services: \"Detection failed (all services failed or timed out).\",\n\thttp_error_status: \"HTTP error! Status:\",\n\tfrom: \"from\",\n\trequest_timeout: \"Request {url} timeout ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS language detection failed:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas fingerprint detection failed:\",\n\twebgl_fingerprint_detection_failed: \"WebGL fingerprint detection failed:\",\n\taudio_fingerprint_detection_failed: \"AudioContext fingerprint detection failed:\",\n\tintl_api_detection_failed: \"Intl API detection failed:\",\n\twebrtc_detection_failed: \"WebRTC detection failed:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription failed:\",\n\twebrtc_detected_local_ip: \"WebRTC detected local IP (normal behavior):\",\n\twebrtc_no_ip_detected: \"No WebRTC local IP address exposure detected.\",\n\twebrtc_no_local_ip: \"WebRTC no local IP detected\",\n\tfingerprint_detection_failed: \"Fingerprint detection failed:\",\n\trestricted: \"(restricted)\",\n\tbutton_add_failed_container:\n\t\t\"Could not precisely find .header-info for adding refresh button, button has been added to the end of .container.\",\n\tbutton_add_failed_no_container: \"Could not find .container for adding refresh button.\",\n\tai_diagnosis_title: \"AI Diagnosis\",\n\tai_config_summary: \"AI Service Configuration\",\n\tai_provider_label: \"Preset Provider\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"DashScope / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / Zhipu\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"Custom Compatible API\",\n\tai_provider_openai_desc:\n\t\t\"Official OpenAI endpoint with default Base URL https://api.openai.com/v1. Default model is gpt-5-mini.\",\n\tai_provider_openrouter_desc:\n\t\t\"Good for routing across many models, with default Base URL https://openrouter.ai/api/v1. Default model is openrouter/free.\",\n\tai_provider_deepseek_desc:\n\t\t\"Official DeepSeek endpoint with default Base URL https://api.deepseek.com. Default model is deepseek-chat, which DeepSeek documents as the non-thinking V3.2 chat alias.\",\n\tai_provider_gemini_desc:\n\t\t\"Google's OpenAI-compatible Gemini endpoint uses https://generativelanguage.googleapis.com/v1beta/openai. Default model is gemini-2.5-flash.\",\n\tai_provider_qwen_desc:\n\t\t\"DashScope OpenAI-compatible endpoint. Default preset uses the Beijing region at https://dashscope.aliyuncs.com/compatible-mode/v1. Default model is qwen3.5-plus. Official docs also list Singapore and Virginia region variants.\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI-compatible endpoint with default Base URL https://api.siliconflow.com/v1. Default model is Qwen/Qwen3.5-27B.\",\n\tai_provider_glm_desc:\n\t\t\"Zhipu GLM's OpenAI-compatible endpoint uses https://open.bigmodel.cn/api/paas/v4. Default model is glm-4.7.\",\n\tai_provider_kimi_desc:\n\t\t\"Moonshot Kimi's OpenAI-compatible endpoint uses https://api.moonshot.cn/v1. Default model is kimi-k2-0905.\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax's OpenAI-compatible endpoint uses https://api.minimax.io/v1 for the international platform, and MiniMax docs note https://api.minimaxi.com/v1 for users in China. Default model is MiniMax-M2.5.\",\n\tai_provider_custom_desc: \"Keep manual values for any OpenAI-compatible service.\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"Model Name\",\n\tai_api_key_toggle_show: \"Show\",\n\tai_api_key_toggle_hide: \"Hide\",\n\tai_privacy_hint:\n\t\t\"Your API key is stored only in chrome.storage.local. The extension does not upload or sync this setting, and chat history is kept only for this page session.\",\n\tai_config_ready: \"AI configuration saved. You can start a diagnosis now.\",\n\tai_config_incomplete: \"Please provide Base URL, API key, and model name to enable AI diagnosis.\",\n\tai_config_replace_template: \"Replace the template resource name in the endpoint before starting AI diagnosis.\",\n\tai_chat_placeholder: \"Start AI diagnosis to turn the current detection snapshot into actionable privacy guidance.\",\n\tai_user_input_placeholder:\n\t\t\"Ask a follow-up, for example: Why does a language/timezone mismatch increase fingerprint risk?\",\n\tai_start: \"Start AI Diagnosis\",\n\tai_stop: \"Stop\",\n\tai_clear: \"Clear Session\",\n\tai_export_structured: \"Export Structured Text\",\n\tai_send: \"Send\",\n\tai_export: \"Export Markdown\",\n\tai_user_input_label: \"Follow-up question\",\n\tai_export_empty: \"There is no visible chat content to export yet.\",\n\tai_export_success: \"Chat exported as Markdown.\",\n\tai_export_structured_empty: \"There is no detection data to export yet.\",\n\tai_export_structured_success: \"Detection data exported as Markdown.\",\n\tai_export_structured_notice:\n\t\t\"Note: This snapshot has been sanitized by sanitizeSnapshotForAI. User Agent, WebRTC IPs, HTTP headers (names only), and Canvas/WebGL/Audio fingerprint hashes have been redacted.\",\n\tai_export_label_generated_at: \"Generated At\",\n\tai_export_label_snapshot_version: \"Snapshot Version\",\n\tai_export_label_ui_language: \"UI Language\",\n\tai_export_label_extension_version: \"Extension Version\",\n\tai_export_section_extension: \"Extension\",\n\tai_export_label_current_language: \"Current Language\",\n\tai_export_label_auto_switch_enabled: \"Auto Switch Enabled\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"Status\",\n\tai_export_label_endpoint: \"Endpoint\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"Error\",\n\tai_export_label_headers: \"Headers\",\n\tai_export_section_js_env: \"JavaScript Environment\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"Timezone\",\n\tai_export_label_timezone_offset: \"Timezone Offset\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat Locale\",\n\tai_export_label_number_locale: \"NumberFormat Locale\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"IP Leak Detected\",\n\tai_export_label_ips: \"IPs\",\n\tai_export_section_browser_fingerprint: \"Browser Fingerprint\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"Screen\",\n\tai_export_section_hardware_fingerprint: \"Hardware Fingerprint\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"Compatibility\",\n\tai_export_label_browser: \"Browser\",\n\tai_export_label_api_support: \"API Support\",\n\tai_copy_failed: \"Copy failed. Please try again.\",\n\tai_role_user: \"User\",\n\tai_role_assistant: \"Assistant\",\n\tai_detection_pending:\n\t\t\"Detection is still running. Wait for the current environment check to finish before starting AI diagnosis.\",\n\tai_session_expired:\n\t\t\"The detection snapshot has been refreshed, so the current chat context is stale. Start a new AI diagnosis.\",\n\tai_request_in_progress: \"AI is generating the diagnosis...\",\n\tai_request_stopped: \"Generation stopped.\",\n\tai_request_failed: \"AI request failed: {error}\",\n\tai_render_fallback: \"Markdown rendering is unavailable, so the response was shown as plain text.\",\n\tai_chat_cleared: \"Session cleared.\",\n\tai_starting: \"Starting AI diagnosis from the current detection snapshot...\",\n\tai_ready_for_followup: \"You can keep asking follow-up questions with the same detection context.\",\n\tai_config_missing_runtime: \"AI client is unavailable in the current page context. Refresh and try again.\",\n\tai_waiting_for_question: \"Enter a follow-up question first.\",\n\tai_restart_required:\n\t\t\"The detection snapshot changed, so the old context is no longer reliable. Start AI diagnosis again.\",\n\tai_empty_reply: \"The AI service returned no usable content.\",\n};\n\nconst detectZh = {\n\tlocale_formatting_title: \"Locale 格式化指纹\",\n\tsystem_timezone_label: \"系统时区\",\n\tip_timezone_label: \"IP 时区\",\n\tip_geo_label: \"IP 地理位置\",\n\tip_org_label: \"组织 / ISP\",\n\tip_timezone_unavailable: \"查询不可用\",\n\tcollator_label: \"排序规则器\",\n\tplural_rules_label: \"复数规则\",\n\tother_intl_locale_label: \"其他 Intl locale\",\n\tformat_samples_label: \"格式化样本(日期 | 数字 | 货币)\",\n\tsort_sample_label: \"排序行为样本\",\n\tip_timezone_detection_failed: \"IP 时区查询失败\",\n\tlocale_formatting_detection_failed: \"Locale 格式化检测失败\",\n\tai_copy_tooltip: \"复制\",\n\tai_copied_tooltip: \"已复制\",\n\ttheme_toggle: \"切换主题\",\n\treset_accept_language_tooltip: \"重置 Accept-Language\",\n\ttitle: \"MultiLangSwitcher 检测页面\",\n\theading: \"MultiLangSwitcher 检测页面\",\n\tsubtitle: \"此页面用于验证MultiLangSwitcher扩展的设置效果\",\n\ttip: \"请特别关注 Accept-Language 请求头的值,它应该与您在扩展中设置的语言相匹配。\",\n\trequest_header: \"请求头语言 Accept-Language\",\n\tjs_language: \"JS 语言偏好\",\n\tintl_api: \"国际化 API\",\n\twebrtc_detection: \"WebRTC 检测\",\n\tbrowser_fingerprint: \"浏览器指纹 (部分)\",\n\tdetecting: \"检测中...\",\n\tbrowser_compatibility: \"浏览器兼容性检查\",\n\tbrowser_info: \"浏览器信息:\",\n\tapi_support: \"API 支持情况:\",\n\thardware_fingerprint: \"硬件指纹检测\",\n\tcanvas_fingerprint: \"Canvas 指纹\",\n\twebgl_fingerprint: \"WebGL 指纹\",\n\taudio_fingerprint: \"AudioContext 指纹\",\n\tcomplete_headers: \"完整请求头信息:\",\n\tloading: \"加载中...\",\n\tcurrent_value: \"当前值:\",\n\tdetected_via: \"通过{method}检测\",\n\twebrtc_local_ip: \"WebRTC 本地 IP 地址 (用于连接优化):\",\n\twebrtc_description: \"这是 WebRTC 的正常行为,有助于建立直接连接,但也可能暴露您的本地网络 IP 地址。\",\n\tpartial_fingerprint: \"部分浏览器指纹信息\",\n\tsupported: \"支持\",\n\tnot_supported: \"不支持\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL 版本:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat 区域设置:\",\n\tnumber_format_locale_label: \"NumberFormat 区域设置:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"屏幕信息:\",\n\toffset_label: \"偏移:\",\n\ton_connector: \"运行于\",\n\tua_ch_full_version_list: \"UA-CH 完整版本列表\",\n\tua_ch_brands: \"UA-CH 品牌列表\",\n\tua_ch_platform: \"UA-CH 平台\",\n\tua_ch_mobile: \"UA-CH 移动设备\",\n\tyes: \"是\",\n\tno: \"否\",\n\t\"Refresh detection\": \"刷新检测信息\",\n\trequest_header_method: \"请求头\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"检测失败\",\n\tfetching_headers: \"正在获取请求头信息...\",\n\ttrying_webrtc: \"正在尝试检测 WebRTC 本地 IP...\",\n\twebrtc_not_supported: \"WebRTC 检测失败或不受支持\",\n\twebgl_not_supported: \"WebGL 不支持或已禁用\",\n\taudio_not_supported: \"AudioContext 不支持\",\n\tunknown_os: \"未知操作系统\",\n\tdetected_accept_language: \"检测到的Accept-Language:\",\n\tno_accept_language: \"未检测到Accept-Language请求头\",\n\tnot_detected_accept_language: \"未检测到Accept-Language请求头\",\n\texternal_check_prefix: \"请访问\",\n\texternal_check_or: \"或\",\n\texternal_check_suffix: \"等网站进行查看\",\n\tall_attempts_failed: \"所有获取请求头的尝试都失败了:\",\n\tfetch_failed_all_services: \"获取请求头信息失败 (所有服务均失败或超时)。\",\n\tdetailed_error: \"详细错误:\",\n\tdetection_failed_all_services: \"检测失败 (所有服务均失败或超时)。\",\n\thttp_error_status: \"HTTP错误! 状态:\",\n\tfrom: \"来自\",\n\trequest_timeout: \"请求 {url} 超时 ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS 语言检测失败:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas 指纹检测失败:\",\n\twebgl_fingerprint_detection_failed: \"WebGL 指纹检测失败:\",\n\taudio_fingerprint_detection_failed: \"AudioContext 指纹检测失败:\",\n\tintl_api_detection_failed: \"Intl API 检测失败:\",\n\twebrtc_detection_failed: \"WebRTC 检测失败:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription 失败:\",\n\twebrtc_detected_local_ip: \"WebRTC 检测到本地 IP (正常行为):\",\n\twebrtc_no_ip_detected: \"未检测到 WebRTC 本地 IP 地址暴露。\",\n\twebrtc_no_local_ip: \"WebRTC 未检测到本地 IP\",\n\tfingerprint_detection_failed: \"指纹检测失败:\",\n\trestricted: \"(受限)\",\n\tbutton_add_failed_container: \"未能精确找到 .header-info 用于附加刷新按钮,按钮已附加到 .container 末尾。\",\n\tbutton_add_failed_no_container: \"未能找到 .container 用于附加刷新按钮。\",\n\tai_diagnosis_title: \"AI 诊断\",\n\tai_config_summary: \"AI 服务配置\",\n\tai_provider_label: \"预设平台\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"阿里云百炼 / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / 智谱\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"自定义兼容接口\",\n\tai_provider_openai_desc: \"官方 OpenAI 接口,默认 Base URL 为 https://api.openai.com/v1,默认模型为 gpt-5-mini。\",\n\tai_provider_openrouter_desc:\n\t\t\"适合统一接入多家模型,默认 Base URL 为 https://openrouter.ai/api/v1,默认模型为 openrouter/free。\",\n\tai_provider_deepseek_desc:\n\t\t\"DeepSeek 官方接口当前文档主地址为 https://api.deepseek.com;默认模型为 deepseek-chat,官方将其说明为 V3.2 的非思考聊天别名。\",\n\tai_provider_gemini_desc:\n\t\t\"Google Gemini 的 OpenAI 兼容入口为 https://generativelanguage.googleapis.com/v1beta/openai,默认模型为 gemini-2.5-flash。\",\n\tai_provider_qwen_desc:\n\t\t\"阿里云百炼 OpenAI 兼容接口。默认预设为北京地域 https://dashscope.aliyuncs.com/compatible-mode/v1,默认模型为 qwen3.5-plus,官方还提供新加坡和美国(弗吉尼亚)地域变体。\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI 兼容接口当前文档地址为 https://api.siliconflow.com/v1,默认模型为 Qwen/Qwen3.5-27B。\",\n\tai_provider_glm_desc: \"智谱 GLM 的 OpenAI 兼容入口为 https://open.bigmodel.cn/api/paas/v4,默认模型为 glm-4.7。\",\n\tai_provider_kimi_desc: \"Moonshot Kimi 的 OpenAI 兼容入口为 https://api.moonshot.cn/v1,默认模型为 kimi-k2-0905。\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax 的 OpenAI 兼容入口国际站为 https://api.minimax.io/v1;官方也说明中国区可使用 https://api.minimaxi.com/v1。默认模型为 MiniMax-M2.5。\",\n\tai_provider_custom_desc: \"保持手动填写,适用于任意 OpenAI 兼容服务。\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"模型名称\",\n\tai_api_key_toggle_show: \"显示\",\n\tai_api_key_toggle_hide: \"隐藏\",\n\tai_privacy_hint: \"您的 API Key 仅保存在 chrome.storage.local,本扩展不会上传或同步该配置;聊天记录只保留在当前页面。\",\n\tai_config_ready: \"AI 配置已保存,可开始诊断。\",\n\tai_config_incomplete: \"请填写完整的 Base URL、API Key 和模型名称。\",\n\tai_config_replace_template: \"请先把地址中的模板资源名替换成您自己的实际资源名,再开始 AI 诊断。\",\n\tai_chat_placeholder: \"点击“开始 AI 诊断”后,AI 会基于当前检测快照给出风险分析。\",\n\tai_user_input_placeholder: \"继续追问,例如:为什么语言和时区不一致会增加指纹风险?\",\n\tai_start: \"开始 AI 诊断\",\n\tai_stop: \"停止生成\",\n\tai_clear: \"清空会话\",\n\tai_export_structured: \"导出结构化文本\",\n\tai_send: \"发送\",\n\tai_export: \"导出 Markdown\",\n\tai_user_input_label: \"追问内容\",\n\tai_export_empty: \"当前还没有可导出的可见对话内容。\",\n\tai_export_success: \"对话已导出为 Markdown。\",\n\tai_export_structured_empty: \"当前还没有可导出的检测信息。\",\n\tai_export_structured_success: \"检测信息已导出为 Markdown。\",\n\tai_export_structured_notice:\n\t\t\"说明:此快照已通过 sanitizeSnapshotForAI 脱敏处理,已隐藏 User Agent、WebRTC IP、HTTP 请求头(仅保留名称)以及 Canvas/WebGL/Audio 指纹哈希。\",\n\tai_export_label_generated_at: \"生成时间\",\n\tai_export_label_snapshot_version: \"快照版本\",\n\tai_export_label_ui_language: \"界面语言\",\n\tai_export_label_extension_version: \"扩展版本\",\n\tai_export_section_extension: \"扩展状态\",\n\tai_export_label_current_language: \"当前语言\",\n\tai_export_label_auto_switch_enabled: \"自动切换已启用\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"状态\",\n\tai_export_label_endpoint: \"接口地址\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"错误\",\n\tai_export_label_headers: \"请求头\",\n\tai_export_section_js_env: \"JavaScript 环境\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"时区\",\n\tai_export_label_timezone_offset: \"时区偏移\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat 区域设置\",\n\tai_export_label_number_locale: \"NumberFormat 区域设置\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"检测到 IP 泄露\",\n\tai_export_label_ips: \"IP 列表\",\n\tai_export_section_browser_fingerprint: \"浏览器指纹\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"屏幕信息\",\n\tai_export_section_hardware_fingerprint: \"硬件指纹\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"兼容性\",\n\tai_export_label_browser: \"浏览器\",\n\tai_export_label_api_support: \"API 支持\",\n\tai_copy_failed: \"复制失败,请重试。\",\n\tai_role_user: \"用户\",\n\tai_role_assistant: \"助手\",\n\tai_detection_pending: \"检测尚未完成,请等待当前环境检测结束后再开始 AI 诊断。\",\n\tai_session_expired: \"检测结果已刷新,当前会话上下文已过期。请重新点击“开始 AI 诊断”。\",\n\tai_request_in_progress: \"AI 正在生成诊断结果...\",\n\tai_request_stopped: \"已停止生成。\",\n\tai_request_failed: \"AI 请求失败:{error}\",\n\tai_render_fallback: \"Markdown 渲染库不可用,已回退为纯文本显示。\",\n\tai_chat_cleared: \"会话已清空。\",\n\tai_starting: \"正在基于当前检测快照启动 AI 诊断...\",\n\tai_ready_for_followup: \"可以继续追问,AI 会沿用本次检测上下文。\",\n\tai_config_missing_runtime: \"当前环境无法访问 AI 客户端,请刷新页面后重试。\",\n\tai_waiting_for_question: \"请输入追问内容。\",\n\tai_restart_required: \"检测快照已变化,旧上下文不再可靠。请重新开始 AI 诊断。\",\n\tai_empty_reply: \"AI 没有返回有效内容。\",\n};\n\nexport { detectEn, detectZh };\n"}, "21777cd71250aef81f060d4be123faaab9df3461": {"t": 1785766692.5990975, "n": 20664, "h": "a54272a2d1b65079", "c": "const detectEn = {\n\tlocale_formatting_title: \"Locale Formatting Fingerprint\",\n\tsystem_timezone_label: \"System timezone\",\n\tip_timezone_label: \"IP timezone\",\n\tip_geo_label: \"IP geolocation\",\n\tip_org_label: \"Organization / ISP\",\n\tip_timezone_unavailable: \"Lookup unavailable\",\n\tcollator_label: \"Collator\",\n\tplural_rules_label: \"Plural rules\",\n\tother_intl_locale_label: \"Other Intl locales\",\n\tformat_samples_label: \"Format samples (date | number | currency)\",\n\tsort_sample_label: \"Collation sort sample\",\n\tip_timezone_detection_failed: \"IP timezone lookup failed\",\n\tlocale_formatting_detection_failed: \"Locale formatting detection failed\",\n\tai_copy_tooltip: \"Copy\",\n\tai_copied_tooltip: \"Copied\",\n\ttheme_toggle: \"Toggle Theme\",\n\treset_accept_language_tooltip: \"Reset Accept-Language\",\n\ttitle: \"MultiLangSwitcher Detection Page\",\n\theading: \"MultiLangSwitcher Detection Page\",\n\tsubtitle: \"This page is used to verify the effect of MultiLangSwitcher extension settings\",\n\ttip: \"Pay special attention to the value of the Accept-Language request header, which should match the language you set in the extension.\",\n\trequest_header: \"Accept-Language\",\n\tjs_language: \"JS Language Preference\",\n\tintl_api: \"Internationalization API\",\n\twebrtc_detection: \"WebRTC Detection\",\n\tbrowser_fingerprint: \"Browser Fingerprint (Partial)\",\n\tdetecting: \"Detecting...\",\n\tbrowser_compatibility: \"Browser Compatibility Check\",\n\tbrowser_info: \"Browser Information:\",\n\tapi_support: \"API Support Status:\",\n\thardware_fingerprint: \"Hardware Fingerprint Detection\",\n\tcanvas_fingerprint: \"Canvas Fingerprint\",\n\twebgl_fingerprint: \"WebGL Fingerprint\",\n\taudio_fingerprint: \"AudioContext Fingerprint\",\n\tcomplete_headers: \"Complete Request Header Information:\",\n\tloading: \"Loading...\",\n\tcurrent_value: \"Current Value:\",\n\tdetected_via: \"Detected via {method}\",\n\twebrtc_local_ip: \"WebRTC Local IP Address (for connection optimization):\",\n\twebrtc_description:\n\t\t\"This is normal WebRTC behavior that helps establish direct connections, but may also expose your local network IP address.\",\n\tpartial_fingerprint: \"Partial Browser Fingerprint Information\",\n\tsupported: \"Supported\",\n\tnot_supported: \"Not Supported\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL version:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat Locale:\",\n\tnumber_format_locale_label: \"NumberFormat Locale:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"Screen information:\",\n\ttimezone_label: \"Timezone:\",\n\toffset_label: \"Offset:\",\n\ton_connector: \"on\",\n\tua_ch_full_version_list: \"UA-CH Full Versions\",\n\tua_ch_brands: \"UA-CH Brands\",\n\tua_ch_platform: \"UA-CH Platform\",\n\tua_ch_mobile: \"UA-CH Mobile\",\n\tyes: \"Yes\",\n\tno: \"No\",\n\t\"Refresh detection\": \"Refresh Detection Info\",\n\trequest_header_method: \"Request Header\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"Detection Failed\",\n\tfetching_headers: \"Fetching request headers...\",\n\ttrying_webrtc: \"Trying to detect WebRTC local IP...\",\n\twebrtc_not_supported: \"WebRTC detection failed or not supported\",\n\twebgl_not_supported: \"WebGL not supported or disabled\",\n\taudio_not_supported: \"AudioContext not supported\",\n\tunknown_os: \"Unknown OS\",\n\tdetected_accept_language: \"Detected Accept-Language:\",\n\tno_accept_language: \"No Accept-Language header detected\",\n\tnot_detected_accept_language: \"No Accept-Language request header detected\",\n\texternal_check_prefix: \"Please visit\",\n\texternal_check_or: \"or\",\n\texternal_check_suffix: \"and similar sites to view\",\n\tall_attempts_failed: \"All attempts to fetch request headers failed:\",\n\tfetch_failed_all_services: \"Failed to fetch request header information (all services failed or timed out).\",\n\tdetailed_error: \"Detailed error:\",\n\tdetection_failed_all_services: \"Detection failed (all services failed or timed out).\",\n\thttp_error_status: \"HTTP error! Status:\",\n\tfrom: \"from\",\n\trequest_timeout: \"Request {url} timeout ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS language detection failed:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas fingerprint detection failed:\",\n\twebgl_fingerprint_detection_failed: \"WebGL fingerprint detection failed:\",\n\taudio_fingerprint_detection_failed: \"AudioContext fingerprint detection failed:\",\n\tintl_api_detection_failed: \"Intl API detection failed:\",\n\twebrtc_detection_failed: \"WebRTC detection failed:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription failed:\",\n\twebrtc_detected_local_ip: \"WebRTC detected local IP (normal behavior):\",\n\twebrtc_no_ip_detected: \"No WebRTC local IP address exposure detected.\",\n\twebrtc_no_local_ip: \"WebRTC no local IP detected\",\n\tfingerprint_detection_failed: \"Fingerprint detection failed:\",\n\trestricted: \"(restricted)\",\n\tbutton_add_failed_container:\n\t\t\"Could not precisely find .header-info for adding refresh button, button has been added to the end of .container.\",\n\tbutton_add_failed_no_container: \"Could not find .container for adding refresh button.\",\n\tai_diagnosis_title: \"AI Diagnosis\",\n\tai_config_summary: \"AI Service Configuration\",\n\tai_provider_label: \"Preset Provider\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"DashScope / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / Zhipu\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"Custom Compatible API\",\n\tai_provider_openai_desc:\n\t\t\"Official OpenAI endpoint with default Base URL https://api.openai.com/v1. Default model is gpt-5-mini.\",\n\tai_provider_openrouter_desc:\n\t\t\"Good for routing across many models, with default Base URL https://openrouter.ai/api/v1. Default model is openrouter/free.\",\n\tai_provider_deepseek_desc:\n\t\t\"Official DeepSeek endpoint with default Base URL https://api.deepseek.com. Default model is deepseek-chat, which DeepSeek documents as the non-thinking V3.2 chat alias.\",\n\tai_provider_gemini_desc:\n\t\t\"Google's OpenAI-compatible Gemini endpoint uses https://generativelanguage.googleapis.com/v1beta/openai. Default model is gemini-2.5-flash.\",\n\tai_provider_qwen_desc:\n\t\t\"DashScope OpenAI-compatible endpoint. Default preset uses the Beijing region at https://dashscope.aliyuncs.com/compatible-mode/v1. Default model is qwen3.5-plus. Official docs also list Singapore and Virginia region variants.\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI-compatible endpoint with default Base URL https://api.siliconflow.com/v1. Default model is Qwen/Qwen3.5-27B.\",\n\tai_provider_glm_desc:\n\t\t\"Zhipu GLM's OpenAI-compatible endpoint uses https://open.bigmodel.cn/api/paas/v4. Default model is glm-4.7.\",\n\tai_provider_kimi_desc:\n\t\t\"Moonshot Kimi's OpenAI-compatible endpoint uses https://api.moonshot.cn/v1. Default model is kimi-k2-0905.\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax's OpenAI-compatible endpoint uses https://api.minimax.io/v1 for the international platform, and MiniMax docs note https://api.minimaxi.com/v1 for users in China. Default model is MiniMax-M2.5.\",\n\tai_provider_custom_desc: \"Keep manual values for any OpenAI-compatible service.\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"Model Name\",\n\tai_api_key_toggle_show: \"Show\",\n\tai_api_key_toggle_hide: \"Hide\",\n\tai_privacy_hint:\n\t\t\"Your API key is stored only in chrome.storage.local. The extension does not upload or sync this setting, and chat history is kept only for this page session.\",\n\tai_config_ready: \"AI configuration saved. You can start a diagnosis now.\",\n\tai_config_incomplete: \"Please provide Base URL, API key, and model name to enable AI diagnosis.\",\n\tai_config_replace_template: \"Replace the template resource name in the endpoint before starting AI diagnosis.\",\n\tai_chat_placeholder: \"Start AI diagnosis to turn the current detection snapshot into actionable privacy guidance.\",\n\tai_user_input_placeholder:\n\t\t\"Ask a follow-up, for example: Why does a language/timezone mismatch increase fingerprint risk?\",\n\tai_start: \"Start AI Diagnosis\",\n\tai_stop: \"Stop\",\n\tai_clear: \"Clear Session\",\n\tai_export_structured: \"Export Structured Text\",\n\tai_send: \"Send\",\n\tai_export: \"Export Markdown\",\n\tai_user_input_label: \"Follow-up question\",\n\tai_export_empty: \"There is no visible chat content to export yet.\",\n\tai_export_success: \"Chat exported as Markdown.\",\n\tai_export_structured_empty: \"There is no detection data to export yet.\",\n\tai_export_structured_success: \"Detection data exported as Markdown.\",\n\tai_export_structured_notice:\n\t\t\"Note: This snapshot has been sanitized by sanitizeSnapshotForAI. User Agent, WebRTC IPs, HTTP headers (names only), and Canvas/WebGL/Audio fingerprint hashes have been redacted.\",\n\tai_export_label_generated_at: \"Generated At\",\n\tai_export_label_snapshot_version: \"Snapshot Version\",\n\tai_export_label_ui_language: \"UI Language\",\n\tai_export_label_extension_version: \"Extension Version\",\n\tai_export_section_extension: \"Extension\",\n\tai_export_label_current_language: \"Current Language\",\n\tai_export_label_auto_switch_enabled: \"Auto Switch Enabled\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"Status\",\n\tai_export_label_endpoint: \"Endpoint\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"Error\",\n\tai_export_label_headers: \"Headers\",\n\tai_export_section_js_env: \"JavaScript Environment\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"Timezone\",\n\tai_export_label_timezone_offset: \"Timezone Offset\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat Locale\",\n\tai_export_label_number_locale: \"NumberFormat Locale\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"IP Leak Detected\",\n\tai_export_label_ips: \"IPs\",\n\tai_export_section_browser_fingerprint: \"Browser Fingerprint\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"Screen\",\n\tai_export_section_hardware_fingerprint: \"Hardware Fingerprint\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"Compatibility\",\n\tai_export_label_browser: \"Browser\",\n\tai_export_label_api_support: \"API Support\",\n\tai_copy_failed: \"Copy failed. Please try again.\",\n\tai_role_user: \"User\",\n\tai_role_assistant: \"Assistant\",\n\tai_detection_pending:\n\t\t\"Detection is still running. Wait for the current environment check to finish before starting AI diagnosis.\",\n\tai_session_expired:\n\t\t\"The detection snapshot has been refreshed, so the current chat context is stale. Start a new AI diagnosis.\",\n\tai_request_in_progress: \"AI is generating the diagnosis...\",\n\tai_request_stopped: \"Generation stopped.\",\n\tai_request_failed: \"AI request failed: {error}\",\n\tai_render_fallback: \"Markdown rendering is unavailable, so the response was shown as plain text.\",\n\tai_chat_cleared: \"Session cleared.\",\n\tai_starting: \"Starting AI diagnosis from the current detection snapshot...\",\n\tai_ready_for_followup: \"You can keep asking follow-up questions with the same detection context.\",\n\tai_config_missing_runtime: \"AI client is unavailable in the current page context. Refresh and try again.\",\n\tai_waiting_for_question: \"Enter a follow-up question first.\",\n\tai_restart_required:\n\t\t\"The detection snapshot changed, so the old context is no longer reliable. Start AI diagnosis again.\",\n\tai_empty_reply: \"The AI service returned no usable content.\",\n};\n\nconst detectZh = {\n\tlocale_formatting_title: \"Locale 格式化指纹\",\n\tsystem_timezone_label: \"系统时区\",\n\tip_timezone_label: \"IP 时区\",\n\tip_geo_label: \"IP 地理位置\",\n\tip_org_label: \"组织 / ISP\",\n\tip_timezone_unavailable: \"查询不可用\",\n\tcollator_label: \"排序规则器\",\n\tplural_rules_label: \"复数规则\",\n\tother_intl_locale_label: \"其他 Intl locale\",\n\tformat_samples_label: \"格式化样本(日期 | 数字 | 货币)\",\n\tsort_sample_label: \"排序行为样本\",\n\tip_timezone_detection_failed: \"IP 时区查询失败\",\n\tlocale_formatting_detection_failed: \"Locale 格式化检测失败\",\n\tai_copy_tooltip: \"复制\",\n\tai_copied_tooltip: \"已复制\",\n\ttheme_toggle: \"切换主题\",\n\treset_accept_language_tooltip: \"重置 Accept-Language\",\n\ttitle: \"MultiLangSwitcher 检测页面\",\n\theading: \"MultiLangSwitcher 检测页面\",\n\tsubtitle: \"此页面用于验证MultiLangSwitcher扩展的设置效果\",\n\ttip: \"请特别关注 Accept-Language 请求头的值,它应该与您在扩展中设置的语言相匹配。\",\n\trequest_header: \"请求头语言 Accept-Language\",\n\tjs_language: \"JS 语言偏好\",\n\tintl_api: \"国际化 API\",\n\twebrtc_detection: \"WebRTC 检测\",\n\tbrowser_fingerprint: \"浏览器指纹 (部分)\",\n\tdetecting: \"检测中...\",\n\tbrowser_compatibility: \"浏览器兼容性检查\",\n\tbrowser_info: \"浏览器信息:\",\n\tapi_support: \"API 支持情况:\",\n\thardware_fingerprint: \"硬件指纹检测\",\n\tcanvas_fingerprint: \"Canvas 指纹\",\n\twebgl_fingerprint: \"WebGL 指纹\",\n\taudio_fingerprint: \"AudioContext 指纹\",\n\tcomplete_headers: \"完整请求头信息:\",\n\tloading: \"加载中...\",\n\tcurrent_value: \"当前值:\",\n\tdetected_via: \"通过{method}检测\",\n\twebrtc_local_ip: \"WebRTC 本地 IP 地址 (用于连接优化):\",\n\twebrtc_description: \"这是 WebRTC 的正常行为,有助于建立直接连接,但也可能暴露您的本地网络 IP 地址。\",\n\tpartial_fingerprint: \"部分浏览器指纹信息\",\n\tsupported: \"支持\",\n\tnot_supported: \"不支持\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL 版本:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat 区域设置:\",\n\tnumber_format_locale_label: \"NumberFormat 区域设置:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"屏幕信息:\",\n\ttimezone_label: \"时区:\",\n\toffset_label: \"偏移:\",\n\ton_connector: \"运行于\",\n\tua_ch_full_version_list: \"UA-CH 完整版本列表\",\n\tua_ch_brands: \"UA-CH 品牌列表\",\n\tua_ch_platform: \"UA-CH 平台\",\n\tua_ch_mobile: \"UA-CH 移动设备\",\n\tyes: \"是\",\n\tno: \"否\",\n\t\"Refresh detection\": \"刷新检测信息\",\n\trequest_header_method: \"请求头\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"检测失败\",\n\tfetching_headers: \"正在获取请求头信息...\",\n\ttrying_webrtc: \"正在尝试检测 WebRTC 本地 IP...\",\n\twebrtc_not_supported: \"WebRTC 检测失败或不受支持\",\n\twebgl_not_supported: \"WebGL 不支持或已禁用\",\n\taudio_not_supported: \"AudioContext 不支持\",\n\tunknown_os: \"未知操作系统\",\n\tdetected_accept_language: \"检测到的Accept-Language:\",\n\tno_accept_language: \"未检测到Accept-Language请求头\",\n\tnot_detected_accept_language: \"未检测到Accept-Language请求头\",\n\texternal_check_prefix: \"请访问\",\n\texternal_check_or: \"或\",\n\texternal_check_suffix: \"等网站进行查看\",\n\tall_attempts_failed: \"所有获取请求头的尝试都失败了:\",\n\tfetch_failed_all_services: \"获取请求头信息失败 (所有服务均失败或超时)。\",\n\tdetailed_error: \"详细错误:\",\n\tdetection_failed_all_services: \"检测失败 (所有服务均失败或超时)。\",\n\thttp_error_status: \"HTTP错误! 状态:\",\n\tfrom: \"来自\",\n\trequest_timeout: \"请求 {url} 超时 ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS 语言检测失败:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas 指纹检测失败:\",\n\twebgl_fingerprint_detection_failed: \"WebGL 指纹检测失败:\",\n\taudio_fingerprint_detection_failed: \"AudioContext 指纹检测失败:\",\n\tintl_api_detection_failed: \"Intl API 检测失败:\",\n\twebrtc_detection_failed: \"WebRTC 检测失败:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription 失败:\",\n\twebrtc_detected_local_ip: \"WebRTC 检测到本地 IP (正常行为):\",\n\twebrtc_no_ip_detected: \"未检测到 WebRTC 本地 IP 地址暴露。\",\n\twebrtc_no_local_ip: \"WebRTC 未检测到本地 IP\",\n\tfingerprint_detection_failed: \"指纹检测失败:\",\n\trestricted: \"(受限)\",\n\tbutton_add_failed_container: \"未能精确找到 .header-info 用于附加刷新按钮,按钮已附加到 .container 末尾。\",\n\tbutton_add_failed_no_container: \"未能找到 .container 用于附加刷新按钮。\",\n\tai_diagnosis_title: \"AI 诊断\",\n\tai_config_summary: \"AI 服务配置\",\n\tai_provider_label: \"预设平台\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"阿里云百炼 / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / 智谱\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"自定义兼容接口\",\n\tai_provider_openai_desc: \"官方 OpenAI 接口,默认 Base URL 为 https://api.openai.com/v1,默认模型为 gpt-5-mini。\",\n\tai_provider_openrouter_desc:\n\t\t\"适合统一接入多家模型,默认 Base URL 为 https://openrouter.ai/api/v1,默认模型为 openrouter/free。\",\n\tai_provider_deepseek_desc:\n\t\t\"DeepSeek 官方接口当前文档主地址为 https://api.deepseek.com;默认模型为 deepseek-chat,官方将其说明为 V3.2 的非思考聊天别名。\",\n\tai_provider_gemini_desc:\n\t\t\"Google Gemini 的 OpenAI 兼容入口为 https://generativelanguage.googleapis.com/v1beta/openai,默认模型为 gemini-2.5-flash。\",\n\tai_provider_qwen_desc:\n\t\t\"阿里云百炼 OpenAI 兼容接口。默认预设为北京地域 https://dashscope.aliyuncs.com/compatible-mode/v1,默认模型为 qwen3.5-plus,官方还提供新加坡和美国(弗吉尼亚)地域变体。\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI 兼容接口当前文档地址为 https://api.siliconflow.com/v1,默认模型为 Qwen/Qwen3.5-27B。\",\n\tai_provider_glm_desc: \"智谱 GLM 的 OpenAI 兼容入口为 https://open.bigmodel.cn/api/paas/v4,默认模型为 glm-4.7。\",\n\tai_provider_kimi_desc: \"Moonshot Kimi 的 OpenAI 兼容入口为 https://api.moonshot.cn/v1,默认模型为 kimi-k2-0905。\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax 的 OpenAI 兼容入口国际站为 https://api.minimax.io/v1;官方也说明中国区可使用 https://api.minimaxi.com/v1。默认模型为 MiniMax-M2.5。\",\n\tai_provider_custom_desc: \"保持手动填写,适用于任意 OpenAI 兼容服务。\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"模型名称\",\n\tai_api_key_toggle_show: \"显示\",\n\tai_api_key_toggle_hide: \"隐藏\",\n\tai_privacy_hint: \"您的 API Key 仅保存在 chrome.storage.local,本扩展不会上传或同步该配置;聊天记录只保留在当前页面。\",\n\tai_config_ready: \"AI 配置已保存,可开始诊断。\",\n\tai_config_incomplete: \"请填写完整的 Base URL、API Key 和模型名称。\",\n\tai_config_replace_template: \"请先把地址中的模板资源名替换成您自己的实际资源名,再开始 AI 诊断。\",\n\tai_chat_placeholder: \"点击“开始 AI 诊断”后,AI 会基于当前检测快照给出风险分析。\",\n\tai_user_input_placeholder: \"继续追问,例如:为什么语言和时区不一致会增加指纹风险?\",\n\tai_start: \"开始 AI 诊断\",\n\tai_stop: \"停止生成\",\n\tai_clear: \"清空会话\",\n\tai_export_structured: \"导出结构化文本\",\n\tai_send: \"发送\",\n\tai_export: \"导出 Markdown\",\n\tai_user_input_label: \"追问内容\",\n\tai_export_empty: \"当前还没有可导出的可见对话内容。\",\n\tai_export_success: \"对话已导出为 Markdown。\",\n\tai_export_structured_empty: \"当前还没有可导出的检测信息。\",\n\tai_export_structured_success: \"检测信息已导出为 Markdown。\",\n\tai_export_structured_notice:\n\t\t\"说明:此快照已通过 sanitizeSnapshotForAI 脱敏处理,已隐藏 User Agent、WebRTC IP、HTTP 请求头(仅保留名称)以及 Canvas/WebGL/Audio 指纹哈希。\",\n\tai_export_label_generated_at: \"生成时间\",\n\tai_export_label_snapshot_version: \"快照版本\",\n\tai_export_label_ui_language: \"界面语言\",\n\tai_export_label_extension_version: \"扩展版本\",\n\tai_export_section_extension: \"扩展状态\",\n\tai_export_label_current_language: \"当前语言\",\n\tai_export_label_auto_switch_enabled: \"自动切换已启用\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"状态\",\n\tai_export_label_endpoint: \"接口地址\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"错误\",\n\tai_export_label_headers: \"请求头\",\n\tai_export_section_js_env: \"JavaScript 环境\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"时区\",\n\tai_export_label_timezone_offset: \"时区偏移\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat 区域设置\",\n\tai_export_label_number_locale: \"NumberFormat 区域设置\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"检测到 IP 泄露\",\n\tai_export_label_ips: \"IP 列表\",\n\tai_export_section_browser_fingerprint: \"浏览器指纹\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"屏幕信息\",\n\tai_export_section_hardware_fingerprint: \"硬件指纹\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"兼容性\",\n\tai_export_label_browser: \"浏览器\",\n\tai_export_label_api_support: \"API 支持\",\n\tai_copy_failed: \"复制失败,请重试。\",\n\tai_role_user: \"用户\",\n\tai_role_assistant: \"助手\",\n\tai_detection_pending: \"检测尚未完成,请等待当前环境检测结束后再开始 AI 诊断。\",\n\tai_session_expired: \"检测结果已刷新,当前会话上下文已过期。请重新点击“开始 AI 诊断”。\",\n\tai_request_in_progress: \"AI 正在生成诊断结果...\",\n\tai_request_stopped: \"已停止生成。\",\n\tai_request_failed: \"AI 请求失败:{error}\",\n\tai_render_fallback: \"Markdown 渲染库不可用,已回退为纯文本显示。\",\n\tai_chat_cleared: \"会话已清空。\",\n\tai_starting: \"正在基于当前检测快照启动 AI 诊断...\",\n\tai_ready_for_followup: \"可以继续追问,AI 会沿用本次检测上下文。\",\n\tai_config_missing_runtime: \"当前环境无法访问 AI 客户端,请刷新页面后重试。\",\n\tai_waiting_for_question: \"请输入追问内容。\",\n\tai_restart_required: \"检测快照已变化,旧上下文不再可靠。请重新开始 AI 诊断。\",\n\tai_empty_reply: \"AI 没有返回有效内容。\",\n};\n\nexport { detectEn, detectZh };\n"}, "a6d186d25a242ce44b83e2724b5419d2dfae1de1": {"t": 1785766694.3492262, "n": 19582, "h": "9b8bfcda4199b956", "c": "const detectEn = {\n\tai_copy_tooltip: \"Copy\",\n\tai_copied_tooltip: \"Copied\",\n\ttheme_toggle: \"Toggle Theme\",\n\treset_accept_language_tooltip: \"Reset Accept-Language\",\n\ttitle: \"MultiLangSwitcher Detection Page\",\n\theading: \"MultiLangSwitcher Detection Page\",\n\tsubtitle: \"This page is used to verify the effect of MultiLangSwitcher extension settings\",\n\ttip: \"Pay special attention to the value of the Accept-Language request header, which should match the language you set in the extension.\",\n\trequest_header: \"Accept-Language\",\n\tjs_language: \"JS Language Preference\",\n\tintl_api: \"Internationalization API\",\n\twebrtc_detection: \"WebRTC Detection\",\n\tbrowser_fingerprint: \"Browser Fingerprint (Partial)\",\n\tdetecting: \"Detecting...\",\n\tbrowser_compatibility: \"Browser Compatibility Check\",\n\tbrowser_info: \"Browser Information:\",\n\tapi_support: \"API Support Status:\",\n\thardware_fingerprint: \"Hardware Fingerprint Detection\",\n\tcanvas_fingerprint: \"Canvas Fingerprint\",\n\twebgl_fingerprint: \"WebGL Fingerprint\",\n\taudio_fingerprint: \"AudioContext Fingerprint\",\n\tcomplete_headers: \"Complete Request Header Information:\",\n\tloading: \"Loading...\",\n\tcurrent_value: \"Current Value:\",\n\tdetected_via: \"Detected via {method}\",\n\twebrtc_local_ip: \"WebRTC Local IP Address (for connection optimization):\",\n\twebrtc_description:\n\t\t\"This is normal WebRTC behavior that helps establish direct connections, but may also expose your local network IP address.\",\n\tpartial_fingerprint: \"Partial Browser Fingerprint Information\",\n\tsupported: \"Supported\",\n\tnot_supported: \"Not Supported\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL version:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat Locale:\",\n\tnumber_format_locale_label: \"NumberFormat Locale:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"Screen information:\",\n\ttimezone_label: \"Timezone:\",\n\toffset_label: \"Offset:\",\n\ton_connector: \"on\",\n\tua_ch_full_version_list: \"UA-CH Full Versions\",\n\tua_ch_brands: \"UA-CH Brands\",\n\tua_ch_platform: \"UA-CH Platform\",\n\tua_ch_mobile: \"UA-CH Mobile\",\n\tyes: \"Yes\",\n\tno: \"No\",\n\t\"Refresh detection\": \"Refresh Detection Info\",\n\trequest_header_method: \"Request Header\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"Detection Failed\",\n\tfetching_headers: \"Fetching request headers...\",\n\ttrying_webrtc: \"Trying to detect WebRTC local IP...\",\n\twebrtc_not_supported: \"WebRTC detection failed or not supported\",\n\twebgl_not_supported: \"WebGL not supported or disabled\",\n\taudio_not_supported: \"AudioContext not supported\",\n\tunknown_os: \"Unknown OS\",\n\tdetected_accept_language: \"Detected Accept-Language:\",\n\tno_accept_language: \"No Accept-Language header detected\",\n\tnot_detected_accept_language: \"No Accept-Language request header detected\",\n\texternal_check_prefix: \"Please visit\",\n\texternal_check_or: \"or\",\n\texternal_check_suffix: \"and similar sites to view\",\n\tall_attempts_failed: \"All attempts to fetch request headers failed:\",\n\tfetch_failed_all_services: \"Failed to fetch request header information (all services failed or timed out).\",\n\tdetailed_error: \"Detailed error:\",\n\tdetection_failed_all_services: \"Detection failed (all services failed or timed out).\",\n\thttp_error_status: \"HTTP error! Status:\",\n\tfrom: \"from\",\n\trequest_timeout: \"Request {url} timeout ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS language detection failed:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas fingerprint detection failed:\",\n\twebgl_fingerprint_detection_failed: \"WebGL fingerprint detection failed:\",\n\taudio_fingerprint_detection_failed: \"AudioContext fingerprint detection failed:\",\n\tintl_api_detection_failed: \"Intl API detection failed:\",\n\twebrtc_detection_failed: \"WebRTC detection failed:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription failed:\",\n\twebrtc_detected_local_ip: \"WebRTC detected local IP (normal behavior):\",\n\twebrtc_no_ip_detected: \"No WebRTC local IP address exposure detected.\",\n\twebrtc_no_local_ip: \"WebRTC no local IP detected\",\n\tfingerprint_detection_failed: \"Fingerprint detection failed:\",\n\trestricted: \"(restricted)\",\n\tbutton_add_failed_container:\n\t\t\"Could not precisely find .header-info for adding refresh button, button has been added to the end of .container.\",\n\tbutton_add_failed_no_container: \"Could not find .container for adding refresh button.\",\n\tai_diagnosis_title: \"AI Diagnosis\",\n\tai_config_summary: \"AI Service Configuration\",\n\tai_provider_label: \"Preset Provider\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"DashScope / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / Zhipu\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"Custom Compatible API\",\n\tai_provider_openai_desc:\n\t\t\"Official OpenAI endpoint with default Base URL https://api.openai.com/v1. Default model is gpt-5-mini.\",\n\tai_provider_openrouter_desc:\n\t\t\"Good for routing across many models, with default Base URL https://openrouter.ai/api/v1. Default model is openrouter/free.\",\n\tai_provider_deepseek_desc:\n\t\t\"Official DeepSeek endpoint with default Base URL https://api.deepseek.com. Default model is deepseek-chat, which DeepSeek documents as the non-thinking V3.2 chat alias.\",\n\tai_provider_gemini_desc:\n\t\t\"Google's OpenAI-compatible Gemini endpoint uses https://generativelanguage.googleapis.com/v1beta/openai. Default model is gemini-2.5-flash.\",\n\tai_provider_qwen_desc:\n\t\t\"DashScope OpenAI-compatible endpoint. Default preset uses the Beijing region at https://dashscope.aliyuncs.com/compatible-mode/v1. Default model is qwen3.5-plus. Official docs also list Singapore and Virginia region variants.\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI-compatible endpoint with default Base URL https://api.siliconflow.com/v1. Default model is Qwen/Qwen3.5-27B.\",\n\tai_provider_glm_desc:\n\t\t\"Zhipu GLM's OpenAI-compatible endpoint uses https://open.bigmodel.cn/api/paas/v4. Default model is glm-4.7.\",\n\tai_provider_kimi_desc:\n\t\t\"Moonshot Kimi's OpenAI-compatible endpoint uses https://api.moonshot.cn/v1. Default model is kimi-k2-0905.\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax's OpenAI-compatible endpoint uses https://api.minimax.io/v1 for the international platform, and MiniMax docs note https://api.minimaxi.com/v1 for users in China. Default model is MiniMax-M2.5.\",\n\tai_provider_custom_desc: \"Keep manual values for any OpenAI-compatible service.\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"Model Name\",\n\tai_api_key_toggle_show: \"Show\",\n\tai_api_key_toggle_hide: \"Hide\",\n\tai_privacy_hint:\n\t\t\"Your API key is stored only in chrome.storage.local. The extension does not upload or sync this setting, and chat history is kept only for this page session.\",\n\tai_config_ready: \"AI configuration saved. You can start a diagnosis now.\",\n\tai_config_incomplete: \"Please provide Base URL, API key, and model name to enable AI diagnosis.\",\n\tai_config_replace_template: \"Replace the template resource name in the endpoint before starting AI diagnosis.\",\n\tai_chat_placeholder: \"Start AI diagnosis to turn the current detection snapshot into actionable privacy guidance.\",\n\tai_user_input_placeholder:\n\t\t\"Ask a follow-up, for example: Why does a language/timezone mismatch increase fingerprint risk?\",\n\tai_start: \"Start AI Diagnosis\",\n\tai_stop: \"Stop\",\n\tai_clear: \"Clear Session\",\n\tai_export_structured: \"Export Structured Text\",\n\tai_send: \"Send\",\n\tai_export: \"Export Markdown\",\n\tai_user_input_label: \"Follow-up question\",\n\tai_export_empty: \"There is no visible chat content to export yet.\",\n\tai_export_success: \"Chat exported as Markdown.\",\n\tai_export_structured_empty: \"There is no detection data to export yet.\",\n\tai_export_structured_success: \"Detection data exported as Markdown.\",\n\tai_export_structured_notice:\n\t\t\"Note: This snapshot has been sanitized by sanitizeSnapshotForAI. User Agent, WebRTC IPs, HTTP headers (names only), and Canvas/WebGL/Audio fingerprint hashes have been redacted.\",\n\tai_export_label_generated_at: \"Generated At\",\n\tai_export_label_snapshot_version: \"Snapshot Version\",\n\tai_export_label_ui_language: \"UI Language\",\n\tai_export_label_extension_version: \"Extension Version\",\n\tai_export_section_extension: \"Extension\",\n\tai_export_label_current_language: \"Current Language\",\n\tai_export_label_auto_switch_enabled: \"Auto Switch Enabled\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"Status\",\n\tai_export_label_endpoint: \"Endpoint\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"Error\",\n\tai_export_label_headers: \"Headers\",\n\tai_export_section_js_env: \"JavaScript Environment\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"Timezone\",\n\tai_export_label_timezone_offset: \"Timezone Offset\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat Locale\",\n\tai_export_label_number_locale: \"NumberFormat Locale\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"IP Leak Detected\",\n\tai_export_label_ips: \"IPs\",\n\tai_export_section_browser_fingerprint: \"Browser Fingerprint\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"Screen\",\n\tai_export_section_hardware_fingerprint: \"Hardware Fingerprint\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"Compatibility\",\n\tai_export_label_browser: \"Browser\",\n\tai_export_label_api_support: \"API Support\",\n\tai_copy_failed: \"Copy failed. Please try again.\",\n\tai_role_user: \"User\",\n\tai_role_assistant: \"Assistant\",\n\tai_detection_pending:\n\t\t\"Detection is still running. Wait for the current environment check to finish before starting AI diagnosis.\",\n\tai_session_expired:\n\t\t\"The detection snapshot has been refreshed, so the current chat context is stale. Start a new AI diagnosis.\",\n\tai_request_in_progress: \"AI is generating the diagnosis...\",\n\tai_request_stopped: \"Generation stopped.\",\n\tai_request_failed: \"AI request failed: {error}\",\n\tai_render_fallback: \"Markdown rendering is unavailable, so the response was shown as plain text.\",\n\tai_chat_cleared: \"Session cleared.\",\n\tai_starting: \"Starting AI diagnosis from the current detection snapshot...\",\n\tai_ready_for_followup: \"You can keep asking follow-up questions with the same detection context.\",\n\tai_config_missing_runtime: \"AI client is unavailable in the current page context. Refresh and try again.\",\n\tai_waiting_for_question: \"Enter a follow-up question first.\",\n\tai_restart_required:\n\t\t\"The detection snapshot changed, so the old context is no longer reliable. Start AI diagnosis again.\",\n\tai_empty_reply: \"The AI service returned no usable content.\",\n};\n\nconst detectZh = {\n\tai_copy_tooltip: \"复制\",\n\tai_copied_tooltip: \"已复制\",\n\ttheme_toggle: \"切换主题\",\n\treset_accept_language_tooltip: \"重置 Accept-Language\",\n\ttitle: \"MultiLangSwitcher 检测页面\",\n\theading: \"MultiLangSwitcher 检测页面\",\n\tsubtitle: \"此页面用于验证MultiLangSwitcher扩展的设置效果\",\n\ttip: \"请特别关注 Accept-Language 请求头的值,它应该与您在扩展中设置的语言相匹配。\",\n\trequest_header: \"请求头语言 Accept-Language\",\n\tjs_language: \"JS 语言偏好\",\n\tintl_api: \"国际化 API\",\n\twebrtc_detection: \"WebRTC 检测\",\n\tbrowser_fingerprint: \"浏览器指纹 (部分)\",\n\tdetecting: \"检测中...\",\n\tbrowser_compatibility: \"浏览器兼容性检查\",\n\tbrowser_info: \"浏览器信息:\",\n\tapi_support: \"API 支持情况:\",\n\thardware_fingerprint: \"硬件指纹检测\",\n\tcanvas_fingerprint: \"Canvas 指纹\",\n\twebgl_fingerprint: \"WebGL 指纹\",\n\taudio_fingerprint: \"AudioContext 指纹\",\n\tcomplete_headers: \"完整请求头信息:\",\n\tloading: \"加载中...\",\n\tcurrent_value: \"当前值:\",\n\tdetected_via: \"通过{method}检测\",\n\twebrtc_local_ip: \"WebRTC 本地 IP 地址 (用于连接优化):\",\n\twebrtc_description: \"这是 WebRTC 的正常行为,有助于建立直接连接,但也可能暴露您的本地网络 IP 地址。\",\n\tpartial_fingerprint: \"部分浏览器指纹信息\",\n\tsupported: \"支持\",\n\tnot_supported: \"不支持\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL 版本:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat 区域设置:\",\n\tnumber_format_locale_label: \"NumberFormat 区域设置:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"屏幕信息:\",\n\ttimezone_label: \"时区:\",\n\toffset_label: \"偏移:\",\n\ton_connector: \"运行于\",\n\tua_ch_full_version_list: \"UA-CH 完整版本列表\",\n\tua_ch_brands: \"UA-CH 品牌列表\",\n\tua_ch_platform: \"UA-CH 平台\",\n\tua_ch_mobile: \"UA-CH 移动设备\",\n\tyes: \"是\",\n\tno: \"否\",\n\t\"Refresh detection\": \"刷新检测信息\",\n\trequest_header_method: \"请求头\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"检测失败\",\n\tfetching_headers: \"正在获取请求头信息...\",\n\ttrying_webrtc: \"正在尝试检测 WebRTC 本地 IP...\",\n\twebrtc_not_supported: \"WebRTC 检测失败或不受支持\",\n\twebgl_not_supported: \"WebGL 不支持或已禁用\",\n\taudio_not_supported: \"AudioContext 不支持\",\n\tunknown_os: \"未知操作系统\",\n\tdetected_accept_language: \"检测到的Accept-Language:\",\n\tno_accept_language: \"未检测到Accept-Language请求头\",\n\tnot_detected_accept_language: \"未检测到Accept-Language请求头\",\n\texternal_check_prefix: \"请访问\",\n\texternal_check_or: \"或\",\n\texternal_check_suffix: \"等网站进行查看\",\n\tall_attempts_failed: \"所有获取请求头的尝试都失败了:\",\n\tfetch_failed_all_services: \"获取请求头信息失败 (所有服务均失败或超时)。\",\n\tdetailed_error: \"详细错误:\",\n\tdetection_failed_all_services: \"检测失败 (所有服务均失败或超时)。\",\n\thttp_error_status: \"HTTP错误! 状态:\",\n\tfrom: \"来自\",\n\trequest_timeout: \"请求 {url} 超时 ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS 语言检测失败:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas 指纹检测失败:\",\n\twebgl_fingerprint_detection_failed: \"WebGL 指纹检测失败:\",\n\taudio_fingerprint_detection_failed: \"AudioContext 指纹检测失败:\",\n\tintl_api_detection_failed: \"Intl API 检测失败:\",\n\twebrtc_detection_failed: \"WebRTC 检测失败:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription 失败:\",\n\twebrtc_detected_local_ip: \"WebRTC 检测到本地 IP (正常行为):\",\n\twebrtc_no_ip_detected: \"未检测到 WebRTC 本地 IP 地址暴露。\",\n\twebrtc_no_local_ip: \"WebRTC 未检测到本地 IP\",\n\tfingerprint_detection_failed: \"指纹检测失败:\",\n\trestricted: \"(受限)\",\n\tbutton_add_failed_container: \"未能精确找到 .header-info 用于附加刷新按钮,按钮已附加到 .container 末尾。\",\n\tbutton_add_failed_no_container: \"未能找到 .container 用于附加刷新按钮。\",\n\tai_diagnosis_title: \"AI 诊断\",\n\tai_config_summary: \"AI 服务配置\",\n\tai_provider_label: \"预设平台\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"阿里云百炼 / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / 智谱\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"自定义兼容接口\",\n\tai_provider_openai_desc: \"官方 OpenAI 接口,默认 Base URL 为 https://api.openai.com/v1,默认模型为 gpt-5-mini。\",\n\tai_provider_openrouter_desc:\n\t\t\"适合统一接入多家模型,默认 Base URL 为 https://openrouter.ai/api/v1,默认模型为 openrouter/free。\",\n\tai_provider_deepseek_desc:\n\t\t\"DeepSeek 官方接口当前文档主地址为 https://api.deepseek.com;默认模型为 deepseek-chat,官方将其说明为 V3.2 的非思考聊天别名。\",\n\tai_provider_gemini_desc:\n\t\t\"Google Gemini 的 OpenAI 兼容入口为 https://generativelanguage.googleapis.com/v1beta/openai,默认模型为 gemini-2.5-flash。\",\n\tai_provider_qwen_desc:\n\t\t\"阿里云百炼 OpenAI 兼容接口。默认预设为北京地域 https://dashscope.aliyuncs.com/compatible-mode/v1,默认模型为 qwen3.5-plus,官方还提供新加坡和美国(弗吉尼亚)地域变体。\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI 兼容接口当前文档地址为 https://api.siliconflow.com/v1,默认模型为 Qwen/Qwen3.5-27B。\",\n\tai_provider_glm_desc: \"智谱 GLM 的 OpenAI 兼容入口为 https://open.bigmodel.cn/api/paas/v4,默认模型为 glm-4.7。\",\n\tai_provider_kimi_desc: \"Moonshot Kimi 的 OpenAI 兼容入口为 https://api.moonshot.cn/v1,默认模型为 kimi-k2-0905。\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax 的 OpenAI 兼容入口国际站为 https://api.minimax.io/v1;官方也说明中国区可使用 https://api.minimaxi.com/v1。默认模型为 MiniMax-M2.5。\",\n\tai_provider_custom_desc: \"保持手动填写,适用于任意 OpenAI 兼容服务。\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"模型名称\",\n\tai_api_key_toggle_show: \"显示\",\n\tai_api_key_toggle_hide: \"隐藏\",\n\tai_privacy_hint: \"您的 API Key 仅保存在 chrome.storage.local,本扩展不会上传或同步该配置;聊天记录只保留在当前页面。\",\n\tai_config_ready: \"AI 配置已保存,可开始诊断。\",\n\tai_config_incomplete: \"请填写完整的 Base URL、API Key 和模型名称。\",\n\tai_config_replace_template: \"请先把地址中的模板资源名替换成您自己的实际资源名,再开始 AI 诊断。\",\n\tai_chat_placeholder: \"点击“开始 AI 诊断”后,AI 会基于当前检测快照给出风险分析。\",\n\tai_user_input_placeholder: \"继续追问,例如:为什么语言和时区不一致会增加指纹风险?\",\n\tai_start: \"开始 AI 诊断\",\n\tai_stop: \"停止生成\",\n\tai_clear: \"清空会话\",\n\tai_export_structured: \"导出结构化文本\",\n\tai_send: \"发送\",\n\tai_export: \"导出 Markdown\",\n\tai_user_input_label: \"追问内容\",\n\tai_export_empty: \"当前还没有可导出的可见对话内容。\",\n\tai_export_success: \"对话已导出为 Markdown。\",\n\tai_export_structured_empty: \"当前还没有可导出的检测信息。\",\n\tai_export_structured_success: \"检测信息已导出为 Markdown。\",\n\tai_export_structured_notice:\n\t\t\"说明:此快照已通过 sanitizeSnapshotForAI 脱敏处理,已隐藏 User Agent、WebRTC IP、HTTP 请求头(仅保留名称)以及 Canvas/WebGL/Audio 指纹哈希。\",\n\tai_export_label_generated_at: \"生成时间\",\n\tai_export_label_snapshot_version: \"快照版本\",\n\tai_export_label_ui_language: \"界面语言\",\n\tai_export_label_extension_version: \"扩展版本\",\n\tai_export_section_extension: \"扩展状态\",\n\tai_export_label_current_language: \"当前语言\",\n\tai_export_label_auto_switch_enabled: \"自动切换已启用\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"状态\",\n\tai_export_label_endpoint: \"接口地址\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"错误\",\n\tai_export_label_headers: \"请求头\",\n\tai_export_section_js_env: \"JavaScript 环境\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"时区\",\n\tai_export_label_timezone_offset: \"时区偏移\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat 区域设置\",\n\tai_export_label_number_locale: \"NumberFormat 区域设置\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"检测到 IP 泄露\",\n\tai_export_label_ips: \"IP 列表\",\n\tai_export_section_browser_fingerprint: \"浏览器指纹\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"屏幕信息\",\n\tai_export_section_hardware_fingerprint: \"硬件指纹\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"兼容性\",\n\tai_export_label_browser: \"浏览器\",\n\tai_export_label_api_support: \"API 支持\",\n\tai_copy_failed: \"复制失败,请重试。\",\n\tai_role_user: \"用户\",\n\tai_role_assistant: \"助手\",\n\tai_detection_pending: \"检测尚未完成,请等待当前环境检测结束后再开始 AI 诊断。\",\n\tai_session_expired: \"检测结果已刷新,当前会话上下文已过期。请重新点击“开始 AI 诊断”。\",\n\tai_request_in_progress: \"AI 正在生成诊断结果...\",\n\tai_request_stopped: \"已停止生成。\",\n\tai_request_failed: \"AI 请求失败:{error}\",\n\tai_render_fallback: \"Markdown 渲染库不可用,已回退为纯文本显示。\",\n\tai_chat_cleared: \"会话已清空。\",\n\tai_starting: \"正在基于当前检测快照启动 AI 诊断...\",\n\tai_ready_for_followup: \"可以继续追问,AI 会沿用本次检测上下文。\",\n\tai_config_missing_runtime: \"当前环境无法访问 AI 客户端,请刷新页面后重试。\",\n\tai_waiting_for_question: \"请输入追问内容。\",\n\tai_restart_required: \"检测快照已变化,旧上下文不再可靠。请重新开始 AI 诊断。\",\n\tai_empty_reply: \"AI 没有返回有效内容。\",\n};\n\nexport { detectEn, detectZh };\n"}, "f96fe9363609fa49632d8945ddae6780e0773a96": {"t": 1785766696.2311187, "n": 20131, "h": "8c5082376d127ebf", "c": "const detectEn = {\n\thardware_info_label: \"Hardware\",\n\tcores_unit: \"cores\",\n\ttouch_points_label: \"touch points\",\n\tdisplay_caps_label: \"Display capabilities\",\n\tconnection_label: \"Connection\",\n\tstorage_quota_label: \"Storage usage / quota\",\n\tvoices_label: \"Speech synthesis voices\",\n\twebgl_extensions_count_label: \"WebGL extensions\",\n\tai_copy_tooltip: \"Copy\",\n\tai_copied_tooltip: \"Copied\",\n\ttheme_toggle: \"Toggle Theme\",\n\treset_accept_language_tooltip: \"Reset Accept-Language\",\n\ttitle: \"MultiLangSwitcher Detection Page\",\n\theading: \"MultiLangSwitcher Detection Page\",\n\tsubtitle: \"This page is used to verify the effect of MultiLangSwitcher extension settings\",\n\ttip: \"Pay special attention to the value of the Accept-Language request header, which should match the language you set in the extension.\",\n\trequest_header: \"Accept-Language\",\n\tjs_language: \"JS Language Preference\",\n\tintl_api: \"Internationalization API\",\n\twebrtc_detection: \"WebRTC Detection\",\n\tbrowser_fingerprint: \"Browser Fingerprint (Partial)\",\n\tdetecting: \"Detecting...\",\n\tbrowser_compatibility: \"Browser Compatibility Check\",\n\tbrowser_info: \"Browser Information:\",\n\tapi_support: \"API Support Status:\",\n\thardware_fingerprint: \"Hardware Fingerprint Detection\",\n\tcanvas_fingerprint: \"Canvas Fingerprint\",\n\twebgl_fingerprint: \"WebGL Fingerprint\",\n\taudio_fingerprint: \"AudioContext Fingerprint\",\n\tcomplete_headers: \"Complete Request Header Information:\",\n\tloading: \"Loading...\",\n\tcurrent_value: \"Current Value:\",\n\tdetected_via: \"Detected via {method}\",\n\twebrtc_local_ip: \"WebRTC Local IP Address (for connection optimization):\",\n\twebrtc_description:\n\t\t\"This is normal WebRTC behavior that helps establish direct connections, but may also expose your local network IP address.\",\n\tpartial_fingerprint: \"Partial Browser Fingerprint Information\",\n\tsupported: \"Supported\",\n\tnot_supported: \"Not Supported\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL version:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat Locale:\",\n\tnumber_format_locale_label: \"NumberFormat Locale:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"Screen information:\",\n\ttimezone_label: \"Timezone:\",\n\toffset_label: \"Offset:\",\n\ton_connector: \"on\",\n\tua_ch_full_version_list: \"UA-CH Full Versions\",\n\tua_ch_brands: \"UA-CH Brands\",\n\tua_ch_platform: \"UA-CH Platform\",\n\tua_ch_mobile: \"UA-CH Mobile\",\n\tyes: \"Yes\",\n\tno: \"No\",\n\t\"Refresh detection\": \"Refresh Detection Info\",\n\trequest_header_method: \"Request Header\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"Detection Failed\",\n\tfetching_headers: \"Fetching request headers...\",\n\ttrying_webrtc: \"Trying to detect WebRTC local IP...\",\n\twebrtc_not_supported: \"WebRTC detection failed or not supported\",\n\twebgl_not_supported: \"WebGL not supported or disabled\",\n\taudio_not_supported: \"AudioContext not supported\",\n\tunknown_os: \"Unknown OS\",\n\tdetected_accept_language: \"Detected Accept-Language:\",\n\tno_accept_language: \"No Accept-Language header detected\",\n\tnot_detected_accept_language: \"No Accept-Language request header detected\",\n\texternal_check_prefix: \"Please visit\",\n\texternal_check_or: \"or\",\n\texternal_check_suffix: \"and similar sites to view\",\n\tall_attempts_failed: \"All attempts to fetch request headers failed:\",\n\tfetch_failed_all_services: \"Failed to fetch request header information (all services failed or timed out).\",\n\tdetailed_error: \"Detailed error:\",\n\tdetection_failed_all_services: \"Detection failed (all services failed or timed out).\",\n\thttp_error_status: \"HTTP error! Status:\",\n\tfrom: \"from\",\n\trequest_timeout: \"Request {url} timeout ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS language detection failed:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas fingerprint detection failed:\",\n\twebgl_fingerprint_detection_failed: \"WebGL fingerprint detection failed:\",\n\taudio_fingerprint_detection_failed: \"AudioContext fingerprint detection failed:\",\n\tintl_api_detection_failed: \"Intl API detection failed:\",\n\twebrtc_detection_failed: \"WebRTC detection failed:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription failed:\",\n\twebrtc_detected_local_ip: \"WebRTC detected local IP (normal behavior):\",\n\twebrtc_no_ip_detected: \"No WebRTC local IP address exposure detected.\",\n\twebrtc_no_local_ip: \"WebRTC no local IP detected\",\n\tfingerprint_detection_failed: \"Fingerprint detection failed:\",\n\trestricted: \"(restricted)\",\n\tbutton_add_failed_container:\n\t\t\"Could not precisely find .header-info for adding refresh button, button has been added to the end of .container.\",\n\tbutton_add_failed_no_container: \"Could not find .container for adding refresh button.\",\n\tai_diagnosis_title: \"AI Diagnosis\",\n\tai_config_summary: \"AI Service Configuration\",\n\tai_provider_label: \"Preset Provider\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"DashScope / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / Zhipu\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"Custom Compatible API\",\n\tai_provider_openai_desc:\n\t\t\"Official OpenAI endpoint with default Base URL https://api.openai.com/v1. Default model is gpt-5-mini.\",\n\tai_provider_openrouter_desc:\n\t\t\"Good for routing across many models, with default Base URL https://openrouter.ai/api/v1. Default model is openrouter/free.\",\n\tai_provider_deepseek_desc:\n\t\t\"Official DeepSeek endpoint with default Base URL https://api.deepseek.com. Default model is deepseek-chat, which DeepSeek documents as the non-thinking V3.2 chat alias.\",\n\tai_provider_gemini_desc:\n\t\t\"Google's OpenAI-compatible Gemini endpoint uses https://generativelanguage.googleapis.com/v1beta/openai. Default model is gemini-2.5-flash.\",\n\tai_provider_qwen_desc:\n\t\t\"DashScope OpenAI-compatible endpoint. Default preset uses the Beijing region at https://dashscope.aliyuncs.com/compatible-mode/v1. Default model is qwen3.5-plus. Official docs also list Singapore and Virginia region variants.\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI-compatible endpoint with default Base URL https://api.siliconflow.com/v1. Default model is Qwen/Qwen3.5-27B.\",\n\tai_provider_glm_desc:\n\t\t\"Zhipu GLM's OpenAI-compatible endpoint uses https://open.bigmodel.cn/api/paas/v4. Default model is glm-4.7.\",\n\tai_provider_kimi_desc:\n\t\t\"Moonshot Kimi's OpenAI-compatible endpoint uses https://api.moonshot.cn/v1. Default model is kimi-k2-0905.\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax's OpenAI-compatible endpoint uses https://api.minimax.io/v1 for the international platform, and MiniMax docs note https://api.minimaxi.com/v1 for users in China. Default model is MiniMax-M2.5.\",\n\tai_provider_custom_desc: \"Keep manual values for any OpenAI-compatible service.\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"Model Name\",\n\tai_api_key_toggle_show: \"Show\",\n\tai_api_key_toggle_hide: \"Hide\",\n\tai_privacy_hint:\n\t\t\"Your API key is stored only in chrome.storage.local. The extension does not upload or sync this setting, and chat history is kept only for this page session.\",\n\tai_config_ready: \"AI configuration saved. You can start a diagnosis now.\",\n\tai_config_incomplete: \"Please provide Base URL, API key, and model name to enable AI diagnosis.\",\n\tai_config_replace_template: \"Replace the template resource name in the endpoint before starting AI diagnosis.\",\n\tai_chat_placeholder: \"Start AI diagnosis to turn the current detection snapshot into actionable privacy guidance.\",\n\tai_user_input_placeholder:\n\t\t\"Ask a follow-up, for example: Why does a language/timezone mismatch increase fingerprint risk?\",\n\tai_start: \"Start AI Diagnosis\",\n\tai_stop: \"Stop\",\n\tai_clear: \"Clear Session\",\n\tai_export_structured: \"Export Structured Text\",\n\tai_send: \"Send\",\n\tai_export: \"Export Markdown\",\n\tai_user_input_label: \"Follow-up question\",\n\tai_export_empty: \"There is no visible chat content to export yet.\",\n\tai_export_success: \"Chat exported as Markdown.\",\n\tai_export_structured_empty: \"There is no detection data to export yet.\",\n\tai_export_structured_success: \"Detection data exported as Markdown.\",\n\tai_export_structured_notice:\n\t\t\"Note: This snapshot has been sanitized by sanitizeSnapshotForAI. User Agent, WebRTC IPs, HTTP headers (names only), and Canvas/WebGL/Audio fingerprint hashes have been redacted.\",\n\tai_export_label_generated_at: \"Generated At\",\n\tai_export_label_snapshot_version: \"Snapshot Version\",\n\tai_export_label_ui_language: \"UI Language\",\n\tai_export_label_extension_version: \"Extension Version\",\n\tai_export_section_extension: \"Extension\",\n\tai_export_label_current_language: \"Current Language\",\n\tai_export_label_auto_switch_enabled: \"Auto Switch Enabled\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"Status\",\n\tai_export_label_endpoint: \"Endpoint\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"Error\",\n\tai_export_label_headers: \"Headers\",\n\tai_export_section_js_env: \"JavaScript Environment\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"Timezone\",\n\tai_export_label_timezone_offset: \"Timezone Offset\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat Locale\",\n\tai_export_label_number_locale: \"NumberFormat Locale\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"IP Leak Detected\",\n\tai_export_label_ips: \"IPs\",\n\tai_export_section_browser_fingerprint: \"Browser Fingerprint\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"Screen\",\n\tai_export_section_hardware_fingerprint: \"Hardware Fingerprint\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"Compatibility\",\n\tai_export_label_browser: \"Browser\",\n\tai_export_label_api_support: \"API Support\",\n\tai_copy_failed: \"Copy failed. Please try again.\",\n\tai_role_user: \"User\",\n\tai_role_assistant: \"Assistant\",\n\tai_detection_pending:\n\t\t\"Detection is still running. Wait for the current environment check to finish before starting AI diagnosis.\",\n\tai_session_expired:\n\t\t\"The detection snapshot has been refreshed, so the current chat context is stale. Start a new AI diagnosis.\",\n\tai_request_in_progress: \"AI is generating the diagnosis...\",\n\tai_request_stopped: \"Generation stopped.\",\n\tai_request_failed: \"AI request failed: {error}\",\n\tai_render_fallback: \"Markdown rendering is unavailable, so the response was shown as plain text.\",\n\tai_chat_cleared: \"Session cleared.\",\n\tai_starting: \"Starting AI diagnosis from the current detection snapshot...\",\n\tai_ready_for_followup: \"You can keep asking follow-up questions with the same detection context.\",\n\tai_config_missing_runtime: \"AI client is unavailable in the current page context. Refresh and try again.\",\n\tai_waiting_for_question: \"Enter a follow-up question first.\",\n\tai_restart_required:\n\t\t\"The detection snapshot changed, so the old context is no longer reliable. Start AI diagnosis again.\",\n\tai_empty_reply: \"The AI service returned no usable content.\",\n};\n\nconst detectZh = {\n\thardware_info_label: \"硬件信息\",\n\tcores_unit: \"核\",\n\ttouch_points_label: \"触点数\",\n\tdisplay_caps_label: \"显示能力\",\n\tconnection_label: \"网络连接\",\n\tstorage_quota_label: \"存储用量 / 配额\",\n\tvoices_label: \"语音合成声音数\",\n\twebgl_extensions_count_label: \"WebGL 扩展数量\",\n\tai_copy_tooltip: \"复制\",\n\tai_copied_tooltip: \"已复制\",\n\ttheme_toggle: \"切换主题\",\n\treset_accept_language_tooltip: \"重置 Accept-Language\",\n\ttitle: \"MultiLangSwitcher 检测页面\",\n\theading: \"MultiLangSwitcher 检测页面\",\n\tsubtitle: \"此页面用于验证MultiLangSwitcher扩展的设置效果\",\n\ttip: \"请特别关注 Accept-Language 请求头的值,它应该与您在扩展中设置的语言相匹配。\",\n\trequest_header: \"请求头语言 Accept-Language\",\n\tjs_language: \"JS 语言偏好\",\n\tintl_api: \"国际化 API\",\n\twebrtc_detection: \"WebRTC 检测\",\n\tbrowser_fingerprint: \"浏览器指纹 (部分)\",\n\tdetecting: \"检测中...\",\n\tbrowser_compatibility: \"浏览器兼容性检查\",\n\tbrowser_info: \"浏览器信息:\",\n\tapi_support: \"API 支持情况:\",\n\thardware_fingerprint: \"硬件指纹检测\",\n\tcanvas_fingerprint: \"Canvas 指纹\",\n\twebgl_fingerprint: \"WebGL 指纹\",\n\taudio_fingerprint: \"AudioContext 指纹\",\n\tcomplete_headers: \"完整请求头信息:\",\n\tloading: \"加载中...\",\n\tcurrent_value: \"当前值:\",\n\tdetected_via: \"通过{method}检测\",\n\twebrtc_local_ip: \"WebRTC 本地 IP 地址 (用于连接优化):\",\n\twebrtc_description: \"这是 WebRTC 的正常行为,有助于建立直接连接,但也可能暴露您的本地网络 IP 地址。\",\n\tpartial_fingerprint: \"部分浏览器指纹信息\",\n\tsupported: \"支持\",\n\tnot_supported: \"不支持\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL 版本:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat 区域设置:\",\n\tnumber_format_locale_label: \"NumberFormat 区域设置:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"屏幕信息:\",\n\ttimezone_label: \"时区:\",\n\toffset_label: \"偏移:\",\n\ton_connector: \"运行于\",\n\tua_ch_full_version_list: \"UA-CH 完整版本列表\",\n\tua_ch_brands: \"UA-CH 品牌列表\",\n\tua_ch_platform: \"UA-CH 平台\",\n\tua_ch_mobile: \"UA-CH 移动设备\",\n\tyes: \"是\",\n\tno: \"否\",\n\t\"Refresh detection\": \"刷新检测信息\",\n\trequest_header_method: \"请求头\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"检测失败\",\n\tfetching_headers: \"正在获取请求头信息...\",\n\ttrying_webrtc: \"正在尝试检测 WebRTC 本地 IP...\",\n\twebrtc_not_supported: \"WebRTC 检测失败或不受支持\",\n\twebgl_not_supported: \"WebGL 不支持或已禁用\",\n\taudio_not_supported: \"AudioContext 不支持\",\n\tunknown_os: \"未知操作系统\",\n\tdetected_accept_language: \"检测到的Accept-Language:\",\n\tno_accept_language: \"未检测到Accept-Language请求头\",\n\tnot_detected_accept_language: \"未检测到Accept-Language请求头\",\n\texternal_check_prefix: \"请访问\",\n\texternal_check_or: \"或\",\n\texternal_check_suffix: \"等网站进行查看\",\n\tall_attempts_failed: \"所有获取请求头的尝试都失败了:\",\n\tfetch_failed_all_services: \"获取请求头信息失败 (所有服务均失败或超时)。\",\n\tdetailed_error: \"详细错误:\",\n\tdetection_failed_all_services: \"检测失败 (所有服务均失败或超时)。\",\n\thttp_error_status: \"HTTP错误! 状态:\",\n\tfrom: \"来自\",\n\trequest_timeout: \"请求 {url} 超时 ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS 语言检测失败:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas 指纹检测失败:\",\n\twebgl_fingerprint_detection_failed: \"WebGL 指纹检测失败:\",\n\taudio_fingerprint_detection_failed: \"AudioContext 指纹检测失败:\",\n\tintl_api_detection_failed: \"Intl API 检测失败:\",\n\twebrtc_detection_failed: \"WebRTC 检测失败:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription 失败:\",\n\twebrtc_detected_local_ip: \"WebRTC 检测到本地 IP (正常行为):\",\n\twebrtc_no_ip_detected: \"未检测到 WebRTC 本地 IP 地址暴露。\",\n\twebrtc_no_local_ip: \"WebRTC 未检测到本地 IP\",\n\tfingerprint_detection_failed: \"指纹检测失败:\",\n\trestricted: \"(受限)\",\n\tbutton_add_failed_container: \"未能精确找到 .header-info 用于附加刷新按钮,按钮已附加到 .container 末尾。\",\n\tbutton_add_failed_no_container: \"未能找到 .container 用于附加刷新按钮。\",\n\tai_diagnosis_title: \"AI 诊断\",\n\tai_config_summary: \"AI 服务配置\",\n\tai_provider_label: \"预设平台\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"阿里云百炼 / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / 智谱\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"自定义兼容接口\",\n\tai_provider_openai_desc: \"官方 OpenAI 接口,默认 Base URL 为 https://api.openai.com/v1,默认模型为 gpt-5-mini。\",\n\tai_provider_openrouter_desc:\n\t\t\"适合统一接入多家模型,默认 Base URL 为 https://openrouter.ai/api/v1,默认模型为 openrouter/free。\",\n\tai_provider_deepseek_desc:\n\t\t\"DeepSeek 官方接口当前文档主地址为 https://api.deepseek.com;默认模型为 deepseek-chat,官方将其说明为 V3.2 的非思考聊天别名。\",\n\tai_provider_gemini_desc:\n\t\t\"Google Gemini 的 OpenAI 兼容入口为 https://generativelanguage.googleapis.com/v1beta/openai,默认模型为 gemini-2.5-flash。\",\n\tai_provider_qwen_desc:\n\t\t\"阿里云百炼 OpenAI 兼容接口。默认预设为北京地域 https://dashscope.aliyuncs.com/compatible-mode/v1,默认模型为 qwen3.5-plus,官方还提供新加坡和美国(弗吉尼亚)地域变体。\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI 兼容接口当前文档地址为 https://api.siliconflow.com/v1,默认模型为 Qwen/Qwen3.5-27B。\",\n\tai_provider_glm_desc: \"智谱 GLM 的 OpenAI 兼容入口为 https://open.bigmodel.cn/api/paas/v4,默认模型为 glm-4.7。\",\n\tai_provider_kimi_desc: \"Moonshot Kimi 的 OpenAI 兼容入口为 https://api.moonshot.cn/v1,默认模型为 kimi-k2-0905。\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax 的 OpenAI 兼容入口国际站为 https://api.minimax.io/v1;官方也说明中国区可使用 https://api.minimaxi.com/v1。默认模型为 MiniMax-M2.5。\",\n\tai_provider_custom_desc: \"保持手动填写,适用于任意 OpenAI 兼容服务。\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"模型名称\",\n\tai_api_key_toggle_show: \"显示\",\n\tai_api_key_toggle_hide: \"隐藏\",\n\tai_privacy_hint: \"您的 API Key 仅保存在 chrome.storage.local,本扩展不会上传或同步该配置;聊天记录只保留在当前页面。\",\n\tai_config_ready: \"AI 配置已保存,可开始诊断。\",\n\tai_config_incomplete: \"请填写完整的 Base URL、API Key 和模型名称。\",\n\tai_config_replace_template: \"请先把地址中的模板资源名替换成您自己的实际资源名,再开始 AI 诊断。\",\n\tai_chat_placeholder: \"点击“开始 AI 诊断”后,AI 会基于当前检测快照给出风险分析。\",\n\tai_user_input_placeholder: \"继续追问,例如:为什么语言和时区不一致会增加指纹风险?\",\n\tai_start: \"开始 AI 诊断\",\n\tai_stop: \"停止生成\",\n\tai_clear: \"清空会话\",\n\tai_export_structured: \"导出结构化文本\",\n\tai_send: \"发送\",\n\tai_export: \"导出 Markdown\",\n\tai_user_input_label: \"追问内容\",\n\tai_export_empty: \"当前还没有可导出的可见对话内容。\",\n\tai_export_success: \"对话已导出为 Markdown。\",\n\tai_export_structured_empty: \"当前还没有可导出的检测信息。\",\n\tai_export_structured_success: \"检测信息已导出为 Markdown。\",\n\tai_export_structured_notice:\n\t\t\"说明:此快照已通过 sanitizeSnapshotForAI 脱敏处理,已隐藏 User Agent、WebRTC IP、HTTP 请求头(仅保留名称)以及 Canvas/WebGL/Audio 指纹哈希。\",\n\tai_export_label_generated_at: \"生成时间\",\n\tai_export_label_snapshot_version: \"快照版本\",\n\tai_export_label_ui_language: \"界面语言\",\n\tai_export_label_extension_version: \"扩展版本\",\n\tai_export_section_extension: \"扩展状态\",\n\tai_export_label_current_language: \"当前语言\",\n\tai_export_label_auto_switch_enabled: \"自动切换已启用\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"状态\",\n\tai_export_label_endpoint: \"接口地址\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"错误\",\n\tai_export_label_headers: \"请求头\",\n\tai_export_section_js_env: \"JavaScript 环境\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"时区\",\n\tai_export_label_timezone_offset: \"时区偏移\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat 区域设置\",\n\tai_export_label_number_locale: \"NumberFormat 区域设置\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"检测到 IP 泄露\",\n\tai_export_label_ips: \"IP 列表\",\n\tai_export_section_browser_fingerprint: \"浏览器指纹\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"屏幕信息\",\n\tai_export_section_hardware_fingerprint: \"硬件指纹\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"兼容性\",\n\tai_export_label_browser: \"浏览器\",\n\tai_export_label_api_support: \"API 支持\",\n\tai_copy_failed: \"复制失败,请重试。\",\n\tai_role_user: \"用户\",\n\tai_role_assistant: \"助手\",\n\tai_detection_pending: \"检测尚未完成,请等待当前环境检测结束后再开始 AI 诊断。\",\n\tai_session_expired: \"检测结果已刷新,当前会话上下文已过期。请重新点击“开始 AI 诊断”。\",\n\tai_request_in_progress: \"AI 正在生成诊断结果...\",\n\tai_request_stopped: \"已停止生成。\",\n\tai_request_failed: \"AI 请求失败:{error}\",\n\tai_render_fallback: \"Markdown 渲染库不可用,已回退为纯文本显示。\",\n\tai_chat_cleared: \"会话已清空。\",\n\tai_starting: \"正在基于当前检测快照启动 AI 诊断...\",\n\tai_ready_for_followup: \"可以继续追问,AI 会沿用本次检测上下文。\",\n\tai_config_missing_runtime: \"当前环境无法访问 AI 客户端,请刷新页面后重试。\",\n\tai_waiting_for_question: \"请输入追问内容。\",\n\tai_restart_required: \"检测快照已变化,旧上下文不再可靠。请重新开始 AI 诊断。\",\n\tai_empty_reply: \"AI 没有返回有效内容。\",\n};\n\nexport { detectEn, detectZh };\n"}, "af8b113d5c9a0786dacdf8e5ab2a086027e2929c": {"t": 1785766697.987311, "n": 19582, "h": "9b8bfcda4199b956", "c": "const detectEn = {\n\tai_copy_tooltip: \"Copy\",\n\tai_copied_tooltip: \"Copied\",\n\ttheme_toggle: \"Toggle Theme\",\n\treset_accept_language_tooltip: \"Reset Accept-Language\",\n\ttitle: \"MultiLangSwitcher Detection Page\",\n\theading: \"MultiLangSwitcher Detection Page\",\n\tsubtitle: \"This page is used to verify the effect of MultiLangSwitcher extension settings\",\n\ttip: \"Pay special attention to the value of the Accept-Language request header, which should match the language you set in the extension.\",\n\trequest_header: \"Accept-Language\",\n\tjs_language: \"JS Language Preference\",\n\tintl_api: \"Internationalization API\",\n\twebrtc_detection: \"WebRTC Detection\",\n\tbrowser_fingerprint: \"Browser Fingerprint (Partial)\",\n\tdetecting: \"Detecting...\",\n\tbrowser_compatibility: \"Browser Compatibility Check\",\n\tbrowser_info: \"Browser Information:\",\n\tapi_support: \"API Support Status:\",\n\thardware_fingerprint: \"Hardware Fingerprint Detection\",\n\tcanvas_fingerprint: \"Canvas Fingerprint\",\n\twebgl_fingerprint: \"WebGL Fingerprint\",\n\taudio_fingerprint: \"AudioContext Fingerprint\",\n\tcomplete_headers: \"Complete Request Header Information:\",\n\tloading: \"Loading...\",\n\tcurrent_value: \"Current Value:\",\n\tdetected_via: \"Detected via {method}\",\n\twebrtc_local_ip: \"WebRTC Local IP Address (for connection optimization):\",\n\twebrtc_description:\n\t\t\"This is normal WebRTC behavior that helps establish direct connections, but may also expose your local network IP address.\",\n\tpartial_fingerprint: \"Partial Browser Fingerprint Information\",\n\tsupported: \"Supported\",\n\tnot_supported: \"Not Supported\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL version:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat Locale:\",\n\tnumber_format_locale_label: \"NumberFormat Locale:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"Screen information:\",\n\ttimezone_label: \"Timezone:\",\n\toffset_label: \"Offset:\",\n\ton_connector: \"on\",\n\tua_ch_full_version_list: \"UA-CH Full Versions\",\n\tua_ch_brands: \"UA-CH Brands\",\n\tua_ch_platform: \"UA-CH Platform\",\n\tua_ch_mobile: \"UA-CH Mobile\",\n\tyes: \"Yes\",\n\tno: \"No\",\n\t\"Refresh detection\": \"Refresh Detection Info\",\n\trequest_header_method: \"Request Header\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"Detection Failed\",\n\tfetching_headers: \"Fetching request headers...\",\n\ttrying_webrtc: \"Trying to detect WebRTC local IP...\",\n\twebrtc_not_supported: \"WebRTC detection failed or not supported\",\n\twebgl_not_supported: \"WebGL not supported or disabled\",\n\taudio_not_supported: \"AudioContext not supported\",\n\tunknown_os: \"Unknown OS\",\n\tdetected_accept_language: \"Detected Accept-Language:\",\n\tno_accept_language: \"No Accept-Language header detected\",\n\tnot_detected_accept_language: \"No Accept-Language request header detected\",\n\texternal_check_prefix: \"Please visit\",\n\texternal_check_or: \"or\",\n\texternal_check_suffix: \"and similar sites to view\",\n\tall_attempts_failed: \"All attempts to fetch request headers failed:\",\n\tfetch_failed_all_services: \"Failed to fetch request header information (all services failed or timed out).\",\n\tdetailed_error: \"Detailed error:\",\n\tdetection_failed_all_services: \"Detection failed (all services failed or timed out).\",\n\thttp_error_status: \"HTTP error! Status:\",\n\tfrom: \"from\",\n\trequest_timeout: \"Request {url} timeout ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS language detection failed:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas fingerprint detection failed:\",\n\twebgl_fingerprint_detection_failed: \"WebGL fingerprint detection failed:\",\n\taudio_fingerprint_detection_failed: \"AudioContext fingerprint detection failed:\",\n\tintl_api_detection_failed: \"Intl API detection failed:\",\n\twebrtc_detection_failed: \"WebRTC detection failed:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription failed:\",\n\twebrtc_detected_local_ip: \"WebRTC detected local IP (normal behavior):\",\n\twebrtc_no_ip_detected: \"No WebRTC local IP address exposure detected.\",\n\twebrtc_no_local_ip: \"WebRTC no local IP detected\",\n\tfingerprint_detection_failed: \"Fingerprint detection failed:\",\n\trestricted: \"(restricted)\",\n\tbutton_add_failed_container:\n\t\t\"Could not precisely find .header-info for adding refresh button, button has been added to the end of .container.\",\n\tbutton_add_failed_no_container: \"Could not find .container for adding refresh button.\",\n\tai_diagnosis_title: \"AI Diagnosis\",\n\tai_config_summary: \"AI Service Configuration\",\n\tai_provider_label: \"Preset Provider\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"DashScope / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / Zhipu\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"Custom Compatible API\",\n\tai_provider_openai_desc:\n\t\t\"Official OpenAI endpoint with default Base URL https://api.openai.com/v1. Default model is gpt-5-mini.\",\n\tai_provider_openrouter_desc:\n\t\t\"Good for routing across many models, with default Base URL https://openrouter.ai/api/v1. Default model is openrouter/free.\",\n\tai_provider_deepseek_desc:\n\t\t\"Official DeepSeek endpoint with default Base URL https://api.deepseek.com. Default model is deepseek-chat, which DeepSeek documents as the non-thinking V3.2 chat alias.\",\n\tai_provider_gemini_desc:\n\t\t\"Google's OpenAI-compatible Gemini endpoint uses https://generativelanguage.googleapis.com/v1beta/openai. Default model is gemini-2.5-flash.\",\n\tai_provider_qwen_desc:\n\t\t\"DashScope OpenAI-compatible endpoint. Default preset uses the Beijing region at https://dashscope.aliyuncs.com/compatible-mode/v1. Default model is qwen3.5-plus. Official docs also list Singapore and Virginia region variants.\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI-compatible endpoint with default Base URL https://api.siliconflow.com/v1. Default model is Qwen/Qwen3.5-27B.\",\n\tai_provider_glm_desc:\n\t\t\"Zhipu GLM's OpenAI-compatible endpoint uses https://open.bigmodel.cn/api/paas/v4. Default model is glm-4.7.\",\n\tai_provider_kimi_desc:\n\t\t\"Moonshot Kimi's OpenAI-compatible endpoint uses https://api.moonshot.cn/v1. Default model is kimi-k2-0905.\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax's OpenAI-compatible endpoint uses https://api.minimax.io/v1 for the international platform, and MiniMax docs note https://api.minimaxi.com/v1 for users in China. Default model is MiniMax-M2.5.\",\n\tai_provider_custom_desc: \"Keep manual values for any OpenAI-compatible service.\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"Model Name\",\n\tai_api_key_toggle_show: \"Show\",\n\tai_api_key_toggle_hide: \"Hide\",\n\tai_privacy_hint:\n\t\t\"Your API key is stored only in chrome.storage.local. The extension does not upload or sync this setting, and chat history is kept only for this page session.\",\n\tai_config_ready: \"AI configuration saved. You can start a diagnosis now.\",\n\tai_config_incomplete: \"Please provide Base URL, API key, and model name to enable AI diagnosis.\",\n\tai_config_replace_template: \"Replace the template resource name in the endpoint before starting AI diagnosis.\",\n\tai_chat_placeholder: \"Start AI diagnosis to turn the current detection snapshot into actionable privacy guidance.\",\n\tai_user_input_placeholder:\n\t\t\"Ask a follow-up, for example: Why does a language/timezone mismatch increase fingerprint risk?\",\n\tai_start: \"Start AI Diagnosis\",\n\tai_stop: \"Stop\",\n\tai_clear: \"Clear Session\",\n\tai_export_structured: \"Export Structured Text\",\n\tai_send: \"Send\",\n\tai_export: \"Export Markdown\",\n\tai_user_input_label: \"Follow-up question\",\n\tai_export_empty: \"There is no visible chat content to export yet.\",\n\tai_export_success: \"Chat exported as Markdown.\",\n\tai_export_structured_empty: \"There is no detection data to export yet.\",\n\tai_export_structured_success: \"Detection data exported as Markdown.\",\n\tai_export_structured_notice:\n\t\t\"Note: This snapshot has been sanitized by sanitizeSnapshotForAI. User Agent, WebRTC IPs, HTTP headers (names only), and Canvas/WebGL/Audio fingerprint hashes have been redacted.\",\n\tai_export_label_generated_at: \"Generated At\",\n\tai_export_label_snapshot_version: \"Snapshot Version\",\n\tai_export_label_ui_language: \"UI Language\",\n\tai_export_label_extension_version: \"Extension Version\",\n\tai_export_section_extension: \"Extension\",\n\tai_export_label_current_language: \"Current Language\",\n\tai_export_label_auto_switch_enabled: \"Auto Switch Enabled\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"Status\",\n\tai_export_label_endpoint: \"Endpoint\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"Error\",\n\tai_export_label_headers: \"Headers\",\n\tai_export_section_js_env: \"JavaScript Environment\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"Timezone\",\n\tai_export_label_timezone_offset: \"Timezone Offset\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat Locale\",\n\tai_export_label_number_locale: \"NumberFormat Locale\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"IP Leak Detected\",\n\tai_export_label_ips: \"IPs\",\n\tai_export_section_browser_fingerprint: \"Browser Fingerprint\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"Screen\",\n\tai_export_section_hardware_fingerprint: \"Hardware Fingerprint\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"Compatibility\",\n\tai_export_label_browser: \"Browser\",\n\tai_export_label_api_support: \"API Support\",\n\tai_copy_failed: \"Copy failed. Please try again.\",\n\tai_role_user: \"User\",\n\tai_role_assistant: \"Assistant\",\n\tai_detection_pending:\n\t\t\"Detection is still running. Wait for the current environment check to finish before starting AI diagnosis.\",\n\tai_session_expired:\n\t\t\"The detection snapshot has been refreshed, so the current chat context is stale. Start a new AI diagnosis.\",\n\tai_request_in_progress: \"AI is generating the diagnosis...\",\n\tai_request_stopped: \"Generation stopped.\",\n\tai_request_failed: \"AI request failed: {error}\",\n\tai_render_fallback: \"Markdown rendering is unavailable, so the response was shown as plain text.\",\n\tai_chat_cleared: \"Session cleared.\",\n\tai_starting: \"Starting AI diagnosis from the current detection snapshot...\",\n\tai_ready_for_followup: \"You can keep asking follow-up questions with the same detection context.\",\n\tai_config_missing_runtime: \"AI client is unavailable in the current page context. Refresh and try again.\",\n\tai_waiting_for_question: \"Enter a follow-up question first.\",\n\tai_restart_required:\n\t\t\"The detection snapshot changed, so the old context is no longer reliable. Start AI diagnosis again.\",\n\tai_empty_reply: \"The AI service returned no usable content.\",\n};\n\nconst detectZh = {\n\tai_copy_tooltip: \"复制\",\n\tai_copied_tooltip: \"已复制\",\n\ttheme_toggle: \"切换主题\",\n\treset_accept_language_tooltip: \"重置 Accept-Language\",\n\ttitle: \"MultiLangSwitcher 检测页面\",\n\theading: \"MultiLangSwitcher 检测页面\",\n\tsubtitle: \"此页面用于验证MultiLangSwitcher扩展的设置效果\",\n\ttip: \"请特别关注 Accept-Language 请求头的值,它应该与您在扩展中设置的语言相匹配。\",\n\trequest_header: \"请求头语言 Accept-Language\",\n\tjs_language: \"JS 语言偏好\",\n\tintl_api: \"国际化 API\",\n\twebrtc_detection: \"WebRTC 检测\",\n\tbrowser_fingerprint: \"浏览器指纹 (部分)\",\n\tdetecting: \"检测中...\",\n\tbrowser_compatibility: \"浏览器兼容性检查\",\n\tbrowser_info: \"浏览器信息:\",\n\tapi_support: \"API 支持情况:\",\n\thardware_fingerprint: \"硬件指纹检测\",\n\tcanvas_fingerprint: \"Canvas 指纹\",\n\twebgl_fingerprint: \"WebGL 指纹\",\n\taudio_fingerprint: \"AudioContext 指纹\",\n\tcomplete_headers: \"完整请求头信息:\",\n\tloading: \"加载中...\",\n\tcurrent_value: \"当前值:\",\n\tdetected_via: \"通过{method}检测\",\n\twebrtc_local_ip: \"WebRTC 本地 IP 地址 (用于连接优化):\",\n\twebrtc_description: \"这是 WebRTC 的正常行为,有助于建立直接连接,但也可能暴露您的本地网络 IP 地址。\",\n\tpartial_fingerprint: \"部分浏览器指纹信息\",\n\tsupported: \"支持\",\n\tnot_supported: \"不支持\",\n\tnavigator_language_label: \"navigator.language:\",\n\tnavigator_languages_label: \"navigator.languages:\",\n\tcanvas_hash_label: \"Canvas hash:\",\n\twebgl_hash_label: \"WebGL hash:\",\n\twebgl_unmasked_vendor_label: \"WebGL unmasked vendor:\",\n\twebgl_unmasked_renderer_label: \"WebGL unmasked renderer:\",\n\twebgl_version_label: \"WebGL 版本:\",\n\twebgl_shading_language_version_label: \"Shading Language Version:\",\n\taudio_context_hash_label: \"AudioContext hash:\",\n\tdatetime_format_locale_label: \"DateTimeFormat 区域设置:\",\n\tnumber_format_locale_label: \"NumberFormat 区域设置:\",\n\tuser_agent_label: \"User Agent:\",\n\tscreen_information_label: \"屏幕信息:\",\n\ttimezone_label: \"时区:\",\n\toffset_label: \"偏移:\",\n\ton_connector: \"运行于\",\n\tua_ch_full_version_list: \"UA-CH 完整版本列表\",\n\tua_ch_brands: \"UA-CH 品牌列表\",\n\tua_ch_platform: \"UA-CH 平台\",\n\tua_ch_mobile: \"UA-CH 移动设备\",\n\tyes: \"是\",\n\tno: \"否\",\n\t\"Refresh detection\": \"刷新检测信息\",\n\trequest_header_method: \"请求头\",\n\tjavascript_method: \"JavaScript\",\n\twebrtc_method: \"WebRTC\",\n\tcanvas_method: \"Canvas API\",\n\twebgl_method: \"WebGL API\",\n\taudio_method: \"AudioContext API\",\n\tintl_method: \"Intl API\",\n\tdetection_failed: \"检测失败\",\n\tfetching_headers: \"正在获取请求头信息...\",\n\ttrying_webrtc: \"正在尝试检测 WebRTC 本地 IP...\",\n\twebrtc_not_supported: \"WebRTC 检测失败或不受支持\",\n\twebgl_not_supported: \"WebGL 不支持或已禁用\",\n\taudio_not_supported: \"AudioContext 不支持\",\n\tunknown_os: \"未知操作系统\",\n\tdetected_accept_language: \"检测到的Accept-Language:\",\n\tno_accept_language: \"未检测到Accept-Language请求头\",\n\tnot_detected_accept_language: \"未检测到Accept-Language请求头\",\n\texternal_check_prefix: \"请访问\",\n\texternal_check_or: \"或\",\n\texternal_check_suffix: \"等网站进行查看\",\n\tall_attempts_failed: \"所有获取请求头的尝试都失败了:\",\n\tfetch_failed_all_services: \"获取请求头信息失败 (所有服务均失败或超时)。\",\n\tdetailed_error: \"详细错误:\",\n\tdetection_failed_all_services: \"检测失败 (所有服务均失败或超时)。\",\n\thttp_error_status: \"HTTP错误! 状态:\",\n\tfrom: \"来自\",\n\trequest_timeout: \"请求 {url} 超时 ({timeout}ms)\",\n\tjs_language_detection_failed: \"JS 语言检测失败:\",\n\tcanvas_fingerprint_detection_failed: \"Canvas 指纹检测失败:\",\n\twebgl_fingerprint_detection_failed: \"WebGL 指纹检测失败:\",\n\taudio_fingerprint_detection_failed: \"AudioContext 指纹检测失败:\",\n\tintl_api_detection_failed: \"Intl API 检测失败:\",\n\twebrtc_detection_failed: \"WebRTC 检测失败:\",\n\twebrtc_setlocaldescription_failed: \"WebRTC setLocalDescription 失败:\",\n\twebrtc_detected_local_ip: \"WebRTC 检测到本地 IP (正常行为):\",\n\twebrtc_no_ip_detected: \"未检测到 WebRTC 本地 IP 地址暴露。\",\n\twebrtc_no_local_ip: \"WebRTC 未检测到本地 IP\",\n\tfingerprint_detection_failed: \"指纹检测失败:\",\n\trestricted: \"(受限)\",\n\tbutton_add_failed_container: \"未能精确找到 .header-info 用于附加刷新按钮,按钮已附加到 .container 末尾。\",\n\tbutton_add_failed_no_container: \"未能找到 .container 用于附加刷新按钮。\",\n\tai_diagnosis_title: \"AI 诊断\",\n\tai_config_summary: \"AI 服务配置\",\n\tai_provider_label: \"预设平台\",\n\tai_provider_openai: \"OpenAI\",\n\tai_provider_openrouter: \"OpenRouter\",\n\tai_provider_deepseek: \"DeepSeek\",\n\tai_provider_gemini: \"Gemini\",\n\tai_provider_qwen: \"阿里云百炼 / Qwen\",\n\tai_provider_siliconflow: \"SiliconFlow\",\n\tai_provider_glm: \"GLM / 智谱\",\n\tai_provider_kimi: \"Kimi / Moonshot\",\n\tai_provider_minimax: \"MiniMax\",\n\tai_provider_custom: \"自定义兼容接口\",\n\tai_provider_openai_desc: \"官方 OpenAI 接口,默认 Base URL 为 https://api.openai.com/v1,默认模型为 gpt-5-mini。\",\n\tai_provider_openrouter_desc:\n\t\t\"适合统一接入多家模型,默认 Base URL 为 https://openrouter.ai/api/v1,默认模型为 openrouter/free。\",\n\tai_provider_deepseek_desc:\n\t\t\"DeepSeek 官方接口当前文档主地址为 https://api.deepseek.com;默认模型为 deepseek-chat,官方将其说明为 V3.2 的非思考聊天别名。\",\n\tai_provider_gemini_desc:\n\t\t\"Google Gemini 的 OpenAI 兼容入口为 https://generativelanguage.googleapis.com/v1beta/openai,默认模型为 gemini-2.5-flash。\",\n\tai_provider_qwen_desc:\n\t\t\"阿里云百炼 OpenAI 兼容接口。默认预设为北京地域 https://dashscope.aliyuncs.com/compatible-mode/v1,默认模型为 qwen3.5-plus,官方还提供新加坡和美国(弗吉尼亚)地域变体。\",\n\tai_provider_siliconflow_desc:\n\t\t\"SiliconFlow OpenAI 兼容接口当前文档地址为 https://api.siliconflow.com/v1,默认模型为 Qwen/Qwen3.5-27B。\",\n\tai_provider_glm_desc: \"智谱 GLM 的 OpenAI 兼容入口为 https://open.bigmodel.cn/api/paas/v4,默认模型为 glm-4.7。\",\n\tai_provider_kimi_desc: \"Moonshot Kimi 的 OpenAI 兼容入口为 https://api.moonshot.cn/v1,默认模型为 kimi-k2-0905。\",\n\tai_provider_minimax_desc:\n\t\t\"MiniMax 的 OpenAI 兼容入口国际站为 https://api.minimax.io/v1;官方也说明中国区可使用 https://api.minimaxi.com/v1。默认模型为 MiniMax-M2.5。\",\n\tai_provider_custom_desc: \"保持手动填写,适用于任意 OpenAI 兼容服务。\",\n\tai_base_url_label: \"API Base URL\",\n\tai_api_key_label: \"API Key\",\n\tai_model_label: \"模型名称\",\n\tai_api_key_toggle_show: \"显示\",\n\tai_api_key_toggle_hide: \"隐藏\",\n\tai_privacy_hint: \"您的 API Key 仅保存在 chrome.storage.local,本扩展不会上传或同步该配置;聊天记录只保留在当前页面。\",\n\tai_config_ready: \"AI 配置已保存,可开始诊断。\",\n\tai_config_incomplete: \"请填写完整的 Base URL、API Key 和模型名称。\",\n\tai_config_replace_template: \"请先把地址中的模板资源名替换成您自己的实际资源名,再开始 AI 诊断。\",\n\tai_chat_placeholder: \"点击“开始 AI 诊断”后,AI 会基于当前检测快照给出风险分析。\",\n\tai_user_input_placeholder: \"继续追问,例如:为什么语言和时区不一致会增加指纹风险?\",\n\tai_start: \"开始 AI 诊断\",\n\tai_stop: \"停止生成\",\n\tai_clear: \"清空会话\",\n\tai_export_structured: \"导出结构化文本\",\n\tai_send: \"发送\",\n\tai_export: \"导出 Markdown\",\n\tai_user_input_label: \"追问内容\",\n\tai_export_empty: \"当前还没有可导出的可见对话内容。\",\n\tai_export_success: \"对话已导出为 Markdown。\",\n\tai_export_structured_empty: \"当前还没有可导出的检测信息。\",\n\tai_export_structured_success: \"检测信息已导出为 Markdown。\",\n\tai_export_structured_notice:\n\t\t\"说明:此快照已通过 sanitizeSnapshotForAI 脱敏处理,已隐藏 User Agent、WebRTC IP、HTTP 请求头(仅保留名称)以及 Canvas/WebGL/Audio 指纹哈希。\",\n\tai_export_label_generated_at: \"生成时间\",\n\tai_export_label_snapshot_version: \"快照版本\",\n\tai_export_label_ui_language: \"界面语言\",\n\tai_export_label_extension_version: \"扩展版本\",\n\tai_export_section_extension: \"扩展状态\",\n\tai_export_label_current_language: \"当前语言\",\n\tai_export_label_auto_switch_enabled: \"自动切换已启用\",\n\tai_export_section_http: \"HTTP\",\n\tai_export_label_status: \"状态\",\n\tai_export_label_endpoint: \"接口地址\",\n\tai_export_label_accept_language: \"Accept-Language\",\n\tai_export_label_error: \"错误\",\n\tai_export_label_headers: \"请求头\",\n\tai_export_section_js_env: \"JavaScript 环境\",\n\tai_export_label_navigator_language: \"navigator.language\",\n\tai_export_label_navigator_languages: \"navigator.languages\",\n\tai_export_label_timezone: \"时区\",\n\tai_export_label_timezone_offset: \"时区偏移\",\n\tai_export_section_intl: \"Intl\",\n\tai_export_label_datetime_locale: \"DateTimeFormat 区域设置\",\n\tai_export_label_number_locale: \"NumberFormat 区域设置\",\n\tai_export_section_webrtc: \"WebRTC\",\n\tai_export_label_ip_leak_detected: \"检测到 IP 泄露\",\n\tai_export_label_ips: \"IP 列表\",\n\tai_export_section_browser_fingerprint: \"浏览器指纹\",\n\tai_export_label_user_agent: \"User Agent\",\n\tai_export_label_screen: \"屏幕信息\",\n\tai_export_section_hardware_fingerprint: \"硬件指纹\",\n\tai_export_label_canvas: \"Canvas\",\n\tai_export_label_webgl: \"WebGL\",\n\tai_export_label_audio: \"Audio\",\n\tai_export_section_compatibility: \"兼容性\",\n\tai_export_label_browser: \"浏览器\",\n\tai_export_label_api_support: \"API 支持\",\n\tai_copy_failed: \"复制失败,请重试。\",\n\tai_role_user: \"用户\",\n\tai_role_assistant: \"助手\",\n\tai_detection_pending: \"检测尚未完成,请等待当前环境检测结束后再开始 AI 诊断。\",\n\tai_session_expired: \"检测结果已刷新,当前会话上下文已过期。请重新点击“开始 AI 诊断”。\",\n\tai_request_in_progress: \"AI 正在生成诊断结果...\",\n\tai_request_stopped: \"已停止生成。\",\n\tai_request_failed: \"AI 请求失败:{error}\",\n\tai_render_fallback: \"Markdown 渲染库不可用,已回退为纯文本显示。\",\n\tai_chat_cleared: \"会话已清空。\",\n\tai_starting: \"正在基于当前检测快照启动 AI 诊断...\",\n\tai_ready_for_followup: \"可以继续追问,AI 会沿用本次检测上下文。\",\n\tai_config_missing_runtime: \"当前环境无法访问 AI 客户端,请刷新页面后重试。\",\n\tai_waiting_for_question: \"请输入追问内容。\",\n\tai_restart_required: \"检测快照已变化,旧上下文不再可靠。请重新开始 AI 诊断。\",\n\tai_empty_reply: \"AI 没有返回有效内容。\",\n};\n\nexport { detectEn, detectZh };\n"}}}} |