@@ -195,9 +195,9 @@ function SecurityInvariant(): JSX.Element {
policy: (
<>
@@ -214,14 +214,16 @@ function SecurityInvariant(): JSX.Element {
settings: (
<>
-
Settings
+ {t(I18nKey.INVARIANT$SETTINGS_LABEL)}
-
Ask for user confirmation on risk severity:
+
+ {t(I18nKey.INVARIANT$ASK_CONFIRMATION_RISK_SEVERITY_LABEL)}
+
@@ -278,18 +280,17 @@ function SecurityInvariant(): JSX.Element {
- Invariant Analyzer
+ {t(I18nKey.INVARIANT$INVARIANT_ANALYZER_LABEL)}
- Invariant Analyzer continuously monitors your OpenHands agent for
- security issues.{" "}
+ {t(I18nKey.INVARIANT$INVARIANT_ANALYZER_MESSAGE)}{" "}
- Click to learn more
+ {t(I18nKey.INVARIANT$CLICK_TO_LEARN_MORE_LABEL)}
@@ -298,19 +299,19 @@ function SecurityInvariant(): JSX.Element {
className={`cursor-pointer p-2 rounded ${activeSection === "logs" && "bg-neutral-600"}`}
onClick={() => setActiveSection("logs")}
>
- Logs
+ {t(I18nKey.INVARIANT$LOG_LABEL)}
setActiveSection("policy")}
>
- Policy
+ {t(I18nKey.INVARIANT$POLICY_LABEL)}
setActiveSection("settings")}
>
- Settings
+ {t(I18nKey.INVARIANT$SETTINGS_LABEL)}
diff --git a/frontend/src/components/project-menu/project-menu-details-placeholder.tsx b/frontend/src/components/project-menu/project-menu-details-placeholder.tsx
index ea0aa7f80e50..153f4e8093c9 100644
--- a/frontend/src/components/project-menu/project-menu-details-placeholder.tsx
+++ b/frontend/src/components/project-menu/project-menu-details-placeholder.tsx
@@ -1,5 +1,7 @@
+import { useTranslation } from "react-i18next";
import { cn } from "#/utils/utils";
import CloudConnection from "#/assets/cloud-connection.svg?react";
+import { I18nKey } from "#/i18n/declaration";
interface ProjectMenuDetailsPlaceholderProps {
isConnectedToGitHub: boolean;
@@ -10,9 +12,13 @@ export function ProjectMenuDetailsPlaceholder({
isConnectedToGitHub,
onConnectToGitHub,
}: ProjectMenuDetailsPlaceholderProps) {
+ const { t } = useTranslation();
+
return (
diff --git a/frontend/src/i18n/translation.json b/frontend/src/i18n/translation.json
index 6db2520b6b8a..160e15f076ad 100644
--- a/frontend/src/i18n/translation.json
+++ b/frontend/src/i18n/translation.json
@@ -798,7 +798,96 @@
"tr": "İptal"
},
"FEEDBACK$EMAIL_PLACEHOLDER": {
- "en": "Enter your email address."
+ "en": "Enter your email address",
+ "es": "Ingresa tu correo electrónico"
+ },
+ "FEEDBACK$PASSWORD_COPIED_MESSAGE": {
+ "en": "Password copied to clipboard.",
+ "es": "Contraseña copiada al portapapeles."
+ },
+ "FEEDBACK$GO_TO_FEEDBACK": {
+ "en": "Go to shared feedback",
+ "es": "Ir a feedback compartido"
+ },
+ "FEEDBACK$PASSWORD": {
+ "en": "Password:",
+ "es": "Contraseña:"
+ },
+ "FEEDBACK$INVALID_EMAIL_FORMAT": {
+ "en": "Invalid email format",
+ "es": "Formato de correo inválido"
+ },
+ "FEEDBACK$FAILED_TO_SHARE": {
+ "en": "Failed to share, please contact the developers:",
+ "es": "Error al compartir, por favor contacta con los desarrolladores:"
+ },
+ "FEEDBACK$COPY_LABEL": {
+ "en": "Copy",
+ "es": "Copiar"
+ },
+ "FEEDBACK$SHARING_SETTINGS_LABEL": {
+ "en": "Sharing settings",
+ "es": "Configuración de compartir"
+ },
+ "SECURITY$UNKNOWN_ANALYZER_LABEL":{
+ "en": "Unknown security analyzer chosen",
+ "es": "Analizador de seguridad desconocido"
+ },
+ "INVARIANT$UPDATE_POLICY_LABEL": {
+ "en": "Update Policy",
+ "es": "Actualizar política"
+ },
+ "INVARIANT$UPDATE_SETTINGS_LABEL": {
+ "en": "Update Settings",
+ "es": "Actualizar configuración"
+ },
+ "INVARIANT$SETTINGS_LABEL": {
+ "en": "Settings",
+ "es": "Configuración"
+ },
+ "INVARIANT$ASK_CONFIRMATION_RISK_SEVERITY_LABEL": {
+ "en": "Ask for user confirmation on risk severity:",
+ "es": "Preguntar por confirmación del usuario sobre severidad del riesgo:"
+ },
+ "INVARIANT$DONT_ASK_FOR_CONFIRMATION_LABEL": {
+ "en": "Don't ask for confirmation",
+ "es": "No solicitar confirmación"
+ },
+ "INVARIANT$INVARIANT_ANALYZER_LABEL": {
+ "en": "Invariant Analyzer",
+ "es": "Analizador de invariantes"
+ },
+ "INVARIANT$INVARIANT_ANALYZER_MESSAGE": {
+ "en": "Invariant Analyzer continuously monitors your OpenHands agent for security issues.",
+ "es": "Analizador de invariantes continuamente monitorea tu agente de OpenHands por problemas de seguridad."
+ },
+ "INVARIANT$CLICK_TO_LEARN_MORE_LABEL": {
+ "en": "Click to learn more",
+ "es": "Clic para aprender más"
+ },
+ "INVARIANT$POLICY_LABEL": {
+ "en": "Policy",
+ "es": "Política"
+ },
+ "INVARIANT$LOG_LABEL": {
+ "en": "Logs",
+ "es": "Logs"
+ },
+ "INVARIANT$EXPORT_TRACE_LABEL": {
+ "en": "Export Trace",
+ "es": "Exportar traza"
+ },
+ "INVARIANT$TRACE_EXPORTED_MESSAGE": {
+ "en": "Trace exported",
+ "es": "Traza exportada"
+ },
+ "INVARIANT$POLICY_UPDATED_MESSAGE": {
+ "en": "Policy updated",
+ "es": "Política actualizada"
+ },
+ "INVARIANT$SETTINGS_UPDATED_MESSAGE": {
+ "en": "Settings updated",
+ "es": "Configuración actualizada"
},
"CHAT_INTERFACE$INITIALIZING_AGENT_LOADING_MESSAGE": {
"en": "Starting up!",
@@ -1517,6 +1606,134 @@
"fr": "En attente que le client soit prêt...",
"tr": "İstemcinin hazır olması bekleniyor..."
},
+ "ACCOUNT_SETTINGS_MODAL$DISCONNECT":{
+ "en": "Disconnect",
+ "es": "Desconectar"
+ },
+ "ACCOUNT_SETTINGS_MODAL$SAVE":{
+ "en": "Save",
+ "es": "Guardar"
+ },
+ "ACCOUNT_SETTINGS_MODAL$CLOSE":{
+ "en": "Close",
+ "es": ""
+ },
+ "ACCOUNT_SETTINGS_MODAL$GITHUB_TOKEN_INVALID":{
+ "en": "GitHub token is invalid. Please try again.",
+ "es": ""
+ },
+ "CONNECT_TO_GITHUB_MODAL$GET_YOUR_TOKEN": {
+ "en": "Get your token",
+ "es": "Obten tu token"
+ },
+ "CONNECT_TO_GITHUB_MODAL$HERE": {
+ "en": "here",
+ "es": "aquí"
+ },
+ "CONNECT_TO_GITHUB_MODAL$CONNECT": {
+ "en": "Connect",
+ "es": "Conectar"
+ },
+ "CONNECT_TO_GITHUB_MODAL$CLOSE": {
+ "en": "Close",
+ "es": "Cerrar"
+ },
+ "CONNECT_TO_GITHUB_BY_TOKEN_MODAL$BY_CONNECTING_YOU_AGREE": {
+ "en": "By connecting you agree to our",
+ "es": "Al conectarte tu aceptas nuestros"
+ },
+ "CONNECT_TO_GITHUB_BY_TOKEN_MODAL$TERMS_OF_SERVICE": {
+ "en": "terms of service",
+ "es": "términos de servicio"
+ },
+ "CONNECT_TO_GITHUB_BY_TOKEN_MODAL$CONTINUE": {
+ "en": "Continue",
+ "es": "Continuar"
+ },
+ "LOADING_PROJECT$LOADING": {
+ "en": "Loading...",
+ "es": "Cargando..."
+ },
+ "CUSTOM_INPUT$OPTIONAL_LABEL": {
+ "en": "(Optional)",
+ "es": "(Opcional)"
+ },
+ "SETTINGS_FORM$ADVANCED_OPTIONS_LABEL": {
+ "en": "Advanced Options",
+ "es": "Opciones avanzadas"
+ },
+ "SETTINGS_FORM$CUSTOM_MODEL_LABEL": {
+ "en": "Custom Model",
+ "es": "Modelo personalizado"
+ },
+ "SETTINGS_FORM$BASE_URL_LABEL": {
+ "en": "Base URL",
+ "es": "URL base"
+ },
+ "SETTINGS_FORM$API_KEY_LABEL": {
+ "en": "API Key",
+ "es": "API Key"
+ },
+ "SETTINGS_FORM$DONT_KNOW_API_KEY_LABEL": {
+ "en": "Don't know your API key?",
+ "es": "¿No sabes tu API key?"
+ },
+ "SETTINGS_FORM$CLICK_HERE_FOR_INSTRUCTIONS_LABEL": {
+ "en": "Click here for instructions",
+ "es": "Clic aquí para instrucciones"
+ },
+ "SETTINGS_FORM$AGENT_LABEL": {
+ "en": "Agent",
+ "es": "Agente"
+ },
+ "SETTINGS_FORM$SECURITY_ANALYZER_LABEL": {
+ "en": "Security Analyzer (Optional)",
+ "es": "Analizador de seguridad (opcional)"
+ },
+ "SETTINGS_FORM$ENABLE_CONFIRMATION_MODE_LABEL": {
+ "en": "Enable Confirmation Mode",
+ "es": "Habilitar modo de confirmación"
+ },
+ "SETTINGS_FORM$SAVE_LABEL": {
+ "en": "Save",
+ "es": "Guardar"
+ },
+ "SETTINGS_FORM$CLOSE_LABEL": {
+ "en": "Close",
+ "es": "Cerrar"
+ },
+ "SETTINGS_FORM$RESET_TO_DEFAULTS_LABEL": {
+ "en": "Reset to defaults",
+ "es": "Reiniciar valores por defect"
+ },
+ "SETTINGS_FORM$CANCEL_LABEL": {
+ "en": "Cancel",
+ "es": "Cancelar"
+ },
+ "SETTINGS_FORM$END_SESSION_LABEL": {
+ "en": "End Session",
+ "es": "Terminar sesión"
+ },
+ "SETTINGS_FORM$CHANGING_WORKSPACE_WARNING_MESSAGE": {
+ "en": "Changing your settings will clear your workspace and start a new session. Are you sure you want to continue?",
+ "es": "Cambiar tu configuración limpiará tu espacio de trabajo e iniciará una nueva sesión. ¿Estás seguro de continuar?"
+ },
+ "SETTINGS_FORM$ARE_YOU_SURE_LABEL": {
+ "en": "Are you sure?",
+ "es": "¿Estás seguro?"
+ },
+ "SETTINGS_FORM$ALL_INFORMATION_WILL_BE_DELETED_MESSAGE": {
+ "en": "All saved information in your AI settings will be deleted, including any API keys.",
+ "es": "Toda la información guardada en tu configuración de IA será eliminada, incluyendo tus API Keys"
+ },
+ "PROJECT_MENU_DETAILS_PLACEHOLDER$NEW_PROJECT_LABEL": {
+ "en":"New Project",
+ "es":"Nuevo proyecto"
+ },
+ "PROJECT_MENU_DETAILS$AGO_LABEL": {
+ "en":"ago",
+ "es":"atrás"
+ },
"STATUS$ERROR_LLM_AUTHENTICATION": {
"en": "Error authenticating with the LLM provider. Please check your API key"
},