fix: comprehensive i18n — replace hardcoded French/English strings with t() calls
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 1m7s

Replaced ~100+ hardcoded French and English text strings across 30+ components
with proper i18n t() calls. Added 57 new translation keys to all 15 locale files
(ar, de, en, es, fa, fr, hi, it, ja, ko, nl, pl, pt, ru, zh).

Key changes:
- contextual-ai-chat.tsx: 30 French strings → t() (actions, toasts, labels, placeholders)
- ai-chat.tsx: 15 French/English strings → t() (header, tabs, welcome, insights, history)
- note-inline-editor.tsx: 20 French fallbacks removed (toolbar, save status, checklist)
- lab-skeleton.tsx: French loading text → t()
- admin-header.tsx, header.tsx, editor-connections-section.tsx: French fallbacks removed
- New AI chat component, agent cards, sidebar, settings panel i18n cleanup

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-26 21:14:45 +02:00
parent e358171c45
commit 153c921960
60 changed files with 4125 additions and 1677 deletions

View File

@@ -81,7 +81,30 @@
"noModels": "Sin modelos. Haga clic en ↺",
"modelsAvailable": "{count} modelo(s) disponible(s)",
"enterUrlToLoad": "Ingrese la URL y haga clic en ↺",
"currentProvider": "(Actual: {provider})"
"currentProvider": "(Actual: {provider})",
"pageTitle": "Gestión de IA",
"pageDescription": "Monitorear y configurar funciones de IA",
"configure": "Configurar",
"features": "Funciones de IA",
"providerStatus": "Estado de proveedores de IA",
"recentRequests": "Solicitudes de IA recientes",
"comingSoon": "Próximamente",
"activeFeatures": "Funciones activas",
"successRate": "Tasa de éxito",
"avgResponseTime": "Tiempo de respuesta promedio",
"configuredProviders": "Proveedores configurados",
"settingUpdated": "Ajuste actualizado",
"updateFailedShort": "Error al actualizar",
"titleSuggestions": "Sugerencias de título",
"titleSuggestionsDesc": "Sugiere títulos para notas después de 50+ palabras",
"aiAssistant": "Asistente de IA",
"aiAssistantDesc": "Habilitar chat IA y herramientas de mejora",
"memoryEchoFeature": "Noté algo...",
"memoryEchoFeatureDesc": "Análisis diario de conexiones entre tus notas",
"languageDetection": "Detección de idioma",
"languageDetectionDesc": "Detecta automáticamente el idioma de cada nota",
"autoLabeling": "Etiquetado automático",
"autoLabelingDesc": "Sugiere y aplica etiquetas automáticamente"
},
"aiTest": {
"description": "Prueba tus proveedores de IA para generación de etiquetas y embeddings de búsqueda semántica",
@@ -195,7 +218,9 @@
"email": "Correo electrónico",
"name": "Nombre",
"role": "Rol"
}
},
"title": "Usuarios",
"description": "Gestionar usuarios y permisos"
},
"chat": "AI Chat",
"lab": "The Lab",
@@ -231,7 +256,18 @@
"testing": "Probando...",
"testSearch": "Probar búsqueda web"
},
"settingsDescription": "Configurar ajustes de la aplicación"
"settingsDescription": "Configurar ajustes de la aplicación",
"dashboard": {
"title": "Panel de control",
"description": "Resumen de las métricas de la aplicación",
"recentActivity": "Actividad reciente",
"recentActivityPlaceholder": "La actividad reciente se mostrará aquí."
},
"error": {
"title": "Ocurrió un error en la administración",
"description": "Error al renderizar. Puede reintentar.",
"retry": "Reintentar"
}
},
"ai": {
"analyzing": "IA analizando...",
@@ -322,7 +358,57 @@
"translationFailed": "Traducción fallida",
"undo": "Deshacer IA",
"undoAI": "Deshacer transformación de IA",
"undoApplied": "Texto original restaurado"
"undoApplied": "Texto original restaurado",
"minWordsError": "La nota debe contener al menos 5 palabras para usar acciones de IA.",
"genericError": "Error de IA",
"actionError": "Error durante la acción de IA",
"appliedToNote": "Aplicado a la nota",
"applyToNote": "Aplicar a la nota",
"undoLastAction": "Deshacer última acción de IA",
"selectContext": "Seleccionar contexto...",
"selectNotebook": "Seleccionar cuaderno",
"chatPlaceholder": "Pide a la IA que edite, resuma o redacte...",
"assistantTitle": "Asistente IA",
"currentNote": "Nota actual",
"shrinkPanel": "Reducir panel",
"expandPanel": "Expandir panel",
"chatTab": "Chat",
"noteActions": "Acciones de nota",
"askToStart": "Pregúntale algo al Asistente para empezar.",
"contextLabel": "Contexto",
"thisNote": "Esta nota",
"allMyNotes": "Todas mis notas",
"notebookGeneric": "Cuaderno",
"writingTone": "Tono de escritura",
"askAboutThisNote": "Pregunta a la IA sobre esta nota...",
"askAboutYourNotes": "Pregunta a la IA sobre tus notas...",
"webSearchLabel": "Búsqueda web",
"newLineHint": "Shift+Enter = nueva línea",
"resultLabel": "Resultado",
"discardAction": "Descartar",
"transformationsDesc": "Transformaciones — aplicadas directamente a la nota",
"writeMinWordsAction": "Escribe al menos 5 palabras para activar las acciones de IA.",
"processingAction": "Procesando...",
"action": {
"clarify": "Aclarar",
"shorten": "Acortar",
"improve": "Mejorar",
"toMarkdown": "A Markdown"
},
"openAssistant": "Abrir asistente IA",
"poweredByMomento": "Desarrollado por Momento AI",
"welcomeMsg": "¡Hola! Soy tu asistente de IA. ¿Cómo puedo ayudarte con tus notas hoy? Puedo refinar el tono, ampliar mensajes o resumir contenido.",
"summaryLast5": "Resumen de tus últimas 5 notas",
"analyzingProgress": "Analizando...",
"generateInsightsBtn": "Generar Insights",
"newDiscussion": "Nueva conversación",
"noRecentConversations": "Sin conversaciones recientes.",
"discussionContextLabel": "Contexto de discusión",
"webSearchNotConfigured": "Búsqueda web (No configurada)",
"historyTab": "Historial",
"insightsTab": "Insights",
"aiCopilot": "Copiañol IA",
"suggestTitle": "Sugerencia de título por IA"
},
"aiSettings": {
"description": "Configura tus funciones y preferencias impulsadas por IA",
@@ -879,7 +965,12 @@
"viewModeGroup": "Modo de visualización de notas",
"reorderTabs": "Reordenar pestaña",
"modified": "Modificada",
"created": "Creada"
"created": "Creada",
"loading": "Cargando...",
"exportPDF": "Exportar PDF",
"savedStatus": "Guardado",
"dirtyStatus": "Modificado",
"completedLabel": "Completados"
},
"pagination": {
"next": "→",
@@ -971,7 +1062,8 @@
"searchPlaceholder": "Busca en tus notas...",
"searching": "Buscando...",
"semanticInProgress": "Búsqueda semántica en curso...",
"semanticTooltip": "Búsqueda semántica con IA"
"semanticTooltip": "Búsqueda semántica con IA",
"disabledAdmin": "Búsqueda deshabilitada en modo admin"
},
"semanticSearch": {
"exactMatch": "Coincidencia exacta",
@@ -1412,5 +1504,9 @@
"markUndone": "Marcar como no completado",
"todayAt": "Hoy a las {time}",
"tomorrowAt": "Mañana a las {time}"
},
"lab": {
"initializing": "Inicializando espacio",
"loadingIdeas": "Cargando tus ideas..."
}
}