mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-09 22:31:08 +00:00
Let people paste in the auth redirect url (#7805)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> Co-authored-by: Bruno Bergher <me@brunobergher.com>
This commit is contained in:
parent
195f4eb245
commit
5780659ae5
39 changed files with 428 additions and 39 deletions
|
|
@ -2251,6 +2251,48 @@ export const webviewMessageHandler = async (
|
|||
|
||||
break
|
||||
}
|
||||
case "rooCloudManualUrl": {
|
||||
try {
|
||||
if (!message.text) {
|
||||
vscode.window.showErrorMessage(t("common:errors.manual_url_empty"))
|
||||
break
|
||||
}
|
||||
|
||||
// Parse the callback URL to extract parameters
|
||||
const callbackUrl = message.text.trim()
|
||||
const uri = vscode.Uri.parse(callbackUrl)
|
||||
|
||||
if (!uri.query) {
|
||||
throw new Error(t("common:errors.manual_url_no_query"))
|
||||
}
|
||||
|
||||
const query = new URLSearchParams(uri.query)
|
||||
const code = query.get("code")
|
||||
const state = query.get("state")
|
||||
const organizationId = query.get("organizationId")
|
||||
|
||||
if (!code || !state) {
|
||||
throw new Error(t("common:errors.manual_url_missing_params"))
|
||||
}
|
||||
|
||||
// Reuse the existing authentication flow
|
||||
await CloudService.instance.handleAuthCallback(
|
||||
code,
|
||||
state,
|
||||
organizationId === "null" ? null : organizationId,
|
||||
)
|
||||
|
||||
await provider.postStateToWebview()
|
||||
} catch (error) {
|
||||
provider.log(`ManualUrl#handleAuthCallback failed: ${error}`)
|
||||
const errorMessage = error instanceof Error ? error.message : t("common:errors.manual_url_auth_failed")
|
||||
|
||||
// Show error message through VS Code UI
|
||||
vscode.window.showErrorMessage(`${t("common:errors.manual_url_auth_error")}: ${errorMessage}`)
|
||||
}
|
||||
|
||||
break
|
||||
}
|
||||
|
||||
case "saveCodeIndexSettingsAtomic": {
|
||||
if (!message.codeIndexSettings) {
|
||||
|
|
|
|||
10
src/i18n/locales/ca/common.json
generated
10
src/i18n/locales/ca/common.json
generated
|
|
@ -110,6 +110,11 @@
|
|||
"api": {
|
||||
"invalidKeyInvalidChars": "La clau API conté caràcters no vàlids."
|
||||
},
|
||||
"manual_url_empty": "Si us plau, introdueix una URL de callback vàlida",
|
||||
"manual_url_no_query": "URL de callback no vàlida: falten paràmetres de consulta",
|
||||
"manual_url_missing_params": "URL de callback no vàlida: falten paràmetres requerits (code i state)",
|
||||
"manual_url_auth_failed": "Autenticació manual per URL ha fallat",
|
||||
"manual_url_auth_error": "Autenticació fallida",
|
||||
"mode_import_failed": "Ha fallat la importació del mode: {{error}}"
|
||||
},
|
||||
"warnings": {
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "La teva organització requereix autenticació de Roo Code Cloud. Si us plau, inicia sessió per continuar.",
|
||||
"organization_mismatch": "Has d'estar autenticat amb el compte de Roo Code Cloud de la teva organització.",
|
||||
"manual_url_empty": "Si us plau, introdueix una URL de callback vàlida",
|
||||
"manual_url_no_query": "URL de callback no vàlida: falten paràmetres de consulta",
|
||||
"manual_url_missing_params": "URL de callback no vàlida: falten paràmetres requerits (code i state)",
|
||||
"manual_url_auth_failed": "Autenticació manual per URL ha fallat",
|
||||
"manual_url_auth_error": "Autenticació fallida",
|
||||
"verification_failed": "No s'ha pogut verificar l'autenticació de l'organització."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
7
src/i18n/locales/de/common.json
generated
7
src/i18n/locales/de/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "API-Schlüssel enthält ungültige Zeichen."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Bitte gib eine gültige Callback-URL ein",
|
||||
"manual_url_no_query": "Ungültige Callback-URL: Query-Parameter fehlen",
|
||||
"manual_url_missing_params": "Ungültige Callback-URL: erforderliche Parameter (code und state) fehlen",
|
||||
"manual_url_auth_failed": "Manuelle URL-Authentifizierung fehlgeschlagen",
|
||||
"manual_url_auth_error": "Authentifizierung fehlgeschlagen"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "Kein Terminal-Inhalt ausgewählt",
|
||||
|
|
|
|||
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "API key contains invalid characters."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Please enter a valid callback URL",
|
||||
"manual_url_no_query": "Invalid callback URL: missing query parameters",
|
||||
"manual_url_missing_params": "Invalid callback URL: missing required parameters (code and state)",
|
||||
"manual_url_auth_failed": "Manual URL authentication failed",
|
||||
"manual_url_auth_error": "Authentication failed"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "No terminal content selected",
|
||||
|
|
|
|||
7
src/i18n/locales/es/common.json
generated
7
src/i18n/locales/es/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "La clave API contiene caracteres inválidos."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Por favor, introduce una URL de callback válida",
|
||||
"manual_url_no_query": "URL de callback inválida: faltan parámetros de consulta",
|
||||
"manual_url_missing_params": "URL de callback inválida: faltan parámetros requeridos (code y state)",
|
||||
"manual_url_auth_failed": "Autenticación manual por URL falló",
|
||||
"manual_url_auth_error": "Error de autenticación"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "No hay contenido de terminal seleccionado",
|
||||
|
|
|
|||
12
src/i18n/locales/fr/common.json
generated
12
src/i18n/locales/fr/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "La clé API contient des caractères invalides."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Veuillez entrer une URL de callback valide",
|
||||
"manual_url_no_query": "URL de callback invalide : paramètres de requête manquants",
|
||||
"manual_url_missing_params": "URL de callback invalide : paramètres requis manquants (code et state)",
|
||||
"manual_url_auth_failed": "Authentification par URL manuelle échouée",
|
||||
"manual_url_auth_error": "Échec de l'authentification"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "Aucun contenu de terminal sélectionné",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "Votre organisation nécessite une authentification Roo Code Cloud. Veuillez vous connecter pour continuer.",
|
||||
"organization_mismatch": "Vous devez être authentifié avec le compte Roo Code Cloud de votre organisation.",
|
||||
"manual_url_empty": "Veuillez entrer une URL de callback valide",
|
||||
"manual_url_no_query": "URL de callback invalide : paramètres de requête manquants",
|
||||
"manual_url_missing_params": "URL de callback invalide : paramètres requis manquants (code et state)",
|
||||
"manual_url_auth_failed": "Authentification par URL manuelle échouée",
|
||||
"manual_url_auth_error": "Échec de l'authentification",
|
||||
"verification_failed": "Impossible de vérifier l'authentification de l'organisation."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/hi/common.json
generated
12
src/i18n/locales/hi/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "API कुंजी में अमान्य वर्ण हैं।"
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "कृपया एक वैध callback URL दर्ज करें",
|
||||
"manual_url_no_query": "अवैध callback URL: क्वेरी पैरामीटर गुम हैं",
|
||||
"manual_url_missing_params": "अवैध callback URL: आवश्यक पैरामीटर गुम हैं (code और state)",
|
||||
"manual_url_auth_failed": "मैनुअल URL प्रमाणीकरण असफल",
|
||||
"manual_url_auth_error": "प्रमाणीकरण असफल"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "कोई टर्मिनल सामग्री चयनित नहीं",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "आपके संगठन को Roo Code Cloud प्रमाणीकरण की आवश्यकता है। कृपया जारी रखने के लिए साइन इन करें।",
|
||||
"organization_mismatch": "आपको अपने संगठन के Roo Code Cloud खाते से प्रमाणित होना होगा।",
|
||||
"manual_url_empty": "कृपया एक वैध callback URL दर्ज करें",
|
||||
"manual_url_no_query": "अवैध callback URL: क्वेरी पैरामीटर गुम हैं",
|
||||
"manual_url_missing_params": "अवैध callback URL: आवश्यक पैरामीटर गुम हैं (code और state)",
|
||||
"manual_url_auth_failed": "मैनुअल URL प्रमाणीकरण असफल",
|
||||
"manual_url_auth_error": "प्रमाणीकरण असफल",
|
||||
"verification_failed": "संगठन प्रमाणीकरण सत्यापित करने में असमर्थ।"
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/id/common.json
generated
12
src/i18n/locales/id/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "Kunci API mengandung karakter tidak valid."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Silakan masukkan URL callback yang valid",
|
||||
"manual_url_no_query": "URL callback tidak valid: parameter query hilang",
|
||||
"manual_url_missing_params": "URL callback tidak valid: parameter yang diperlukan hilang (code dan state)",
|
||||
"manual_url_auth_failed": "Autentikasi URL manual gagal",
|
||||
"manual_url_auth_error": "Autentikasi gagal"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "Tidak ada konten terminal yang dipilih",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "Organisasi kamu memerlukan autentikasi Roo Code Cloud. Silakan masuk untuk melanjutkan.",
|
||||
"organization_mismatch": "Kamu harus diautentikasi dengan akun Roo Code Cloud organisasi kamu.",
|
||||
"manual_url_empty": "Silakan masukkan URL callback yang valid",
|
||||
"manual_url_no_query": "URL callback tidak valid: parameter query hilang",
|
||||
"manual_url_missing_params": "URL callback tidak valid: parameter yang diperlukan hilang (code dan state)",
|
||||
"manual_url_auth_failed": "Autentikasi URL manual gagal",
|
||||
"manual_url_auth_error": "Autentikasi gagal",
|
||||
"verification_failed": "Tidak dapat memverifikasi autentikasi organisasi."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/it/common.json
generated
12
src/i18n/locales/it/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "La chiave API contiene caratteri non validi."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Inserisci un URL di callback valido",
|
||||
"manual_url_no_query": "URL di callback non valido: parametri di query mancanti",
|
||||
"manual_url_missing_params": "URL di callback non valido: parametri richiesti mancanti (code e state)",
|
||||
"manual_url_auth_failed": "Autenticazione manuale tramite URL fallita",
|
||||
"manual_url_auth_error": "Autenticazione fallita"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "Nessun contenuto del terminale selezionato",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "La tua organizzazione richiede l'autenticazione Roo Code Cloud. Accedi per continuare.",
|
||||
"organization_mismatch": "Devi essere autenticato con l'account Roo Code Cloud della tua organizzazione.",
|
||||
"manual_url_empty": "Inserisci un URL di callback valido",
|
||||
"manual_url_no_query": "URL di callback non valido: parametri di query mancanti",
|
||||
"manual_url_missing_params": "URL di callback non valido: parametri richiesti mancanti (code e state)",
|
||||
"manual_url_auth_failed": "Autenticazione manuale tramite URL fallita",
|
||||
"manual_url_auth_error": "Autenticazione fallita",
|
||||
"verification_failed": "Impossibile verificare l'autenticazione dell'organizzazione."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/ja/common.json
generated
12
src/i18n/locales/ja/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "APIキーに無効な文字が含まれています。"
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "有効なコールバック URL を入力してください",
|
||||
"manual_url_no_query": "無効なコールバック URL:クエリパラメータがありません",
|
||||
"manual_url_missing_params": "無効なコールバック URL:必要なパラメータ(code と state)がありません",
|
||||
"manual_url_auth_failed": "手動 URL 認証が失敗しました",
|
||||
"manual_url_auth_error": "認証に失敗しました"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "選択されたターミナルコンテンツがありません",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "あなたの組織では Roo Code Cloud 認証が必要です。続行するにはサインインしてください。",
|
||||
"organization_mismatch": "組織の Roo Code Cloud アカウントで認証する必要があります。",
|
||||
"manual_url_empty": "有効なコールバック URL を入力してください",
|
||||
"manual_url_no_query": "無効なコールバック URL:クエリパラメータがありません",
|
||||
"manual_url_missing_params": "無効なコールバック URL:必要なパラメータ(code と state)がありません",
|
||||
"manual_url_auth_failed": "手動 URL 認証が失敗しました",
|
||||
"manual_url_auth_error": "認証に失敗しました",
|
||||
"verification_failed": "組織認証の確認ができませんでした。"
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/ko/common.json
generated
12
src/i18n/locales/ko/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "API 키에 유효하지 않은 문자가 포함되어 있습니다."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "유효한 콜백 URL을 입력하세요",
|
||||
"manual_url_no_query": "유효하지 않은 콜백 URL: 쿼리 매개변수 누락",
|
||||
"manual_url_missing_params": "유효하지 않은 콜백 URL: 필요한 매개변수 누락 (code와 state)",
|
||||
"manual_url_auth_failed": "수동 URL 인증 실패",
|
||||
"manual_url_auth_error": "인증 실패"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "선택된 터미널 내용이 없습니다",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "조직에서 Roo Code Cloud 인증이 필요합니다. 계속하려면 로그인하세요.",
|
||||
"organization_mismatch": "조직의 Roo Code Cloud 계정으로 인증해야 합니다.",
|
||||
"manual_url_empty": "유효한 콜백 URL을 입력하세요",
|
||||
"manual_url_no_query": "유효하지 않은 콜백 URL: 쿼리 매개변수 누락",
|
||||
"manual_url_missing_params": "유효하지 않은 콜백 URL: 필요한 매개변수 누락 (code와 state)",
|
||||
"manual_url_auth_failed": "수동 URL 인증 실패",
|
||||
"manual_url_auth_error": "인증 실패",
|
||||
"verification_failed": "조직 인증을 확인할 수 없습니다."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/nl/common.json
generated
12
src/i18n/locales/nl/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "API-sleutel bevat ongeldige karakters."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Voer een geldige callback-URL in",
|
||||
"manual_url_no_query": "Ongeldige callback-URL: query-parameters ontbreken",
|
||||
"manual_url_missing_params": "Ongeldige callback-URL: vereiste parameters ontbreken (code en state)",
|
||||
"manual_url_auth_failed": "Handmatige URL-authenticatie mislukt",
|
||||
"manual_url_auth_error": "Authenticatie mislukt"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "Geen terminalinhoud geselecteerd",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "Je organisatie vereist Roo Code Cloud-authenticatie. Log in om door te gaan.",
|
||||
"organization_mismatch": "Je moet geauthenticeerd zijn met het Roo Code Cloud-account van je organisatie.",
|
||||
"manual_url_empty": "Voer een geldige callback-URL in",
|
||||
"manual_url_no_query": "Ongeldige callback-URL: query-parameters ontbreken",
|
||||
"manual_url_missing_params": "Ongeldige callback-URL: vereiste parameters ontbreken (code en state)",
|
||||
"manual_url_auth_failed": "Handmatige URL-authenticatie mislukt",
|
||||
"manual_url_auth_error": "Authenticatie mislukt",
|
||||
"verification_failed": "Kan organisatie-authenticatie niet verifiëren."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/pl/common.json
generated
12
src/i18n/locales/pl/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "Klucz API zawiera nieprawidłowe znaki."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Wprowadź prawidłowy URL callback",
|
||||
"manual_url_no_query": "Nieprawidłowy URL callback: brak parametrów zapytania",
|
||||
"manual_url_missing_params": "Nieprawidłowy URL callback: brak wymaganych parametrów (code i state)",
|
||||
"manual_url_auth_failed": "Ręczne uwierzytelnienie URL nie powiodło się",
|
||||
"manual_url_auth_error": "Uwierzytelnienie nie powiodło się"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "Nie wybrano zawartości terminala",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "Twoja organizacja wymaga uwierzytelnienia Roo Code Cloud. Zaloguj się, aby kontynuować.",
|
||||
"organization_mismatch": "Musisz być uwierzytelniony kontem Roo Code Cloud swojej organizacji.",
|
||||
"manual_url_empty": "Wprowadź prawidłowy URL callback",
|
||||
"manual_url_no_query": "Nieprawidłowy URL callback: brak parametrów zapytania",
|
||||
"manual_url_missing_params": "Nieprawidłowy URL callback: brak wymaganych parametrów (code i state)",
|
||||
"manual_url_auth_failed": "Ręczne uwierzytelnienie URL nie powiodło się",
|
||||
"manual_url_auth_error": "Uwierzytelnienie nie powiodło się",
|
||||
"verification_failed": "Nie można zweryfikować uwierzytelnienia organizacji."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/pt-BR/common.json
generated
12
src/i18n/locales/pt-BR/common.json
generated
|
|
@ -110,7 +110,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "A chave API contém caracteres inválidos."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Por favor, insira uma URL de callback válida",
|
||||
"manual_url_no_query": "URL de callback inválida: parâmetros de consulta ausentes",
|
||||
"manual_url_missing_params": "URL de callback inválida: parâmetros obrigatórios ausentes (code e state)",
|
||||
"manual_url_auth_failed": "Autenticação manual por URL falhou",
|
||||
"manual_url_auth_error": "Falha na autenticação"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "Nenhum conteúdo do terminal selecionado",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "Sua organização requer autenticação do Roo Code Cloud. Faça login para continuar.",
|
||||
"organization_mismatch": "Você deve estar autenticado com a conta Roo Code Cloud da sua organização.",
|
||||
"manual_url_empty": "Por favor, insira uma URL de callback válida",
|
||||
"manual_url_no_query": "URL de callback inválida: parâmetros de consulta ausentes",
|
||||
"manual_url_missing_params": "URL de callback inválida: parâmetros obrigatórios ausentes (code e state)",
|
||||
"manual_url_auth_failed": "Autenticação manual por URL falhou",
|
||||
"manual_url_auth_error": "Falha na autenticação",
|
||||
"verification_failed": "Não foi possível verificar a autenticação da organização."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/ru/common.json
generated
12
src/i18n/locales/ru/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "API-ключ содержит недопустимые символы."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Введи действительный URL обратного вызова",
|
||||
"manual_url_no_query": "Недействительный URL обратного вызова: отсутствуют параметры запроса",
|
||||
"manual_url_missing_params": "Недействительный URL обратного вызова: отсутствуют обязательные параметры (code и state)",
|
||||
"manual_url_auth_failed": "Ручная аутентификация по URL не удалась",
|
||||
"manual_url_auth_error": "Аутентификация не удалась"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "Не выбрано содержимое терминала",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "Ваша организация требует аутентификации Roo Code Cloud. Войдите в систему, чтобы продолжить.",
|
||||
"organization_mismatch": "Вы должны быть аутентифицированы с учетной записью Roo Code Cloud вашей организации.",
|
||||
"manual_url_empty": "Введи действительный URL обратного вызова",
|
||||
"manual_url_no_query": "Недействительный URL обратного вызова: отсутствуют параметры запроса",
|
||||
"manual_url_missing_params": "Недействительный URL обратного вызова: отсутствуют обязательные параметры (code и state)",
|
||||
"manual_url_auth_failed": "Ручная аутентификация по URL не удалась",
|
||||
"manual_url_auth_error": "Аутентификация не удалась",
|
||||
"verification_failed": "Не удается проверить аутентификацию организации."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/tr/common.json
generated
12
src/i18n/locales/tr/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "API anahtarı geçersiz karakterler içeriyor."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Lütfen geçerli bir callback URL'si girin",
|
||||
"manual_url_no_query": "Geçersiz callback URL'si: sorgu parametreleri eksik",
|
||||
"manual_url_missing_params": "Geçersiz callback URL'si: gerekli parametreler eksik (code ve state)",
|
||||
"manual_url_auth_failed": "Manuel URL kimlik doğrulama başarısız",
|
||||
"manual_url_auth_error": "Kimlik doğrulama başarısız"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "Seçili terminal içeriği yok",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "Kuruluşunuz Roo Code Cloud kimlik doğrulaması gerektiriyor. Devam etmek için giriş yapın.",
|
||||
"organization_mismatch": "Kuruluşunuzun Roo Code Cloud hesabıyla kimlik doğrulaması yapmalısınız.",
|
||||
"manual_url_empty": "Lütfen geçerli bir callback URL'si girin",
|
||||
"manual_url_no_query": "Geçersiz callback URL'si: sorgu parametreleri eksik",
|
||||
"manual_url_missing_params": "Geçersiz callback URL'si: gerekli parametreler eksik (code ve state)",
|
||||
"manual_url_auth_failed": "Manuel URL kimlik doğrulama başarısız",
|
||||
"manual_url_auth_error": "Kimlik doğrulama başarısız",
|
||||
"verification_failed": "Kuruluş kimlik doğrulaması doğrulanamıyor."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/vi/common.json
generated
12
src/i18n/locales/vi/common.json
generated
|
|
@ -106,7 +106,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "Khóa API chứa ký tự không hợp lệ."
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "Vui lòng nhập URL callback hợp lệ",
|
||||
"manual_url_no_query": "URL callback không hợp lệ: thiếu tham số truy vấn",
|
||||
"manual_url_missing_params": "URL callback không hợp lệ: thiếu tham số bắt buộc (code và state)",
|
||||
"manual_url_auth_failed": "Xác thực URL thủ công thất bại",
|
||||
"manual_url_auth_error": "Xác thực thất bại"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "Không có nội dung terminal được chọn",
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "Tổ chức của bạn yêu cầu xác thực Roo Code Cloud. Vui lòng đăng nhập để tiếp tục.",
|
||||
"organization_mismatch": "Bạn phải được xác thực bằng tài khoản Roo Code Cloud của tổ chức.",
|
||||
"manual_url_empty": "Vui lòng nhập URL callback hợp lệ",
|
||||
"manual_url_no_query": "URL callback không hợp lệ: thiếu tham số truy vấn",
|
||||
"manual_url_missing_params": "URL callback không hợp lệ: thiếu tham số bắt buộc (code và state)",
|
||||
"manual_url_auth_failed": "Xác thực URL thủ công thất bại",
|
||||
"manual_url_auth_error": "Xác thực thất bại",
|
||||
"verification_failed": "Không thể xác minh xác thực tổ chức."
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
12
src/i18n/locales/zh-CN/common.json
generated
12
src/i18n/locales/zh-CN/common.json
generated
|
|
@ -111,7 +111,12 @@
|
|||
},
|
||||
"api": {
|
||||
"invalidKeyInvalidChars": "API 密钥包含无效字符。"
|
||||
}
|
||||
},
|
||||
"manual_url_empty": "请输入有效的回调 URL",
|
||||
"manual_url_no_query": "无效的回调 URL:缺少查询参数",
|
||||
"manual_url_missing_params": "无效的回调 URL:缺少必需参数(code 和 state)",
|
||||
"manual_url_auth_failed": "手动 URL 身份验证失败",
|
||||
"manual_url_auth_error": "身份验证失败"
|
||||
},
|
||||
"warnings": {
|
||||
"no_terminal_content": "没有选择终端内容",
|
||||
|
|
@ -198,6 +203,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "您的组织需要 Roo Code Cloud 身份验证。请登录以继续。",
|
||||
"organization_mismatch": "您必须使用组织的 Roo Code Cloud 账户进行身份验证。",
|
||||
"manual_url_empty": "请输入有效的回调 URL",
|
||||
"manual_url_no_query": "无效的回调 URL:缺少查询参数",
|
||||
"manual_url_missing_params": "无效的回调 URL:缺少必需参数(code 和 state)",
|
||||
"manual_url_auth_failed": "手动 URL 身份验证失败",
|
||||
"manual_url_auth_error": "身份验证失败",
|
||||
"verification_failed": "无法验证组织身份验证。"
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
10
src/i18n/locales/zh-TW/common.json
generated
10
src/i18n/locales/zh-TW/common.json
generated
|
|
@ -106,6 +106,11 @@
|
|||
"api": {
|
||||
"invalidKeyInvalidChars": "API 金鑰包含無效字元。"
|
||||
},
|
||||
"manual_url_empty": "請輸入有效的回呼 URL",
|
||||
"manual_url_no_query": "無效的回呼 URL:缺少查詢參數",
|
||||
"manual_url_missing_params": "無效的回呼 URL:缺少必要參數(code 和 state)",
|
||||
"manual_url_auth_failed": "手動 URL 身份驗證失敗",
|
||||
"manual_url_auth_error": "身份驗證失敗",
|
||||
"mode_import_failed": "匯入模式失敗:{{error}}"
|
||||
},
|
||||
"warnings": {
|
||||
|
|
@ -193,6 +198,11 @@
|
|||
"errors": {
|
||||
"cloud_auth_required": "您的組織需要 Roo Code Cloud 身份驗證。請登入以繼續。",
|
||||
"organization_mismatch": "您必須使用組織的 Roo Code Cloud 帳戶進行身份驗證。",
|
||||
"manual_url_empty": "請輸入有效的回呼 URL",
|
||||
"manual_url_no_query": "無效的回呼 URL:缺少查詢參數",
|
||||
"manual_url_missing_params": "無效的回呼 URL:缺少必要參數(code 和 state)",
|
||||
"manual_url_auth_failed": "手動 URL 身份驗證失敗",
|
||||
"manual_url_auth_error": "身份驗證失敗",
|
||||
"verification_failed": "無法驗證組織身份驗證。"
|
||||
},
|
||||
"info": {
|
||||
|
|
|
|||
|
|
@ -180,6 +180,7 @@ export interface WebviewMessage {
|
|||
| "cloudButtonClicked"
|
||||
| "rooCloudSignIn"
|
||||
| "rooCloudSignOut"
|
||||
| "rooCloudManualUrl"
|
||||
| "condenseTaskContextRequest"
|
||||
| "requestIndexingStatus"
|
||||
| "startIndexing"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { useEffect, useRef } from "react"
|
||||
import { VSCodeButton } from "@vscode/webview-ui-toolkit/react"
|
||||
import { useEffect, useRef, useState } from "react"
|
||||
import { VSCodeButton, VSCodeProgressRing, VSCodeTextField } from "@vscode/webview-ui-toolkit/react"
|
||||
|
||||
import { type CloudUserInfo, TelemetryEventName } from "@roo-code/types"
|
||||
|
||||
|
|
@ -25,6 +25,13 @@ export const CloudView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: Cl
|
|||
const { t } = useAppTranslation()
|
||||
const { remoteControlEnabled, setRemoteControlEnabled } = useExtensionState()
|
||||
const wasAuthenticatedRef = useRef(false)
|
||||
const timeoutRef = useRef<NodeJS.Timeout | null>(null)
|
||||
const manualUrlInputRef = useRef<HTMLInputElement | null>(null)
|
||||
|
||||
// Manual URL entry state
|
||||
const [authInProgress, setAuthInProgress] = useState(false)
|
||||
const [showManualEntry, setShowManualEntry] = useState(false)
|
||||
const [manualUrl, setManualUrl] = useState("")
|
||||
|
||||
const rooLogoUri = (window as any).IMAGES_BASE_URI + "/roo-logo.svg"
|
||||
|
||||
|
|
@ -32,6 +39,13 @@ export const CloudView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: Cl
|
|||
useEffect(() => {
|
||||
if (isAuthenticated) {
|
||||
wasAuthenticatedRef.current = true
|
||||
// Clear auth in progress state when authentication succeeds
|
||||
setAuthInProgress(false)
|
||||
setShowManualEntry(false)
|
||||
if (timeoutRef.current) {
|
||||
clearTimeout(timeoutRef.current)
|
||||
timeoutRef.current = null
|
||||
}
|
||||
} else if (wasAuthenticatedRef.current && !isAuthenticated) {
|
||||
// User just logged out successfully
|
||||
// NOTE: Telemetry events use ACCOUNT_* naming for continuity with existing analytics
|
||||
|
|
@ -41,11 +55,64 @@ export const CloudView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: Cl
|
|||
}
|
||||
}, [isAuthenticated])
|
||||
|
||||
// Focus the manual URL input when it becomes visible
|
||||
useEffect(() => {
|
||||
if (showManualEntry && manualUrlInputRef.current) {
|
||||
// Small delay to ensure the DOM is ready
|
||||
setTimeout(() => {
|
||||
manualUrlInputRef.current?.focus()
|
||||
}, 50)
|
||||
}
|
||||
}, [showManualEntry])
|
||||
|
||||
// Cleanup timeout on unmount
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
if (timeoutRef.current) {
|
||||
clearTimeout(timeoutRef.current)
|
||||
}
|
||||
}
|
||||
}, [])
|
||||
|
||||
const handleConnectClick = () => {
|
||||
// Send telemetry for cloud connect action
|
||||
// NOTE: Using ACCOUNT_* telemetry events for backward compatibility with analytics
|
||||
telemetryClient.capture(TelemetryEventName.ACCOUNT_CONNECT_CLICKED)
|
||||
vscode.postMessage({ type: "rooCloudSignIn" })
|
||||
|
||||
// Start auth in progress state - show "Having trouble?" immediately for debugging
|
||||
setAuthInProgress(true)
|
||||
}
|
||||
|
||||
const handleManualUrlChange = (e: any) => {
|
||||
const url = e.target.value
|
||||
setManualUrl(url)
|
||||
|
||||
// Auto-trigger authentication when a complete URL is pasted (with slight delay to ensure full paste is processed)
|
||||
setTimeout(() => {
|
||||
if (url.trim() && url.includes("://") && url.includes("/auth/clerk/callback")) {
|
||||
vscode.postMessage({ type: "rooCloudManualUrl", text: url.trim() })
|
||||
}
|
||||
}, 100)
|
||||
}
|
||||
|
||||
const handleKeyDown = (e: any) => {
|
||||
if (e.key === "Enter") {
|
||||
const url = manualUrl.trim()
|
||||
if (url && url.includes("://") && url.includes("/auth/clerk/callback")) {
|
||||
vscode.postMessage({ type: "rooCloudManualUrl", text: url })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const handleShowManualEntry = () => {
|
||||
setShowManualEntry(true)
|
||||
}
|
||||
|
||||
const handleReset = () => {
|
||||
setAuthInProgress(false)
|
||||
setShowManualEntry(false)
|
||||
setManualUrl("")
|
||||
}
|
||||
|
||||
const handleLogoutClick = () => {
|
||||
|
|
@ -189,9 +256,51 @@ export const CloudView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: Cl
|
|||
</div>
|
||||
|
||||
<div className="flex flex-col items-center gap-4">
|
||||
<VSCodeButton appearance="primary" onClick={handleConnectClick} className="w-1/2">
|
||||
{t("cloud:connect")}
|
||||
</VSCodeButton>
|
||||
{!authInProgress && (
|
||||
<VSCodeButton appearance="primary" onClick={handleConnectClick} className="w-1/2">
|
||||
{t("cloud:connect")}
|
||||
</VSCodeButton>
|
||||
)}
|
||||
|
||||
{/* Manual entry section */}
|
||||
{authInProgress && !showManualEntry && (
|
||||
// Timeout message with "Having trouble?" link
|
||||
<div className="flex flex-col items-center gap-1">
|
||||
<div className="flex items-center gap-2 text-sm text-vscode-descriptionForeground">
|
||||
<VSCodeProgressRing className="size-3 text-vscode-foreground" />
|
||||
{t("cloud:authWaiting")}
|
||||
</div>
|
||||
{!showManualEntry && (
|
||||
<button
|
||||
onClick={handleShowManualEntry}
|
||||
className="text-sm text-vscode-textLink-foreground hover:text-vscode-textLink-activeForeground underline cursor-pointer bg-transparent border-none p-0">
|
||||
{t("cloud:havingTrouble")}
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{showManualEntry && (
|
||||
// Manual URL entry form
|
||||
<div className="space-y-2 text-center border-border/50 border-t px-2 pt-8 mt-3">
|
||||
<p className="text-xs text-vscode-descriptionForeground">
|
||||
{t("cloud:pasteCallbackUrl")}
|
||||
</p>
|
||||
<VSCodeTextField
|
||||
ref={manualUrlInputRef as any}
|
||||
value={manualUrl}
|
||||
onChange={handleManualUrlChange}
|
||||
onKeyDown={handleKeyDown}
|
||||
placeholder="vscode://RooVeterinaryInc.roo-cline/auth/clerk/callback?state=..."
|
||||
className="w-full"
|
||||
/>
|
||||
<button
|
||||
onClick={handleReset}
|
||||
className="text-sm text-vscode-textLink-foreground hover:text-vscode-textLink-activeForeground underline cursor-pointer bg-transparent border-none p-0">
|
||||
{t("cloud:startOver")}
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/ca/cloud.json
generated
6
webview-ui/src/i18n/locales/ca/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Permet seguir i interactuar amb tasques en aquest espai de treball amb Roo Code Cloud",
|
||||
"visitCloudWebsite": "Visita Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "URL de Roo Code Cloud"
|
||||
"cloudUrlPillLabel": "URL de Roo Code Cloud",
|
||||
"authWaiting": "Esperant que es completi l'autenticació...",
|
||||
"havingTrouble": "Tens problemes?",
|
||||
"pasteCallbackUrl": "Copia l'URL de redirect del teu navegador i enganxa-la aquí:",
|
||||
"startOver": "Torna a començar"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/de/cloud.json
generated
6
webview-ui/src/i18n/locales/de/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Ermöglicht das Verfolgen und Interagieren mit Aufgaben in diesem Arbeitsbereich mit Roo Code Cloud",
|
||||
"visitCloudWebsite": "Roo Code Cloud besuchen",
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL"
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"authWaiting": "Warte auf Abschluss der Authentifizierung...",
|
||||
"havingTrouble": "Probleme?",
|
||||
"pasteCallbackUrl": "Kopiere die Redirect-URL aus deinem Browser und füge sie hier ein:",
|
||||
"startOver": "Von vorne beginnen"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,5 +13,9 @@
|
|||
"visitCloudWebsite": "Visit Roo Code Cloud",
|
||||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Enable following and interacting with tasks in this workspace with Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL"
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"authWaiting": "Waiting for browser authentication...",
|
||||
"havingTrouble": "Having trouble?",
|
||||
"pasteCallbackUrl": "Copy the redirect URL from your browser and paste it here:",
|
||||
"startOver": "Start over"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/es/cloud.json
generated
6
webview-ui/src/i18n/locales/es/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Permite seguir e interactuar con tareas en este espacio de trabajo con Roo Code Cloud",
|
||||
"visitCloudWebsite": "Visitar Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "URL de Roo Code Cloud"
|
||||
"cloudUrlPillLabel": "URL de Roo Code Cloud",
|
||||
"authWaiting": "Esperando que se complete la autenticación...",
|
||||
"havingTrouble": "¿Tienes problemas?",
|
||||
"pasteCallbackUrl": "Copia la URL de redirect desde tu navegador y pégala aquí:",
|
||||
"startOver": "Empezar de nuevo"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/fr/cloud.json
generated
6
webview-ui/src/i18n/locales/fr/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Permet de suivre et d'interagir avec les tâches dans cet espace de travail avec Roo Code Cloud",
|
||||
"visitCloudWebsite": "Visiter Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "URL de Roo Code Cloud"
|
||||
"cloudUrlPillLabel": "URL de Roo Code Cloud",
|
||||
"authWaiting": "En attente de la fin de l'authentification...",
|
||||
"havingTrouble": "Des difficultés ?",
|
||||
"pasteCallbackUrl": "Copie l'URL de redirect depuis ton navigateur et colle-la ici :",
|
||||
"startOver": "Recommencer"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/hi/cloud.json
generated
6
webview-ui/src/i18n/locales/hi/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Roo Code Cloud के साथ इस वर्कस्पेस में कार्यों को फॉलो और इंटरैक्ट करने की सुविधा दें",
|
||||
"visitCloudWebsite": "Roo Code Cloud पर जाएं",
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL"
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"authWaiting": "प्रमाणीकरण पूरा होने की प्रतीक्षा कर रहे हैं...",
|
||||
"havingTrouble": "समस्या हो रही है?",
|
||||
"pasteCallbackUrl": "अपने ब्राउज़र से redirect URL कॉपी करें और यहाँ पेस्ट करें:",
|
||||
"startOver": "फिर से शुरू करें"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/id/cloud.json
generated
6
webview-ui/src/i18n/locales/id/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Memungkinkan mengikuti dan berinteraksi dengan tugas di workspace ini dengan Roo Code Cloud",
|
||||
"visitCloudWebsite": "Kunjungi Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "URL Roo Code Cloud"
|
||||
"cloudUrlPillLabel": "URL Roo Code Cloud",
|
||||
"authWaiting": "Menunggu autentikasi selesai...",
|
||||
"havingTrouble": "Ada masalah?",
|
||||
"pasteCallbackUrl": "Salin URL redirect dari browser dan tempel di sini:",
|
||||
"startOver": "Mulai dari awal"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/it/cloud.json
generated
6
webview-ui/src/i18n/locales/it/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Abilita il monitoraggio e l'interazione con le attività in questo workspace con Roo Code Cloud",
|
||||
"visitCloudWebsite": "Visita Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "URL di Roo Code Cloud"
|
||||
"cloudUrlPillLabel": "URL di Roo Code Cloud",
|
||||
"authWaiting": "In attesa del completamento dell'autenticazione...",
|
||||
"havingTrouble": "Hai problemi?",
|
||||
"pasteCallbackUrl": "Copia l'URL di redirect dal tuo browser e incollalo qui:",
|
||||
"startOver": "Ricomincia"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/ja/cloud.json
generated
6
webview-ui/src/i18n/locales/ja/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Roo Code Cloudでこのワークスペースのタスクをフォローし操作することを有効にする",
|
||||
"visitCloudWebsite": "Roo Code Cloudを訪問",
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL"
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"authWaiting": "認証完了をお待ちください...",
|
||||
"havingTrouble": "問題が発生していますか?",
|
||||
"pasteCallbackUrl": "ブラウザからリダイレクトURLをコピーし、ここに貼り付けてください:",
|
||||
"startOver": "最初からやり直す"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/ko/cloud.json
generated
6
webview-ui/src/i18n/locales/ko/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Roo Code Cloud로 이 워크스페이스의 작업을 팔로우하고 상호작용할 수 있게 합니다",
|
||||
"visitCloudWebsite": "Roo Code Cloud 방문",
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL"
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"authWaiting": "인증 완료를 기다리는 중...",
|
||||
"havingTrouble": "문제가 있나요?",
|
||||
"pasteCallbackUrl": "브라우저에서 리다이렉트 URL을 복사하여 여기에 붙여넣으세요:",
|
||||
"startOver": "다시 시작"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/nl/cloud.json
generated
6
webview-ui/src/i18n/locales/nl/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Schakel het volgen en interacteren met taken in deze workspace in met Roo Code Cloud",
|
||||
"visitCloudWebsite": "Bezoek Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL"
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"authWaiting": "Wachten tot authenticatie voltooid is...",
|
||||
"havingTrouble": "Problemen?",
|
||||
"pasteCallbackUrl": "Kopieer de redirect-URL uit je browser en plak hem hier:",
|
||||
"startOver": "Opnieuw beginnen"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/pl/cloud.json
generated
6
webview-ui/src/i18n/locales/pl/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Umożliwia śledzenie i interakcję z zadaniami w tym obszarze roboczym za pomocą Roo Code Cloud",
|
||||
"visitCloudWebsite": "Odwiedź Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "URL Roo Code Cloud"
|
||||
"cloudUrlPillLabel": "URL Roo Code Cloud",
|
||||
"authWaiting": "Oczekiwanie na zakończenie uwierzytelniania...",
|
||||
"havingTrouble": "Masz problemy?",
|
||||
"pasteCallbackUrl": "Skopiuj URL redirect z przeglądarki i wklej tutaj:",
|
||||
"startOver": "Zacznij od nowa"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/pt-BR/cloud.json
generated
6
webview-ui/src/i18n/locales/pt-BR/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Permite acompanhar e interagir com tarefas neste workspace com Roo Code Cloud",
|
||||
"visitCloudWebsite": "Visitar Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "URL do Roo Code Cloud "
|
||||
"cloudUrlPillLabel": "URL do Roo Code Cloud ",
|
||||
"authWaiting": "Aguardando conclusão da autenticação...",
|
||||
"havingTrouble": "Tendo problemas?",
|
||||
"pasteCallbackUrl": "Copie a URL de redirect do seu navegador e cole aqui:",
|
||||
"startOver": "Recomeçar"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/ru/cloud.json
generated
6
webview-ui/src/i18n/locales/ru/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Позволяет отслеживать и взаимодействовать с задачами в этом рабочем пространстве с Roo Code Cloud",
|
||||
"visitCloudWebsite": "Посетить Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "URL Roo Code Cloud"
|
||||
"cloudUrlPillLabel": "URL Roo Code Cloud",
|
||||
"authWaiting": "Ожидание завершения аутентификации...",
|
||||
"havingTrouble": "Проблемы?",
|
||||
"pasteCallbackUrl": "Скопируй URL перенаправления из браузера и вставь его сюда:",
|
||||
"startOver": "Начать заново"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/tr/cloud.json
generated
6
webview-ui/src/i18n/locales/tr/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Bu çalışma alanındaki görevleri Roo Code Cloud ile takip etme ve etkileşim kurma imkanı sağlar",
|
||||
"visitCloudWebsite": "Roo Code Cloud'u ziyaret et",
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL'si"
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL'si",
|
||||
"authWaiting": "Kimlik doğrulama tamamlanması bekleniyor...",
|
||||
"havingTrouble": "Sorun yaşıyor musun?",
|
||||
"pasteCallbackUrl": "Tarayıcından redirect URL'sini kopyala ve buraya yapıştır:",
|
||||
"startOver": "Baştan başla"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/vi/cloud.json
generated
6
webview-ui/src/i18n/locales/vi/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "Cho phép theo dõi và tương tác với các tác vụ trong workspace này với Roo Code Cloud",
|
||||
"visitCloudWebsite": "Truy cập Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "URL Roo Code Cloud"
|
||||
"cloudUrlPillLabel": "URL Roo Code Cloud",
|
||||
"authWaiting": "Đang chờ hoàn tất xác thực...",
|
||||
"havingTrouble": "Gặp vấn đề?",
|
||||
"pasteCallbackUrl": "Sao chép URL redirect từ trình duyệt và dán vào đây:",
|
||||
"startOver": "Bắt đầu lại"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/zh-CN/cloud.json
generated
6
webview-ui/src/i18n/locales/zh-CN/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "允许通过 Roo Code Cloud 跟踪和操作此工作区中的任务",
|
||||
"visitCloudWebsite": "访问 Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL"
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"authWaiting": "等待身份验证完成...",
|
||||
"havingTrouble": "遇到问题?",
|
||||
"pasteCallbackUrl": "从浏览器复制重定向 URL 并粘贴到这里:",
|
||||
"startOver": "重新开始"
|
||||
}
|
||||
|
|
|
|||
6
webview-ui/src/i18n/locales/zh-TW/cloud.json
generated
6
webview-ui/src/i18n/locales/zh-TW/cloud.json
generated
|
|
@ -14,5 +14,9 @@
|
|||
"remoteControl": "Roomote Control",
|
||||
"remoteControlDescription": "允許透過 Roo Code Cloud 追蹤和操作此工作區中的工作",
|
||||
"visitCloudWebsite": "造訪 Roo Code Cloud",
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL"
|
||||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"authWaiting": "等待身份驗證完成...",
|
||||
"havingTrouble": "遇到問題?",
|
||||
"pasteCallbackUrl": "從瀏覽器複製重新導向 URL 並貼上到這裡:",
|
||||
"startOver": "重新開始"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue