From 444ece721c62f69544d12018624aae0f9d9e23f2 Mon Sep 17 00:00:00 2001 From: Ayaan Zaidi Date: Mon, 20 Apr 2026 13:21:57 +0530 Subject: [PATCH] fix(ui): localize pairing upgrade hint copy --- ui/src/i18n/.i18n/de.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/es.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/fr.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/id.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/ja-JP.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/ko.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/pl.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/pt-BR.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/tr.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/uk.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/zh-CN.meta.json | 15 +++++++++++---- ui/src/i18n/.i18n/zh-TW.meta.json | 15 +++++++++++---- ui/src/i18n/locales/de.ts | 9 +++++++++ ui/src/i18n/locales/en.ts | 9 +++++++++ ui/src/i18n/locales/es.ts | 9 +++++++++ ui/src/i18n/locales/fr.ts | 9 +++++++++ ui/src/i18n/locales/id.ts | 9 +++++++++ ui/src/i18n/locales/ja-JP.ts | 9 +++++++++ ui/src/i18n/locales/ko.ts | 9 +++++++++ ui/src/i18n/locales/pl.ts | 9 +++++++++ ui/src/i18n/locales/pt-BR.ts | 9 +++++++++ ui/src/i18n/locales/tr.ts | 9 +++++++++ ui/src/i18n/locales/uk.ts | 9 +++++++++ ui/src/i18n/locales/zh-CN.ts | 9 +++++++++ ui/src/i18n/locales/zh-TW.ts | 9 +++++++++ ui/src/ui/views/overview.ts | 28 ++++++++++++++-------------- 26 files changed, 263 insertions(+), 62 deletions(-) diff --git a/ui/src/i18n/.i18n/de.meta.json b/ui/src/i18n/.i18n/de.meta.json index 9067c4dc8d9..f7ca97e1f53 100644 --- a/ui/src/i18n/.i18n/de.meta.json +++ b/ui/src/i18n/.i18n/de.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:29:53.282Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:51.356Z", "locale": "de", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/es.meta.json b/ui/src/i18n/.i18n/es.meta.json index a794347de12..3d8df7d069d 100644 --- a/ui/src/i18n/.i18n/es.meta.json +++ b/ui/src/i18n/.i18n/es.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:29:56.350Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:51.716Z", "locale": "es", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/fr.meta.json b/ui/src/i18n/.i18n/fr.meta.json index 6e52ac494de..7626430b493 100644 --- a/ui/src/i18n/.i18n/fr.meta.json +++ b/ui/src/i18n/.i18n/fr.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:30:04.864Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:52.788Z", "locale": "fr", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/id.meta.json b/ui/src/i18n/.i18n/id.meta.json index d76b7b538f0..c67f59039ab 100644 --- a/ui/src/i18n/.i18n/id.meta.json +++ b/ui/src/i18n/.i18n/id.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:30:14.879Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:53.864Z", "locale": "id", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/ja-JP.meta.json b/ui/src/i18n/.i18n/ja-JP.meta.json index eb3da0b733f..3f1b46d9dd3 100644 --- a/ui/src/i18n/.i18n/ja-JP.meta.json +++ b/ui/src/i18n/.i18n/ja-JP.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:29:59.242Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:52.074Z", "locale": "ja-JP", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/ko.meta.json b/ui/src/i18n/.i18n/ko.meta.json index b89ebf905e9..e510a1642e9 100644 --- a/ui/src/i18n/.i18n/ko.meta.json +++ b/ui/src/i18n/.i18n/ko.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:30:01.914Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:52.433Z", "locale": "ko", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/pl.meta.json b/ui/src/i18n/.i18n/pl.meta.json index cdfe2ed6e82..c828ff2304a 100644 --- a/ui/src/i18n/.i18n/pl.meta.json +++ b/ui/src/i18n/.i18n/pl.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:30:17.790Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:54.274Z", "locale": "pl", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/pt-BR.meta.json b/ui/src/i18n/.i18n/pt-BR.meta.json index bea0d1ce6c0..d5d3a57e07d 100644 --- a/ui/src/i18n/.i18n/pt-BR.meta.json +++ b/ui/src/i18n/.i18n/pt-BR.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:29:49.118Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:50.998Z", "locale": "pt-BR", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/tr.meta.json b/ui/src/i18n/.i18n/tr.meta.json index 8171a061d9a..e1e73a5adb2 100644 --- a/ui/src/i18n/.i18n/tr.meta.json +++ b/ui/src/i18n/.i18n/tr.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:30:07.502Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:53.144Z", "locale": "tr", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/uk.meta.json b/ui/src/i18n/.i18n/uk.meta.json index 279e2d88634..d732d82f987 100644 --- a/ui/src/i18n/.i18n/uk.meta.json +++ b/ui/src/i18n/.i18n/uk.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:30:10.188Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:53.508Z", "locale": "uk", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/zh-CN.meta.json b/ui/src/i18n/.i18n/zh-CN.meta.json index 36c23433a40..5cc97371e95 100644 --- a/ui/src/i18n/.i18n/zh-CN.meta.json +++ b/ui/src/i18n/.i18n/zh-CN.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:29:46.215Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:50.281Z", "locale": "zh-CN", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/.i18n/zh-TW.meta.json b/ui/src/i18n/.i18n/zh-TW.meta.json index 4ce9e37d4a2..108e82bac3f 100644 --- a/ui/src/i18n/.i18n/zh-TW.meta.json +++ b/ui/src/i18n/.i18n/zh-TW.meta.json @@ -1,11 +1,18 @@ { - "fallbackKeys": [], - "generatedAt": "2026-04-20T06:29:48.803Z", + "fallbackKeys": [ + "overview.pairing.metadataUpgradeSummary", + "overview.pairing.metadataUpgradeTitle", + "overview.pairing.roleUpgradeSummary", + "overview.pairing.roleUpgradeTitle", + "overview.pairing.scopeUpgradeSummary", + "overview.pairing.scopeUpgradeTitle" + ], + "generatedAt": "2026-04-20T07:50:50.642Z", "locale": "zh-TW", "model": "gpt-5.4", "provider": "openai", - "sourceHash": "c7e1febc5a5715b59bbda5d9ea08187c13267c82c1fcfe3996a469205539eba0", - "totalKeys": 727, + "sourceHash": "3ca70e4eba34c7843d6a23944d24fdcf565b45d2b83e4fc371b9763235d25d3c", + "totalKeys": 733, "translatedKeys": 727, "workflow": 1 } diff --git a/ui/src/i18n/locales/de.ts b/ui/src/i18n/locales/de.ts index 6fcfcdb948f..4d5bc33cb65 100644 --- a/ui/src/i18n/locales/de.ts +++ b/ui/src/i18n/locales/de.ts @@ -247,6 +247,15 @@ export const de: TranslationMap = { }, pairing: { hint: "Dieses Gerät benötigt eine Pairing-Freigabe vom Gateway-Host.", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "Auf dem Mobilgerät? Kopieren Sie die vollständige URL (einschließlich #token=...) von openclaw dashboard --no-open auf Ihrem Desktop.", docsTitle: "Gerätekopplungs-Dokumentation (öffnet sich in neuem Tab)", diff --git a/ui/src/i18n/locales/en.ts b/ui/src/i18n/locales/en.ts index 73545436508..c7567027330 100644 --- a/ui/src/i18n/locales/en.ts +++ b/ui/src/i18n/locales/en.ts @@ -239,6 +239,15 @@ export const en: TranslationMap = { }, pairing: { hint: "This device needs pairing approval from the gateway host.", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "On mobile? Copy the full URL (including #token=...) from openclaw dashboard --no-open on your desktop.", docsTitle: "Device pairing docs (opens in new tab)", diff --git a/ui/src/i18n/locales/es.ts b/ui/src/i18n/locales/es.ts index dfa5157966e..c8a5872f9f8 100644 --- a/ui/src/i18n/locales/es.ts +++ b/ui/src/i18n/locales/es.ts @@ -243,6 +243,15 @@ export const es: TranslationMap = { }, pairing: { hint: "Este dispositivo necesita aprobación de emparejamiento del host de la puerta de enlace.", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "¿En el móvil? Copia la URL completa (incluyendo #token=...) desde openclaw dashboard --no-open en tu escritorio.", docsTitle: "Documentación de emparejamiento de dispositivos (se abre en una pestaña nueva)", diff --git a/ui/src/i18n/locales/fr.ts b/ui/src/i18n/locales/fr.ts index 8535b9346cd..a205ef97aea 100644 --- a/ui/src/i18n/locales/fr.ts +++ b/ui/src/i18n/locales/fr.ts @@ -245,6 +245,15 @@ export const fr: TranslationMap = { }, pairing: { hint: "Cet appareil nécessite une approbation d’appairage de l’hôte Gateway.", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "Sur mobile ? Copiez l’URL complète (y compris #token=...) depuis openclaw dashboard --no-open sur votre ordinateur.", docsTitle: "Documentation sur l’appairage des appareils (s’ouvre dans un nouvel onglet)", diff --git a/ui/src/i18n/locales/id.ts b/ui/src/i18n/locales/id.ts index de3145f2fb4..0d9a12cb48a 100644 --- a/ui/src/i18n/locales/id.ts +++ b/ui/src/i18n/locales/id.ts @@ -243,6 +243,15 @@ export const id: TranslationMap = { }, pairing: { hint: "Perangkat ini memerlukan persetujuan pairing dari host gateway.", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "Di seluler? Salin URL lengkap (termasuk #token=...) dari openclaw dashboard --no-open di desktop Anda.", docsTitle: "Dokumentasi pemasangan perangkat (dibuka di tab baru)", diff --git a/ui/src/i18n/locales/ja-JP.ts b/ui/src/i18n/locales/ja-JP.ts index e2f405aab63..9e39a2840b7 100644 --- a/ui/src/i18n/locales/ja-JP.ts +++ b/ui/src/i18n/locales/ja-JP.ts @@ -247,6 +247,15 @@ export const ja_JP: TranslationMap = { }, pairing: { hint: "このデバイスは Gateway ホストからのペアリング承認が必要です。", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "モバイルを使用していますか? デスクトップで openclaw dashboard --no-open から完全な URL(#token=... を含む)をコピーしてください。", docsTitle: "デバイスのペアリングに関するドキュメント(新しいタブで開きます)", diff --git a/ui/src/i18n/locales/ko.ts b/ui/src/i18n/locales/ko.ts index fa2eee7d3fc..b2c219d9ff3 100644 --- a/ui/src/i18n/locales/ko.ts +++ b/ui/src/i18n/locales/ko.ts @@ -242,6 +242,15 @@ export const ko: TranslationMap = { }, pairing: { hint: "이 디바이스는 gateway host의 페어링 승인이 필요합니다.", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "모바일에서 사용 중이신가요? 데스크톱에서 openclaw dashboard --no-open으로 전체 URL(#token=... 포함)을 복사하세요.", docsTitle: "기기 페어링 문서(새 탭에서 열림)", diff --git a/ui/src/i18n/locales/pl.ts b/ui/src/i18n/locales/pl.ts index de74577ffb2..0aaf5f05dc6 100644 --- a/ui/src/i18n/locales/pl.ts +++ b/ui/src/i18n/locales/pl.ts @@ -244,6 +244,15 @@ export const pl: TranslationMap = { }, pairing: { hint: "To urządzenie wymaga zatwierdzenia parowania przez host Gateway.", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "Na urządzeniu mobilnym? Skopiuj pełny URL (w tym #token=...) z openclaw dashboard --no-open na komputerze.", docsTitle: "Dokumentacja parowania urządzeń (otwiera się w nowej karcie)", diff --git a/ui/src/i18n/locales/pt-BR.ts b/ui/src/i18n/locales/pt-BR.ts index 7321464f722..0cf333efbbd 100644 --- a/ui/src/i18n/locales/pt-BR.ts +++ b/ui/src/i18n/locales/pt-BR.ts @@ -243,6 +243,15 @@ export const pt_BR: TranslationMap = { }, pairing: { hint: "Este dispositivo precisa de aprovação de pareamento do host do gateway.", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "No celular? Copie a URL completa (incluindo #token=...) executando openclaw dashboard --no-open no desktop.", docsTitle: "Documentação de pareamento de dispositivo (abre em nova aba)", diff --git a/ui/src/i18n/locales/tr.ts b/ui/src/i18n/locales/tr.ts index 94ff9200077..87bfea64e0d 100644 --- a/ui/src/i18n/locales/tr.ts +++ b/ui/src/i18n/locales/tr.ts @@ -246,6 +246,15 @@ export const tr: TranslationMap = { }, pairing: { hint: "Bu cihazın Gateway ana bilgisayarından eşleştirme onayı alması gerekiyor.", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "Mobilde misiniz? Masaüstünüzde openclaw dashboard --no-open komutundan tam URL'yi (#token=... dahil) kopyalayın.", docsTitle: "Cihaz eşleştirme belgeleri (yeni sekmede açılır)", diff --git a/ui/src/i18n/locales/uk.ts b/ui/src/i18n/locales/uk.ts index 30ccad3b31f..0a79642209f 100644 --- a/ui/src/i18n/locales/uk.ts +++ b/ui/src/i18n/locales/uk.ts @@ -245,6 +245,15 @@ export const uk: TranslationMap = { }, pairing: { hint: "Цей пристрій потребує схвалення спарювання від хоста шлюзу.", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "На мобільному? Скопіюйте повний URL (включно з #token=...) з openclaw dashboard --no-open на вашому комп’ютері.", docsTitle: "Документація щодо сполучення пристроїв (відкривається в новій вкладці)", diff --git a/ui/src/i18n/locales/zh-CN.ts b/ui/src/i18n/locales/zh-CN.ts index 4cf96a4795e..2ed49247837 100644 --- a/ui/src/i18n/locales/zh-CN.ts +++ b/ui/src/i18n/locales/zh-CN.ts @@ -239,6 +239,15 @@ export const zh_CN: TranslationMap = { }, pairing: { hint: "此设备需要网关主机的配对批准。", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "在手机上?从桌面运行 openclaw dashboard --no-open 复制完整 URL(包括 #token=...)。", docsTitle: "设备配对文档(在新标签页中打开)", diff --git a/ui/src/i18n/locales/zh-TW.ts b/ui/src/i18n/locales/zh-TW.ts index a4494ae93d8..4d4c4e94531 100644 --- a/ui/src/i18n/locales/zh-TW.ts +++ b/ui/src/i18n/locales/zh-TW.ts @@ -239,6 +239,15 @@ export const zh_TW: TranslationMap = { }, pairing: { hint: "此裝置需要閘道主機的配對批准。", + scopeUpgradeTitle: "Scope upgrade pending approval.", + scopeUpgradeSummary: + "This device is already paired, but the requested wider scope is waiting for approval.", + roleUpgradeTitle: "Role upgrade pending approval.", + roleUpgradeSummary: + "This device is already paired, but the requested role change is waiting for approval.", + metadataUpgradeTitle: "Device metadata change pending approval.", + metadataUpgradeSummary: + "This device is already paired, but the metadata change is waiting for approval.", mobileHint: "在手機上?從桌面執行 openclaw dashboard --no-open 複製完整 URL(包括 #token=...)。", docsTitle: "裝置配對文件(在新分頁中開啟)", diff --git a/ui/src/ui/views/overview.ts b/ui/src/ui/views/overview.ts index cc2eef18ce3..122a3d806b1 100644 --- a/ui/src/ui/views/overview.ts +++ b/ui/src/ui/views/overview.ts @@ -67,27 +67,25 @@ export type OverviewProps = { const PAIRING_HINT_COPY: Record< PairingHint["kind"], { - title: string; - summary: string | null; + titleKey: string | null; + summaryKey: string | null; } > = { "pairing-required": { - title: "", - summary: null, + titleKey: null, + summaryKey: null, }, "scope-upgrade-pending": { - title: "Scope upgrade pending approval.", - summary: - "This device is already paired, but the requested wider scope is waiting for approval.", + titleKey: "overview.pairing.scopeUpgradeTitle", + summaryKey: "overview.pairing.scopeUpgradeSummary", }, "role-upgrade-pending": { - title: "Role upgrade pending approval.", - summary: - "This device is already paired, but the requested role change is waiting for approval.", + titleKey: "overview.pairing.roleUpgradeTitle", + summaryKey: "overview.pairing.roleUpgradeSummary", }, "metadata-upgrade-pending": { - title: "Device metadata change pending approval.", - summary: "This device is already paired, but the metadata change is waiting for approval.", + titleKey: "overview.pairing.metadataUpgradeTitle", + summaryKey: "overview.pairing.metadataUpgradeSummary", }, }; @@ -112,14 +110,16 @@ export function renderOverview(props: OverviewProps) { return null; } const copy = PAIRING_HINT_COPY[pairingState.kind]; - const title = copy.title || t("overview.pairing.hint"); + const title = copy.titleKey ? t(copy.titleKey) : t("overview.pairing.hint"); const approveCommand = pairingState.requestId ? `openclaw devices approve ${pairingState.requestId}` : "openclaw devices approve --latest"; return html`
${title} - ${copy.summary ? html`
${copy.summary}
` : nothing} + ${copy.summaryKey + ? html`
${t(copy.summaryKey)}
` + : nothing}
${approveCommand}
openclaw devices list