# Translation system for FINA translations = { 'en': { # Navigation 'nav.new_category': 'New Category', 'nav.subscriptions': 'Subscriptions', 'nav.settings': 'Settings', 'nav.logout': 'Logout', # Dashboard 'dashboard.title': 'Dashboard', 'dashboard.metrics': 'Metrics', 'dashboard.total_spent': 'Total Spent', 'dashboard.total_expenses': 'Total Expenses', 'dashboard.view_all': 'View All', 'dashboard.no_categories': 'No categories yet', 'dashboard.create_first': 'Create your first category to start tracking expenses', 'dashboard.monthly_spending': 'Monthly Spending', 'dashboard.monthly_expenses': 'Monthly Expenses', 'dashboard.expenses_by_category': 'Expenses by Category', 'dashboard.category_breakdown': 'Category Breakdown', 'dashboard.all_categories': 'All Categories', 'dashboard.categories_section': 'Categories', # Categories 'category.create': 'Create Category', 'category.edit': 'Edit Category', 'category.view': 'View Category', 'category.name': 'Category Name', 'category.description': 'Description', 'category.color': 'Color', 'category.spent': 'Spent', 'category.expenses': 'Expenses', 'category.delete': 'Delete Category', 'category.add_expense': 'Add Expense', 'category.no_expenses': 'No expenses in this category yet', # Expenses 'expense.create': 'Create Expense', 'expense.edit': 'Edit Expense', 'expense.amount': 'Amount', 'expense.date': 'Date', 'expense.description': 'Description', 'expense.receipt': 'Receipt', 'expense.upload_receipt': 'Upload Receipt', 'expense.tags': 'Tags', 'expense.delete': 'Delete Expense', 'expense.view_receipt': 'View Receipt', # Authentication 'auth.login': 'Login', 'auth.register': 'Register', 'auth.logout': 'Logout', 'auth.username': 'Username', 'auth.email': 'Email', 'auth.password': 'Password', 'auth.confirm_password': 'Confirm Password', 'auth.remember_me': 'Remember Me', 'auth.forgot_password': 'Forgot Password?', 'auth.no_account': "Don't have an account?", 'auth.have_account': 'Already have an account?', 'auth.sign_in': 'Sign In', 'auth.sign_up': 'Sign Up', 'auth.welcome_back': 'Welcome back!', 'auth.create_account': 'Create your account', 'auth.verify_2fa': 'Verify Two-Factor Authentication', 'auth.enter_code': 'Enter the 6-digit code from your authenticator app', 'auth.verification_code': 'Verification Code', 'auth.verify': 'Verify', # Settings 'settings.title': 'Settings', 'settings.profile': 'Profile', 'settings.security': 'Security', 'settings.users': 'User Management', 'settings.import_export': 'Import/Export', 'settings.language': 'Language', 'settings.currency': 'Currency', 'settings.save': 'Save Changes', 'settings.cancel': 'Cancel', 'settings.edit_profile': 'Edit Profile', 'settings.setup_2fa': 'Setup Two-Factor Authentication', 'settings.disable_2fa': 'Disable 2FA', 'settings.enable_2fa': 'Enable 2FA', 'settings.create_user': 'Create User', 'settings.edit_user': 'Edit User', 'settings.create_tag': 'Create Tag', 'settings.export_data': 'Export Data', 'settings.import_data': 'Import Data', 'settings.tags': 'Tags', 'settings.profile_settings': 'Profile Settings', 'settings.username': 'Username', 'settings.email': 'Email', 'settings.new_password': 'New Password (leave blank to keep current)', 'settings.new_password_placeholder': 'Enter new password', 'settings.2fa_title': 'Two-Factor Authentication (2FA)', 'settings.2fa_enabled': '2FA is currently enabled on your account.', 'settings.2fa_enabled_desc': 'Your account is protected with an additional layer of security.', 'settings.2fa_disabled': '2FA is currently disabled.', 'settings.2fa_disabled_desc': 'Enable 2FA to add an extra layer of security to your account.', 'settings.2fa_what_is': 'What is 2FA?', 'settings.2fa_what_is_desc': 'Two-Factor Authentication adds an extra layer of security by requiring a code from your phone in addition to your password when logging in.', 'settings.2fa_disable_confirm': 'Are you sure you want to disable 2FA?', 'settings.manage_tags': 'Manage Tags', 'settings.create_tag_btn': 'Create Tag', 'settings.delete_tag_confirm': 'Delete tag {name}?', 'settings.export_title': 'Export Data', 'settings.export_desc': 'Download all your expenses as CSV file', 'settings.export_btn': 'Export to CSV', 'settings.import_title': 'Import Data', 'settings.import_desc': 'Import expenses from CSV file. Format: Category, Description, Amount, Date (YYYY-MM-DD), Paid By, Tags', 'settings.import_file_label': 'CSV File', 'settings.import_btn': 'Import CSV', 'settings.users_title': 'User Management', 'settings.create_user_btn': 'Create User', 'settings.table_username': 'Username', 'settings.table_email': 'Email', 'settings.table_role': 'Role', 'settings.table_currency': 'Currency', 'settings.table_2fa': '2FA', 'settings.table_actions': 'Actions', 'settings.role_admin': 'Admin', 'settings.role_user': 'User', 'settings.2fa_status_enabled': 'Enabled', 'settings.2fa_status_disabled': 'Disabled', 'settings.delete_user_confirm': 'Delete user {name}?', 'settings.no_users': 'No users found', # Common 'common.save': 'Save', 'common.cancel': 'Cancel', 'common.delete': 'Delete', 'common.edit': 'Edit', 'common.view': 'View', 'common.back': 'Back', 'common.search': 'Search', 'common.filter': 'Filter', 'common.all': 'All', 'common.select': 'Select', 'common.yes': 'Yes', 'common.no': 'No', 'common.loading': 'Loading...', 'common.error': 'Error', # Subscriptions 'subscription.title': 'Subscriptions', 'subscription.today': 'Today', 'subscription.tomorrow': 'Tomorrow', 'subscription.days': 'days', 'subscription.no_upcoming': 'No upcoming payments in the next 30 days', 'subscription.add': 'Add Subscription', 'subscription.add_manual': 'Add Manually', 'subscription.detect': 'Detect Recurring', 'subscription.name': 'Subscription Name', 'subscription.frequency': 'Frequency', 'subscription.freq_weekly': 'Weekly', 'subscription.freq_biweekly': 'Bi-weekly', 'subscription.freq_monthly': 'Monthly', 'subscription.freq_quarterly': 'Quarterly', 'subscription.freq_yearly': 'Yearly', 'subscription.freq_custom': 'Custom', 'subscription.active': 'Active Subscriptions', 'subscription.active_list': 'Your Subscriptions', 'subscription.monthly_cost': 'Monthly Cost', 'subscription.yearly_cost': 'Yearly Cost', 'subscription.annual': 'Annual', 'subscription.next_payment': 'Next Payment', 'subscription.suggestions': 'Smart Suggestions', 'subscription.suggestions_desc': 'We detected these recurring patterns in your expenses', 'subscription.confidence': 'Confidence', 'subscription.occurrences': 'Occurrences', 'subscription.times': 'times', 'subscription.period': 'Period', 'subscription.accept': 'Accept', 'subscription.dismiss': 'Dismiss', 'subscription.delete_confirm': 'Are you sure you want to delete this subscription?', 'subscription.no_subscriptions': 'No Subscriptions Yet', 'subscription.no_subscriptions_desc': 'Track your recurring expenses automatically or add them manually', 'subscription.notes': 'Notes', 'subscription.notes_placeholder': 'Add any notes about this subscription...', 'subscription.custom_interval': 'Repeat Every (Days)', 'subscription.custom_interval_desc': 'Enter number of days between occurrences', 'subscription.start_date': 'Start Date', 'subscription.start_date_desc': 'First payment date', 'subscription.end_date': 'End Date', 'subscription.end_date_desc': 'Leave blank for ongoing subscription', 'subscription.total_occurrences': 'Total Payments', 'subscription.total_occurrences_desc': 'Limit number of payments (optional)', 'subscription.occurrences_remaining': 'Remaining', 'subscription.auto_create': 'Auto-Create Expenses', 'subscription.auto_create_desc': 'Automatically add expense when payment is due', 'subscription.auto_create_tooltip': 'Expenses will be created automatically on due date', 'subscription.create_due': 'Create Due Expenses', 'subscription.auto': 'AUTO', 'subscription.every': 'Every', 'common.optional': 'Optional', 'common.success': 'Success', 'common.warning': 'Warning', 'common.info': 'Info', # Budget Alerts 'budget.title': 'Budget Management', 'budget.monthly_limit': 'Monthly Budget Limit', 'budget.monthly_limit_desc': 'Set a spending limit for this category', 'budget.alert_threshold': 'Alert Threshold', 'budget.alert_threshold_desc': 'Get notified when spending reaches this percentage (50-200%)', 'budget.current_month': 'Current Month', 'budget.spent': 'Spent', 'budget.budget': 'Budget', 'budget.remaining': 'Remaining', 'budget.alert_settings': 'Budget Alert Settings', 'budget.enable_alerts': 'Enable budget alert emails', 'budget.enable_alerts_desc': 'Receive email notifications when you exceed budget limits', 'budget.alert_email': 'Alert Email', 'budget.alert_email_desc': 'Use different email for alerts (defaults to account email)', 'budget.over_budget': 'Over Budget', 'budget.within_budget': 'Within Budget', 'budget.percentage_used': '% Used', # Empty States 'empty.welcome_title': 'Welcome to FINA!', 'empty.welcome_message': 'Create your first category to start tracking expenses', 'empty.create_category': 'Create Category', 'empty.no_expenses_title': 'No expenses yet', 'empty.no_expenses_message': 'Start tracking by adding your first expense', 'empty.add_expense': 'Add Expense', 'empty.no_tags_title': 'No tags yet', 'empty.no_tags_message': 'Create your first tag!', # Messages 'message.category_created': 'Category created successfully', 'message.category_updated': 'Category updated successfully', 'message.category_deleted': 'Category deleted successfully', 'message.expense_created': 'Expense added successfully', 'message.expense_updated': 'Expense updated successfully', 'message.expense_deleted': 'Expense deleted successfully', 'message.login_success': 'Logged in successfully', 'message.logout_success': 'Logged out successfully', 'message.register_success': 'Account created successfully', 'message.profile_updated': 'Profile updated successfully', 'message.settings_updated': 'Settings updated successfully', # Months 'month.january': 'January', 'month.february': 'February', 'month.march': 'March', 'month.april': 'April', 'month.may': 'May', 'month.june': 'June', 'month.july': 'July', 'month.august': 'August', 'month.september': 'September', 'month.october': 'October', 'month.november': 'November', 'month.december': 'December', # PWA 'pwa.install': 'Install', 'pwa.not_now': 'Not Now', 'pwa.install_title': 'Install FINA', 'pwa.install_description': 'Install our app for quick access and offline support', 'pwa.connection_restored': 'Connection restored', 'pwa.offline': 'You are offline. Some features may be limited.', # OCR 'ocr.take_photo': 'Take Photo', 'ocr.processing': 'Processing receipt...', 'ocr.ai_extraction': 'AI will extract amount, date, and merchant', 'ocr.detected': 'AI Detected', 'ocr.use_this': 'Use This', 'ocr.merchant': 'Merchant', 'ocr.confidence': 'Confidence', 'ocr.failed': 'Could not extract data from receipt', 'ocr.error': 'OCR Error', 'expense.receipt_hint': 'Supports: JPG, PNG, PDF', # Search 'search.title': 'Search', 'search.subtitle': 'Search expenses, categories, subscriptions, and more', 'search.placeholder': 'Search by description, amount, date, tags...', 'search.button': 'Search', 'search.quick_search': 'Quick search...', 'search.results_for': 'Results for', 'search.results_found': 'results found', 'search.no_results': 'No results found', 'search.no_results_message': 'Try different keywords or search terms', 'search.expenses': 'Expenses', 'search.categories': 'Categories', 'search.subscriptions': 'Subscriptions', 'search.tags': 'Tags', 'search.expenses_count': 'expenses', 'search.inactive': 'Inactive', 'search.welcome_title': 'Search anything', 'search.welcome_message': 'Quickly find expenses by description, amount, date, category, merchant, or tags. Works with numbers, dates, and text.', 'search.examples_title': 'Try these examples:', 'search.tip_spelling': 'Check your spelling of keywords', 'search.tip_keywords': 'Try different keywords or more general terms', 'search.tip_date': 'For dates use format: YYYY-MM-DD or DD/MM/YYYY', 'search.tip_amount': 'For amounts use numbers: 45.99 or 45', # Predictions 'predictions.title': 'Spending Predictions', 'predictions.subtitle': 'AI-powered forecasts based on your spending history', 'predictions.next_months': 'Next {n} Months', 'predictions.total_predicted': 'Total Predicted', 'predictions.confidence': 'Confidence', 'predictions.confidence_high': 'High', 'predictions.confidence_medium': 'Medium', 'predictions.confidence_low': 'Low', 'predictions.trend': 'Trend', 'predictions.trend_increasing': 'Increasing', 'predictions.trend_decreasing': 'Decreasing', 'predictions.trend_stable': 'Stable', 'predictions.insights': 'Smart Insights', 'predictions.forecast': 'Spending Forecast', 'predictions.by_category': 'By Category', 'predictions.based_on': 'Based on {n} months of data', 'predictions.no_data': 'Not enough spending history for accurate predictions', 'predictions.no_data_desc': 'Add more expenses to see AI-powered predictions', 'predictions.chart.title': 'Predicted vs Historical', 'predictions.month': 'Month', 'predictions.amount': 'Amount', 'predictions.view_details': 'View Details', 'predictions.methodology': 'How we calculate', 'predictions.methodology_desc': 'Our predictions use weighted averages, trend analysis, and seasonal adjustments to forecast your future spending with high accuracy.', # Bank Import 'bank.import_title': 'Bank Statement Import', 'bank.import_subtitle': 'Upload your bank statement (PDF or CSV) to automatically import transactions', 'bank.upload_file': 'Upload Bank Statement', 'bank.select_file': 'Select File', 'bank.drag_drop': 'Drag and drop your file here', 'bank.or_click': 'or click to browse', 'bank.browse_files': 'Browse Files', 'bank.remove': 'Remove', 'bank.supported_formats': 'Supported Formats', 'bank.format_pdf': 'PDF - Bank statements from most banks', 'bank.format_csv': 'CSV - Exported transaction history', 'bank.format_hint': 'Files must be less than 10MB. The system will automatically detect your bank format.', 'bank.upload_parse': 'Upload and Parse', 'bank.processing': 'Processing', 'bank.how_it_works': 'How It Works', 'bank.step_1': 'Download your bank statement from your online banking portal', 'bank.step_2': 'Upload the PDF or CSV file using the form above', 'bank.step_3': 'Review the automatically extracted transactions', 'bank.step_4': 'Map transactions to your expense categories', 'bank.step_5': 'Confirm to import selected transactions', 'bank.supported_banks': 'Supported Banks', 'bank.romania': 'Romania', 'bank.international': 'International', 'bank.generic': 'Generic Formats', 'bank.generic_pdf': 'Any PDF statement with standard format', 'bank.generic_csv': 'Standard CSV with date, description, amount', 'bank.review_title': 'Review Transactions', 'bank.review_subtitle': 'Review and select transactions to import', 'bank.transactions_found': 'Transactions Found', 'bank.detected_format': 'Detected Format', 'bank.selected': 'Selected', 'bank.unmapped': 'Without Category', 'bank.parse_warnings': 'Parsing Warnings', 'bank.select_all': 'Select All', 'bank.select_expenses': 'Select Expenses Only', 'bank.select_income': 'Select Income Only', 'bank.transactions_to_import': 'Transactions to Import', 'bank.date': 'Date', 'bank.description': 'Description', 'bank.amount': 'Amount', 'bank.type': 'Type', 'bank.category': 'Category', 'bank.expense': 'Expense', 'bank.income': 'Income', 'bank.select_category': '-- Select Category --', 'bank.back': 'Back to Upload', 'bank.import_selected': 'Import Selected Transactions', 'bank.importing': 'Importing', 'bank.no_transactions_selected': 'Please select at least one transaction to import.', 'bank.confirm_unmapped': '{count} selected transactions do not have a category assigned. They will be skipped. Continue?', 'bank.not_all_banks_supported': 'Not all banks are supported. The system will attempt to automatically detect and parse your statement format. If parsing fails, try exporting as CSV with columns: Date, Description, Amount.', 'bank.format_not_recognized': 'Bank Format Not Recognized', 'bank.format_not_recognized_hint': 'We could not detect your specific bank format. The system extracted transactions using generic patterns. Please review carefully and verify all transactions are correct before importing.', }, 'ro': { # Navigation 'nav.new_category': 'Categorie Nouă', 'nav.subscriptions': 'Abonamente', 'nav.settings': 'Setări', 'nav.logout': 'Deconectare', # Dashboard 'dashboard.title': 'Panou de Control', 'dashboard.metrics': 'Statistici', 'dashboard.total_spent': 'Total Cheltuit', 'dashboard.total_expenses': 'Total Cheltuieli', 'dashboard.view_all': 'Vezi Tot', 'dashboard.no_categories': 'Nu există categorii încă', 'dashboard.create_first': 'Creează prima categorie pentru a începe urmărirea cheltuielilor', 'dashboard.monthly_spending': 'Cheltuieli Lunare', 'dashboard.monthly_expenses': 'Cheltuieli Lunare', 'dashboard.expenses_by_category': 'Cheltuieli pe Categorie', 'dashboard.category_breakdown': 'Defalcare pe Categorii', 'dashboard.all_categories': 'Toate Categoriile', 'dashboard.categories_section': 'Categorii', # Categories 'category.create': 'Creare Categorie', 'category.edit': 'Editare Categorie', 'category.view': 'Vizualizare Categorie', 'category.name': 'Nume Categorie', 'category.description': 'Descriere', 'category.color': 'Culoare', 'category.spent': 'Cheltuit', 'category.expenses': 'Cheltuieli', 'category.delete': 'Șterge Categoria', 'category.add_expense': 'Adaugă Cheltuială', 'category.no_expenses': 'Nu există cheltuieli în această categorie încă', # Expenses 'expense.create': 'Adaugă Cheltuială', 'expense.edit': 'Editare Cheltuială', 'expense.amount': 'Sumă', 'expense.date': 'Dată', 'expense.description': 'Descriere', 'expense.receipt': 'Bon', 'expense.upload_receipt': 'Încarcă Bon', 'expense.tags': 'Etichete', 'expense.delete': 'Șterge Cheltuiala', 'expense.view_receipt': 'Vezi Bonul', # Authentication 'auth.login': 'Autentificare', 'auth.register': 'Înregistrare', 'auth.logout': 'Deconectare', 'auth.username': 'Nume Utilizator', 'auth.email': 'Email', 'auth.password': 'Parolă', 'auth.confirm_password': 'Confirmă Parola', 'auth.remember_me': 'Ține-mă Minte', 'auth.forgot_password': 'Ai uitat parola?', 'auth.no_account': 'Nu ai cont?', 'auth.have_account': 'Ai deja cont?', 'auth.sign_in': 'Autentifică-te', 'auth.sign_up': 'Înregistrează-te', 'auth.welcome_back': 'Bine ai revenit!', 'auth.create_account': 'Creează-ți contul', 'auth.verify_2fa': 'Verificare Autentificare cu Doi Factori', 'auth.enter_code': 'Introdu codul de 6 cifre din aplicația de autentificare', 'auth.verification_code': 'Cod de Verificare', 'auth.verify': 'Verifică', # Settings 'settings.title': 'Setări', 'settings.profile': 'Profil', 'settings.security': 'Securitate', 'settings.users': 'Gestionare Utilizatori', 'settings.import_export': 'Import/Export', 'settings.language': 'Limbă', 'settings.currency': 'Monedă', 'settings.save': 'Salvează Modificările', 'settings.cancel': 'Anulează', 'settings.edit_profile': 'Editează Profilul', 'settings.setup_2fa': 'Configurare Autentificare cu Doi Factori', 'settings.disable_2fa': 'Dezactivează 2FA', 'settings.enable_2fa': 'Activează 2FA', 'settings.create_user': 'Creează Utilizator', 'settings.edit_user': 'Editează Utilizator', 'settings.create_tag': 'Creează Etichetă', 'settings.export_data': 'Exportă Date', 'settings.import_data': 'Importă Date', 'settings.tags': 'Etichete', 'settings.profile_settings': 'Setări Profil', 'settings.username': 'Nume utilizator', 'settings.email': 'Email', 'settings.new_password': 'Parolă Nouă (lasă gol pentru a păstra actuala)', 'settings.new_password_placeholder': 'Introdu parolă nouă', 'settings.2fa_title': 'Autentificare cu Doi Factori (2FA)', 'settings.2fa_enabled': '2FA este activat în cont.', 'settings.2fa_enabled_desc': 'Contul tău este protejat cu un nivel suplimentar de securitate.', 'settings.2fa_disabled': '2FA este dezactivat momentan.', 'settings.2fa_disabled_desc': 'Activează 2FA pentru a adăuga un nivel suplimentar de securitate contului tău.', 'settings.2fa_what_is': 'Ce este 2FA?', 'settings.2fa_what_is_desc': 'Autentificarea cu Doi Factori adaugă un nivel suplimentar de securitate solicitând un cod de pe telefon pe lângă parolă la autentificare.', 'settings.2fa_disable_confirm': 'Ești sigur că vrei să dezactivezi 2FA?', 'settings.manage_tags': 'Gestionează Etichete', 'settings.create_tag_btn': 'Creează Etichetă', 'settings.delete_tag_confirm': 'Șterge eticheta {name}?', 'settings.export_title': 'Exportă Date', 'settings.export_desc': 'Descarcă toate cheltuielile ca fișier CSV', 'settings.export_btn': 'Exportă în CSV', 'settings.import_title': 'Importă Date', 'settings.import_desc': 'Importă cheltuieli din fișier CSV. Format: Categorie, Descriere, Sumă, Dată (YYYY-MM-DD), Plătit De, Etichete', 'settings.import_file_label': 'Fișier CSV', 'settings.import_btn': 'Importă CSV', 'settings.users_title': 'Gestionare Utilizatori', 'settings.create_user_btn': 'Creează Utilizator', 'settings.table_username': 'Nume utilizator', 'settings.table_email': 'Email', 'settings.table_role': 'Rol', 'settings.table_currency': 'Monedă', 'settings.table_2fa': '2FA', 'settings.table_actions': 'Acțiuni', 'settings.role_admin': 'Administrator', 'settings.role_user': 'Utilizator', 'settings.2fa_status_enabled': 'Activat', 'settings.2fa_status_disabled': 'Dezactivat', 'settings.delete_user_confirm': 'Șterge utilizatorul {name}?', 'settings.no_users': 'Niciun utilizator găsit', # Common 'common.save': 'Salvează', 'common.cancel': 'Anulează', 'common.delete': 'Șterge', 'common.edit': 'Editează', 'common.view': 'Vezi', 'common.back': 'Înapoi', 'common.search': 'Caută', 'common.filter': 'Filtrează', 'common.all': 'Toate', 'common.select': 'Selectează', 'common.yes': 'Da', 'common.no': 'Nu', 'common.loading': 'Se încarcă...', 'common.error': 'Eroare', 'common.success': 'Succes', 'common.warning': 'Avertisment', 'common.info': 'Informație', # Subscriptions 'subscription.title': 'Abonamente', 'subscription.today': 'Astăzi', 'subscription.tomorrow': 'Mâine', 'subscription.days': 'zile', 'subscription.no_upcoming': 'Nicio plată în următoarele 30 de zile', 'subscription.add': 'Adaugă Abonament', 'subscription.add_manual': 'Adaugă Manual', 'subscription.detect': 'Detectează Recurente', 'subscription.name': 'Nume Abonament', 'subscription.frequency': 'Frecvență', 'subscription.freq_weekly': 'Săptămânal', 'subscription.freq_biweekly': 'Bisăptămânal', 'subscription.freq_monthly': 'Lunar', 'subscription.freq_quarterly': 'Trimestrial', 'subscription.freq_yearly': 'Anual', 'subscription.active': 'Abonamente Active', 'subscription.active_list': 'Abonamentele Tale', 'subscription.monthly_cost': 'Cost Lunar', 'subscription.yearly_cost': 'Cost Anual', 'subscription.annual': 'Anual', 'subscription.next_payment': 'Următoarea Plată', 'subscription.suggestions': 'Sugestii Inteligente', 'subscription.suggestions_desc': 'Am detectat aceste tipare recurente în cheltuielile tale', 'subscription.confidence': 'Încredere', 'subscription.occurrences': 'Apariții', 'subscription.times': 'ori', 'subscription.period': 'Perioadă', 'subscription.accept': 'Acceptă', 'subscription.dismiss': 'Respinge', 'subscription.delete_confirm': 'Sigur vrei să ștergi acest abonament?', 'subscription.no_subscriptions': 'Niciun Abonament Încă', 'subscription.no_subscriptions_desc': 'Urmărește cheltuielile recurente automat sau adaugă-le manual', 'subscription.notes': 'Notițe', 'subscription.notes_placeholder': 'Adaugă notițe despre acest abonament...', 'subscription.freq_custom': 'Personalizat', 'subscription.custom_interval': 'Repetă la fiecare (Zile)', 'subscription.custom_interval_desc': 'Introdu numărul de zile între apariții', 'subscription.start_date': 'Data de început', 'subscription.start_date_desc': 'Data primei plăți', 'subscription.end_date': 'Data de sfârșit', 'subscription.end_date_desc': 'Lasă gol pentru abonament continuu', 'subscription.total_occurrences': 'Plăți totale', 'subscription.total_occurrences_desc': 'Limitează numărul de plăți (opțional)', 'subscription.occurrences_remaining': 'Rămase', 'subscription.auto_create': 'Creare automată cheltuieli', 'subscription.auto_create_desc': 'Adaugă cheltuiala automat când plata este scadentă', 'subscription.auto_create_tooltip': 'Cheltuielile vor fi create automat la data scadentă', 'subscription.create_due': 'Creează cheltuieli scadente', 'subscription.auto': 'AUTO', 'subscription.every': 'La fiecare', 'subscription.days': 'zile', 'subscription.times': 'ori', 'common.optional': 'Opțional', # Budget Alerts 'budget.title': 'Gestionare Buget', 'budget.monthly_limit': 'Limită Buget Lunar', 'budget.monthly_limit_desc': 'Setează o limită de cheltuieli pentru această categorie', 'budget.alert_threshold': 'Prag Alertă', 'budget.alert_threshold_desc': 'Primește notificări când cheltuielile ajung la acest procent (50-200%)', 'budget.current_month': 'Luna Curentă', 'budget.spent': 'Cheltuit', 'budget.budget': 'Buget', 'budget.remaining': 'Rămas', 'budget.alert_settings': 'Setări Alerte Buget', 'budget.enable_alerts': 'Activează alerte email pentru buget', 'budget.enable_alerts_desc': 'Primește notificări email când depășești limitele bugetului', 'budget.alert_email': 'Email Alertă', 'budget.alert_email_desc': 'Folosește email diferit pentru alerte (implicit emailul contului)', 'budget.over_budget': 'Peste Buget', 'budget.within_budget': 'În Limite', 'budget.percentage_used': '% Folosit', # Empty States 'empty.welcome_title': 'Bun venit la FINA!', 'empty.welcome_message': 'Creează prima ta categorie pentru a începe să urmărești cheltuielile', 'empty.create_category': 'Creează Categorie', 'empty.no_expenses_title': 'Nicio cheltuială încă', 'empty.no_expenses_message': 'Începe urmărirea adăugând prima ta cheltuială', 'empty.add_expense': 'Adaugă Cheltuială', 'empty.no_tags_title': 'Nicio etichetă încă', 'empty.no_tags_message': 'Creează prima ta etichetă!', # Messages 'message.category_created': 'Categorie creată cu succes', 'message.category_updated': 'Categorie actualizată cu succes', 'message.category_deleted': 'Categorie ștearsă cu succes', 'message.expense_created': 'Cheltuială adăugată cu succes', 'message.expense_updated': 'Cheltuială actualizată cu succes', 'message.expense_deleted': 'Cheltuială ștearsă cu succes', 'message.login_success': 'Autentificat cu succes', 'message.logout_success': 'Deconectat cu succes', 'message.register_success': 'Cont creat cu succes', 'message.profile_updated': 'Profil actualizat cu succes', 'message.settings_updated': 'Setări actualizate cu succes', # Months 'month.january': 'Ianuarie', 'month.february': 'Februarie', 'month.march': 'Martie', 'month.april': 'Aprilie', 'month.may': 'Mai', 'month.june': 'Iunie', 'month.july': 'Iulie', 'month.august': 'August', 'month.september': 'Septembrie', 'month.october': 'Octombrie', 'month.november': 'Noiembrie', 'month.december': 'Decembrie', # PWA 'pwa.install': 'Instalează', 'pwa.not_now': 'Nu Acum', 'pwa.install_title': 'Instalează FINA', 'pwa.install_description': 'Instalează aplicația pentru acces rapid și suport offline', 'pwa.connection_restored': 'Conexiune restabilită', 'pwa.offline': 'Ești offline. Unele funcții pot fi limitate.', # OCR 'ocr.take_photo': 'Fă Poză', 'ocr.processing': 'Procesează bon...', 'ocr.ai_extraction': 'AI va extrage suma, data și magazinul', 'ocr.detected': 'AI a Detectat', 'ocr.use_this': 'Folosește', 'ocr.merchant': 'Magazin', 'ocr.confidence': 'Încredere', 'ocr.failed': 'Nu s-au putut extrage date din bon', 'ocr.error': 'Eroare OCR', 'expense.receipt_hint': 'Suportă: JPG, PNG, PDF', # Search 'search.title': 'Căutare', 'search.subtitle': 'Caută în cheltuieli, categorii, abonamente și altele', 'search.placeholder': 'Caută după descriere, sumă, dată, etichete...', 'search.button': 'Caută', 'search.quick_search': 'Căutare rapidă...', 'search.results_for': 'Rezultate pentru', 'search.results_found': 'rezultate găsite', 'search.no_results': 'Nu s-au găsit rezultate', 'search.no_results_message': 'Încearcă cu alte cuvinte cheie sau termeni de căutare', 'search.expenses': 'Cheltuieli', 'search.categories': 'Categorii', 'search.subscriptions': 'Abonamente', 'search.tags': 'Etichete', 'search.expenses_count': 'cheltuieli', 'search.inactive': 'Inactiv', 'search.welcome_title': 'Caută orice', 'search.welcome_message': 'Găsește rapid cheltuieli după descriere, sumă, dată, categorie, comerciant sau etichete. Funcționează cu numere, date și text.', 'search.examples_title': 'Încearcă aceste exemple:', 'search.tip_spelling': 'Verifică ortografia cuvintelor cheie', 'search.tip_keywords': 'Încearcă cu alte cuvinte cheie sau termeni mai generali', 'search.tip_date': 'Pentru date folosește formatul: YYYY-MM-DD sau DD/MM/YYYY', 'search.tip_amount': 'Pentru sume folosește numere: 45.99 sau 45', # Predictions 'predictions.title': 'Predicții de Cheltuieli', 'predictions.subtitle': 'Prognoze bazate pe inteligență artificială din istoricul cheltuielilor', 'predictions.next_months': 'Următoarele {n} Luni', 'predictions.total_predicted': 'Total Prezis', 'predictions.confidence': 'Încredere', 'predictions.confidence_high': 'Mare', 'predictions.confidence_medium': 'Medie', 'predictions.confidence_low': 'Scăzută', 'predictions.trend': 'Tendință', 'predictions.trend_increasing': 'Crește', 'predictions.trend_decreasing': 'Scade', 'predictions.trend_stable': 'Stabilă', 'predictions.insights': 'Perspective Inteligente', 'predictions.forecast': 'Prognoză Cheltuieli', 'predictions.by_category': 'Pe Categorii', 'predictions.based_on': 'Bazat pe {n} luni de date', 'predictions.no_data': 'Istoric insuficient pentru predicții precise', 'predictions.no_data_desc': 'Adaugă mai multe cheltuieli pentru a vedea predicții AI', 'predictions.chart.title': 'Prezis vs Istoric', 'predictions.month': 'Luna', 'predictions.amount': 'Sumă', 'predictions.view_details': 'Vezi Detalii', 'predictions.methodology': 'Cum calculăm', 'predictions.methodology_desc': 'Predicțiile noastre folosesc medii ponderate, analiza tendințelor și ajustări sezoniere pentru a prognoza cheltuielile viitoare cu acuratețe ridicată.', # Bank Import 'bank.import_title': 'Import Extras Bancar', 'bank.import_subtitle': 'Încarcă extractul tău bancar (PDF sau CSV) pentru a importa automat tranzacțiile', 'bank.upload_file': 'Încarcă Extras Bancar', 'bank.select_file': 'Selectează Fișier', 'bank.drag_drop': 'Trage și plasează fișierul aici', 'bank.or_click': 'sau click pentru a naviga', 'bank.browse_files': 'Răsfoiește Fișiere', 'bank.remove': 'Elimină', 'bank.supported_formats': 'Formate Suportate', 'bank.format_pdf': 'PDF - Extrase bancare de la majoritatea băncilor', 'bank.format_csv': 'CSV - Istoric tranzacții exportat', 'bank.format_hint': 'Fișierele trebuie să fie sub 10MB. Sistemul va detecta automat formatul băncii tale.', 'bank.upload_parse': 'Încarcă și Procesează', 'bank.processing': 'Se procesează', 'bank.how_it_works': 'Cum Funcționează', 'bank.step_1': 'Descarcă extractul bancar de pe portalul tău online banking', 'bank.step_2': 'Încarcă fișierul PDF sau CSV folosind formularul de mai sus', 'bank.step_3': 'Verifică tranzacțiile extrase automat', 'bank.step_4': 'Asociază tranzacțiile cu categoriile tale de cheltuieli', 'bank.step_5': 'Confirmă pentru a importa tranzacțiile selectate', 'bank.supported_banks': 'Bănci Suportate', 'bank.romania': 'România', 'bank.international': 'Internațional', 'bank.generic': 'Formate Generice', 'bank.generic_pdf': 'Orice PDF cu format standard', 'bank.generic_csv': 'CSV standard cu dată, descriere, sumă', 'bank.review_title': 'Verifică Tranzacțiile', 'bank.review_subtitle': 'Verifică și selectează tranzacțiile de importat', 'bank.transactions_found': 'Tranzacții Găsite', 'bank.detected_format': 'Format Detectat', 'bank.selected': 'Selectate', 'bank.unmapped': 'Fără Categorie', 'bank.parse_warnings': 'Avertismente Procesare', 'bank.select_all': 'Selectează Tot', 'bank.select_expenses': 'Selectează Doar Cheltuieli', 'bank.select_income': 'Selectează Doar Venituri', 'bank.transactions_to_import': 'Tranzacții de Importat', 'bank.date': 'Dată', 'bank.description': 'Descriere', 'bank.amount': 'Sumă', 'bank.type': 'Tip', 'bank.category': 'Categorie', 'bank.expense': 'Cheltuială', 'bank.income': 'Venit', 'bank.select_category': '-- Selectează Categorie --', 'bank.back': 'Înapoi la Încărcare', 'bank.import_selected': 'Importă Tranzacțiile Selectate', 'bank.importing': 'Se importă', 'bank.no_transactions_selected': 'Te rog selectează cel puțin o tranzacție pentru import.', 'bank.confirm_unmapped': '{count} tranzacții selectate nu au o categorie asociată. Vor fi sărite. Continui?', 'bank.not_all_banks_supported': 'Nu toate băncile sunt suportate. Sistemul va încerca să detecteze și să proceseze automat formatul extractului tău. Dacă procesarea eșuează, încearcă să exporți ca CSV cu coloanele: Dată, Descriere, Sumă.', 'bank.format_not_recognized': 'Format Bancă Nerecunoscut', 'bank.format_not_recognized_hint': 'Nu am putut detecta formatul specific al băncii tale. Sistemul a extras tranzacțiile folosind șabloane generice. Te rugăm să verifici cu atenție și să validezi toate tranzacțiile înainte de import.', }, 'es': { # Navigation 'nav.new_category': 'Nueva Categoría', 'nav.subscriptions': 'Suscripciones', 'nav.settings': 'Configuración', 'nav.logout': 'Cerrar Sesión', # Dashboard 'dashboard.title': 'Panel de Control', 'dashboard.metrics': 'Métricas', 'dashboard.total_spent': 'Total Gastado', 'dashboard.total_expenses': 'Total de Gastos', 'dashboard.view_all': 'Ver Todo', 'dashboard.no_categories': 'No hay categorías todavía', 'dashboard.create_first': 'Crea tu primera categoría para comenzar a rastrear gastos', 'dashboard.monthly_spending': 'Gastos Mensuales', 'dashboard.monthly_expenses': 'Gastos Mensuales', 'dashboard.expenses_by_category': 'Gastos por Categoría', 'dashboard.category_breakdown': 'Desglose por Categoría', 'dashboard.all_categories': 'Todas las Categorías', 'dashboard.categories_section': 'Categorías', # Categories 'category.create': 'Crear Categoría', 'category.edit': 'Editar Categoría', 'category.view': 'Ver Categoría', 'category.name': 'Nombre de Categoría', 'category.description': 'Descripción', 'category.color': 'Color', 'category.spent': 'Gastado', 'category.expenses': 'Gastos', 'category.delete': 'Eliminar Categoría', 'category.add_expense': 'Agregar Gasto', 'category.no_expenses': 'No hay gastos en esta categoría todavía', # Expenses 'expense.create': 'Agregar Gasto', 'expense.edit': 'Editar Gasto', 'expense.amount': 'Cantidad', 'expense.date': 'Fecha', 'expense.description': 'Descripción', 'expense.receipt': 'Recibo', 'expense.upload_receipt': 'Subir Recibo', 'expense.tags': 'Etiquetas', 'expense.delete': 'Eliminar Gasto', 'expense.view_receipt': 'Ver Recibo', # Authentication 'auth.login': 'Iniciar Sesión', 'auth.register': 'Registrarse', 'auth.logout': 'Cerrar Sesión', 'auth.username': 'Nombre de Usuario', 'auth.email': 'Correo Electrónico', 'auth.password': 'Contraseña', 'auth.confirm_password': 'Confirmar Contraseña', 'auth.remember_me': 'Recordarme', 'auth.forgot_password': '¿Olvidaste tu contraseña?', 'auth.no_account': '¿No tienes cuenta?', 'auth.have_account': '¿Ya tienes cuenta?', 'auth.sign_in': 'Iniciar Sesión', 'auth.sign_up': 'Registrarse', 'auth.welcome_back': '¡Bienvenido de nuevo!', 'auth.create_account': 'Crea tu cuenta', 'auth.verify_2fa': 'Verificar Autenticación de Dos Factores', 'auth.enter_code': 'Ingresa el código de 6 dígitos de tu aplicación de autenticación', 'auth.verification_code': 'Código de Verificación', 'auth.verify': 'Verificar', # Settings 'settings.title': 'Configuración', 'settings.profile': 'Perfil', 'settings.security': 'Seguridad', 'settings.users': 'Gestión de Usuarios', 'settings.import_export': 'Importar/Exportar', 'settings.language': 'Idioma', 'settings.currency': 'Moneda', 'settings.save': 'Guardar Cambios', 'settings.cancel': 'Cancelar', 'settings.edit_profile': 'Editar Perfil', 'settings.setup_2fa': 'Configurar Autenticación de Dos Factores', 'settings.disable_2fa': 'Desactivar 2FA', 'settings.enable_2fa': 'Activar 2FA', 'settings.create_user': 'Crear Usuario', 'settings.edit_user': 'Editar Usuario', 'settings.create_tag': 'Crear Etiqueta', 'settings.export_data': 'Exportar Datos', 'settings.import_data': 'Importar Datos', 'settings.tags': 'Etiquetas', 'settings.profile_settings': 'Configuración de Perfil', 'settings.username': 'Nombre de usuario', 'settings.email': 'Correo electrónico', 'settings.new_password': 'Nueva Contraseña (dejar en blanco para mantener actual)', 'settings.new_password_placeholder': 'Ingresa nueva contraseña', 'settings.2fa_title': 'Autenticación de Dos Factores (2FA)', 'settings.2fa_enabled': '2FA está actualmente habilitado en tu cuenta.', 'settings.2fa_enabled_desc': 'Tu cuenta está protegida con una capa adicional de seguridad.', 'settings.2fa_disabled': '2FA está actualmente deshabilitado.', 'settings.2fa_disabled_desc': 'Habilita 2FA para agregar una capa adicional de seguridad a tu cuenta.', 'settings.2fa_what_is': '¿Qué es 2FA?', 'settings.2fa_what_is_desc': 'La Autenticación de Dos Factores agrega una capa adicional de seguridad requiriendo un código de tu teléfono además de tu contraseña al iniciar sesión.', 'settings.2fa_disable_confirm': '¿Estás seguro de que quieres deshabilitar 2FA?', 'settings.manage_tags': 'Gestionar Etiquetas', 'settings.create_tag_btn': 'Crear Etiqueta', 'settings.delete_tag_confirm': '¿Eliminar etiqueta {name}?', 'settings.export_title': 'Exportar Datos', 'settings.export_desc': 'Descarga todos tus gastos como archivo CSV', 'settings.export_btn': 'Exportar a CSV', 'settings.import_title': 'Importar Datos', 'settings.import_desc': 'Importa gastos desde archivo CSV. Formato: Categoría, Descripción, Monto, Fecha (YYYY-MM-DD), Pagado Por, Etiquetas', 'settings.import_file_label': 'Archivo CSV', 'settings.import_btn': 'Importar CSV', 'settings.users_title': 'Gestión de Usuarios', 'settings.create_user_btn': 'Crear Usuario', 'settings.table_username': 'Nombre de usuario', 'settings.table_email': 'Correo electrónico', 'settings.table_role': 'Rol', 'settings.table_currency': 'Moneda', 'settings.table_2fa': '2FA', 'settings.table_actions': 'Acciones', 'settings.role_admin': 'Administrador', 'settings.role_user': 'Usuario', 'settings.2fa_status_enabled': 'Habilitado', 'settings.2fa_status_disabled': 'Deshabilitado', 'settings.delete_user_confirm': '¿Eliminar usuario {name}?', 'settings.no_users': 'No se encontraron usuarios', # Common 'common.save': 'Guardar', 'common.select': 'Seleccionar', 'common.cancel': 'Cancelar', 'common.delete': 'Eliminar', 'common.edit': 'Editar', 'common.view': 'Ver', 'common.back': 'Atrás', 'common.search': 'Buscar', 'common.filter': 'Filtrar', 'common.all': 'Todo', 'common.yes': 'Sí', 'common.no': 'No', 'common.loading': 'Cargando...', 'common.error': 'Error', 'common.success': 'Éxito', 'common.warning': 'Advertencia', 'common.info': 'Información', # Subscriptions 'subscription.title': 'Suscripciones', 'subscription.today': 'Hoy', 'subscription.tomorrow': 'Mañana', 'subscription.days': 'días', 'subscription.no_upcoming': 'No hay pagos próximos en los próximos 30 días', 'subscription.title': 'Suscripciones', 'subscription.add': 'Agregar Suscripción', 'subscription.add_manual': 'Agregar Manualmente', 'subscription.detect': 'Detectar Recurrentes', 'subscription.name': 'Nombre de Suscripción', 'subscription.frequency': 'Frecuencia', 'subscription.freq_weekly': 'Semanal', 'subscription.freq_biweekly': 'Quincenal', 'subscription.freq_monthly': 'Mensual', 'subscription.freq_quarterly': 'Trimestral', 'subscription.freq_yearly': 'Anual', 'subscription.active': 'Suscripciones Activas', 'subscription.active_list': 'Tus Suscripciones', 'subscription.monthly_cost': 'Costo Mensual', 'subscription.yearly_cost': 'Costo Anual', 'subscription.annual': 'Anual', 'subscription.next_payment': 'Próximo Pago', 'subscription.suggestions': 'Sugerencias Inteligentes', 'subscription.suggestions_desc': 'Detectamos estos patrones recurrentes en tus gastos', 'subscription.confidence': 'Confianza', 'subscription.occurrences': 'Ocurrencias', 'subscription.times': 'veces', 'subscription.period': 'Período', 'subscription.accept': 'Aceptar', 'subscription.dismiss': 'Descartar', 'subscription.delete_confirm': '¿Estás seguro de que quieres eliminar esta suscripción?', 'subscription.no_subscriptions': 'No Hay Suscripciones Aún', 'subscription.no_subscriptions_desc': 'Rastrea tus gastos recurrentes automáticamente o agrégalos manualmente', 'subscription.notes': 'Notas', 'subscription.notes_placeholder': 'Agrega notas sobre esta suscripción...', 'subscription.freq_custom': 'Personalizado', 'subscription.custom_interval': 'Repetir cada (Días)', 'subscription.custom_interval_desc': 'Ingresa el número de días entre ocurrencias', 'subscription.start_date': 'Fecha de inicio', 'subscription.start_date_desc': 'Fecha del primer pago', 'subscription.end_date': 'Fecha de finalización', 'subscription.end_date_desc': 'Dejar en blanco para suscripción continua', 'subscription.total_occurrences': 'Pagos totales', 'subscription.total_occurrences_desc': 'Limitar número de pagos (opcional)', 'subscription.occurrences_remaining': 'Restantes', 'subscription.auto_create': 'Auto-crear gastos', 'subscription.auto_create_desc': 'Agregar gasto automáticamente cuando vence el pago', 'subscription.auto_create_tooltip': 'Los gastos se crearán automáticamente en la fecha de vencimiento', 'subscription.create_due': 'Crear gastos vencidos', 'subscription.auto': 'AUTO', 'subscription.every': 'Cada', 'subscription.days': 'días', 'subscription.times': 'veces', 'common.optional': 'Opcional', # Budget Alerts 'budget.title': 'Gestión de Presupuesto', 'budget.monthly_limit': 'Límite de Presupuesto Mensual', 'budget.monthly_limit_desc': 'Establece un límite de gasto para esta categoría', 'budget.alert_threshold': 'Umbral de Alerta', 'budget.alert_threshold_desc': 'Recibe notificaciones cuando el gasto alcance este porcentaje (50-200%)', 'budget.current_month': 'Mes Actual', 'budget.spent': 'Gastado', 'budget.budget': 'Presupuesto', 'budget.remaining': 'Restante', 'budget.alert_settings': 'Configuración de Alertas de Presupuesto', 'budget.enable_alerts': 'Habilitar alertas de presupuesto por email', 'budget.enable_alerts_desc': 'Recibe notificaciones por email cuando excedas los límites del presupuesto', 'budget.alert_email': 'Email de Alertas', 'budget.alert_email_desc': 'Usa un email diferente para alertas (por defecto el email de la cuenta)', 'budget.over_budget': 'Sobre Presupuesto', 'budget.within_budget': 'Dentro del Presupuesto', 'budget.percentage_used': '% Utilizado', # Empty States 'empty.welcome_title': '¡Bienvenido a FINA!', 'empty.welcome_message': 'Crea tu primera categoría para comenzar a rastrear gastos', 'empty.create_category': 'Crear Categoría', 'empty.no_expenses_title': 'Aún no hay gastos', 'empty.no_expenses_message': 'Comienza a rastrear agregando tu primer gasto', 'empty.add_expense': 'Agregar Gasto', 'empty.no_tags_title': 'Aún no hay etiquetas', 'empty.no_tags_message': '¡Crea tu primera etiqueta!', # Messages 'message.category_created': 'Categoría creada exitosamente', 'message.category_updated': 'Categoría actualizada exitosamente', 'message.category_deleted': 'Categoría eliminada exitosamente', 'message.expense_created': 'Gasto agregado exitosamente', 'message.expense_updated': 'Gasto actualizado exitosamente', 'message.expense_deleted': 'Gasto eliminado exitosamente', 'message.login_success': 'Sesión iniciada exitosamente', 'message.logout_success': 'Sesión cerrada exitosamente', 'message.register_success': 'Cuenta creada exitosamente', 'message.profile_updated': 'Perfil actualizado exitosamente', 'message.settings_updated': 'Configuración actualizada exitosamente', # Months 'month.january': 'Enero', 'month.february': 'Febrero', 'month.march': 'Marzo', 'month.april': 'Abril', 'month.may': 'Mayo', 'month.june': 'Junio', 'month.july': 'Julio', 'month.august': 'Agosto', 'month.september': 'Septiembre', 'month.october': 'Octubre', 'month.november': 'Noviembre', 'month.december': 'Diciembre', # PWA 'pwa.install': 'Instalar', 'pwa.not_now': 'Ahora No', 'pwa.install_title': 'Instalar FINA', 'pwa.install_description': 'Instala nuestra app para acceso rápido y soporte sin conexión', 'pwa.connection_restored': 'Conexión restaurada', 'pwa.offline': 'Estás sin conexión. Algunas funciones pueden estar limitadas.', # OCR 'ocr.take_photo': 'Tomar Foto', 'ocr.processing': 'Procesando recibo...', 'ocr.ai_extraction': 'IA extraerá monto, fecha y comercio', 'ocr.detected': 'IA Detectó', 'ocr.use_this': 'Usar', 'ocr.merchant': 'Comercio', 'ocr.confidence': 'Confianza', 'ocr.failed': 'No se pudieron extraer datos del recibo', 'ocr.error': 'Error OCR', 'expense.receipt_hint': 'Soporta: JPG, PNG, PDF', # Predictions 'predictions.title': 'Predicciones de Gastos', 'predictions.subtitle': 'Pronósticos impulsados por IA basados en tu historial de gastos', 'predictions.next_months': 'Próximos {n} Meses', 'predictions.total_predicted': 'Total Previsto', 'predictions.confidence': 'Confianza', 'predictions.confidence_high': 'Alta', 'predictions.confidence_medium': 'Media', 'predictions.confidence_low': 'Baja', 'predictions.trend': 'Tendencia', 'predictions.trend_increasing': 'Creciente', 'predictions.trend_decreasing': 'Decreciente', 'predictions.trend_stable': 'Estable', 'predictions.insights': 'Perspectivas Inteligentes', 'predictions.forecast': 'Pronóstico de Gastos', 'predictions.by_category': 'Por Categoría', 'predictions.based_on': 'Basado en {n} meses de datos', 'predictions.no_data': 'Historial insuficiente para predicciones precisas', 'predictions.no_data_desc': 'Añade más gastos para ver predicciones IA', 'predictions.chart.title': 'Previsto vs Histórico', 'predictions.month': 'Mes', 'predictions.amount': 'Cantidad', 'predictions.view_details': 'Ver Detalles', 'predictions.methodology': 'Cómo calculamos', 'predictions.methodology_desc': 'Nuestras predicciones usan promedios ponderados, análisis de tendencias y ajustes estacionales para pronosticar tus gastos futuros con alta precisión.', # Bank Import 'bank.import_title': 'Importar Extracto Bancario', 'bank.import_subtitle': 'Sube tu extracto bancario (PDF o CSV) para importar transacciones automáticamente', 'bank.upload_file': 'Subir Extracto Bancario', 'bank.select_file': 'Seleccionar Archivo', 'bank.drag_drop': 'Arrastra y suelta tu archivo aquí', 'bank.or_click': 'o haz clic para explorar', 'bank.browse_files': 'Explorar Archivos', 'bank.remove': 'Eliminar', 'bank.supported_formats': 'Formatos Soportados', 'bank.format_pdf': 'PDF - Extractos bancarios de la mayoría de los bancos', 'bank.format_csv': 'CSV - Historial de transacciones exportado', 'bank.format_hint': 'Los archivos deben ser menores a 10MB. El sistema detectará automáticamente el formato de tu banco.', 'bank.upload_parse': 'Subir y Procesar', 'bank.processing': 'Procesando', 'bank.how_it_works': 'Cómo Funciona', 'bank.step_1': 'Descarga tu extracto bancario desde tu portal de banca en línea', 'bank.step_2': 'Sube el archivo PDF o CSV usando el formulario arriba', 'bank.step_3': 'Revisa las transacciones extraídas automáticamente', 'bank.step_4': 'Asigna transacciones a tus categorías de gastos', 'bank.step_5': 'Confirma para importar las transacciones seleccionadas', 'bank.supported_banks': 'Bancos Soportados', 'bank.romania': 'Rumania', 'bank.international': 'Internacional', 'bank.generic': 'Formatos Genéricos', 'bank.generic_pdf': 'Cualquier PDF con formato estándar', 'bank.generic_csv': 'CSV estándar con fecha, descripción, monto', 'bank.review_title': 'Revisar Transacciones', 'bank.review_subtitle': 'Revisa y selecciona transacciones para importar', 'bank.transactions_found': 'Transacciones Encontradas', 'bank.detected_format': 'Formato Detectado', 'bank.selected': 'Seleccionadas', 'bank.unmapped': 'Sin Categoría', 'bank.parse_warnings': 'Advertencias de Procesamiento', 'bank.select_all': 'Seleccionar Todo', 'bank.select_expenses': 'Seleccionar Solo Gastos', 'bank.select_income': 'Seleccionar Solo Ingresos', 'bank.transactions_to_import': 'Transacciones a Importar', 'bank.date': 'Fecha', 'bank.description': 'Descripción', 'bank.amount': 'Monto', 'bank.type': 'Tipo', 'bank.category': 'Categoría', 'bank.expense': 'Gasto', 'bank.income': 'Ingreso', 'bank.select_category': '-- Seleccionar Categoría --', 'bank.back': 'Volver a Subir', 'bank.import_selected': 'Importar Transacciones Seleccionadas', 'bank.importing': 'Importando', 'bank.no_transactions_selected': 'Por favor selecciona al menos una transacción para importar.', 'bank.confirm_unmapped': '{count} transacciones seleccionadas no tienen una categoría asignada. Serán omitidas. ¿Continuar?', 'bank.not_all_banks_supported': 'No todos los bancos son soportados. El sistema intentará detectar y procesar automáticamente el formato de tu extracto. Si el procesamiento falla, intenta exportar como CSV con columnas: Fecha, Descripción, Monto.', 'bank.format_not_recognized': 'Formato de Banco No Reconocido', 'bank.format_not_recognized_hint': 'No pudimos detectar el formato específico de tu banco. El sistema extrajo transacciones usando patrones genéricos. Por favor revisa cuidadosamente y verifica todas las transacciones antes de importar.', # Search 'search.title': 'Buscar', 'search.subtitle': 'Busca en gastos, categorías, suscripciones y más', 'search.placeholder': 'Buscar por descripción, cantidad, fecha, etiquetas...', 'search.button': 'Buscar', 'search.quick_search': 'Buscar...', 'search.results_for': 'Resultados para', 'search.results_found': 'resultados encontrados', 'search.no_results': 'No se encontraron resultados', 'search.no_results_message': 'Intenta con diferentes palabras clave o términos de búsqueda', 'search.expenses': 'Gastos', 'search.categories': 'Categorías', 'search.subscriptions': 'Suscripciones', 'search.tags': 'Etiquetas', 'search.expenses_count': 'gastos', 'search.inactive': 'Inactiva', 'search.welcome_title': 'Busca cualquier cosa', 'search.welcome_message': 'Busca rápidamente gastos por descripción, cantidad, fecha, categoría, comerciante o etiquetas. Funciona con números, fechas y texto.', 'search.examples_title': 'Prueba estos ejemplos:', 'search.tip_spelling': 'Verifica la ortografía de tus palabras clave', 'search.tip_keywords': 'Prueba diferentes palabras clave o términos más generales', 'search.tip_date': 'Para fechas usa formato: YYYY-MM-DD o DD/MM/YYYY', 'search.tip_amount': 'Para cantidades usa números: 45.99 o 45', } } def get_translation(key, lang='en'): """Get translation for a key in specified language""" if lang not in translations: lang = 'en' return translations.get(lang, {}).get(key, key) def get_language_name(code): """Get language name from code""" languages = { 'en': 'English', 'ro': 'Română', 'es': 'Español' } return languages.get(code, 'English') def get_available_languages(): """Get list of available languages""" return [ {'code': 'en', 'name': 'English', 'flag': '🇬🇧'}, {'code': 'ro', 'name': 'Română', 'flag': '🇷🇴'}, {'code': 'es', 'name': 'Español', 'flag': '🇪🇸'} ]