{ "app": { "name": "Simpl'Result" }, "nav": { "dashboard": "Dashboard", "import": "Import", "transactions": "Transactions", "categories": "Categories", "adjustments": "Adjustments", "budget": "Budget", "reports": "Reports", "settings": "Settings" }, "dashboard": { "title": "Dashboard", "balance": "Balance", "income": "Income", "expenses": "Expenses", "noData": "No data available. Start by importing your bank statements.", "expensesByCategory": "Expenses by Category", "recentTransactions": "Recent Transactions", "period": { "month": "This month", "3months": "3 months", "6months": "6 months", "12months": "12 months", "year": "This year", "all": "All" }, "help": { "title": "How to use the Dashboard", "tips": [ "Use the period selector (top right) to view different time ranges", "Summary cards show your balance, income, and expenses for the selected period", "The pie chart breaks down your expenses by category", "Recent transactions are listed at the bottom" ] } }, "import": { "title": "Import Statements", "dropzone": "Drag your CSV files here or click to select", "source": "Source", "file": "File", "status": "Status", "date": "Date", "folder": { "label": "Import folder", "notConfigured": "No folder configured", "browse": "Browse", "refresh": "Refresh" }, "sources": { "title": "Import Sources", "empty": "No sources found. Create subfolders in your import folder with CSV files.", "new": "new", "fileCount_one": "{{count}} file", "fileCount_other": "{{count}} files", "fileCount": "{{count}} file(s)" }, "config": { "title": "Source Configuration", "sourceName": "Source name", "delimiter": "Delimiter", "semicolon": "Semicolon", "comma": "Comma", "tab": "Tab", "encoding": "Encoding", "dateFormat": "Date format", "skipLines": "Lines to skip", "hasHeader": "First row contains headers", "signConvention": "Sign convention", "negativeExpense": "Negative expenses", "positiveExpense": "Positive expenses", "columnMapping": "Column mapping", "dateColumn": "Date column", "descriptionColumn": "Description column", "amountColumn": "Amount column", "amountMode": "Amount mode", "singleAmount": "Single amount", "debitCredit": "Separate debit / credit", "debitColumn": "Debit column", "creditColumn": "Credit column", "selectFiles": "Files to import", "selectAll": "Select all", "alreadyImported": "Imported", "autoDetect": "Auto-detect", "saveAsTemplate": "Save as template", "loadTemplate": "Load template", "templateName": "Template name", "templateSaved": "Template saved", "deleteTemplate": "Delete template", "noTemplates": "No templates saved", "updateTemplate": "Update template" }, "preview": { "title": "Data Preview", "noData": "No data to display", "rowCount": "{{count}} row(s)", "errorCount": "{{count}} error(s)", "date": "Date", "description": "Description", "amount": "Amount", "raw": "Raw data", "moreRows": "... and {{count}} more row(s)" }, "duplicates": { "title": "Duplicate Detection", "fileAlreadyImported": "This file has already been imported", "fileAlreadyImportedDesc": "A file with the same content already exists in the database.", "rowsFound": "{{count}} duplicate(s) found", "rowsFoundDesc": "These rows match existing transactions.", "noneFound": "No duplicates found", "skip": "Skip duplicates", "includeAll": "Import all", "summary": "Total: {{total}} rows — {{new}} new — {{duplicates}} duplicate(s)", "withinBatch": "Duplicate within imported files", "sourceDb": "Existing", "sourceBatch": "Within batch" }, "confirm": { "title": "Import Confirmation", "source": "Source", "files": "Files", "settings": "Settings", "rowsToImport": "Rows to import", "rowsSummary": "{{count}} row(s) to import, {{skipped}} duplicate(s) skipped" }, "progress": { "title": "Import in Progress", "importing": "Importing...", "rows": "rows" }, "report": { "title": "Import Report", "totalRows": "Total rows", "imported": "Imported", "skippedDuplicates": "Skipped duplicates", "errors": "Errors", "categorized": "Categorized", "uncategorized": "Uncategorized", "errorDetails": "Error details", "row": "Row", "errorMessage": "Error message", "done": "Done" }, "history": { "title": "Import History", "empty": "No imports yet.", "deleteAll": "Delete All", "deleteConfirm": "Delete this import and its {{count}} transaction(s)?", "deleteAllConfirm": "Delete ALL imports and their transactions? This cannot be undone.", "source": "Source", "filename": "File", "date": "Date", "rows": "Rows", "status": "Status" }, "wizard": { "back": "Back", "next": "Next", "preview": "Preview", "checkDuplicates": "Check duplicates", "confirm": "Confirm", "import": "Import" }, "help": { "title": "How to import bank statements", "tips": [ "Set your import folder, then create one subfolder per bank/source with CSV files inside", "Click a source to configure column mapping, delimiter, and date format", "Preview your data before importing to catch formatting issues", "Duplicate detection prevents the same transactions from being imported twice" ] } }, "transactions": { "title": "Transactions", "date": "Date", "description": "Description", "amount": "Amount", "category": "Category", "supplier": "Supplier", "noTransactions": "No transactions found.", "filters": { "search": "Search", "searchPlaceholder": "Search by description...", "allCategories": "All categories", "allSources": "All sources", "uncategorized": "Uncategorized", "dateFrom": "From", "dateTo": "To" }, "summary": { "count": "Transactions", "income": "Income", "expenses": "Expenses", "balance": "Balance" }, "table": { "noCategory": "— No category —" }, "pagination": { "showing": "Showing", "of": "of", "previous": "Previous", "next": "Next" }, "notes": { "placeholder": "Add a note..." }, "autoCategorize": "Auto-categorize", "autoCategorizeResult": "{{count}} transaction(s) categorized", "autoCategorizeNone": "No new matches found", "addKeyword": "Add keyword", "keywordAdded": "Keyword added", "keywordPlaceholder": "Keyword to match...", "help": { "title": "How to use Transactions", "tips": [ "Use the filters to search by description, category, source, or date range", "Click a column header to sort transactions", "Assign categories by clicking the category dropdown on each row", "Auto-categorize uses your keyword rules to categorize transactions in bulk" ] } }, "categories": { "title": "Categories", "name": "Name", "type": "Type", "parent": "Parent Category", "color": "Color", "expense": "Expense", "income": "Income", "transfer": "Transfer", "keywords": "Keywords", "addCategory": "Add Category", "editCategory": "Edit Category", "deleteCategory": "Delete Category", "deleteConfirm": "Are you sure you want to delete this category? Its children will be promoted to top-level.", "deleteBlocked": "Cannot delete: this category or its children are used by {{count}} transaction(s).", "reinitialize": "Re-initialize", "reinitializeConfirm": "Reset all categories and keywords to their default values? Transaction categories will be unlinked. This cannot be undone.", "noParent": "No parent (top-level)", "isInputable": "Allow input", "isInputableHint": "Uncheck to hide from budget and transaction dropdowns", "sortOrder": "Sort Order", "selectCategory": "Select a category to view details", "keywordCount": "Keywords", "keywordText": "Keyword...", "priority": "Priority", "customColor": "Custom color", "allKeywords": "All Keywords", "allKeywordsEmpty": "No keywords yet", "help": { "title": "How to manage Categories", "tips": [ "Create top-level categories and subcategories to organize your expenses and income", "Add keywords to a category so transactions matching those words are auto-categorized", "Set a priority on keywords to resolve conflicts when multiple categories match", "Click a category in the tree to view its details, edit it, or manage keywords" ] } }, "adjustments": { "title": "Adjustments", "name": "Name", "date": "Date", "description": "Description", "amount": "Amount", "recurring": "Recurring", "entries": "Entries", "addEntry": "Add entry", "newAdjustment": "New adjustment", "editAdjustment": "Edit adjustment", "deleteConfirm": "Delete this adjustment?", "total": "Total", "selectAdjustment": "Select an adjustment", "category": "Category", "noEntries": "No entries yet", "help": { "title": "How to use Adjustments", "tips": [ "Adjustments let you add manual entries that don't come from bank imports", "Use them for expected expenses or income not yet reflected in your statements", "Recurring adjustments repeat automatically each period" ] } }, "budget": { "title": "Budget", "category": "Category", "planned": "Planned", "actual": "Actual", "difference": "Difference", "annual": "Annual", "splitEvenly": "Split evenly across 12 months", "annualMismatch": "Annual total does not match the sum of monthly amounts", "applyToMonth": "Apply to month", "allMonths": "All 12 months", "expenses": "Expenses", "income": "Income", "transfers": "Transfers", "totalPlanned": "Total Planned", "totalActual": "Total Actual", "totalDifference": "Difference", "noCategories": "No categories found. Create categories first to set up your budget.", "saveAsTemplate": "Save as template", "applyTemplate": "Apply template", "noTemplates": "No templates saved yet.", "templateName": "Template name", "templateDescription": "Description (optional)", "deleteTemplateConfirm": "Delete this template?", "help": { "title": "How to use Budget", "tips": [ "Use the year navigator to switch between years", "Click on any month cell to edit the planned amount — press Enter to save, Escape to cancel, Tab to move to next month", "The Annual column shows the total of all 12 months", "Use the split button to distribute the annual total evenly across all months", "Save your budget as a template and apply it to specific months or all 12 at once" ] } }, "reports": { "title": "Reports", "period": "Period", "byCategory": "Expenses by Category", "overTime": "Category Over Time", "trends": "Monthly Trends", "export": "Export", "help": { "title": "How to use Reports", "tips": [ "Switch between Trends, By Category, and Over Time views using the tabs", "Use the period selector to adjust the time range for all charts", "Monthly Trends shows your income and expenses over time", "Category Over Time tracks how spending in each category evolves" ] } }, "settings": { "title": "Settings", "version": "Version {{version}}", "updates": { "title": "Updates", "checkButton": "Check for updates", "checking": "Checking for updates...", "upToDate": "App is up to date", "available": "Version {{version}} available", "downloadButton": "Download and install", "downloading": "Downloading...", "readyToInstall": "Update ready to install", "installButton": "Install and restart", "installing": "Installing...", "error": "Update failed", "retryButton": "Retry" }, "dataManagement": { "title": "Data Management", "export": { "title": "Export", "modeLabel": "What to export", "modeTransactionsWithCategories": "Transactions with categories", "modeTransactionsOnly": "Transactions only", "modeCategoriesOnly": "Categories only", "formatLabel": "Format", "csvDisabledNote": "transactions only", "encryptLabel": "Encrypt with password", "passwordPlaceholder": "Password (min 8 characters)", "passwordConfirmPlaceholder": "Confirm password", "passwordTooShort": "Password must be at least 8 characters", "passwordMismatch": "Passwords do not match", "button": "Export", "success": "Export completed successfully" }, "import": { "title": "Import", "description": "Import data from a previously exported file. This will replace existing data.", "button": "Import from file", "passwordRequired": "This file is encrypted. Enter the password to decrypt it.", "passwordPlaceholder": "Password", "decrypt": "Decrypt", "confirmTitle": "Replace Data", "willDeleteLabel": "The following data will be deleted:", "willDeleteCategories": "All categories, suppliers, and keywords", "willDeleteTransactions": "All transactions and import history", "willDeleteAll": "All transactions, categories, suppliers, keywords, and import history", "willImportLabel": "The following data will be imported:", "countCategories": "{{count}} category(ies)", "countSuppliers": "{{count}} supplier(s)", "countKeywords": "{{count}} keyword(s)", "countTransactions": "{{count}} transaction(s)", "irreversibleWarning": "This action is irreversible. All existing data of the selected type will be permanently deleted and replaced.", "typeToConfirm": "Type \"{{word}}\" to confirm:", "confirmWord": "REPLACE", "replaceButton": "Replace Data", "success": "Import completed successfully", "tryAgain": "Try again" } }, "dataSafeNotice": "Your data is safe — only the app binary is replaced, your database is not modified.", "help": { "title": "About Settings", "tips": [ "Check for app updates and install them directly from this page", "Your data is stored locally and is never affected by updates", "Change the app language using the language selector in the sidebar" ] } }, "charts": { "hideCategory": "Hide category", "viewTransactions": "View transactions", "hiddenCategories": "Hidden", "showAll": "Show all", "total": "Total", "transactions": "transactions", "clickToShow": "Click to show" }, "months": { "jan": "Jan", "feb": "Feb", "mar": "Mar", "apr": "Apr", "may": "May", "jun": "Jun", "jul": "Jul", "aug": "Aug", "sep": "Sep", "oct": "Oct", "nov": "Nov", "dec": "Dec" }, "common": { "save": "Save", "cancel": "Cancel", "delete": "Delete", "edit": "Edit", "add": "Add", "search": "Search", "filter": "Filter", "loading": "Loading...", "noResults": "No results", "confirm": "Confirm", "language": "Language", "total": "Total", "darkMode": "Dark mode", "lightMode": "Light mode" } }