From 48e6857ef131e95b4505b2c415f347e789f133a4 Mon Sep 17 00:00:00 2001 From: marcoitaloesp-ai Date: Thu, 18 Dec 2025 19:09:28 +0000 Subject: [PATCH] fix: Complete i18n translations for category modals Added missing translations for ES, PT-BR and EN: - categories.selectParent, noKeywords, namePlaceholder, descPlaceholder - categories.visualSettings, autoCategorizationLabel - categories.batchDescription, analyzingTransactions - categories.noMatchesFoundTitle - Improved existing translations for better UX --- frontend/src/i18n/locales/en.json | 27 ++++++++++++++++++--------- frontend/src/i18n/locales/es.json | 27 ++++++++++++++++++--------- frontend/src/i18n/locales/pt-BR.json | 27 ++++++++++++++++++--------- 3 files changed, 54 insertions(+), 27 deletions(-) diff --git a/frontend/src/i18n/locales/en.json b/frontend/src/i18n/locales/en.json index 89dc044..efd3543 100644 --- a/frontend/src/i18n/locales/en.json +++ b/frontend/src/i18n/locales/en.json @@ -321,12 +321,18 @@ "deleteWarning": "All subcategories will also be deleted.", "categoryName": "Category Name", "parentCategory": "Parent Category", - "noParent": "No parent category (root)", + "noParent": "No parent category", + "selectParent": "More categories...", "subcategories": "Subcategories", "keywords": "Keywords", "addKeyword": "Add Keyword", - "keywordPlaceholder": "Type a keyword", - "keywordHelp": "Keywords help automatically categorize transactions", + "keywordPlaceholder": "Type and press Enter...", + "keywordHelp": "E.g.: \"RESTAURANT\", \"PIZZA\" - Transactions with these words are auto-categorized", + "noKeywords": "No keywords. Transactions will be categorized manually.", + "namePlaceholder": "E.g.: Food, Transport...", + "descPlaceholder": "Describe this category...", + "visualSettings": "Appearance", + "autoCategorizationLabel": "Auto-categorization", "types": { "income": "Income", "expense": "Expense", @@ -370,20 +376,23 @@ "expand": "Expand", "collapse": "Collapse", "createSubcategory": "Create Subcategory", - "batchCategorize": "Batch Categorize", + "batchCategorize": "Auto Categorize", + "batchDescription": "Automatically categorize transactions using keywords", + "analyzingTransactions": "Analyzing transactions...", "uncategorized": "Uncategorized", "willCategorize": "Will Be Categorized", - "willSkip": "Will Be Skipped", - "totalKeywords": "Active Keywords", + "willSkip": "No Match", + "totalKeywords": "Keywords", "previewTitle": "Categorization Preview", - "matchedKeyword": "Matched Keyword", - "executeBatch": "Execute Categorization", + "matchedKeyword": "Keyword", + "executeBatch": "Categorize", "batchSuccess": "transactions categorized successfully", "batchError": "Error categorizing transactions", "nothingToCategorize": "No transactions to categorize", "batchPreviewError": "Error loading preview", "previewError": "Error loading preview", - "noMatchesFound": "No transactions match the configured keywords", + "noMatchesFound": "Add keywords to categories to enable auto-categorization", + "noMatchesFoundTitle": "No matches found", "categorized": "categorized", "category": "Category" }, diff --git a/frontend/src/i18n/locales/es.json b/frontend/src/i18n/locales/es.json index cb8c3a9..e101c83 100644 --- a/frontend/src/i18n/locales/es.json +++ b/frontend/src/i18n/locales/es.json @@ -324,12 +324,18 @@ "deleteWarning": "Se eliminarán también todas las subcategorías.", "categoryName": "Nombre de la Categoría", "parentCategory": "Categoría Padre", - "noParent": "Sin categoría padre (raíz)", + "noParent": "Sin categoría padre", + "selectParent": "Más categorías...", "subcategories": "Subcategorías", "keywords": "Palabras Clave", "addKeyword": "Agregar Palabra Clave", - "keywordPlaceholder": "Escribe una palabra clave", - "keywordHelp": "Las palabras clave ayudan a categorizar transacciones automáticamente", + "keywordPlaceholder": "Escribe y presiona Enter...", + "keywordHelp": "Ej: \"RESTAURANTE\", \"PIZZA\" - Transacciones con estas palabras se categorizan automáticamente", + "noKeywords": "Sin palabras clave. Las transacciones se categorizarán manualmente.", + "namePlaceholder": "Ej: Alimentación, Transporte...", + "descPlaceholder": "Describe esta categoría...", + "visualSettings": "Apariencia", + "autoCategorizationLabel": "Auto-categorización", "types": { "income": "Ingreso", "expense": "Gasto", @@ -373,20 +379,23 @@ "expand": "Expandir", "collapse": "Contraer", "createSubcategory": "Crear Subcategoría", - "batchCategorize": "Categorizar en Lote", + "batchCategorize": "Categorización Automática", + "batchDescription": "Categoriza transacciones automáticamente usando palabras clave", + "analyzingTransactions": "Analizando transacciones...", "uncategorized": "Sin Categoría", "willCategorize": "Serán Categorizadas", - "willSkip": "Serán Ignoradas", - "totalKeywords": "Keywords Activas", + "willSkip": "Sin Correspondencia", + "totalKeywords": "Palabras Clave", "previewTitle": "Vista Previa de Categorización", - "matchedKeyword": "Keyword Encontrada", - "executeBatch": "Ejecutar Categorización", + "matchedKeyword": "Keyword", + "executeBatch": "Categorizar", "batchSuccess": "transacciones categorizadas con éxito", "batchError": "Error al categorizar transacciones", "nothingToCategorize": "No hay transacciones para categorizar", "batchPreviewError": "Error al cargar preview", "previewError": "Error al cargar preview", - "noMatchesFound": "Ninguna transacción corresponde a las palabras clave configuradas", + "noMatchesFound": "Añade palabras clave a las categorías para permitir categorización automática", + "noMatchesFoundTitle": "Ninguna correspondencia encontrada", "categorized": "categorizadas", "category": "Categoría" }, diff --git a/frontend/src/i18n/locales/pt-BR.json b/frontend/src/i18n/locales/pt-BR.json index 3d67f87..5af3962 100644 --- a/frontend/src/i18n/locales/pt-BR.json +++ b/frontend/src/i18n/locales/pt-BR.json @@ -326,12 +326,18 @@ "deleteWarning": "Todas as subcategorias também serão excluídas.", "categoryName": "Nome da Categoria", "parentCategory": "Categoria Pai", - "noParent": "Sem categoria pai (raiz)", + "noParent": "Sem categoria pai", + "selectParent": "Mais categorias...", "subcategories": "Subcategorias", "keywords": "Palavras-chave", "addKeyword": "Adicionar Palavra-chave", - "keywordPlaceholder": "Digite uma palavra-chave", - "keywordHelp": "Palavras-chave ajudam a categorizar transações automaticamente", + "keywordPlaceholder": "Digite e pressione Enter...", + "keywordHelp": "Ex: \"RESTAURANTE\", \"PIZZA\" - Transações com essas palavras são categorizadas automaticamente", + "noKeywords": "Sem palavras-chave. Transações serão categorizadas manualmente.", + "namePlaceholder": "Ex: Alimentação, Transporte...", + "descPlaceholder": "Descreva esta categoria...", + "visualSettings": "Aparência", + "autoCategorizationLabel": "Auto-categorização", "types": { "income": "Receita", "expense": "Despesa", @@ -375,20 +381,23 @@ "expand": "Expandir", "collapse": "Recolher", "createSubcategory": "Criar Subcategoria", - "batchCategorize": "Categorizar em Lote", + "batchCategorize": "Categorização Automática", + "batchDescription": "Categorize transações automaticamente usando palavras-chave", + "analyzingTransactions": "Analisando transações...", "uncategorized": "Sem Categoria", "willCategorize": "Serão Categorizadas", - "willSkip": "Serão Ignoradas", - "totalKeywords": "Keywords Ativas", + "willSkip": "Sem Correspondência", + "totalKeywords": "Palavras-chave", "previewTitle": "Prévia da Categorização", - "matchedKeyword": "Keyword Encontrada", - "executeBatch": "Executar Categorização", + "matchedKeyword": "Keyword", + "executeBatch": "Categorizar", "batchSuccess": "transações categorizadas com sucesso", "batchError": "Erro ao categorizar transações", "nothingToCategorize": "Nenhuma transação para categorizar", "batchPreviewError": "Erro ao carregar preview", "previewError": "Erro ao carregar preview", - "noMatchesFound": "Nenhuma transação corresponde às palavras-chave configuradas", + "noMatchesFound": "Adicione palavras-chave às categorias para permitir categorização automática", + "noMatchesFoundTitle": "Nenhuma correspondência encontrada", "categorized": "categorizadas", "category": "Categoria" },