Add period buttons (This month, 3 months, 6 months, This year, All) above the transaction filters. "This year" is selected by default so the page no longer shows all transactions since the beginning of time. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
453 lines
16 KiB
JSON
453 lines
16 KiB
JSON
{
|
|
"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"
|
|
}
|
|
}
|