{"repo": "buxuku/smartsub", "files": {"renderer/public/locales/en/translateControl.json": {"97708485bc60a741066c6afcde6de40632a70da1": {"t": 1785674274.6193867, "n": 17567, "h": "dd7e6285a0e87b03", "c": "{\n \"translateControl\": \"Translation Control\",\n \"translationServices\": \"Translation Services\",\n \"providerListTitle\": \"Translation Services\",\n \"overview\": {\n \"name\": \"Overview\",\n \"subtitle\": \"Configuration status & getting started\",\n \"intro\": \"Translation services turn subtitles into your target language. Free translation works out of the box; AI translation is higher quality with terminology and context support, but needs an API key. Either one is enough to use in tasks.\",\n \"freeDesc\": \"Aggregated free sources — no sign-up or keys, fine for everyday subtitles.\",\n \"aiDesc\": \"LLM translation: accurate, prompt-tunable, billed by the provider.\",\n \"mtDesc\": \"Classic MT APIs: stable and fast, pay-as-you-go, good for bulk.\",\n \"statConfigured\": \"{{configured}} / {{total}} configured\",\n \"view\": \"View\",\n \"quickStart\": \"Recommended starting paths (pick one)\",\n \"pathFreeTitle\": \"Zero-config free translation\",\n \"pathFreeDesc\": \"\\\"Auto free translation\\\" aggregates several free sources, ready out of the box\",\n \"pathFreeAction\": \"View\",\n \"pathAiTitle\": \"Quality-first with AI translation\",\n \"pathAiDesc\": \"Add a DeepSeek or Gemini API key for noticeably better quality\",\n \"pathAiAction\": \"Set up\",\n \"pathCustomTitle\": \"Add a custom OpenAI-compatible service\",\n \"pathCustomDesc\": \"Self-hosted relays or other compatible endpoints, pinned to the top once added\",\n \"pathCustomAction\": \"Add\",\n \"ready\": \"Ready\"\n },\n \"configured\": \"Configured\",\n \"customProviders\": \"Custom Providers\",\n \"addCustomProvider\": \"Add custom service\",\n \"addCustomProviderHint\": \"OpenAI-compatible API; shown at the top once added.\",\n \"addCustomProviderDesc\": \"Create a custom translation provider with your preferred API endpoint and model.\",\n \"providerName\": \"Provider Name\",\n \"modelName\": \"Model Name\",\n \"prompt\": \"Prompt\",\n \"add\": \"Add\",\n \"cancel\": \"Cancel\",\n \"confirmDelete\": \"Confirm Delete\",\n \"enterProviderName\": \"Enter provider name (recommended within 8 characters)\",\n \"batchSize\": \"Batch Size\",\n \"batchConcurrency\": \"Batch Concurrency\",\n \"Batch Size\": \"Batch Size\",\n \"batchSizeBaiduTips\": \"Batch size is the number of sentences translated at a time. If the number is too large, it may cause translation failure. The maximum value is 18.\",\n \"batchSizeVolcTips\": \"Batch size is the number of sentences translated at a time. If the number is too large, it may cause translation failure. The maximum value is 16.\",\n \"batchSizeAzureTips\": \"Batch size is the number of sentences translated at a time. If the number is too large, it may cause translation failure. The maximum value is 1000.\",\n \"batchSizeAliyunTips\": \"Batch size is the number of sentences translated at a time. If the number is too large, it may cause translation failure. Recommended value is 15.\",\n \"endpointAliyunTips\": \"Aliyun machine translation service domain, default is mt.aliyuncs.com, usually no need to modify.\",\n \"baiduApiKeyTips\": \"Baidu Translate APP ID and Secret Key — register at the Baidu Translate Open Platform and create an app.\",\n \"aliyunApiKeyTips\": \"Aliyun AccessKey — create in RAM Access Control; enable machine translation at the MT Console.\",\n \"volcApiKeyTips\": \"Volcano Engine AccessKey — create in Key Management; enable translation at the MT Console.\",\n \"tencentApiKeyTips\": \"Tencent Cloud SecretId / SecretKey — create in API Key Management; machine translation service must be enabled first.\",\n \"xunfeiApiKeyTips\": \"iFlytek APPID / APIKey / APISecret — create a machine translation app at the iFlytek Open Platform.\",\n \"azureApiKeyTips\": \"Azure Translator API Key and Region — create a resource at Azure Translator.\",\n \"niutransApiKeyTips\": \"NiuTrans API-KEY, available in the personal center of the NiuTrans open platform console.\",\n \"batchSizeNiutransTips\": \"NiuTrans text API translates one segment per request. Set to 1 to keep translations aligned with the timeline.\",\n \"regionTencentTips\": \"Tencent Cloud machine translation region, default is ap-guangzhou, usually no need to modify.\",\n \"batchSizeTencentTips\": \"Tencent Cloud text translation translates one segment per request. Set to 1 to keep translations aligned with the timeline. Use request interval to handle QPS limits.\",\n \"batchSizeXunfeiTips\": \"iFlytek machine translation translates one segment per request. Set to 1 to keep translations aligned with the timeline.\",\n \"ApiUrl\": \"API Url\",\n \"API Key\": \"API Key\",\n \"systemPrompt\": \"System Prompt\",\n \"systemPromptTips\": \"System prompt, supports variables:
${sourceLanguage} Source language
${targetLanguage} Target language
${content} Source subtitle
${glossary} Global terms matched in this batch\",\n \"userPromptTips\": \"User prompt, supports variables:
${sourceLanguage} Source language
${targetLanguage} Target language
${content} Source subtitle\",\n \"testTranslation\": \"Test Translation\",\n \"testSuccess\": \"Test Successful\",\n \"testFailed\": \"Test Failed\",\n \"autoDetectTrying\": \"Current structured output setting failed, trying {{mode}}…\",\n \"autoDetectSwitched\": \"Structured Output auto-switched to {{mode}} and saved\",\n \"autoDetectAllFailed\": \"All structured output modes were tried without success — check your API key, base URL and model name\",\n \"ollamaApiUrlTips\": \"Local Ollama API address — use the chat endpoint, usually http://localhost:11434/api/chat. Install Ollama from the Ollama website.\",\n \"deeplxApiUrlTips\": \"DeepLX runs as a separate local service — set the endpoint after install. See the DeepLX GitHub project for setup; default URL is http://localhost:1188/translate\",\n \"DeerApiUrlTips\": \"Get API keys with lightning-fast speeds at incredibly low prices. Easy top-up via Alipay/WeChat Pay. Visit DeerAPI to apply!\",\n \"deerApiKeyTips\": \"DeerAPI API Key — register and top up at the DeerAPI console.\",\n \"deepseekApiUrlTips\": \"DeepSeek API URL, default https://api.deepseek.com/v1. Register at the DeepSeek Platform.\",\n \"deepseekApiKeyTips\": \"DeepSeek API Key — create one on the API Keys page.\",\n \"azureOpenAiApiUrlTips\": \"Azure OpenAI deployment endpoint — see placeholder for format. Create a resource in Azure AI Services.\",\n \"azureOpenAiApiKeyTips\": \"Azure OpenAI API Key — copy from the resource's Keys and Endpoint page.\",\n \"geminiApiUrlTips\": \"Gemini OpenAI-compatible endpoint — Google default URL, usually no change needed.\",\n \"geminiApiKeyTips\": \"Gemini API Key — create for free in Google AI Studio.\",\n \"siliconflowApiUrlTips\": \"SiliconFlow API URL, default https://api.siliconflow.cn/v1. Register at the SiliconFlow Cloud.\",\n \"siliconflowApiKeyTips\": \"SiliconFlow API Key — create in API Key Management.\",\n \"qwenApiUrlTips\": \"Qwen OpenAI-compatible endpoint — DashScope default URL, usually no change needed.\",\n \"qwenMtApiUrlTips\": \"Dedicated Qwen-MT OpenAI-compatible endpoint. Each request sends one user message and specifies languages and terms through translation_options.\",\n \"qwenApiKeyTips\": \"DashScope API Key — get one from the Bailian Console.\",\n \"openaiApiUrlTips\": \"OpenAI-compatible API base URL, usually ending in /v1, e.g. https://api.openai.com/v1. Do not paste a model detail page or /chat/completions endpoint — SmartSub appends the chat path automatically.\",\n \"openaiModelNameTips\": \"Enter the exact model id from your provider, e.g. hunyuan-3.0-preview. If the test fails with a response_format error, set Structured Output to Disabled.\",\n \"openaiApiKeyTips\": \"OpenAI API Key — create at the OpenAI Platform.\",\n \"testing\": \"Testing...\",\n \"searchModel\": \"Search Model\",\n \"googleApiKeyTips\": \"Google Cloud Translation API key — create in the Google Cloud Console and enable the Cloud Translation API\",\n \"batchSizeGoogleTips\": \"Google Translate batch size, recommended under 50 to avoid request limits\",\n \"customParameters\": \"Custom Parameters\",\n \"configureParameters\": \"Configure Parameters\",\n \"customParameterConfiguration\": \"Custom Parameter Configuration\",\n \"customParametersTip\": \"Configure additional headers and body parameters for this provider\",\n \"translationResult\": \"Translation Result\",\n \"provider\": \"Provider\",\n \"model\": \"Model\",\n \"structuredOutput\": \"Structured Output\",\n \"structuredOutputTips\": \"Select the structured output type supported by your AI service provider:
• Disabled - No structured output, model returns content freely
• JSON Object - Standard JSON object format (suitable for DeepSeek, Qwen, etc.)
• JSON Schema - Strict JSON schema validation (suitable for OpenAI, Azure OpenAI, Gemini, etc.; locks the translation count at the decoding level — strongly recommended for large batches)
Different AI providers support different structured output types. Selecting the wrong type may cause translation failures.\",\n \"echoAnchoring\": \"Echo Alignment Check\",\n \"echoAnchoringTips\": \"When enabled, the model returns both the source echo and the translation for every subtitle entry. The app uses the echo to detect and repair misalignment caused by merged neighbouring subtitles, keeping translations aligned with the timeline. Roughly doubles output token usage; when disabled, only count and empty-value checks apply.\",\n \"echoPromptOutdatedHint\": \"Your custom prompt does not include the src/tr echo protocol. Translation still works, but misalignment detection is unavailable. Consider updating it based on the default prompt, or restoring the default.\",\n \"enableThinking\": \"Thinking Mode\",\n \"enableThinkingTips\": \"Off by default: translation doesn't need thinking. When off, the app automatically sends the provider-specific disable parameter (Qwen/SiliconFlow/Volcengine/Ollama/Gemini, etc.), significantly reducing latency and token usage; if the parameter is rejected, the app retries without it. When on, nothing is sent and the model's default behavior applies. For unrecognized providers no parameter is sent, so thinking depends on the model's own default.\",\n \"thinkingOnlyModelHint\": \"The current model is a thinking-only model and cannot disable thinking via parameters. Consider switching to a non-thinking model (e.g. deepseek-chat) for faster translation.\",\n \"testThinkingDisabled\": \"Thinking disabled\",\n \"testThinkingCannotDisable\": \"Cannot disable thinking (model limitation); translation still works but is slower\",\n \"doubaoApiKeyTips\": \"Doubao Translation API Key, can be obtained from Volcano Ark Console\",\n \"doubaoModelNameTips\": \"Doubao translation model name, default is doubao-seed-translation-250915, usually no need to modify\",\n \"batchSizeDoubaoTips\": \"Doubao translation batch size, due to API limits, recommended to set to 1\",\n \"batchSizeQwenMtTips\": \"Qwen-MT translates one subtitle per request. Keep this at 1 and increase Batch Concurrency when more throughput is needed.\",\n \"requestInterval\": \"Request Interval (seconds)\",\n \"requestIntervalTip\": \"Wait time between consecutive requests (in seconds), useful for APIs with rate limits. Set to 0 for no delay. Example: for 10 requests/minute limit, set to 6.\",\n \"fallbackChain\": \"Fallback Chain\",\n \"windowMaxRequests\": \"Max Requests per Minute\",\n \"fallbackChainTips\": \"Ordered fallback chain of free sources. Click the buttons below to add a source, and use the up/down arrows to set priority. Tried top to bottom; on failure or rate limiting it switches to the next source. deeplx is skipped automatically when no endpoint is configured.\",\n \"fallbackChainEmpty\": \"Add at least one source\",\n \"chainMoveUp\": \"Move up\",\n \"chainMoveDown\": \"Move down\",\n \"chainRemove\": \"Remove\",\n \"chainSource\": {\n \"bingFree\": \"Bing Translate (Free)\",\n \"googleFree\": \"Google Translate (Free)\",\n \"deeplx\": \"DeepLX\"\n },\n \"windowMaxRequestsTips\": \"Max number of requests allowed within a sliding 60-second window, to reduce the chance of IP-based rate limiting (429) by free endpoints. Set to 0 for no limit.\",\n \"batchSizeAutoFreeTips\": \"Subtitle lines per batch. Actual batching depends on the matched source (Bing supports batching, Google is per-line). Around 10 is recommended.\",\n \"batchSizeBingFreeTips\": \"Bing (Edge) free translation natively supports multiple texts per request. Around 10 is recommended.\",\n \"batchSizeGoogleFreeTips\": \"The Google free endpoint translates one line at a time; batch size only affects progress granularity. For large volumes, pair it with a request interval to avoid rate limiting.\",\n \"batchSizeTip\": \"Number of subtitle lines per translation batch — 5 to 20 is recommended\",\n \"batchConcurrencyTip\": \"Number of translation batches to run at the same time, capped at 10. Default 1 runs sequentially; higher values can improve speed but require provider quota and may trigger rate limits.\",\n \"providerRemoved\": \"Provider \\\"{{name}}\\\" removed\",\n \"confirmRemoveProvider\": \"Remove this provider?\",\n \"removeProviderConfirmDesc\": \"After removal, the configuration (including the API key) for provider \\\"{{name}}\\\" will be deleted and you'll need to add it again.\",\n \"option\": {\n \"disabled\": \"Disabled\",\n \"json_object\": \"JSON Object\",\n \"json_schema\": \"JSON Schema\"\n },\n \"selectOption\": \"Select an option\",\n \"noMatchingModels\": \"No matching models\",\n \"removeProviderAria\": \"Remove provider {{name}}\",\n \"providerSearchPlaceholder\": \"Search services\",\n \"recommendTitle\": \"Not sure which to pick?\",\n \"recommendQuality\": \"Best quality\",\n \"groupFree\": \"Free to start\",\n \"groupAi\": \"AI translation\",\n \"groupMt\": \"Machine translation\",\n \"noProviderMatch\": \"No matching services\",\n \"selectModel\": \"Select a model\",\n \"phBatchSize\": \"e.g. 10\",\n \"phBatchConcurrency\": \"1-10\",\n \"phRequestInterval\": \"0\",\n \"phFallbackChain\": \"bingFree,googleFree,deeplx\",\n \"phWindowMaxRequests\": \"0 (no limit)\",\n \"phBaiduAppId\": \"Numeric APP ID, e.g. 2024030100123456\",\n \"phBaiduSecretKey\": \"32-character secret key\",\n \"phGoogleApiKey\": \"AIzaSy...\",\n \"phAliyunAccessKeyId\": \"LTAI...\",\n \"phAliyunAccessKeySecret\": \"AccessKey Secret\",\n \"phAliyunEndpoint\": \"mt.aliyuncs.com\",\n \"phVolcAccessKeyId\": \"AKLT...\",\n \"phVolcSecretAccessKey\": \"Secret Access Key\",\n \"phDoubaoApiKey\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n \"phNiutransApiKey\": \"API-KEY from console\",\n \"phTencentSecretId\": \"AKID...\",\n \"phTencentSecretKey\": \"SecretKey\",\n \"phTencentRegion\": \"ap-guangzhou\",\n \"phXunfeiAppId\": \"8-character APPID\",\n \"phXunfeiApiKey\": \"32-character APIKey\",\n \"phXunfeiApiSecret\": \"32-character APISecret\",\n \"phDeeplxApiUrl\": \"http://localhost:1188/translate\",\n \"phOllamaApiUrl\": \"http://localhost:11434/api/chat\",\n \"phAzureApiKey\": \"32-character key\",\n \"phAzureRegion\": \"eastasia or global\",\n \"phDeepseekApiKey\": \"sk-...\",\n \"phAzureOpenAiApiKey\": \"32-character key\",\n \"phDeerApiKey\": \"sk-...\",\n \"phGeminiApiKey\": \"AIzaSy...\",\n \"phSiliconflowApiKey\": \"sk-...\",\n \"phQwenApiKey\": \"sk-...\",\n \"phOpenaiApiUrl\": \"https://api.openai.com/v1\",\n \"phOpenaiApiKey\": \"sk-...\",\n \"savedFlash\": \"Saved\",\n \"showConfiguredOnly\": \"Configured only\",\n \"testSourceLang\": \"Test source\",\n \"testTargetLang\": \"Test target\",\n \"testSampleSentence\": \"Sample sentence\",\n \"testNeedsConfig\": \"Fill required fields before testing\",\n \"selectProviderHint\": \"Select a translation service from the list to configure\",\n \"backToList\": \"Back to list\",\n \"renameProvider\": \"Rename\",\n \"saveRename\": \"Save name\",\n \"advancedOptions\": \"Advanced options\",\n \"providerError\": {\n \"missingKeyOrSecret\": \"Missing API key or secret — check your configuration\",\n \"not_supported_language\": \"This language pair is not supported\",\n \"Unknown_translation_provider\": \"Unknown translation provider\",\n \"unauthorized\": \"Authentication failed — check your API key\",\n \"api_key_not_valid\": \"Invalid API key — please enter a valid key\"\n }\n}\n"}, "366ae938d65ab5623a4c9dce311f93d3f7dde904": {"t": 1785846862.9862103, "n": 17567, "h": "dd7e6285a0e87b03", "c": "{\n \"translateControl\": \"Translation Control\",\n \"translationServices\": \"Translation Services\",\n \"providerListTitle\": \"Translation Services\",\n \"overview\": {\n \"name\": \"Overview\",\n \"subtitle\": \"Configuration status & getting started\",\n \"intro\": \"Translation services turn subtitles into your target language. Free translation works out of the box; AI translation is higher quality with terminology and context support, but needs an API key. Either one is enough to use in tasks.\",\n \"freeDesc\": \"Aggregated free sources — no sign-up or keys, fine for everyday subtitles.\",\n \"aiDesc\": \"LLM translation: accurate, prompt-tunable, billed by the provider.\",\n \"mtDesc\": \"Classic MT APIs: stable and fast, pay-as-you-go, good for bulk.\",\n \"statConfigured\": \"{{configured}} / {{total}} configured\",\n \"view\": \"View\",\n \"quickStart\": \"Recommended starting paths (pick one)\",\n \"pathFreeTitle\": \"Zero-config free translation\",\n \"pathFreeDesc\": \"\\\"Auto free translation\\\" aggregates several free sources, ready out of the box\",\n \"pathFreeAction\": \"View\",\n \"pathAiTitle\": \"Quality-first with AI translation\",\n \"pathAiDesc\": \"Add a DeepSeek or Gemini API key for noticeably better quality\",\n \"pathAiAction\": \"Set up\",\n \"pathCustomTitle\": \"Add a custom OpenAI-compatible service\",\n \"pathCustomDesc\": \"Self-hosted relays or other compatible endpoints, pinned to the top once added\",\n \"pathCustomAction\": \"Add\",\n \"ready\": \"Ready\"\n },\n \"configured\": \"Configured\",\n \"customProviders\": \"Custom Providers\",\n \"addCustomProvider\": \"Add custom service\",\n \"addCustomProviderHint\": \"OpenAI-compatible API; shown at the top once added.\",\n \"addCustomProviderDesc\": \"Create a custom translation provider with your preferred API endpoint and model.\",\n \"providerName\": \"Provider Name\",\n \"modelName\": \"Model Name\",\n \"prompt\": \"Prompt\",\n \"add\": \"Add\",\n \"cancel\": \"Cancel\",\n \"confirmDelete\": \"Confirm Delete\",\n \"enterProviderName\": \"Enter provider name (recommended within 8 characters)\",\n \"batchSize\": \"Batch Size\",\n \"batchConcurrency\": \"Batch Concurrency\",\n \"Batch Size\": \"Batch Size\",\n \"batchSizeBaiduTips\": \"Batch size is the number of sentences translated at a time. If the number is too large, it may cause translation failure. The maximum value is 18.\",\n \"batchSizeVolcTips\": \"Batch size is the number of sentences translated at a time. If the number is too large, it may cause translation failure. The maximum value is 16.\",\n \"batchSizeAzureTips\": \"Batch size is the number of sentences translated at a time. If the number is too large, it may cause translation failure. The maximum value is 1000.\",\n \"batchSizeAliyunTips\": \"Batch size is the number of sentences translated at a time. If the number is too large, it may cause translation failure. Recommended value is 15.\",\n \"endpointAliyunTips\": \"Aliyun machine translation service domain, default is mt.aliyuncs.com, usually no need to modify.\",\n \"baiduApiKeyTips\": \"Baidu Translate APP ID and Secret Key — register at the Baidu Translate Open Platform and create an app.\",\n \"aliyunApiKeyTips\": \"Aliyun AccessKey — create in RAM Access Control; enable machine translation at the MT Console.\",\n \"volcApiKeyTips\": \"Volcano Engine AccessKey — create in Key Management; enable translation at the MT Console.\",\n \"tencentApiKeyTips\": \"Tencent Cloud SecretId / SecretKey — create in API Key Management; machine translation service must be enabled first.\",\n \"xunfeiApiKeyTips\": \"iFlytek APPID / APIKey / APISecret — create a machine translation app at the iFlytek Open Platform.\",\n \"azureApiKeyTips\": \"Azure Translator API Key and Region — create a resource at Azure Translator.\",\n \"niutransApiKeyTips\": \"NiuTrans API-KEY, available in the personal center of the NiuTrans open platform console.\",\n \"batchSizeNiutransTips\": \"NiuTrans text API translates one segment per request. Set to 1 to keep translations aligned with the timeline.\",\n \"regionTencentTips\": \"Tencent Cloud machine translation region, default is ap-guangzhou, usually no need to modify.\",\n \"batchSizeTencentTips\": \"Tencent Cloud text translation translates one segment per request. Set to 1 to keep translations aligned with the timeline. Use request interval to handle QPS limits.\",\n \"batchSizeXunfeiTips\": \"iFlytek machine translation translates one segment per request. Set to 1 to keep translations aligned with the timeline.\",\n \"ApiUrl\": \"API Url\",\n \"API Key\": \"API Key\",\n \"systemPrompt\": \"System Prompt\",\n \"systemPromptTips\": \"System prompt, supports variables:
${sourceLanguage} Source language
${targetLanguage} Target language
${content} Source subtitle
${glossary} Global terms matched in this batch\",\n \"userPromptTips\": \"User prompt, supports variables:
${sourceLanguage} Source language
${targetLanguage} Target language
${content} Source subtitle\",\n \"testTranslation\": \"Test Translation\",\n \"testSuccess\": \"Test Successful\",\n \"testFailed\": \"Test Failed\",\n \"autoDetectTrying\": \"Current structured output setting failed, trying {{mode}}…\",\n \"autoDetectSwitched\": \"Structured Output auto-switched to {{mode}} and saved\",\n \"autoDetectAllFailed\": \"All structured output modes were tried without success — check your API key, base URL and model name\",\n \"ollamaApiUrlTips\": \"Local Ollama API address — use the chat endpoint, usually http://localhost:11434/api/chat. Install Ollama from the Ollama website.\",\n \"deeplxApiUrlTips\": \"DeepLX runs as a separate local service — set the endpoint after install. See the DeepLX GitHub project for setup; default URL is http://localhost:1188/translate\",\n \"DeerApiUrlTips\": \"Get API keys with lightning-fast speeds at incredibly low prices. Easy top-up via Alipay/WeChat Pay. Visit DeerAPI to apply!\",\n \"deerApiKeyTips\": \"DeerAPI API Key — register and top up at the DeerAPI console.\",\n \"deepseekApiUrlTips\": \"DeepSeek API URL, default https://api.deepseek.com/v1. Register at the DeepSeek Platform.\",\n \"deepseekApiKeyTips\": \"DeepSeek API Key — create one on the API Keys page.\",\n \"azureOpenAiApiUrlTips\": \"Azure OpenAI deployment endpoint — see placeholder for format. Create a resource in Azure AI Services.\",\n \"azureOpenAiApiKeyTips\": \"Azure OpenAI API Key — copy from the resource's Keys and Endpoint page.\",\n \"geminiApiUrlTips\": \"Gemini OpenAI-compatible endpoint — Google default URL, usually no change needed.\",\n \"geminiApiKeyTips\": \"Gemini API Key — create for free in Google AI Studio.\",\n \"siliconflowApiUrlTips\": \"SiliconFlow API URL, default https://api.siliconflow.cn/v1. Register at the SiliconFlow Cloud.\",\n \"siliconflowApiKeyTips\": \"SiliconFlow API Key — create in API Key Management.\",\n \"qwenApiUrlTips\": \"Qwen OpenAI-compatible endpoint — DashScope default URL, usually no change needed.\",\n \"qwenMtApiUrlTips\": \"Dedicated Qwen-MT OpenAI-compatible endpoint. Each request sends one user message and specifies languages and terms through translation_options.\",\n \"qwenApiKeyTips\": \"DashScope API Key — get one from the Bailian Console.\",\n \"openaiApiUrlTips\": \"OpenAI-compatible API base URL, usually ending in /v1, e.g. https://api.openai.com/v1. Do not paste a model detail page or /chat/completions endpoint — SmartSub appends the chat path automatically.\",\n \"openaiModelNameTips\": \"Enter the exact model id from your provider, e.g. hunyuan-3.0-preview. If the test fails with a response_format error, set Structured Output to Disabled.\",\n \"openaiApiKeyTips\": \"OpenAI API Key — create at the OpenAI Platform.\",\n \"testing\": \"Testing...\",\n \"searchModel\": \"Search Model\",\n \"googleApiKeyTips\": \"Google Cloud Translation API key — create in the Google Cloud Console and enable the Cloud Translation API\",\n \"batchSizeGoogleTips\": \"Google Translate batch size, recommended under 50 to avoid request limits\",\n \"customParameters\": \"Custom Parameters\",\n \"configureParameters\": \"Configure Parameters\",\n \"customParameterConfiguration\": \"Custom Parameter Configuration\",\n \"customParametersTip\": \"Configure additional headers and body parameters for this provider\",\n \"translationResult\": \"Translation Result\",\n \"provider\": \"Provider\",\n \"model\": \"Model\",\n \"structuredOutput\": \"Structured Output\",\n \"structuredOutputTips\": \"Select the structured output type supported by your AI service provider:
• Disabled - No structured output, model returns content freely
• JSON Object - Standard JSON object format (suitable for DeepSeek, Qwen, etc.)
• JSON Schema - Strict JSON schema validation (suitable for OpenAI, Azure OpenAI, Gemini, etc.; locks the translation count at the decoding level — strongly recommended for large batches)
Different AI providers support different structured output types. Selecting the wrong type may cause translation failures.\",\n \"echoAnchoring\": \"Echo Alignment Check\",\n \"echoAnchoringTips\": \"When enabled, the model returns both the source echo and the translation for every subtitle entry. The app uses the echo to detect and repair misalignment caused by merged neighbouring subtitles, keeping translations aligned with the timeline. Roughly doubles output token usage; when disabled, only count and empty-value checks apply.\",\n \"echoPromptOutdatedHint\": \"Your custom prompt does not include the src/tr echo protocol. Translation still works, but misalignment detection is unavailable. Consider updating it based on the default prompt, or restoring the default.\",\n \"enableThinking\": \"Thinking Mode\",\n \"enableThinkingTips\": \"Off by default: translation doesn't need thinking. When off, the app automatically sends the provider-specific disable parameter (Qwen/SiliconFlow/Volcengine/Ollama/Gemini, etc.), significantly reducing latency and token usage; if the parameter is rejected, the app retries without it. When on, nothing is sent and the model's default behavior applies. For unrecognized providers no parameter is sent, so thinking depends on the model's own default.\",\n \"thinkingOnlyModelHint\": \"The current model is a thinking-only model and cannot disable thinking via parameters. Consider switching to a non-thinking model (e.g. deepseek-chat) for faster translation.\",\n \"testThinkingDisabled\": \"Thinking disabled\",\n \"testThinkingCannotDisable\": \"Cannot disable thinking (model limitation); translation still works but is slower\",\n \"doubaoApiKeyTips\": \"Doubao Translation API Key, can be obtained from Volcano Ark Console\",\n \"doubaoModelNameTips\": \"Doubao translation model name, default is doubao-seed-translation-250915, usually no need to modify\",\n \"batchSizeDoubaoTips\": \"Doubao translation batch size, due to API limits, recommended to set to 1\",\n \"batchSizeQwenMtTips\": \"Qwen-MT translates one subtitle per request. Keep this at 1 and increase Batch Concurrency when more throughput is needed.\",\n \"requestInterval\": \"Request Interval (seconds)\",\n \"requestIntervalTip\": \"Wait time between consecutive requests (in seconds), useful for APIs with rate limits. Set to 0 for no delay. Example: for 10 requests/minute limit, set to 6.\",\n \"fallbackChain\": \"Fallback Chain\",\n \"windowMaxRequests\": \"Max Requests per Minute\",\n \"fallbackChainTips\": \"Ordered fallback chain of free sources. Click the buttons below to add a source, and use the up/down arrows to set priority. Tried top to bottom; on failure or rate limiting it switches to the next source. deeplx is skipped automatically when no endpoint is configured.\",\n \"fallbackChainEmpty\": \"Add at least one source\",\n \"chainMoveUp\": \"Move up\",\n \"chainMoveDown\": \"Move down\",\n \"chainRemove\": \"Remove\",\n \"chainSource\": {\n \"bingFree\": \"Bing Translate (Free)\",\n \"googleFree\": \"Google Translate (Free)\",\n \"deeplx\": \"DeepLX\"\n },\n \"windowMaxRequestsTips\": \"Max number of requests allowed within a sliding 60-second window, to reduce the chance of IP-based rate limiting (429) by free endpoints. Set to 0 for no limit.\",\n \"batchSizeAutoFreeTips\": \"Subtitle lines per batch. Actual batching depends on the matched source (Bing supports batching, Google is per-line). Around 10 is recommended.\",\n \"batchSizeBingFreeTips\": \"Bing (Edge) free translation natively supports multiple texts per request. Around 10 is recommended.\",\n \"batchSizeGoogleFreeTips\": \"The Google free endpoint translates one line at a time; batch size only affects progress granularity. For large volumes, pair it with a request interval to avoid rate limiting.\",\n \"batchSizeTip\": \"Number of subtitle lines per translation batch — 5 to 20 is recommended\",\n \"batchConcurrencyTip\": \"Number of translation batches to run at the same time, capped at 10. Default 1 runs sequentially; higher values can improve speed but require provider quota and may trigger rate limits.\",\n \"providerRemoved\": \"Provider \\\"{{name}}\\\" removed\",\n \"confirmRemoveProvider\": \"Remove this provider?\",\n \"removeProviderConfirmDesc\": \"After removal, the configuration (including the API key) for provider \\\"{{name}}\\\" will be deleted and you'll need to add it again.\",\n \"option\": {\n \"disabled\": \"Disabled\",\n \"json_object\": \"JSON Object\",\n \"json_schema\": \"JSON Schema\"\n },\n \"selectOption\": \"Select an option\",\n \"noMatchingModels\": \"No matching models\",\n \"removeProviderAria\": \"Remove provider {{name}}\",\n \"providerSearchPlaceholder\": \"Search services\",\n \"recommendTitle\": \"Not sure which to pick?\",\n \"recommendQuality\": \"Best quality\",\n \"groupFree\": \"Free to start\",\n \"groupAi\": \"AI translation\",\n \"groupMt\": \"Machine translation\",\n \"noProviderMatch\": \"No matching services\",\n \"selectModel\": \"Select a model\",\n \"phBatchSize\": \"e.g. 10\",\n \"phBatchConcurrency\": \"1-10\",\n \"phRequestInterval\": \"0\",\n \"phFallbackChain\": \"bingFree,googleFree,deeplx\",\n \"phWindowMaxRequests\": \"0 (no limit)\",\n \"phBaiduAppId\": \"Numeric APP ID, e.g. 2024030100123456\",\n \"phBaiduSecretKey\": \"32-character secret key\",\n \"phGoogleApiKey\": \"AIzaSy...\",\n \"phAliyunAccessKeyId\": \"LTAI...\",\n \"phAliyunAccessKeySecret\": \"AccessKey Secret\",\n \"phAliyunEndpoint\": \"mt.aliyuncs.com\",\n \"phVolcAccessKeyId\": \"AKLT...\",\n \"phVolcSecretAccessKey\": \"Secret Access Key\",\n \"phDoubaoApiKey\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n \"phNiutransApiKey\": \"API-KEY from console\",\n \"phTencentSecretId\": \"AKID...\",\n \"phTencentSecretKey\": \"SecretKey\",\n \"phTencentRegion\": \"ap-guangzhou\",\n \"phXunfeiAppId\": \"8-character APPID\",\n \"phXunfeiApiKey\": \"32-character APIKey\",\n \"phXunfeiApiSecret\": \"32-character APISecret\",\n \"phDeeplxApiUrl\": \"http://localhost:1188/translate\",\n \"phOllamaApiUrl\": \"http://localhost:11434/api/chat\",\n \"phAzureApiKey\": \"32-character key\",\n \"phAzureRegion\": \"eastasia or global\",\n \"phDeepseekApiKey\": \"sk-...\",\n \"phAzureOpenAiApiKey\": \"32-character key\",\n \"phDeerApiKey\": \"sk-...\",\n \"phGeminiApiKey\": \"AIzaSy...\",\n \"phSiliconflowApiKey\": \"sk-...\",\n \"phQwenApiKey\": \"sk-...\",\n \"phOpenaiApiUrl\": \"https://api.openai.com/v1\",\n \"phOpenaiApiKey\": \"sk-...\",\n \"savedFlash\": \"Saved\",\n \"showConfiguredOnly\": \"Configured only\",\n \"testSourceLang\": \"Test source\",\n \"testTargetLang\": \"Test target\",\n \"testSampleSentence\": \"Sample sentence\",\n \"testNeedsConfig\": \"Fill required fields before testing\",\n \"selectProviderHint\": \"Select a translation service from the list to configure\",\n \"backToList\": \"Back to list\",\n \"renameProvider\": \"Rename\",\n \"saveRename\": \"Save name\",\n \"advancedOptions\": \"Advanced options\",\n \"providerError\": {\n \"missingKeyOrSecret\": \"Missing API key or secret — check your configuration\",\n \"not_supported_language\": \"This language pair is not supported\",\n \"Unknown_translation_provider\": \"Unknown translation provider\",\n \"unauthorized\": \"Authentication failed — check your API key\",\n \"api_key_not_valid\": \"Invalid API key — please enter a valid key\"\n }\n}\n"}}, "renderer/public/locales/zh/translateControl.json": {"97708485bc60a741066c6afcde6de40632a70da1": {"t": 1785674275.1644626, "n": 11466, "h": "d6d407c81543f042", "c": "{\n \"translateControl\": \"翻译服务配置\",\n \"translationServices\": \"翻译服务\",\n \"providerListTitle\": \"翻译服务\",\n \"overview\": {\n \"name\": \"总览\",\n \"subtitle\": \"配置状态与起步建议\",\n \"intro\": \"翻译服务负责把字幕翻成目标语言。免费翻译开箱即用;AI 翻译质量更高、支持术语与上下文,需要 API Key。任一就绪即可在任务中选用。\",\n \"freeDesc\": \"聚合免费源,无需注册与密钥,日常字幕够用。\",\n \"aiDesc\": \"大模型翻译:语义准确、可调提示词,按服务商计费。\",\n \"mtDesc\": \"传统机翻 API:稳定快速,按量计费,适合大批量。\",\n \"statConfigured\": \"已配置 {{configured}} / {{total}} 个\",\n \"view\": \"查看\",\n \"quickStart\": \"推荐起步路径(任选其一)\",\n \"pathFreeTitle\": \"零配置用免费翻译\",\n \"pathFreeDesc\": \"「自动免费翻译」聚合多个免费源,开箱即用\",\n \"pathFreeAction\": \"去查看\",\n \"pathAiTitle\": \"质量优先用 AI 翻译\",\n \"pathAiDesc\": \"配置 DeepSeek 或 Gemini 的 API Key,质量明显更好\",\n \"pathAiAction\": \"去配置\",\n \"pathCustomTitle\": \"接入自定义 OpenAI 兼容服务\",\n \"pathCustomDesc\": \"自建中转或其它兼容端点,添加后置顶显示\",\n \"pathCustomAction\": \"去添加\",\n \"ready\": \"已就绪\"\n },\n \"configured\": \"已配置\",\n \"customProviders\": \"自定义服务商\",\n \"addCustomProvider\": \"添加自定义服务\",\n \"addCustomProviderHint\": \"接入 OpenAI 兼容 API,添加后在列表置顶。\",\n \"addCustomProviderDesc\": \"创建一个自定义翻译服务商,可配置接口地址与模型。\",\n \"providerName\": \"服务商名称\",\n \"modelName\": \"模型名称\",\n \"prompt\": \"提示词\",\n \"add\": \"添加\",\n \"cancel\": \"取消\",\n \"confirmDelete\": \"确认删除\",\n \"enterProviderName\": \"请输入服务商名称(建议8字以内)\",\n \"batchSize\": \"批量翻译数量\",\n \"batchConcurrency\": \"批次并发数\",\n \"batchSizeBaiduTips\": \"批量翻译数量是每次翻译的句子数量。如果数量过大,可能会导致翻译失败。最大值为18。\",\n \"batchSizeVolcTips\": \"批量翻译数量是每次翻译的句子数量。如果数量过大,可能会导致翻译失败。最大值为16。\",\n \"batchSizeAzureTips\": \"批量翻译数量是每次翻译的句子数量。如果数量过大,可能会导致翻译失败。最大值为1000。\",\n \"batchSizeAliyunTips\": \"批量翻译数量是每次翻译的句子数量。如果数量过大,可能会导致翻译失败。建议值为15。\",\n \"endpointAliyunTips\": \"阿里云机器翻译服务的域名,默认为mt.aliyuncs.com,一般无需修改。\",\n \"baiduApiKeyTips\": \"百度翻译 APP ID 与密钥,可在 百度翻译开放平台 注册并创建应用后获取。\",\n \"aliyunApiKeyTips\": \"阿里云 AccessKey,可在 RAM 访问控制 创建;开通机器翻译请前往 机器翻译控制台。\",\n \"volcApiKeyTips\": \"火山引擎 AccessKey,可在 密钥管理 获取;开通翻译服务请前往 机器翻译控制台。\",\n \"tencentApiKeyTips\": \"腾讯云 SecretId / SecretKey,可在 API 密钥管理 获取;需先开通机器翻译服务。\",\n \"xunfeiApiKeyTips\": \"讯飞 APPID / APIKey / APISecret,可在 讯飞开放平台 创建机器翻译应用后获取。\",\n \"azureApiKeyTips\": \"Azure 翻译 API Key 与 Region,可在 Azure 翻译资源 创建资源后获取。\",\n \"niutransApiKeyTips\": \"小牛翻译 API-KEY,可在 小牛翻译开放平台 控制台的个人中心获取。\",\n \"batchSizeNiutransTips\": \"小牛翻译文本接口每次翻译一段文本,为保证译文与时间轴对应,建议设置为 1。\",\n \"regionTencentTips\": \"腾讯云机器翻译的地域,默认为 ap-guangzhou(广州),一般无需修改。\",\n \"batchSizeTencentTips\": \"腾讯云文本翻译接口每次翻译一段文本,为保证译文与时间轴对应,建议设置为 1。可用请求间隔应对每秒请求数限制。\",\n \"batchSizeXunfeiTips\": \"讯飞机器翻译每次翻译一段文本,为保证译文与时间轴对应,建议设置为 1。\",\n \"Batch Size\": \"批量翻译数量\",\n \"ApiUrl\": \"API 地址\",\n \"API Key\": \"API Key\",\n \"systemPrompt\": \"系统提示词\",\n \"systemPromptTips\": \"系统提示词, 支持变量:
${sourceLanguage} 源语言
${targetLanguage} 目标语言
${content} 源字幕
${glossary} 本批命中的全局词条\",\n \"userPromptTips\": \"用户提示词, 支持变量:
${sourceLanguage} 源语言
${targetLanguage} 目标语言
${content} 源字幕\",\n \"batchSizeTip\": \"每次翻译的字幕数量,建议设置为 5-20 之间\",\n \"batchConcurrencyTip\": \"同时发起的翻译批次数,最多 10。默认 1 为顺序处理;调大可以提升速度,但需要服务商配额支持,并可能触发限流。\",\n \"testTranslation\": \"测试翻译\",\n \"testSuccess\": \"测试成功\",\n \"testFailed\": \"测试失败\",\n \"autoDetectTrying\": \"当前结构化输出设置失败,正在尝试 {{mode}}…\",\n \"autoDetectSwitched\": \"已自动将「结构化输出」切换为 {{mode}} 并保存\",\n \"autoDetectAllFailed\": \"已自动尝试所有结构化输出模式仍然失败,问题可能出在 API Key、接口地址或模型名\",\n \"ollamaApiUrlTips\": \"本地 Ollama API 地址,请使用 chat 接口,一般为 http://localhost:11434/api/chat。安装 Ollama 请前往 Ollama 官网。\",\n \"deeplxApiUrlTips\": \"DeepLX 需在本机单独部署服务后再填写地址。安装与配置说明见 DeepLX GitHub 项目,启动后默认地址为 http://localhost:1188/translate\",\n \"DeerApiUrlTips\": \"DeerAPI 聚合 AI 平台 ,(支持 grok3)密钥,速度飞快,极其便宜,可支付宝/微信充值。 可前往 DeerAPI 申请\",\n \"deerApiKeyTips\": \"DeerAPI API Key,注册并充值后可在 DeerAPI 控制台 获取。\",\n \"deepseekApiUrlTips\": \"DeepSeek API 地址,默认为 https://api.deepseek.com/v1。注册请前往 DeepSeek 开放平台。\",\n \"deepseekApiKeyTips\": \"DeepSeek API Key,可在 API Keys 页面 创建。\",\n \"azureOpenAiApiUrlTips\": \"Azure OpenAI 部署端点,格式见占位符。创建资源请前往 Azure AI 服务。\",\n \"azureOpenAiApiKeyTips\": \"Azure OpenAI API Key,在对应资源的「密钥与终结点」页面获取。\",\n \"geminiApiUrlTips\": \"Gemini OpenAI 兼容端点,默认为 Google 官方地址,一般无需修改。\",\n \"geminiApiKeyTips\": \"Gemini API Key,可在 Google AI Studio 免费创建。\",\n \"siliconflowApiUrlTips\": \"SiliconFlow API 地址,默认为 https://api.siliconflow.cn/v1。注册请前往 SiliconFlow 云平台。\",\n \"siliconflowApiKeyTips\": \"SiliconFlow API Key,可在 API 密钥管理 创建。\",\n \"qwenApiUrlTips\": \"通义千问 OpenAI 兼容端点,默认为 DashScope 地址,一般无需修改。\",\n \"qwenMtApiUrlTips\": \"Qwen-MT 专用 OpenAI 兼容端点,默认为 DashScope 地址。请求仅发送一条用户消息,并通过 translation_options 指定语种与术语。\",\n \"qwenApiKeyTips\": \"DashScope API Key,可在 百炼控制台 获取。\",\n \"openaiApiUrlTips\": \"OpenAI 兼容 API 的基础地址,通常以 /v1 结尾,如 https://api.openai.com/v1。请勿粘贴模型详情页或 /chat/completions 接口,SmartSub 会自动拼接聊天接口路径。\",\n \"openaiModelNameTips\": \"填写服务商提供的准确模型 ID,例如 hunyuan-3.0-preview。如果测试提示 response_format 不支持,请将「结构化输出」改为 Disabled。\",\n \"openaiApiKeyTips\": \"OpenAI API Key,可在 OpenAI 平台 创建。\",\n \"testing\": \"测试中...\",\n \"searchModel\": \"搜索模型\",\n \"googleApiKeyTips\": \"Google Cloud Translation API 密钥,可在 Google Cloud Console 创建并启用 Cloud Translation API\",\n \"batchSizeGoogleTips\": \"Google Translate 批处理大小,建议 50 以下以避免超过请求限制\",\n \"customParameters\": \"自定义参数\",\n \"configureParameters\": \"配置参数\",\n \"customParameterConfiguration\": \"自定义参数配置\",\n \"customParametersTip\": \"为此服务商配置额外的请求头和请求体参数\",\n \"translationResult\": \"翻译结果\",\n \"provider\": \"提供商\",\n \"model\": \"模型\",\n \"structuredOutput\": \"结构化输出\",\n \"structuredOutputTips\": \"选择AI服务提供商支持的结构化输出类型:
• Disabled - 不使用结构化输出,模型自由返回内容
• JSON Object - 使用标准JSON对象格式(适用于DeepSeek、Qwen等)
• JSON Schema - 使用严格的JSON模式验证(适用于OpenAI、Azure OpenAI、Gemini等,可在解码层面锁定译文条数,强烈推荐大批量时开启)
不同的AI服务商对结构化输出支持不同,选择错误的类型可能导致翻译失败。\",\n \"echoAnchoring\": \"回显对齐校验\",\n \"echoAnchoringTips\": \"开启后模型会对每条字幕同时返回原文回显与译文,系统据此检测并修复「相邻字幕被合并翻译导致的错位」,确保译文与时间轴逐条对齐。会增加约一倍的输出 token 消耗;关闭后仅校验条数与空值。\",\n \"echoPromptOutdatedHint\": \"当前自定义提示词未包含 src/tr 回显协议,翻译仍可进行,但无法享受错位检测保护。建议参考默认提示词更新,或恢复默认值。\",\n \"enableThinking\": \"思考模式\",\n \"enableThinkingTips\": \"默认关闭:翻译场景无需思考,关闭后按服务商自动下发对应的关闭参数(通义千问/硅基流动/火山方舟/Ollama/Gemini 等),可显著降低延迟与 token 消耗;参数不被支持时自动去参重试。开启后不做任何干预,跟随模型默认行为。未收录的服务商不会下发参数,思考行为取决于模型自身默认。\",\n \"thinkingOnlyModelHint\": \"当前模型为纯思考模型,无法通过参数关闭思考。建议改用非思考模型(如 deepseek-chat)以获得更快的翻译速度。\",\n \"testThinkingDisabled\": \"思考已关闭\",\n \"testThinkingCannotDisable\": \"无法关闭思考(模型限制),翻译仍可进行但速度较慢\",\n \"doubaoApiKeyTips\": \"豆包翻译 API Key,可在 火山方舟控制台 获取\",\n \"doubaoModelNameTips\": \"豆包翻译模型名称,默认为 doubao-seed-translation-250915,一般无需修改\",\n \"batchSizeDoubaoTips\": \"豆包翻译批量大小,由于 API 限制,建议设置为 1\",\n \"batchSizeQwenMtTips\": \"Qwen-MT 每个请求只翻译一条字幕,请保持为 1;需要提升吞吐时请调大批次并发数。\",\n \"requestInterval\": \"请求间隔(秒)\",\n \"requestIntervalTip\": \"每次请求之间的等待时间(秒),用于应对 API 速率限制。设为 0 表示不等待。例如:API 限制每分钟 10 次请求,可设为 6。\",\n \"fallbackChain\": \"回退链\",\n \"windowMaxRequests\": \"每分钟最大请求数\",\n \"fallbackChainTips\": \"免费翻译源的有序回退链。点击下方按钮添加源,使用上下箭头调整优先级。从上到下依次尝试,某源失败或被限流时自动切换到下一个;deeplx 未配置端点时会自动跳过。\",\n \"fallbackChainEmpty\": \"请至少添加一个翻译源\",\n \"chainMoveUp\": \"上移\",\n \"chainMoveDown\": \"下移\",\n \"chainRemove\": \"移除\",\n \"chainSource\": {\n \"bingFree\": \"必应翻译(免费)\",\n \"googleFree\": \"谷歌翻译(免费)\",\n \"deeplx\": \"DeepLX\"\n },\n \"windowMaxRequestsTips\": \"滑动 60 秒窗口内允许的最大请求数,用于降低被免费接口按 IP 限流(429)的概率。设为 0 表示不限制。\",\n \"batchSizeAutoFreeTips\": \"每批翻译的字幕条数。实际批量能力取决于命中的源(必应支持批量,谷歌为逐条),建议 10 左右。\",\n \"batchSizeBingFreeTips\": \"必应(Edge)免费翻译原生支持一次多条,建议设置为 10 左右。\",\n \"batchSizeGoogleFreeTips\": \"谷歌免费接口为逐条翻译,批量值仅影响进度粒度;量大时建议配合请求间隔避免被限流。\",\n \"providerRemoved\": \"已删除服务商「{{name}}」\",\n \"confirmRemoveProvider\": \"确认删除该服务商?\",\n \"removeProviderConfirmDesc\": \"删除后服务商「{{name}}」的配置(含 API Key)将被移除,需要重新添加。\",\n \"option\": {\n \"disabled\": \"不使用\",\n \"json_object\": \"JSON Object(标准 JSON 对象)\",\n \"json_schema\": \"JSON Schema(严格模式校验)\"\n },\n \"selectOption\": \"请选择\",\n \"noMatchingModels\": \"没有匹配的模型\",\n \"removeProviderAria\": \"删除服务商「{{name}}」\",\n \"providerSearchPlaceholder\": \"搜索服务商\",\n \"recommendTitle\": \"不知道选哪个?\",\n \"recommendQuality\": \"质量优先\",\n \"groupFree\": \"免费起步\",\n \"groupAi\": \"AI 翻译\",\n \"groupMt\": \"传统机翻\",\n \"noProviderMatch\": \"没有匹配的服务商\",\n \"selectModel\": \"选择模型\",\n \"phBatchSize\": \"如 10\",\n \"phBatchConcurrency\": \"1-10\",\n \"phRequestInterval\": \"0\",\n \"phFallbackChain\": \"bingFree,googleFree,deeplx\",\n \"phWindowMaxRequests\": \"0(不限制)\",\n \"phBaiduAppId\": \"纯数字 APP ID,如 2024030100123456\",\n \"phBaiduSecretKey\": \"32 位密钥\",\n \"phGoogleApiKey\": \"AIzaSy...\",\n \"phAliyunAccessKeyId\": \"LTAI...\",\n \"phAliyunAccessKeySecret\": \"AccessKey Secret\",\n \"phAliyunEndpoint\": \"mt.aliyuncs.com\",\n \"phVolcAccessKeyId\": \"AKLT...\",\n \"phVolcSecretAccessKey\": \"Secret Access Key\",\n \"phDoubaoApiKey\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n \"phNiutransApiKey\": \"控制台复制的 API-KEY\",\n \"phTencentSecretId\": \"AKID...\",\n \"phTencentSecretKey\": \"SecretKey\",\n \"phTencentRegion\": \"ap-guangzhou\",\n \"phXunfeiAppId\": \"8 位 APPID\",\n \"phXunfeiApiKey\": \"32 位 APIKey\",\n \"phXunfeiApiSecret\": \"32 位 APISecret\",\n \"phDeeplxApiUrl\": \"http://localhost:1188/translate\",\n \"phOllamaApiUrl\": \"http://localhost:11434/api/chat\",\n \"phAzureApiKey\": \"32 位 Key\",\n \"phAzureRegion\": \"eastasia 或 global\",\n \"phDeepseekApiKey\": \"sk-...\",\n \"phAzureOpenAiApiKey\": \"32 位 Key\",\n \"phDeerApiKey\": \"sk-...\",\n \"phGeminiApiKey\": \"AIzaSy...\",\n \"phSiliconflowApiKey\": \"sk-...\",\n \"phQwenApiKey\": \"sk-...\",\n \"phOpenaiApiUrl\": \"https://api.openai.com/v1\",\n \"phOpenaiApiKey\": \"sk-...\",\n \"savedFlash\": \"已保存\",\n \"showConfiguredOnly\": \"仅显示已配置\",\n \"testSourceLang\": \"测试源语言\",\n \"testTargetLang\": \"测试目标语言\",\n \"testSampleSentence\": \"测试句子\",\n \"testNeedsConfig\": \"请先填写必填项后再测试\",\n \"selectProviderHint\": \"从左侧选择翻译服务进行配置\",\n \"backToList\": \"返回列表\",\n \"renameProvider\": \"重命名\",\n \"saveRename\": \"保存名称\",\n \"advancedOptions\": \"高级选项\",\n \"providerError\": {\n \"missingKeyOrSecret\": \"缺少 API Key 或密钥,请检查配置\",\n \"not_supported_language\": \"不支持该语言组合\",\n \"Unknown_translation_provider\": \"未知翻译服务商\",\n \"unauthorized\": \"认证失败,请检查 API Key\",\n \"api_key_not_valid\": \"API Key 无效,请填写正确的密钥\"\n }\n}\n"}}}}