fix: i18n system overhaul and sidebar UI bugs
- Fix LanguageProvider: add RTL support (ar/fa), translation caching, prevent blank flash during load, browser language detection - Fix detect-user-language: extend whitelist from 5 to all 15 languages - Remove hardcoded initialLanguage="fr" from auth layout - Complete fr.json translation (all sections translated from English) - Add missing admin.ai keys to all 13 non-English locales - Translate ai.autoLabels, ai.batchOrganization, memoryEcho sections for all locales - Remove duplicate top-level autoLabels/batchOrganization from en.json - Fix notebook creation: replace window.location.reload() with createNotebookOptimistic + router.refresh() - Fix notebook name truncation in sidebar with min-w-0 - Remove redundant router.refresh() after note creation in page.tsx Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -63,7 +63,13 @@
|
||||
"tagsGenerationProvider": "Proveedor de generación de etiquetas",
|
||||
"title": "Configuración de IA",
|
||||
"updateFailed": "Error al actualizar la configuración de IA",
|
||||
"updateSuccess": "Configuración de IA actualizada correctamente"
|
||||
"updateSuccess": "Configuración de IA actualizada correctamente",
|
||||
"bestValue": "Mejor relación calidad/precio",
|
||||
"bestQuality": "Mejor calidad",
|
||||
"providerOllamaOption": "🦙 Ollama (Local & Free)",
|
||||
"providerOpenAIOption": "🤖 OpenAI (GPT-5, GPT-4)",
|
||||
"providerCustomOption": "🔧 Custom OpenAI-Compatible",
|
||||
"saved": "(Guardado)"
|
||||
},
|
||||
"aiTest": {
|
||||
"description": "Prueba tus proveedores de IA para generación de etiquetas y embeddings de búsqueda semántica",
|
||||
@@ -153,35 +159,36 @@
|
||||
"analyzing": "IA analizando...",
|
||||
"assistant": "Asistente IA",
|
||||
"autoLabels": {
|
||||
"analyzing": "Analizando tus notas para sugerencias de etiquetas...",
|
||||
"create": "Crear",
|
||||
"createNewLabel": "Crear nueva etiqueta",
|
||||
"created": "{count} labels created successfully",
|
||||
"creating": "Creando etiquetas...",
|
||||
"description": "I've detected recurring themes in \"{notebookName}\" ({totalNotes} notes). Create labels for them?",
|
||||
"error": "Failed to fetch label suggestions",
|
||||
"error": "Error al obtener sugerencias de etiquetas",
|
||||
"noLabelsSelected": "No se seleccionaron etiquetas",
|
||||
"created": "{count} etiquetas creadas exitosamente",
|
||||
"analyzing": "Analizando tus notas...",
|
||||
"title": "Nuevas sugerencias de etiquetas",
|
||||
"description": "He detectado temas recurrentes en \"{notebookName}\" ({totalNotes} notas). ¿Crear etiquetas para ellos?",
|
||||
"note": "nota",
|
||||
"notes": "notas",
|
||||
"typeContent": "Escribe contenido para obtener sugerencias de etiquetas...",
|
||||
"createNewLabel": "Crear esta nueva etiqueta y agregarla",
|
||||
"new": "(nuevo)",
|
||||
"noLabelsSelected": "No labels selected",
|
||||
"note": "note",
|
||||
"notes": "notes",
|
||||
"title": "Sugerencias de etiquetas",
|
||||
"typeContent": "Type content to get label suggestions...",
|
||||
"typeForSuggestions": "Escribe para obtener sugerencias"
|
||||
"create": "Crear",
|
||||
"creating": "Creando etiquetas...",
|
||||
"notesCount": "{count} notas",
|
||||
"typeForSuggestions": "Escribe contenido para obtener sugerencias de etiquetas..."
|
||||
},
|
||||
"batchOrganization": {
|
||||
"analyzing": "Analyzing your notes...",
|
||||
"apply": "Apply",
|
||||
"applyFailed": "Error al aplicar",
|
||||
"applying": "Applying...",
|
||||
"description": "La IA analizará tus notas y sugerirá organizarlas en libretas.",
|
||||
"error": "Error al organizar",
|
||||
"noNotebooks": "No notebooks available. Create notebooks first to organize your notes.",
|
||||
"noNotesSelected": "Sin notas seleccionadas",
|
||||
"noSuggestions": "AI could not find a good way to organize these notes.",
|
||||
"selectAllIn": "Seleccionar todo en",
|
||||
"selectNote": "Seleccionar nota",
|
||||
"success": "Organización completada",
|
||||
"title": "Organizar con IA"
|
||||
"title": "Organizar con IA",
|
||||
"description": "La IA analizará tus notas y sugerirá organizarlas en cuadernos.",
|
||||
"analyzing": "Analizando tus notas...",
|
||||
"noNotebooks": "No hay cuadernos disponibles. Crea cuadernos primero para organizar tus notas.",
|
||||
"noSuggestions": "La IA no pudo encontrar una buena manera de organizar estas notas.",
|
||||
"apply": "Aplicar",
|
||||
"applying": "Aplicando...",
|
||||
"success": "{count} notas movidas exitosamente",
|
||||
"error": "Error al crear el plan de organización",
|
||||
"noNotesSelected": "No se seleccionaron notas",
|
||||
"applyFailed": "Error al aplicar el plan de organización",
|
||||
"selectAllIn": "Seleccionar todas las notas en {notebook}",
|
||||
"selectNote": "Seleccionar nota: {title}"
|
||||
},
|
||||
"clarify": "Aclarar",
|
||||
"clickToAddTag": "Haz clic para agregar esta etiqueta",
|
||||
|
||||
Reference in New Issue
Block a user