Simpl-Resultat/src/i18n/locales/en.json
le king fu 420506b074
All checks were successful
Release / build-and-release (push) Successful in 30m13s
Bump version to 0.6.2 — Section subtotals and category detail fix
Add per-section subtotals (expenses, income, transfers) to budget table
and budget vs actual report. Fix category detail panel visibility when
scrolling through long category lists.

Closes #11, closes #12

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 16:22:36 -05:00

842 lines
34 KiB
JSON

{
"app": {
"name": "Simpl'Result"
},
"changelog": {
"title": "Version History",
"description": "View what's new and fixed in each version",
"empty": "No entries available"
},
"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",
"net": "Net",
"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",
"custom": "Custom"
},
"dateFrom": "From",
"dateTo": "To",
"apply": "Apply",
"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...",
"splitAdjustment": "Split adjustment",
"splitBase": "Base",
"splitAdjusted": "Adjusted",
"splitCategory": "Category",
"splitAmount": "Amount",
"splitDescription": "Description",
"splitAddRow": "Add split",
"splitRemove": "Remove split",
"splitTotal": "Total must equal original amount",
"splitDeleteConfirm": "Remove this split adjustment?",
"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",
"dragToReorder": "Drag to reorder or change parent",
"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",
"splitTransactions": "Transaction splits",
"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",
"clickToEdit": "Click to edit",
"applyToMonth": "Apply to month",
"allMonths": "All 12 months",
"expenses": "Expenses",
"income": "Income",
"transfers": "Transfers",
"totalExpenses": "Total Expenses",
"totalIncome": "Total Income",
"totalTransfers": "Total 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)",
"directSuffix": "(direct)",
"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",
"budgetVsActual": "Budget vs Actual",
"subtotalsOnTop": "Subtotals on top",
"subtotalsOnBottom": "Subtotals on bottom",
"detail": {
"showAmounts": "Show amounts",
"hideAmounts": "Hide amounts"
},
"filters": {
"title": "Categories",
"search": "Search...",
"all": "All",
"none": "None"
},
"bva": {
"monthly": "Monthly",
"ytd": "Year-to-Date",
"dollarVar": "$ Var",
"pctVar": "% Var",
"noData": "No budget or transaction data for this period."
},
"dynamic": "Dynamic Report",
"export": "Export",
"pivot": {
"availableFields": "Available Fields",
"rows": "Rows",
"columns": "Columns",
"filters": "Filters",
"values": "Values",
"addTo": "Add to...",
"year": "Year",
"month": "Month",
"categoryType": "Type",
"level1": "Category (Level 1)",
"level2": "Category (Level 2)",
"level3": "Category (Level 3)",
"periodic": "Periodic Amount",
"ytd": "Year-to-Date (YTD)",
"subtotal": "Subtotal",
"total": "Total",
"viewTable": "Table",
"viewChart": "Chart",
"viewBoth": "Both",
"noConfig": "Add fields to generate the report",
"noData": "No data for this configuration",
"fullscreen": "Full screen",
"exitFullscreen": "Exit full screen",
"rightClickExclude": "Right-click to exclude"
},
"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",
"Dynamic Report lets you build custom pivot tables by assigning dimensions to rows, columns, and filters"
]
}
},
"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",
"releaseNotes": "What's New"
},
"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"
}
},
"userGuide": {
"title": "User Guide",
"description": "Learn how to use all features of the app"
},
"logs": {
"title": "Logs",
"clear": "Clear",
"copy": "Copy",
"copied": "Copied!",
"empty": "No logs",
"filterAll": "All"
},
"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"
},
"docs": {
"title": "User Guide",
"backToSettings": "Back to Settings",
"print": "Print",
"features": "Features",
"howTo": "How To",
"quickStart": "Quick Start",
"tipsHeader": "Tips",
"gettingStarted": {
"title": "Getting Started",
"overview": "Simpl'Result helps you track your personal finances by importing bank statements, categorizing transactions, setting budgets, and generating reports. The app is available on Windows and Linux.",
"features": [
"Import CSV bank statements from multiple sources",
"Automatic and manual transaction categorization",
"Split a transaction across multiple categories",
"Budget planning with monthly and annual views",
"Visual reports and interactive charts with context menu",
"Multiple profiles with separate databases and optional PIN",
"Dark mode with warm gray palette",
"Data export and import with optional AES-256 encryption"
],
"steps": [
"On first launch, choose or create a profile — each profile has its own database",
"Go to Settings and set your import folder — create one subfolder per bank account",
"Place your CSV bank statements in the corresponding subfolder",
"Open the Import page and configure your source (column mapping, delimiter, date format)",
"Import your transactions, then head to Categories to set up keyword rules",
"Use Auto-categorize on the Transactions page to apply your rules in bulk",
"Set up your Budget and track progress via Reports"
],
"tips": [
"You can switch between English and French using the language selector in the sidebar",
"Toggle dark mode using the button in the sidebar",
"Each page has a help icon (?) in the header with quick tips",
"Your data is stored locally on your computer — nothing is sent to the cloud"
]
},
"profiles": {
"title": "Profiles",
"overview": "Manage multiple independent profiles, each with its own database. Ideal for separating personal and business finances, or for multiple users on the same computer.",
"features": [
"Create multiple profiles with custom names and colors",
"Each profile has its own separate database",
"Optional PIN protection (numeric code)",
"Quick profile switching from the sidebar",
"Delete a profile along with all its data"
],
"steps": [
"Click the profile selector in the sidebar to see available profiles",
"Click Manage Profiles to create, edit, or delete profiles",
"Create a new profile by choosing a name, color, and optional PIN",
"Switch between profiles by clicking the one you want in the selector"
],
"tips": [
"A default profile is automatically created on first launch",
"The PIN is requested each time you access a protected profile",
"Deleting a profile permanently removes all its data — this action cannot be undone"
]
},
"dashboard": {
"title": "Dashboard",
"overview": "The Dashboard gives you an at-a-glance summary of your financial situation for a selected time period.",
"features": [
"Balance, income, and expense summary cards",
"Expense breakdown by category (pie chart with SVG patterns)",
"Recent transactions list",
"Adjustable time period selector",
"Context menu (right-click) to hide a category or view its transactions"
],
"steps": [
"Use the period selector in the top-right to choose a time range (month, 3 months, year, etc.)",
"Review the summary cards for your balance, total income, and total expenses",
"Check the pie chart to see how your spending is distributed across categories",
"Right-click a category in the chart to hide it or view its transaction details",
"Scroll down to see your most recent transactions"
],
"tips": [
"The balance is calculated as income minus expenses for the selected period",
"Hidden categories appear as dismissible chips above the chart — click Show All to restore them",
"SVG patterns (lines, dots, crosshatch) help distinguish categories beyond just color"
]
},
"import": {
"title": "Import",
"overview": "Import bank statements from CSV files using a step-by-step wizard. Each bank account is represented as a source folder.",
"features": [
"Multi-step import wizard with data preview",
"Configurable column mapping, delimiter, and date format",
"Automatic duplicate detection (within batch and against existing data)",
"Import templates to save and reuse source configurations",
"Import history with the ability to delete past imports"
],
"steps": [
"Set your import folder via the folder picker at the top of the page",
"Create a subfolder for each bank/source and place CSV files inside",
"Click on a source to open the import wizard",
"Configure the delimiter, encoding, date format, and column mapping",
"Select which files to import and preview the parsed data",
"Check for duplicates, review the summary, then confirm the import"
],
"tips": [
"Save your configuration as a template so you don't have to reconfigure each time",
"Files already imported are marked with a badge — re-importing them will trigger duplicate detection",
"You can delete an import from the history to remove all its transactions"
]
},
"transactions": {
"title": "Transactions",
"overview": "Browse, filter, sort, and categorize all your imported transactions. This is where you organize your financial data.",
"features": [
"Search and filter by description, category, source, or date range",
"Quick period selectors (this month, last month, this year, etc.)",
"Sortable columns (date, description, amount, category)",
"Inline category assignment via dropdown",
"Auto-categorize based on keyword rules",
"Add keywords directly from a transaction",
"Split a transaction across multiple categories",
"Transaction notes"
],
"steps": [
"Use the filter bar to narrow down transactions by text, category, source, or date",
"Click a column header to sort ascending or descending",
"To categorize a transaction, click its category dropdown and select a category",
"To auto-categorize all uncategorized transactions, click the Auto-categorize button",
"To add a keyword rule from a transaction, click the + icon and enter the keyword",
"To split a transaction across categories, use the Split button and add amounts per category"
],
"tips": [
"Use the quick period buttons (This month, Last month, etc.) for fast date filtering",
"Auto-categorize only affects uncategorized transactions — it won't overwrite manual assignments",
"Adding a keyword from a transaction pre-fills the category so you can quickly build rules",
"Split transactions display a visual indicator and show the breakdown details"
]
},
"categories": {
"title": "Categories",
"overview": "Manage your category tree with subcategories, keyword rules for auto-categorization, and custom colors.",
"features": [
"Hierarchical categories with parent/child relationships",
"Three category types: Expense, Income, Transfer",
"Keyword rules with priority levels for auto-categorization",
"Custom colors for chart display",
"Drag-and-drop to reorder categories or change their parent",
"Toggle categories as inputable or non-inputable",
"All Keywords view to see all rules at a glance",
"Re-initialize categories to defaults"
],
"steps": [
"Click Add Category to create a new category — choose a name, type, and optional parent",
"Select a category in the tree to view its details and keyword list",
"Drag and drop a category in the tree to reorder it or move it under a different parent",
"Add keywords that match transaction descriptions for auto-categorization",
"Set keyword priority to resolve conflicts when multiple categories match",
"Use the color picker to assign a custom color for charts"
],
"tips": [
"Non-inputable categories are hidden from budget and transaction dropdowns but still visible in reports",
"Higher priority keywords win when multiple categories match the same transaction",
"Use the All Keywords view to get a global overview of your categorization rules",
"Use Re-initialize to reset categories to defaults — this will unlink all transaction categories"
]
},
"adjustments": {
"title": "Adjustments",
"overview": "Add manual entries that don't come from bank imports, and view transaction splits created from the Transactions page.",
"features": [
"Create named adjustment groups with multiple entries",
"Assign a category to each entry",
"Mark adjustments as recurring",
"View transaction splits in a dedicated section"
],
"steps": [
"Click New Adjustment to create an adjustment group",
"Add entries with a description, amount, date, and category",
"Toggle the recurring flag if the adjustment should repeat each period",
"View the Transaction Splits section to see splits created from the Transactions page"
],
"tips": [
"Adjustments appear in your budget actuals alongside imported transactions",
"Use adjustments for planned expenses that haven't hit your bank account yet",
"Transaction splits are created from the Transactions page and appear here automatically"
]
},
"budget": {
"title": "Budget",
"overview": "Plan your monthly budget for each category and track planned vs. actual spending throughout the year.",
"features": [
"Monthly budget grid for all categories",
"Annual column with automatic totals",
"Split annual amount evenly across 12 months",
"Budget templates to save and apply configurations",
"Parent category subtotals",
"Column headers stay fixed when scrolling vertically"
],
"steps": [
"Use the year navigator to select the budget year",
"Click on any month cell to enter a planned amount",
"Press Enter to save, Escape to cancel, or Tab to move to the next month",
"Use the split button (on the Annual column) to distribute evenly across all months",
"Save your budget as a template to reuse it in future years"
],
"tips": [
"The Annual column auto-sums all 12 months — a warning appears if monthly totals don't match",
"Templates can be applied to specific months or all 12 at once",
"Parent categories show subtotals aggregated from their children"
]
},
"reports": {
"title": "Reports",
"overview": "Visualize your financial data with interactive charts and compare your budget plan against actual spending.",
"features": [
"Monthly Trends: income vs. expenses over time (bar chart)",
"Expenses by Category: spending breakdown (pie chart)",
"Category Over Time: track how each category evolves (line chart)",
"Budget vs Actual: monthly and year-to-date comparison table",
"Dynamic Report: customizable pivot table",
"SVG patterns (lines, dots, crosshatch) to distinguish categories",
"Context menu (right-click) to hide a category or view its transactions",
"Transaction detail by category with sortable columns (date, description, amount)",
"Toggle to show or hide amounts in transaction detail"
],
"steps": [
"Use the tabs to switch between Trends, By Category, Over Time, and Budget vs Actual views",
"Adjust the time period using the period selector",
"Right-click a category in any chart to hide it or view its transaction details",
"Hidden categories appear as dismissible chips above the chart — click them to show again",
"In Budget vs Actual, toggle between Monthly and Year-to-Date views",
"In the category detail, click a column header to sort transactions",
"Use the eye icon in the detail view to show or hide the amounts column"
],
"tips": [
"Hidden categories are remembered while you stay on the page — click Show All to reset",
"The period selector applies to all chart tabs simultaneously",
"Budget vs Actual shows dollar and percentage variance for each category",
"SVG patterns help colorblind users distinguish categories in charts"
]
},
"settings": {
"title": "Settings",
"overview": "Configure app preferences, check for updates, access the user guide, and manage your data with export/import tools.",
"features": [
"App version display",
"Complete user guide accessible directly from settings",
"Automatic update checker with one-click install",
"Application logs viewable with level filters, copy, and clear",
"Data export (transactions, categories, or both) in JSON or CSV format",
"Data import from a previously exported file",
"Optional AES-256-GCM encryption for exported files"
],
"steps": [
"Click User Guide to access the full documentation",
"Click Check for Updates to see if a new version is available",
"View the Logs section to see application logs — filter by level (All, Error, Warn, Info), copy or clear",
"Use the Data Management section to export or import your data",
"When exporting, choose what to include and optionally set a password for encryption",
"When importing, select a previously exported file — encrypted files will prompt for the password"
],
"tips": [
"Updates only replace the app binary — your database is never modified",
"Change the app language using the language selector in the sidebar",
"Export regularly to keep a backup of your data",
"The user guide can be printed or exported to PDF via the Print button",
"Logs persist for the session — they survive a page refresh",
"If you encounter an issue, copy the logs and attach them to your report"
]
}
},
"profile": {
"title": "Profiles",
"select": "Select a profile",
"create": "Create Profile",
"edit": "Edit Profile",
"delete": "Delete Profile",
"deleteConfirm": "Delete this profile and all its data? This cannot be undone.",
"name": "Profile Name",
"namePlaceholder": "Enter a name...",
"color": "Color",
"pin": "PIN",
"pinSet": "PIN set",
"pinNotSet": "No PIN",
"setPin": "Set PIN",
"removePin": "Remove PIN",
"enterPin": "Enter your PIN",
"wrongPin": "Wrong PIN. Try again.",
"switchProfile": "Switch Profile",
"manageProfiles": "Manage Profiles",
"default": "Default"
},
"error": {
"title": "An error occurred",
"startupTimeout": "Database connection timed out",
"unexpectedError": "An unexpected error occurred",
"showDetails": "Show details",
"hideDetails": "Hide details",
"refresh": "Refresh",
"checkUpdate": "Check for updates",
"updateAvailable": "Update available: v{{version}}",
"upToDate": "The application is up to date",
"contactUs": "Contact us",
"contactEmail": "Send an email to",
"reportIssue": "Report an issue"
},
"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"
}
}