From 4502d5e42c5d9c0a6e46925f136a55cd80cb382c Mon Sep 17 00:00:00 2001 From: Slinetrac Date: Sun, 2 Nov 2025 10:47:25 +0800 Subject: [PATCH] chore(i18n): components.settings.externalCors.* --- .../setting/mods/controller-viewer.tsx | 53 +++++++++++++----- .../setting/mods/external-controller-cors.tsx | 23 +++++--- src/components/setting/setting-clash.tsx | 2 +- src/locales/ar.json | 56 ++++++++++++++----- src/locales/de.json | 56 ++++++++++++++----- src/locales/en.json | 56 ++++++++++++++----- src/locales/es.json | 56 ++++++++++++++----- src/locales/fa.json | 56 ++++++++++++++----- src/locales/id.json | 56 ++++++++++++++----- src/locales/jp.json | 56 ++++++++++++++----- src/locales/ko.json | 56 ++++++++++++++----- src/locales/ru.json | 56 ++++++++++++++----- src/locales/tr.json | 56 ++++++++++++++----- src/locales/tt.json | 56 ++++++++++++++----- src/locales/zh.json | 56 ++++++++++++++----- src/locales/zhtw.json | 56 ++++++++++++++----- 16 files changed, 589 insertions(+), 217 deletions(-) diff --git a/src/components/setting/mods/controller-viewer.tsx b/src/components/setting/mods/controller-viewer.tsx index 105fb34e..cdf84cc0 100644 --- a/src/components/setting/mods/controller-viewer.tsx +++ b/src/components/setting/mods/controller-viewer.tsx @@ -56,12 +56,20 @@ export function ControllerViewer({ ref }: { ref?: Ref }) { // 如果启用了外部控制器,则保存控制器地址和密钥 if (enableController) { if (!controller.trim()) { - showNotice("error", t("Controller address cannot be empty")); + showNotice( + "error", + t( + "components.settings.externalController.messages.addressRequired", + ), + ); return; } if (!secret.trim()) { - showNotice("error", t("Secret cannot be empty")); + showNotice( + "error", + t("components.settings.externalController.messages.secretRequired"), + ); return; } @@ -93,7 +101,10 @@ export function ControllerViewer({ ref }: { ref?: Ref }) { setTimeout(() => setCopySuccess(null)); } catch (err) { console.warn("[ControllerViewer] copy to clipboard failed:", err); - showNotice("error", t("Failed to copy")); + showNotice( + "error", + t("components.settings.externalController.messages.copyFailed"), + ); } }, ); @@ -101,7 +112,7 @@ export function ControllerViewer({ ref }: { ref?: Ref }) { return ( }) { justifyContent: "space-between", }} > - + }) { justifyContent: "space-between", }} > - + }) { pointerEvents: enableController ? "auto" : "none", }} value={controller} - placeholder="Required" + placeholder={t( + "components.settings.externalController.placeholders.address", + )} onChange={(e) => setController(e.target.value)} disabled={isSaving || !enableController} /> - + handleCopyToClipboard(controller, "controller")} @@ -176,7 +195,9 @@ export function ControllerViewer({ ref }: { ref?: Ref }) { justifyContent: "space-between", }} > - + }) { pointerEvents: enableController ? "auto" : "none", }} value={secret} - placeholder={t("Recommended")} + placeholder={t( + "components.settings.externalController.placeholders.secret", + )} onChange={(e) => setSecret(e.target.value)} disabled={isSaving || !enableController} /> - + handleCopyToClipboard(secret, "secret")} @@ -211,8 +236,10 @@ export function ControllerViewer({ ref }: { ref?: Ref }) { > {copySuccess === "controller" - ? t("Controller address copied to clipboard") - : t("Secret copied to clipboard")} + ? t( + "components.settings.externalController.messages.controllerCopied", + ) + : t("components.settings.externalController.messages.secretCopied")} diff --git a/src/components/setting/mods/external-controller-cors.tsx b/src/components/setting/mods/external-controller-cors.tsx index 440274b7..87e3d050 100644 --- a/src/components/setting/mods/external-controller-cors.tsx +++ b/src/components/setting/mods/external-controller-cors.tsx @@ -181,7 +181,7 @@ export const HeaderConfiguration = forwardRef( return ( ( width="100%" > - {t("Allow private network access")} + {t( + "components.settings.externalCors.fields.allowPrivateNetwork", + )} (
- {t("Allowed Origins")} + {t("components.settings.externalCors.fields.allowedOrigins")}
{originEntries.map(({ origin, index, key }) => (
( sx={{ fontSize: 14, marginRight: 2 }} value={origin} onChange={(e) => handleUpdateOrigin(index, e.target.value)} - placeholder={t("Please enter a valid url")} + placeholder={t( + "components.settings.externalCors.placeholders.origin", + )} inputProps={{ style: { fontSize: 14 } }} />
(
- {t("Always included origins: {{urls}}", { - urls: DEV_URLS.join(", "), - })} + {t( + "components.settings.externalCors.messages.alwaysIncluded", + { + urls: DEV_URLS.join(", "), + }, + )}
diff --git a/src/components/setting/setting-clash.tsx b/src/components/setting/setting-clash.tsx index a60ebfd0..5e1e2e67 100644 --- a/src/components/setting/setting-clash.tsx +++ b/src/components/setting/setting-clash.tsx @@ -221,7 +221,7 @@ const SettingClash = ({ onError }: Props) => { label={<>{t("External")}} extra={ { e.stopPropagation(); diff --git a/src/locales/ar.json b/src/locales/ar.json index 0c14bc1d..a8c6e07a 100644 --- a/src/locales/ar.json +++ b/src/locales/ar.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "خارجي", - "Enable External Controller": "Enable External Controller", - "External Controller": "وحدة التحكم الخارجية", - "Core Secret": "المفتاح السري للنواة", - "Recommended": "موصى به", "Open URL": "فتح الرابط", "Replace host, port, secret with %host, %port, %secret": "استبدل المضيف والمنفذ والمفتاح بـ %host و%port و%secret", "Support %host, %port, %secret": "يدعم %host و%port و%secret", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "Controller address copied to clipboard", - "Secret copied to clipboard": "Secret copied to clipboard", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "Uninstall Service" } }, + "externalController": { + "title": "وحدة التحكم الخارجية", + "fields": { + "enable": "Enable External Controller", + "address": "وحدة التحكم الخارجية", + "secret": "المفتاح السري للنواة" + }, + "placeholders": { + "address": "Required", + "secret": "موصى به" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, "verge": { "basic": { "title": "الإعدادات الأساسية Verge", diff --git a/src/locales/de.json b/src/locales/de.json index f469b8e0..e234693a 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "Externe Steuerung", - "Enable External Controller": "Enable External Controller", - "External Controller": "Adresse des externen Controllers", - "Core Secret": "API-Zugangsschlüssel", - "Recommended": "Empfohlene Einstellung", "Open URL": "Link öffnen", "Replace host, port, secret with %host, %port, %secret": "Verwenden Sie %host, %port, %secret für Host, Port und Zugangsschlüssel", "Support %host, %port, %secret": "Unterstützt %host, %port, %secret", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "Zufalls-Konfiguration erfolgreich gespeichert", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "API-Port in die Zwischenablage kopiert", - "Secret copied to clipboard": "API-Schlüssel in die Zwischenablage kopiert", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "Dienst deinstallieren" } }, + "externalController": { + "title": "Adresse des externen Controllers", + "fields": { + "enable": "Enable External Controller", + "address": "Adresse des externen Controllers", + "secret": "API-Zugangsschlüssel" + }, + "placeholders": { + "address": "Erforderlich", + "secret": "Empfohlene Einstellung" + }, + "tooltips": { + "copy": "In die Zwischenablage kopieren" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Kopieren fehlgeschlagen", + "controllerCopied": "API-Port in die Zwischenablage kopiert", + "secretCopied": "API-Schlüssel in die Zwischenablage kopiert" + } + }, + "externalCors": { + "title": "Externe CORS-Konfiguration", + "fields": { + "allowPrivateNetwork": "Zugriff auf privates Netzwerk erlauben", + "allowedOrigins": "Erlaubte Ursprünge" + }, + "placeholders": { + "origin": "Bitte eine gültige URL eingeben" + }, + "actions": { + "add": "Hinzufügen" + }, + "messages": { + "alwaysIncluded": "Immer enthaltene Ursprünge: {{urls}}" + }, + "tooltips": { + "open": "Einstellungen für externe CORS" + } + }, "verge": { "basic": { "title": "Verge-Grundeinstellungen", diff --git a/src/locales/en.json b/src/locales/en.json index 8ee71f59..38ff9889 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "External", - "Enable External Controller": "Enable External Controller", - "External Controller": "External Controller", - "Core Secret": "Core Secret", - "Recommended": "Recommended", "Open URL": "Open URL", "Replace host, port, secret with %host, %port, %secret": "Replace host, port, secret with %host, %port, %secret", "Support %host, %port, %secret": "Support %host, %port, %secret", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "Controller address copied to clipboard", - "Secret copied to clipboard": "Secret copied to clipboard", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "Uninstall Service" } }, + "externalController": { + "title": "External Controller", + "fields": { + "enable": "Enable External Controller", + "address": "External Controller", + "secret": "Core Secret" + }, + "placeholders": { + "address": "Required", + "secret": "Recommended" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, "verge": { "basic": { "title": "Verge Basic Setting", diff --git a/src/locales/es.json b/src/locales/es.json index 55e2aac2..a75c9bb0 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "Control externo", - "Enable External Controller": "Enable External Controller", - "External Controller": "Dirección de escucha del controlador externo", - "Core Secret": "Clave de acceso a la API", - "Recommended": "Configuración recomendada", "Open URL": "Abrir enlace", "Replace host, port, secret with %host, %port, %secret": "Utilice %host, %port, %secret para representar el host, el puerto y la clave de acceso.", "Support %host, %port, %secret": "Soporta %host, %port, %secret", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "Configuración aleatoria guardada correctamente", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "El puerto API se copió al portapapeles", - "Secret copied to clipboard": "La clave API se copió al portapapeles", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "Desinstalar servicio" } }, + "externalController": { + "title": "Dirección de escucha del controlador externo", + "fields": { + "enable": "Habilitar controlador externo", + "address": "Dirección de escucha del controlador externo", + "secret": "Clave de acceso a la API" + }, + "placeholders": { + "address": "Requerido", + "secret": "Configuración recomendada" + }, + "tooltips": { + "copy": "Copiar al portapapeles" + }, + "messages": { + "addressRequired": "La dirección del controlador no puede estar vacía", + "secretRequired": "La clave secreta no puede estar vacía", + "copyFailed": "Error al copiar", + "controllerCopied": "El puerto API se copió al portapapeles", + "secretCopied": "La clave API se copió al portapapeles" + } + }, + "externalCors": { + "title": "Configuración de CORS externo", + "fields": { + "allowPrivateNetwork": "Permitir acceso a red privada", + "allowedOrigins": "Orígenes permitidos" + }, + "placeholders": { + "origin": "Introduce una URL válida" + }, + "actions": { + "add": "Agregar" + }, + "messages": { + "alwaysIncluded": "Orígenes siempre incluidos: {{urls}}" + }, + "tooltips": { + "open": "Configuración de CORS externo" + } + }, "verge": { "basic": { "title": "Ajustes básicos de Verge", diff --git a/src/locales/fa.json b/src/locales/fa.json index 722c3984..8f6a06b0 100644 --- a/src/locales/fa.json +++ b/src/locales/fa.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "خارجی", - "Enable External Controller": "Enable External Controller", - "External Controller": "کنترل‌کننده خارجی", - "Core Secret": "رمز اصلی", - "Recommended": "توصیه شده", "Open URL": "باز کردن آدرس اینترنتی", "Replace host, port, secret with %host, %port, %secret": "جایگزین کردن میزبان، پورت و رمز با %host، %port، %secret", "Support %host, %port, %secret": "پشتیبانی از %host، %port و %secret", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "Controller address copied to clipboard", - "Secret copied to clipboard": "Secret copied to clipboard", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "Uninstall Service" } }, + "externalController": { + "title": "کنترل‌کننده خارجی", + "fields": { + "enable": "Enable External Controller", + "address": "کنترل‌کننده خارجی", + "secret": "رمز اصلی" + }, + "placeholders": { + "address": "Required", + "secret": "توصیه شده" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, "verge": { "basic": { "title": "تنظیمات پایه Verge", diff --git a/src/locales/id.json b/src/locales/id.json index 1f674c66..2a27bdee 100644 --- a/src/locales/id.json +++ b/src/locales/id.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "Eksternal", - "Enable External Controller": "Enable External Controller", - "External Controller": "Alamat Pengendali Eksternal", - "Core Secret": "Rahasia Inti", - "Recommended": "Direkomendasikan", "Open URL": "Buka URL", "Replace host, port, secret with %host, %port, %secret": "Ganti host, port, rahasia dengan %host, %port, %secret", "Support %host, %port, %secret": "Dukung %host, %port, %secret", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "Controller address copied to clipboard", - "Secret copied to clipboard": "Secret copied to clipboard", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "Uninstall Service" } }, + "externalController": { + "title": "Alamat Pengendali Eksternal", + "fields": { + "enable": "Enable External Controller", + "address": "Alamat Pengendali Eksternal", + "secret": "Rahasia Inti" + }, + "placeholders": { + "address": "Required", + "secret": "Direkomendasikan" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, "verge": { "basic": { "title": "Pengaturan Dasar Verge", diff --git a/src/locales/jp.json b/src/locales/jp.json index 464967f4..0b8db7c7 100644 --- a/src/locales/jp.json +++ b/src/locales/jp.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "外部制御", - "Enable External Controller": "Enable External Controller", - "External Controller": "外部コントローラーの監視アドレス", - "Core Secret": "APIアクセスキー", - "Recommended": "推奨設定", "Open URL": "URLを開く", "Replace host, port, secret with %host, %port, %secret": "%host, %port, %secretを使用してホスト、ポート、アクセスキーを表します。", "Support %host, %port, %secret": "%host, %port, %secretをサポートします。", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "ランダム設定を保存完了", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "API ポートがクリップボードにコピーされました", - "Secret copied to clipboard": "API キーがクリップボードにコピーされました", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "サービスのアンインストール" } }, + "externalController": { + "title": "外部コントローラーの監視アドレス", + "fields": { + "enable": "外部コントローラーを有効化", + "address": "外部コントローラーの監視アドレス", + "secret": "APIアクセスキー" + }, + "placeholders": { + "address": "必須", + "secret": "推奨設定" + }, + "tooltips": { + "copy": "クリップボードにコピー" + }, + "messages": { + "addressRequired": "コントローラーのアドレスは空にできません", + "secretRequired": "シークレットを空にすることはできません", + "copyFailed": "コピーに失敗しました", + "controllerCopied": "API ポートがクリップボードにコピーされました", + "secretCopied": "API キーがクリップボードにコピーされました" + } + }, + "externalCors": { + "title": "外部 CORS 設定", + "fields": { + "allowPrivateNetwork": "プライベートネットワークへのアクセスを許可", + "allowedOrigins": "許可されたオリジン" + }, + "placeholders": { + "origin": "有効なURLを入力してください" + }, + "actions": { + "add": "追加" + }, + "messages": { + "alwaysIncluded": "常に含まれるオリジン: {{urls}}" + }, + "tooltips": { + "open": "外部 CORS 設定" + } + }, "verge": { "basic": { "title": "Verge基本設定", diff --git a/src/locales/ko.json b/src/locales/ko.json index e398decb..23d3a6dd 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "External", - "Enable External Controller": "Enable External Controller", - "External Controller": "External Controller", - "Core Secret": "Core Secret", - "Recommended": "Recommended", "Open URL": "Open URL", "Replace host, port, secret with %host, %port, %secret": "Replace host, port, secret with %host, %port, %secret", "Support %host, %port, %secret": "Support %host, %port, %secret", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "Controller address copied to clipboard", - "Secret copied to clipboard": "Secret copied to clipboard", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "Uninstall Service" } }, + "externalController": { + "title": "External Controller", + "fields": { + "enable": "Enable External Controller", + "address": "External Controller", + "secret": "Core Secret" + }, + "placeholders": { + "address": "Required", + "secret": "Recommended" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, "verge": { "basic": { "title": "Verge 기본 설정", diff --git a/src/locales/ru.json b/src/locales/ru.json index d9ba3bbd..ef2c2c58 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "Внешний контроллер", - "Enable External Controller": "Enable External Controller", - "External Controller": "Адрес прослушивания внешнего контроллера", - "Core Secret": "Секрет", - "Recommended": "Рекомендуется", "Open URL": "Перейти по адресу", "Replace host, port, secret with %host, %port, %secret": "Замените хост, порт и секрет на %host, %port, %secret", "Support %host, %port, %secret": "Поддерживаются %host, %port, %secret", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "Controller address copied to clipboard", - "Secret copied to clipboard": "Secret copied to clipboard", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "Uninstall Service" } }, + "externalController": { + "title": "Адрес прослушивания внешнего контроллера", + "fields": { + "enable": "Включить внешний контроллер", + "address": "Адрес прослушивания внешнего контроллера", + "secret": "Секрет" + }, + "placeholders": { + "address": "Обязательно", + "secret": "Рекомендуется" + }, + "tooltips": { + "copy": "Копировать в буфер обмена" + }, + "messages": { + "addressRequired": "Адрес контроллера не может быть пустым", + "secretRequired": "Секрет не может быть пустым", + "copyFailed": "Не удалось скопировать", + "controllerCopied": "Адрес контроллера скопирован в буфер обмена", + "secretCopied": "Секрет скопирован в буфер обмена" + } + }, + "externalCors": { + "title": "Конфигурация внешнего CORS", + "fields": { + "allowPrivateNetwork": "Разрешить доступ к частной сети", + "allowedOrigins": "Разрешённые источники" + }, + "placeholders": { + "origin": "Введите корректный URL" + }, + "actions": { + "add": "Добавить" + }, + "messages": { + "alwaysIncluded": "Всегда включаемые источники: {{urls}}" + }, + "tooltips": { + "open": "Настройки внешнего CORS" + } + }, "verge": { "basic": { "title": "Основные настройки Verge", diff --git a/src/locales/tr.json b/src/locales/tr.json index 84711599..46905bb4 100644 --- a/src/locales/tr.json +++ b/src/locales/tr.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "Harici", - "Enable External Controller": "Enable External Controller", - "External Controller": "Harici Denetleyici", - "Core Secret": "Çekirdek Sırrı", - "Recommended": "Önerilen", "Open URL": "URL Aç", "Replace host, port, secret with %host, %port, %secret": "Ana bilgisayar, port, sırrı %host, %port, %secret ile değiştirin", "Support %host, %port, %secret": "%host, %port, %secret destekler", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "Controller address copied to clipboard", - "Secret copied to clipboard": "Secret copied to clipboard", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "Uninstall Service" } }, + "externalController": { + "title": "Harici Denetleyici", + "fields": { + "enable": "Harici denetleyiciyi etkinleştir", + "address": "Harici Denetleyici", + "secret": "Çekirdek Sırrı" + }, + "placeholders": { + "address": "Gerekli", + "secret": "Önerilen" + }, + "tooltips": { + "copy": "Panoya kopyala" + }, + "messages": { + "addressRequired": "Denetleyici adresi boş olamaz", + "secretRequired": "Gizli anahtar boş olamaz", + "copyFailed": "Kopyalama başarısız", + "controllerCopied": "Denetleyici adresi panoya kopyalandı", + "secretCopied": "Gizli anahtar panoya kopyalandı" + } + }, + "externalCors": { + "title": "Harici CORS yapılandırması", + "fields": { + "allowPrivateNetwork": "Özel ağ erişimine izin ver", + "allowedOrigins": "İzin verilen kökenler" + }, + "placeholders": { + "origin": "Geçerli bir URL girin" + }, + "actions": { + "add": "Ekle" + }, + "messages": { + "alwaysIncluded": "Her zaman dahil edilen kökenler: {{urls}}" + }, + "tooltips": { + "open": "Harici CORS ayarları" + } + }, "verge": { "basic": { "title": "Verge Temel Ayarı", diff --git a/src/locales/tt.json b/src/locales/tt.json index 18aa1521..de8b1f9d 100644 --- a/src/locales/tt.json +++ b/src/locales/tt.json @@ -334,10 +334,6 @@ "Port settings saved": "Port settings saved", "Failed to save port settings": "Failed to save port settings", "External": "Тышкы", - "Enable External Controller": "Enable External Controller", - "External Controller": "Тышкы контроллер адресы", - "Core Secret": "Серсүз", - "Recommended": "Тавсия ителә", "Open URL": "URL ачарга", "Replace host, port, secret with %host, %port, %secret": "Хост, порт, серсүзне %host, %port, %secret белән алмаштырыгыз", "Support %host, %port, %secret": "%host, %port, %secret макросларын хуплау", @@ -586,20 +582,9 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "External Cors Settings": "External Cors Settings", - "External Cors Configuration": "External Cors Configuration", - "Allow private network access": "Allow private network access", - "Allowed Origins": "Allowed Origins", - "Please enter a valid url": "Please enter a valid url", - "Add": "Add", - "Always included origins: {{urls}}": "Always included origins: {{urls}}", "Invalid regular expression": "Invalid regular expression", - "Controller address cannot be empty": "Controller address cannot be empty", - "Secret cannot be empty": "Secret cannot be empty", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Controller address copied to clipboard": "Controller address copied to clipboard", - "Secret copied to clipboard": "Secret copied to clipboard", "Saving...": "Saving...", "Detection timeout or failed": "Detection timeout or failed", "App Log Max Size": "App Log Max Size", @@ -833,6 +818,47 @@ "uninstallService": "Uninstall Service" } }, + "externalController": { + "title": "Тышкы контроллер адресы", + "fields": { + "enable": "Enable External Controller", + "address": "Тышкы контроллер адресы", + "secret": "Серсүз" + }, + "placeholders": { + "address": "Required", + "secret": "Тавсия ителә" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, "verge": { "basic": { "title": "Verge Төп көйләүләр", diff --git a/src/locales/zh.json b/src/locales/zh.json index 8e269db8..0197fbd4 100644 --- a/src/locales/zh.json +++ b/src/locales/zh.json @@ -334,10 +334,6 @@ "Port settings saved": "端口设置已保存", "Failed to save port settings": "端口设置保存失败", "External": "外部控制", - "Enable External Controller": "启用外部控制器", - "External Controller": "外部控制器监听地址", - "Core Secret": "API 访问密钥", - "Recommended": "建议设置", "Open URL": "打开链接", "Replace host, port, secret with %host, %port, %secret": "使用 %host, %port, %secret 表示 主机, 端口, 访问密钥", "Support %host, %port, %secret": "支持 %host, %port, %secret", @@ -586,20 +582,9 @@ "AppQuitBody": "已通过快捷键退出应用", "AppHiddenTitle": "应用隐藏", "AppHiddenBody": "已通过快捷键隐藏应用窗口", - "External Cors Settings": "外部控制跨域设置", - "External Cors Configuration": "外部控制跨域配置", - "Allow private network access": "允许专用网络访问", - "Allowed Origins": "允许的来源", - "Please enter a valid url": "请输入有效的网址", - "Add": "添加", - "Always included origins: {{urls}}": "始终包含来源:{{urls}}", "Invalid regular expression": "无效的正则表达式", - "Controller address cannot be empty": "控制器地址不能为空", - "Secret cannot be empty": "访问密钥不能为空", "Configuration saved successfully": "配置保存成功", "Failed to save configuration": "配置保存失败", - "Controller address copied to clipboard": "控制器地址已复制到剪贴板", - "Secret copied to clipboard": "访问密钥已复制到剪贴板", "Saving...": "保存中...", "Detection timeout or failed": "检测超时或失败", "App Log Max Size": "应用日志最大大小", @@ -833,6 +818,47 @@ "uninstallService": "卸载服务" } }, + "externalController": { + "title": "外部控制器监听地址", + "fields": { + "enable": "启用外部控制器", + "address": "外部控制器监听地址", + "secret": "API 访问密钥" + }, + "placeholders": { + "address": "必填", + "secret": "建议设置" + }, + "tooltips": { + "copy": "复制到剪贴板" + }, + "messages": { + "addressRequired": "控制器地址不能为空", + "secretRequired": "访问密钥不能为空", + "copyFailed": "复制失败", + "controllerCopied": "控制器地址已复制到剪贴板", + "secretCopied": "访问密钥已复制到剪贴板" + } + }, + "externalCors": { + "title": "外部控制跨域设置", + "fields": { + "allowPrivateNetwork": "允许专用网络访问", + "allowedOrigins": "允许的来源" + }, + "placeholders": { + "origin": "请输入有效的网址" + }, + "actions": { + "add": "添加" + }, + "messages": { + "alwaysIncluded": "始终包含来源:{{urls}}" + }, + "tooltips": { + "open": "外部控制跨域设置" + } + }, "verge": { "basic": { "title": "Verge 基础设置", diff --git a/src/locales/zhtw.json b/src/locales/zhtw.json index 333a8c42..d2ae7146 100644 --- a/src/locales/zhtw.json +++ b/src/locales/zhtw.json @@ -334,10 +334,6 @@ "Port settings saved": "連結埠設定已儲存", "Failed to save port settings": "連結埠設定儲存失敗", "External": "外部控制", - "Enable External Controller": "啟用外部控制器", - "External Controller": "外部控制器監聽位址", - "Core Secret": "API 存取金鑰", - "Recommended": "建議設定", "Open URL": "開啟網址", "Replace host, port, secret with %host, %port, %secret": "使用 %host, %port, %secret 表示 主機, 連接埠, 存取金鑰", "Support %host, %port, %secret": "支援 %host, %port, %secret", @@ -586,20 +582,9 @@ "AppQuitBody": "已透過快速鍵退出應用程式", "AppHiddenTitle": "應用程式隱藏", "AppHiddenBody": "已透過快速鍵隱藏應用程式視窗", - "External Cors Settings": "外部跨來源資源共享設定", - "External Cors Configuration": "外部跨來源資源共享設定", - "Allow private network access": "允許專用網路存取", - "Allowed Origins": "允許的來源", - "Please enter a valid url": "請輸入有效的網址", - "Add": "新增", - "Always included origins: {{urls}}": "始終包含來源:{{urls}}", "Invalid regular expression": "無效的正規表示式", - "Controller address cannot be empty": "控制器位址不能為空", - "Secret cannot be empty": "存取金鑰不能為空", "Configuration saved successfully": "設定儲存完成", "Failed to save configuration": "設定儲存失敗", - "Controller address copied to clipboard": "API 連接埠已複製到剪貼簿", - "Secret copied to clipboard": "API 金鑰已複製到剪貼簿", "Saving...": "儲存中...", "Detection timeout or failed": "檢測逾時或失敗", "App Log Max Size": "應用程式日誌最大大小", @@ -833,6 +818,47 @@ "uninstallService": "解除安裝服務" } }, + "externalController": { + "title": "外部控制器監聽位址", + "fields": { + "enable": "啟用外部控制器", + "address": "外部控制器監聽位址", + "secret": "API 存取金鑰" + }, + "placeholders": { + "address": "必填", + "secret": "建議設定" + }, + "tooltips": { + "copy": "複製到剪貼簿" + }, + "messages": { + "addressRequired": "控制器位址不能為空", + "secretRequired": "存取金鑰不能為空", + "copyFailed": "複製失敗", + "controllerCopied": "API 連接埠已複製到剪貼簿", + "secretCopied": "API 金鑰已複製到剪貼簿" + } + }, + "externalCors": { + "title": "外部跨來源資源共享設定", + "fields": { + "allowPrivateNetwork": "允許專用網路存取", + "allowedOrigins": "允許的來源" + }, + "placeholders": { + "origin": "請輸入有效的網址" + }, + "actions": { + "add": "新增" + }, + "messages": { + "alwaysIncluded": "始終包含來源:{{urls}}" + }, + "tooltips": { + "open": "外部跨來源資源共享設定" + } + }, "verge": { "basic": { "title": "Verge 基礎設定",