mirror of
https://github.com/Zproger/Aurum.git
synced 2026-10-13 02:56:39 +07:00
feat: add free-form tags on transactions
Third of the four ideas picked from the Maybe/Sure feature audit. Tags are orthogonal to categories (category = what kind of spend, tag = which event/project) — many-to-many, created inline while typing in the transaction form, filterable from the Transactions page. Also adds tests/test_backup.py, the first test coverage the backup export/import path has ever had, and fixes a MissingGreenlet bug it surfaced in restore_backup's tag-wiring. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -138,6 +138,7 @@ const ru = {
|
||||
"transactions.income": "Доходы",
|
||||
"transactions.transfer": "Переводы",
|
||||
"transactions.allCategories": "Все категории",
|
||||
"transactions.allTags": "Все теги",
|
||||
"transactions.failedToLoad": "Не удалось загрузить транзакции.",
|
||||
"transactions.noneFound": "Транзакций не найдено.",
|
||||
"transactions.searchPlaceholder": "Поиск по описанию, продавцу или заметке…",
|
||||
@@ -167,6 +168,10 @@ const ru = {
|
||||
"transactions.form.noCategory": "Без категории",
|
||||
"transactions.form.merchantLabel": "Продавец (необязательно)",
|
||||
"transactions.form.notesLabel": "Заметка (необязательно)",
|
||||
"transactions.form.tagsLabel": "Теги (необязательно)",
|
||||
"transactions.form.tagsPlaceholder": "Начните вводить, чтобы найти или создать тег…",
|
||||
"transactions.form.removeTag": "Убрать тег «{{name}}»",
|
||||
"transactions.form.createTag": "Создать тег «{{name}}»",
|
||||
"transactions.viewNote": "Посмотреть заметку",
|
||||
"transactions.noteDialogTitle": "Заметка",
|
||||
"transactions.form.errorSelectAccount": "Выберите счёт",
|
||||
@@ -501,6 +506,7 @@ const en: Record<keyof typeof ru, string> = {
|
||||
"transactions.income": "Income",
|
||||
"transactions.transfer": "Transfers",
|
||||
"transactions.allCategories": "All categories",
|
||||
"transactions.allTags": "All tags",
|
||||
"transactions.failedToLoad": "Failed to load transactions.",
|
||||
"transactions.noneFound": "No transactions found.",
|
||||
"transactions.searchPlaceholder": "Search by description, merchant, or note…",
|
||||
@@ -530,6 +536,10 @@ const en: Record<keyof typeof ru, string> = {
|
||||
"transactions.form.noCategory": "No category",
|
||||
"transactions.form.merchantLabel": "Merchant (optional)",
|
||||
"transactions.form.notesLabel": "Note (optional)",
|
||||
"transactions.form.tagsLabel": "Tags (optional)",
|
||||
"transactions.form.tagsPlaceholder": "Type to find or create a tag…",
|
||||
"transactions.form.removeTag": "Remove tag \"{{name}}\"",
|
||||
"transactions.form.createTag": "Create tag \"{{name}}\"",
|
||||
"transactions.viewNote": "View note",
|
||||
"transactions.noteDialogTitle": "Note",
|
||||
"transactions.form.errorSelectAccount": "Select an account",
|
||||
|
||||
Reference in New Issue
Block a user