diff --git a/budget/translationfiles/cs/budget.po b/budget/translationfiles/cs/budget.po index bb9a0790d..5a32f987b 100644 --- a/budget/translationfiles/cs/budget.po +++ b/budget/translationfiles/cs/budget.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Nextcloud 3.14159\n" "Report-Msgid-Bugs-To: translations\\@example.com\n" -"POT-Creation-Date: 2026-09-23 22:02+0000\n" +"POT-Creation-Date: 2026-10-03 01:04+0000\n" "PO-Revision-Date: 2026-09-17 01:45+0000\n" "Last-Translator: Pavel Borecki \n" "Language-Team: Czech =2 && n<=4) ? 1 : 2);\n" "X-Generator: Weblate 2026.10.dev0\n" -#: /app/lib/Controller/AccountController.php:82 -#: /app/lib/Controller/ApiV1AccountController.php:56 +#: /app/lib/Controller/AccountController.php:80 +#: /app/lib/Controller/ApiV1AccountController.php:57 msgid "Failed to retrieve accounts" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/AccountController.php:92 -#: /app/lib/Controller/AccountController.php:659 -#: /app/lib/Controller/ApiV1TransactionController.php:380 +#: /app/lib/Controller/AccountController.php:90 +#: /app/lib/Controller/AccountController.php:657 +#: /app/lib/Controller/ApiV1TransactionController.php:458 msgid "Account not found" msgstr "Účet nenalezen" -#: /app/lib/Controller/AccountController.php:105 -#: /app/lib/Controller/AccountController.php:640 -#: /app/lib/Controller/AccountController.php:680 -#: /app/lib/Controller/AccountController.php:752 -#: /app/lib/Controller/AccountController.php:769 -#: /app/lib/Controller/AccountController.php:821 -#: /app/lib/Controller/AccountController.php:835 -#: /app/lib/Controller/AccountController.php:899 +#: /app/lib/Controller/AccountController.php:103 +#: /app/lib/Controller/AccountController.php:638 +#: /app/lib/Controller/AccountController.php:678 +#: /app/lib/Controller/AccountController.php:750 +#: /app/lib/Controller/AccountController.php:767 +#: /app/lib/Controller/AccountController.php:780 +#: /app/lib/Controller/AccountController.php:832 +#: /app/lib/Controller/AccountController.php:846 +#: /app/lib/Controller/AccountController.php:910 #: /app/lib/Service/Export/TransactionCsvExporter.php:32 #: /app/lib/Service/Report/ReportExporter.php:255 #: /app/lib/Service/Report/ReportExporter.php:468 -#: /app/src/modules/dashboard/DashboardModule.js:5109 -#: /app/src/modules/dashboard/DashboardModule.js:5110 +#: /app/src/modules/dashboard/DashboardModule.js:5341 +#: /app/src/modules/dashboard/DashboardModule.js:5342 #: /app/src/modules/rules/components/CriteriaBuilder.js:195 #: /app/templates/index.php:508 /app/templates/index.php:524 #: /app/templates/index.php:593 /app/templates/index.php:615 @@ -53,159 +54,162 @@ msgstr "Účet nenalezen" #: /app/templates/index.php:2452 /app/templates/index.php:2595 #: /app/templates/index.php:3215 /app/templates/index.php:3323 #: /app/templates/index.php:3615 /app/templates/index.php:5831 -#: /app/templates/index.php:6568 /app/templates/quick-add.php:22 +#: /app/templates/index.php:6569 /app/templates/quick-add.php:22 msgid "Account" msgstr "Účet" -#: /app/lib/Controller/AccountController.php:119 +#: /app/lib/Controller/AccountController.php:117 msgid "Invalid JSON data or empty request" msgstr "" -#: /app/lib/Controller/AccountController.php:131 +#: /app/lib/Controller/AccountController.php:129 msgid "Account type is required and cannot be empty" msgstr "Typ účtu je třeba vyplnit a nemůže zůstat prázdný" -#: /app/lib/Controller/AccountController.php:137 -#: /app/lib/Controller/AccountController.php:314 +#: /app/lib/Controller/AccountController.php:135 +#: /app/lib/Controller/AccountController.php:312 #, php-format msgid "Invalid account type: %1$s" msgstr "Neplatný typ účtu: %1$s" -#: /app/lib/Controller/AccountController.php:144 -#: /app/lib/Controller/AccountController.php:323 +#: /app/lib/Controller/AccountController.php:142 +#: /app/lib/Controller/AccountController.php:321 #, php-format msgid "Invalid currency: %1$s" msgstr "Neplatná měna: %1$s" -#: /app/lib/Controller/AccountController.php:150 +#: /app/lib/Controller/AccountController.php:148 #: /app/src/modules/accounts/AccountsModule.js:27 /app/templates/index.php:1107 #: /app/templates/index.php:6020 msgid "Institution" msgstr "Instituce" -#: /app/lib/Controller/AccountController.php:159 +#: /app/lib/Controller/AccountController.php:157 msgid "Account holder name" msgstr "" -#: /app/lib/Controller/AccountController.php:202 -#: /app/lib/Controller/AccountController.php:441 +#: /app/lib/Controller/AccountController.php:200 +#: /app/lib/Controller/AccountController.php:439 msgid "Statement day must be between 1 and 31" msgstr "" -#: /app/lib/Controller/AccountController.php:219 -#: /app/lib/Controller/AccountController.php:352 +#: /app/lib/Controller/AccountController.php:217 +#: /app/lib/Controller/AccountController.php:350 #, php-format msgid "Invalid routing number: %1$s" msgstr "" -#: /app/lib/Controller/AccountController.php:227 -#: /app/lib/Controller/AccountController.php:365 +#: /app/lib/Controller/AccountController.php:225 +#: /app/lib/Controller/AccountController.php:363 #, php-format msgid "Invalid sort code: %1$s" msgstr "" -#: /app/lib/Controller/AccountController.php:235 -#: /app/lib/Controller/AccountController.php:378 +#: /app/lib/Controller/AccountController.php:233 +#: /app/lib/Controller/AccountController.php:376 #, php-format msgid "Invalid IBAN: %1$s" msgstr "" -#: /app/lib/Controller/AccountController.php:243 -#: /app/lib/Controller/AccountController.php:391 +#: /app/lib/Controller/AccountController.php:241 +#: /app/lib/Controller/AccountController.php:389 #, php-format msgid "Invalid SWIFT/BIC: %1$s" msgstr "" -#: /app/lib/Controller/AccountController.php:280 +#: /app/lib/Controller/AccountController.php:278 msgid "Failed to create account" msgstr "" -#: /app/lib/Controller/AccountController.php:296 -#: /app/lib/Controller/BillController.php:1045 -#: /app/lib/Controller/BillController.php:1063 -#: /app/lib/Controller/RecurringIncomeController.php:477 +#: /app/lib/Controller/AccountController.php:294 +#: /app/lib/Controller/BillController.php:1106 +#: /app/lib/Controller/BillController.php:1124 +#: /app/lib/Controller/BillController.php:1130 +#: /app/lib/Controller/RecurringIncomeController.php:513 +#: /app/lib/Controller/RecurringIncomeController.php:519 msgid "Invalid request data" msgstr "" -#: /app/lib/Controller/AccountController.php:483 -#: /app/lib/Controller/BillController.php:728 -#: /app/lib/Controller/CategoryController.php:319 -#: /app/lib/Controller/ImportRuleController.php:332 +#: /app/lib/Controller/AccountController.php:481 +#: /app/lib/Controller/BillController.php:758 +#: /app/lib/Controller/CategoryController.php:353 +#: /app/lib/Controller/CategoryController.php:449 +#: /app/lib/Controller/ImportRuleController.php:340 #: /app/lib/Controller/ImportTemplateController.php:152 #: /app/lib/Controller/TagSetController.php:186 #: /app/lib/Controller/TagSetController.php:308 #: /app/lib/Controller/TagSetController.php:412 -#: /app/lib/Controller/TransactionController.php:486 +#: /app/lib/Controller/TransactionController.php:489 msgid "No valid fields to update" msgstr "" -#: /app/lib/Controller/AccountController.php:515 +#: /app/lib/Controller/AccountController.php:513 msgid "Failed to update account" msgstr "" -#: /app/lib/Controller/AccountController.php:534 +#: /app/lib/Controller/AccountController.php:532 #, fuzzy #| msgid "accounts" msgid "No account IDs provided" msgstr "účty" -#: /app/lib/Controller/AccountController.php:569 +#: /app/lib/Controller/AccountController.php:567 #: /app/src/modules/accounts/AccountsModule.js:699 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to delete accounts" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/AccountController.php:580 +#: /app/lib/Controller/AccountController.php:578 msgid "Only the account owner can delete an account" msgstr "" -#: /app/lib/Controller/AccountController.php:642 -#: /app/src/modules/accounts/AccountsModule.js:2985 +#: /app/lib/Controller/AccountController.php:640 +#: /app/src/modules/accounts/AccountsModule.js:2991 msgid "Failed to delete account" msgstr "" -#: /app/lib/Controller/AccountController.php:666 +#: /app/lib/Controller/AccountController.php:664 msgid "This account has no sensitive banking data to reveal" msgstr "" -#: /app/lib/Controller/AccountController.php:692 +#: /app/lib/Controller/AccountController.php:690 msgid "Failed to retrieve account summary" msgstr "" -#: /app/lib/Controller/AccountController.php:782 +#: /app/lib/Controller/AccountController.php:793 msgid "Failed to reconcile account" msgstr "" -#: /app/lib/Controller/AccountController.php:797 +#: /app/lib/Controller/AccountController.php:808 msgid "Too many transactions (max 500)" msgstr "" -#: /app/lib/Controller/AccountController.php:804 -#: /app/src/modules/transactions/TransactionsModule.js:1841 +#: /app/lib/Controller/AccountController.php:815 +#: /app/src/modules/transactions/TransactionsModule.js:1867 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to complete reconciliation" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/AccountController.php:853 +#: /app/lib/Controller/AccountController.php:864 msgid "Interest rate must be between 0 and 999.9999" msgstr "" -#: /app/lib/Controller/AccountController.php:858 -#: /app/src/modules/accounts/AccountsModule.js:1432 +#: /app/lib/Controller/AccountController.php:869 +#: /app/src/modules/accounts/AccountsModule.js:1435 msgid "Invalid compounding frequency" msgstr "" -#: /app/lib/Controller/AccountController.php:862 +#: /app/lib/Controller/AccountController.php:873 msgid "Invalid date format. Use YYYY-MM-DD" msgstr "" -#: /app/lib/Controller/AccountController.php:868 +#: /app/lib/Controller/AccountController.php:879 msgid "Failed to add interest rate" msgstr "" -#: /app/lib/Controller/AccountController.php:883 +#: /app/lib/Controller/AccountController.php:894 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to delete interest rate" @@ -242,19 +246,41 @@ msgstr "" msgid "Failed to retrieve budget summary" msgstr "" +#: /app/lib/Controller/ApiV1BillController.php:62 +#: /app/lib/Controller/BillController.php:1005 +msgid "Failed to retrieve upcoming bills" +msgstr "" + +#: /app/lib/Controller/ApiV1BudgetController.php:59 +#: /app/lib/Controller/CategoryController.php:415 +#: /app/lib/Controller/CategoryController.php:674 +#: /app/lib/Controller/CategoryController.php:696 +#: /app/lib/Controller/CategoryController.php:726 +#: /app/lib/Controller/CategoryController.php:765 +#: /app/lib/Controller/CategoryController.php:782 +msgid "Invalid month format. Use YYYY-MM" +msgstr "" + +#: /app/lib/Controller/ApiV1BudgetController.php:71 +#: /app/lib/Controller/CategoryController.php:750 +#, fuzzy +#| msgid "Failed to retrieve accounts" +msgid "Failed to retrieve effective budgets" +msgstr "Nepodařilo se získat účty" + #: /app/lib/Controller/ApiV1CategoryController.php:62 -#: /app/lib/Controller/CategoryController.php:183 -#: /app/lib/Controller/CategoryController.php:254 +#: /app/lib/Controller/CategoryController.php:188 +#: /app/lib/Controller/CategoryController.php:280 msgid "Invalid category type. Must be income or expense" msgstr "" #: /app/lib/Controller/ApiV1CategoryController.php:81 -#: /app/lib/Controller/CategoryController.php:92 +#: /app/lib/Controller/CategoryController.php:97 msgid "Failed to retrieve categories" msgstr "" #: /app/lib/Controller/ApiV1ReceiptController.php:73 -#: /app/lib/Controller/ApiV1TransactionController.php:651 +#: /app/lib/Controller/ApiV1TransactionController.php:731 #: /app/lib/Controller/AttachmentController.php:91 #: /app/lib/Controller/ImportController.php:111 #: /app/lib/Controller/MigrationController.php:83 @@ -283,45 +309,47 @@ msgid "" "the transaction manually" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:98 +#: /app/lib/Controller/ApiV1TransactionController.php:102 msgid "Invalid date. Use the YYYY-MM-DD format" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:130 -#: /app/lib/Controller/ApiV1TransactionController.php:167 -#: /app/lib/Controller/TransactionController.php:126 -#: /app/lib/Controller/TransactionController.php:181 +#: /app/lib/Controller/ApiV1TransactionController.php:138 +#: /app/lib/Controller/ApiV1TransactionController.php:179 +#: /app/lib/Controller/TransactionController.php:129 +#: /app/lib/Controller/TransactionController.php:184 msgid "Failed to retrieve transactions" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:180 +#: /app/lib/Controller/ApiV1TransactionController.php:193 +#: /app/lib/Controller/ApiV1TransactionController.php:210 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to retrieve transaction" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/ApiV1TransactionController.php:228 +#: /app/lib/Controller/ApiV1TransactionController.php:306 #, fuzzy #| msgid "Account" msgid "Amount must be a number" msgstr "Účet" -#: /app/lib/Controller/ApiV1TransactionController.php:233 +#: /app/lib/Controller/ApiV1TransactionController.php:311 #, fuzzy #| msgid "Accounts" msgid "An account is required" msgstr "Účty" -#: /app/lib/Controller/ApiV1TransactionController.php:238 +#: /app/lib/Controller/ApiV1TransactionController.php:316 #: /app/lib/Controller/AssetController.php:326 -#: /app/lib/Controller/PensionController.php:356 -#: /app/lib/Controller/PensionController.php:428 -#: /app/lib/Controller/PensionController.php:477 -#: /app/lib/Controller/TransactionController.php:310 -#: /app/lib/Controller/TransactionController.php:417 -#: /app/lib/Service/Export/TransactionCsvExporter.php:28 /app/src/main.js:3554 -#: /app/src/modules/rules/RulesModule.js:935 -#: /app/src/modules/rules/RulesModule.js:1137 +#: /app/lib/Controller/PensionController.php:358 +#: /app/lib/Controller/PensionController.php:430 +#: /app/lib/Controller/PensionController.php:481 +#: /app/lib/Controller/TransactionController.php:313 +#: /app/lib/Controller/TransactionController.php:420 +#: /app/lib/Service/Export/TransactionCsvExporter.php:28 /app/src/main.js:3588 +#: /app/src/modules/income/IncomeModule.js:403 +#: /app/src/modules/rules/RulesModule.js:950 +#: /app/src/modules/rules/RulesModule.js:1152 #: /app/src/modules/rules/components/CriteriaBuilder.js:194 #: /app/templates/index.php:1033 /app/templates/index.php:1533 #: /app/templates/index.php:1773 /app/templates/index.php:1827 @@ -329,78 +357,78 @@ msgstr "Účty" #: /app/templates/index.php:2594 /app/templates/index.php:5430 #: /app/templates/index.php:5455 /app/templates/index.php:5491 #: /app/templates/index.php:5669 /app/templates/index.php:5843 -#: /app/templates/index.php:6518 /app/templates/index.php:7327 +#: /app/templates/index.php:6519 /app/templates/index.php:7328 #: /app/templates/quick-add.php:17 msgid "Date" msgstr "Datum" -#: /app/lib/Controller/ApiV1TransactionController.php:258 -#: /app/lib/Controller/TransactionController.php:318 -#: /app/lib/Controller/TransactionController.php:428 +#: /app/lib/Controller/ApiV1TransactionController.php:336 +#: /app/lib/Controller/TransactionController.php:321 +#: /app/lib/Controller/TransactionController.php:431 msgid "Invalid transaction type. Must be credit or debit" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:270 +#: /app/lib/Controller/ApiV1TransactionController.php:348 msgid "Idempotency key too long (64 characters maximum)" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:348 -#: /app/lib/Controller/ApiV1TransactionController.php:498 +#: /app/lib/Controller/ApiV1TransactionController.php:426 +#: /app/lib/Controller/ApiV1TransactionController.php:578 msgid "The transaction was recorded, but the photo could not be attached" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:374 +#: /app/lib/Controller/ApiV1TransactionController.php:452 msgid "The transaction was recorded, but it could not be split" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:384 -#: /app/lib/Controller/TransactionController.php:379 +#: /app/lib/Controller/ApiV1TransactionController.php:462 +#: /app/lib/Controller/TransactionController.php:382 msgid "Failed to create transaction" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:463 +#: /app/lib/Controller/ApiV1TransactionController.php:541 msgid "This idempotency key was already used for a different transaction" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:472 +#: /app/lib/Controller/ApiV1TransactionController.php:550 msgid "This request is still being processed. Try again shortly" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:545 +#: /app/lib/Controller/ApiV1TransactionController.php:625 msgid "" "splits must be an array of {\"amount\", \"category_id\", \"description\"} " "objects" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:566 +#: /app/lib/Controller/ApiV1TransactionController.php:646 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to split the transaction" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/ApiV1TransactionController.php:638 +#: /app/lib/Controller/ApiV1TransactionController.php:718 #: /app/lib/Controller/AttachmentController.php:46 #: /app/lib/Controller/AttachmentController.php:59 -#: /app/src/modules/transactions/TransactionsModule.js:2775 +#: /app/src/modules/transactions/TransactionsModule.js:2819 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to load attachments" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/ApiV1TransactionController.php:663 +#: /app/lib/Controller/ApiV1TransactionController.php:743 #: /app/lib/Controller/AttachmentController.php:101 -#: /app/src/modules/transactions/TransactionsModule.js:2786 -#: /app/src/modules/transactions/TransactionsModule.js:2791 +#: /app/src/modules/transactions/TransactionsModule.js:2830 +#: /app/src/modules/transactions/TransactionsModule.js:2835 msgid "Failed to upload receipt" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:669 +#: /app/lib/Controller/ApiV1TransactionController.php:749 #: /app/lib/Controller/AttachmentController.php:57 #: /app/lib/Controller/AttachmentController.php:72 -#: /app/lib/Controller/AttachmentController.php:97 /app/src/main.js:3292 -#: /app/src/main.js:3530 -#: /app/src/modules/transactions/TransactionsModule.js:3591 -#: /app/src/modules/transactions/TransactionsModule.js:3698 +#: /app/lib/Controller/AttachmentController.php:97 /app/src/main.js:3326 +#: /app/src/main.js:3564 +#: /app/src/modules/transactions/TransactionsModule.js:3642 +#: /app/src/modules/transactions/TransactionsModule.js:3749 msgid "Transaction not found" msgstr "" @@ -417,9 +445,9 @@ msgstr "Majetek" #: /app/lib/Controller/AssetController.php:310 #: /app/lib/Controller/PensionController.php:114 #: /app/lib/Controller/PensionController.php:215 -#: /app/lib/Controller/PensionController.php:340 -#: /app/lib/Controller/PensionController.php:407 -#: /app/lib/Controller/TransactionController.php:996 +#: /app/lib/Controller/PensionController.php:342 +#: /app/lib/Controller/PensionController.php:409 +#: /app/lib/Controller/TransactionController.php:1016 msgid "Invalid JSON data" msgstr "" @@ -480,7 +508,7 @@ msgid "Failed to delete asset" msgstr "" #: /app/lib/Controller/AssetController.php:297 -#: /app/lib/Controller/PensionController.php:326 +#: /app/lib/Controller/PensionController.php:328 msgid "Failed to retrieve snapshots" msgstr "" @@ -493,17 +521,17 @@ msgid "Value cannot be negative" msgstr "" #: /app/lib/Controller/AssetController.php:334 -#: /app/lib/Controller/PensionController.php:364 +#: /app/lib/Controller/PensionController.php:366 msgid "Failed to create snapshot" msgstr "" #: /app/lib/Controller/AssetController.php:345 -#: /app/lib/Controller/PensionController.php:375 +#: /app/lib/Controller/PensionController.php:377 msgid "Snapshot deleted successfully" msgstr "" #: /app/lib/Controller/AssetController.php:347 -#: /app/lib/Controller/PensionController.php:377 +#: /app/lib/Controller/PensionController.php:379 msgid "Failed to delete snapshot" msgstr "" @@ -530,8 +558,8 @@ msgid "File not found" msgstr "Účet nenalezen" #: /app/lib/Controller/AttachmentController.php:78 -#: /app/src/modules/transactions/TransactionsModule.js:2801 -#: /app/src/modules/transactions/TransactionsModule.js:2806 +#: /app/src/modules/transactions/TransactionsModule.js:2845 +#: /app/src/modules/transactions/TransactionsModule.js:2850 msgid "Failed to attach file" msgstr "" @@ -546,7 +574,7 @@ msgid "Attachment not found" msgstr "Účet nenalezen" #: /app/lib/Controller/AttachmentController.php:118 -#: /app/src/modules/transactions/TransactionsModule.js:2816 +#: /app/src/modules/transactions/TransactionsModule.js:2860 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to remove attachment" @@ -640,249 +668,257 @@ msgstr "" msgid "Failed to re-authorize" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/BillController.php:98 +#: /app/lib/Controller/BillController.php:107 msgid "Failed to retrieve bills" msgstr "" -#: /app/lib/Controller/BillController.php:121 -#: /app/lib/Controller/BillController.php:136 -#: /app/lib/Controller/BillController.php:758 -#: /app/lib/Controller/BillController.php:1162 -#: /app/lib/Controller/BillController.php:1268 /app/templates/index.php:3649 +#: /app/lib/Controller/BillController.php:148 +#: /app/lib/Controller/BillController.php:164 +#: /app/lib/Controller/BillController.php:800 +#: /app/lib/Controller/BillController.php:1288 +#: /app/lib/Controller/BillController.php:1394 /app/templates/index.php:3649 #: /app/templates/index.php:6166 msgid "Bill" msgstr "Faktura" -#: /app/lib/Controller/BillController.php:121 -#: /app/lib/Controller/CategoryController.php:381 -#: /app/lib/Controller/CategoryController.php:475 -#: /app/lib/Controller/CategoryController.php:493 -#: /app/lib/Controller/CategoryController.php:512 -#: /app/lib/Controller/GoalsController.php:87 -#: /app/lib/Controller/GoalsController.php:316 -#: /app/lib/Controller/GoalsController.php:344 -#: /app/lib/Controller/GoalsController.php:363 -#: /app/lib/Controller/ImportRuleController.php:90 -#: /app/lib/Controller/ProjectController.php:186 -#: /app/lib/Controller/RecurringIncomeController.php:89 +#: /app/lib/Controller/BillController.php:148 +#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:514 +#: /app/lib/Controller/CategoryController.php:618 +#: /app/lib/Controller/CategoryController.php:636 +#: /app/lib/Controller/CategoryController.php:655 +#: /app/lib/Controller/GoalsController.php:92 +#: /app/lib/Controller/GoalsController.php:322 +#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:370 +#: /app/lib/Controller/ImportRuleController.php:91 +#: /app/lib/Controller/ProjectController.php:188 +#: /app/lib/Controller/RecurringIncomeController.php:93 #: /app/lib/Traits/ApiErrorHandlerTrait.php:211 #, php-format msgid "%1$s not found" msgstr "" -#: /app/lib/Controller/BillController.php:189 -#: /app/lib/Controller/BillController.php:622 -#: /app/lib/Service/BillService.php:86 +#: /app/lib/Controller/BillController.php:217 +#: /app/lib/Controller/BillController.php:652 +#: /app/lib/Service/BillService.php:167 #, fuzzy #| msgid "Invalid account type: %1$s" msgid "Invalid amount type" msgstr "Neplatný typ účtu: %1$s" -#: /app/lib/Controller/BillController.php:194 +#: /app/lib/Controller/BillController.php:222 msgid "Name and amount are required" msgstr "" -#: /app/lib/Controller/BillController.php:238 -#: /app/lib/Controller/BillController.php:707 -#: /app/lib/Service/BillService.php:403 /app/lib/Service/BillService.php:513 +#: /app/lib/Controller/BillController.php:266 +#: /app/lib/Controller/BillController.php:737 +#: /app/lib/Service/BillService.php:625 /app/lib/Service/BillService.php:751 msgid "Auto-pay requires an account to be set" msgstr "" -#: /app/lib/Controller/BillController.php:246 -#: /app/lib/Controller/BillController.php:641 -#: /app/lib/Service/BillService.php:408 +#: /app/lib/Controller/BillController.php:274 +#: /app/lib/Controller/BillController.php:671 +#: /app/lib/Service/BillService.php:630 msgid "Transfer requires a destination account" msgstr "" -#: /app/lib/Controller/BillController.php:254 -#: /app/lib/Controller/BillController.php:669 -#: /app/lib/Service/BillService.php:413 +#: /app/lib/Controller/BillController.php:282 +#: /app/lib/Controller/BillController.php:699 +#: /app/lib/Service/BillService.php:635 #: /app/src/modules/transfers/TransfersModule.js:848 msgid "Cannot transfer to the same account" msgstr "" -#: /app/lib/Controller/BillController.php:277 -#: /app/lib/Controller/BillController.php:432 +#: /app/lib/Controller/BillController.php:305 +#: /app/lib/Controller/BillController.php:461 +#: /app/lib/Controller/BillController.php:1188 msgid "Due day must be between 1 and 31" msgstr "" -#: /app/lib/Controller/BillController.php:282 -#: /app/lib/Controller/BillController.php:444 +#: /app/lib/Controller/BillController.php:310 +#: /app/lib/Controller/BillController.php:473 +#: /app/lib/Controller/BillController.php:1191 msgid "Due month must be between 1 and 12" msgstr "" -#: /app/lib/Controller/BillController.php:305 -#: /app/lib/Controller/BillController.php:497 +#: /app/lib/Controller/BillController.php:333 +#: /app/lib/Controller/BillController.php:527 msgid "Reminder days must be between 0 and 30" msgstr "" -#: /app/lib/Controller/BillController.php:318 +#: /app/lib/Controller/BillController.php:346 msgid "Transaction date" msgstr "" -#: /app/lib/Controller/BillController.php:326 -#: /app/lib/Controller/BillController.php:539 -#: /app/lib/Controller/RecurringIncomeController.php:199 -#: /app/lib/Controller/RecurringIncomeController.php:311 +#: /app/lib/Controller/BillController.php:354 +#: /app/lib/Controller/BillController.php:569 +#: /app/lib/Controller/BillController.php:1195 +#: /app/lib/Controller/RecurringIncomeController.php:205 +#: /app/lib/Controller/RecurringIncomeController.php:317 +#: /app/lib/Controller/RecurringIncomeController.php:584 #: /app/templates/index.php:3208 /app/templates/index.php:5171 msgid "Start date" msgstr "" -#: /app/lib/Controller/BillController.php:336 -#: /app/lib/Controller/BillController.php:550 /app/templates/index.php:3210 +#: /app/lib/Controller/BillController.php:364 +#: /app/lib/Controller/BillController.php:580 /app/templates/index.php:3210 msgid "End date" msgstr "" -#: /app/lib/Controller/BillController.php:346 +#: /app/lib/Controller/BillController.php:374 msgid "Start date must be before the end date" msgstr "" -#: /app/lib/Controller/BillController.php:351 -#: /app/lib/Controller/BillController.php:563 +#: /app/lib/Controller/BillController.php:379 +#: /app/lib/Controller/BillController.php:593 msgid "Remaining payments must be at least 1" msgstr "" -#: /app/lib/Controller/BillController.php:392 -#: /app/src/modules/bills/BillsModule.js:234 +#: /app/lib/Controller/BillController.php:421 +#: /app/src/modules/bills/BillsModule.js:243 msgid "Failed to create bill" msgstr "" -#: /app/lib/Controller/BillController.php:602 +#: /app/lib/Controller/BillController.php:632 msgid "" "The new amount does not match the bill's split template. Update the splits " "together with the amount." msgstr "" -#: /app/lib/Controller/BillController.php:743 +#: /app/lib/Controller/BillController.php:781 msgid "Failed to update bill" msgstr "" -#: /app/lib/Controller/BillController.php:771 +#: /app/lib/Controller/BillController.php:795 +#: /app/lib/Controller/GoalsController.php:331 +#: /app/lib/Controller/ProjectController.php:164 +#: /app/lib/Controller/RecurringIncomeController.php:362 +msgid "Deleting a shared item needs Full control from its owner" +msgstr "" + +#: /app/lib/Controller/BillController.php:813 msgid "Failed to find matching transactions" msgstr "" -#: /app/lib/Controller/BillController.php:784 +#: /app/lib/Controller/BillController.php:826 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to check for unrecorded payments" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/BillController.php:801 -#: /app/src/modules/bills/BillsModule.js:164 +#: /app/lib/Controller/BillController.php:843 +#: /app/src/modules/bills/BillsModule.js:168 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to record the payment" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/BillController.php:820 -#: /app/src/modules/bills/BillsModule.js:153 +#: /app/lib/Controller/BillController.php:862 +#: /app/src/modules/bills/BillsModule.js:157 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to dismiss the payment" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/BillController.php:843 -#: /app/src/modules/bills/BillsModule.js:1248 +#: /app/lib/Controller/BillController.php:892 +#: /app/src/modules/bills/BillsModule.js:1271 msgid "Failed to mark bill as paid" msgstr "" -#: /app/lib/Controller/BillController.php:880 +#: /app/lib/Controller/BillController.php:918 msgid "Failed to undo mark as paid" msgstr "" -#: /app/lib/Controller/BillController.php:899 -#: /app/src/modules/bills/BillsModule.js:1501 -#: /app/src/modules/bills/BillsModule.js:1508 +#: /app/lib/Controller/BillController.php:939 +#: /app/src/modules/bills/BillsModule.js:1405 +#: /app/src/modules/bills/BillsModule.js:1413 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to mark bill as unpaid" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/BillController.php:916 -#: /app/src/modules/bills/BillsModule.js:1542 +#: /app/lib/Controller/BillController.php:967 +#: /app/src/modules/bills/BillsModule.js:1447 msgid "Failed to skip bill payment" msgstr "" -#: /app/lib/Controller/BillController.php:932 +#: /app/lib/Controller/BillController.php:983 msgid "Missing previous due date" msgstr "" -#: /app/lib/Controller/BillController.php:938 +#: /app/lib/Controller/BillController.php:991 msgid "Failed to undo skip" msgstr "" -#: /app/lib/Controller/BillController.php:952 -msgid "Failed to retrieve upcoming bills" -msgstr "" - -#: /app/lib/Controller/BillController.php:966 +#: /app/lib/Controller/BillController.php:1019 msgid "Failed to retrieve bills due this month" msgstr "" -#: /app/lib/Controller/BillController.php:980 +#: /app/lib/Controller/BillController.php:1033 msgid "Failed to retrieve overdue bills" msgstr "" -#: /app/lib/Controller/BillController.php:993 +#: /app/lib/Controller/BillController.php:1052 msgid "Failed to retrieve bill summary" msgstr "" -#: /app/lib/Controller/BillController.php:1006 +#: /app/lib/Controller/BillController.php:1065 msgid "Failed to retrieve bill status" msgstr "" -#: /app/lib/Controller/BillController.php:1019 -#: /app/src/modules/bills/BillsModule.js:1586 +#: /app/lib/Controller/BillController.php:1080 +#: /app/src/modules/bills/BillsModule.js:1491 msgid "Failed to detect recurring bills" msgstr "" -#: /app/lib/Controller/BillController.php:1033 +#: /app/lib/Controller/BillController.php:1094 msgid "Failed to load bill suggestions" msgstr "" -#: /app/lib/Controller/BillController.php:1050 -#: /app/src/modules/bills/BillsModule.js:253 +#: /app/lib/Controller/BillController.php:1111 +#: /app/src/modules/bills/BillsModule.js:262 msgid "Failed to dismiss suggestion" msgstr "" -#: /app/lib/Controller/BillController.php:1082 +#: /app/lib/Controller/BillController.php:1156 msgid "Failed to create bills from detected patterns" msgstr "" -#: /app/lib/Controller/BillController.php:1097 -#: /app/lib/Controller/BillController.php:1130 +#: /app/lib/Controller/BillController.php:1223 +#: /app/lib/Controller/BillController.php:1256 msgid "Invalid year" msgstr "" -#: /app/lib/Controller/BillController.php:1112 +#: /app/lib/Controller/BillController.php:1238 msgid "Failed to generate annual overview" msgstr "" -#: /app/lib/Controller/BillController.php:1153 +#: /app/lib/Controller/BillController.php:1279 msgid "Failed to export bills calendar" msgstr "" -#: /app/lib/Controller/BillController.php:1162 -#: /app/lib/Controller/BillController.php:1269 +#: /app/lib/Controller/BillController.php:1288 +#: /app/lib/Controller/BillController.php:1395 #: /app/lib/Service/Export/TransactionCsvExporter.php:34 #: /app/lib/Service/Report/ReportExporter.php:279 #: /app/lib/Service/Report/ReportExporter.php:337 #: /app/lib/Service/Report/ReportExporter.php:378 #: /app/lib/Service/Report/ReportExporter.php:495 #: /app/lib/Service/Report/ReportExporter.php:572 -#: /app/lib/Service/Report/ReportExporter.php:615 /app/src/main.js:3622 -#: /app/src/main.js:3623 /app/src/modules/bills/BillsModule.js:965 -#: /app/src/modules/rules/RulesModule.js:937 -#: /app/src/modules/rules/RulesModule.js:1139 +#: /app/lib/Service/Report/ReportExporter.php:615 /app/src/main.js:3656 +#: /app/src/main.js:3657 /app/src/modules/bills/BillsModule.js:971 +#: /app/src/modules/rules/RulesModule.js:952 +#: /app/src/modules/rules/RulesModule.js:1154 #: /app/src/modules/rules/components/CriteriaBuilder.js:190 -#: /app/src/modules/transactions/TransactionsModule.js:2040 -#: /app/src/modules/transactions/TransactionsModule.js:3183 -#: /app/src/modules/transactions/TransactionsModule.js:3184 -#: /app/src/modules/transactions/TransactionsModule.js:3268 -#: /app/src/modules/transactions/TransactionsModule.js:3553 -#: /app/src/modules/transactions/TransactionsModule.js:3787 -#: /app/src/modules/transactions/TransactionsModule.js:3788 -#: /app/src/modules/transfers/TransfersModule.js:482 +#: /app/src/modules/transactions/TransactionsModule.js:2068 +#: /app/src/modules/transactions/TransactionsModule.js:3227 +#: /app/src/modules/transactions/TransactionsModule.js:3228 +#: /app/src/modules/transactions/TransactionsModule.js:3312 +#: /app/src/modules/transactions/TransactionsModule.js:3604 +#: /app/src/modules/transactions/TransactionsModule.js:3838 +#: /app/src/modules/transactions/TransactionsModule.js:3839 +#: /app/src/modules/transfers/TransfersModule.js:456 #: /app/templates/index.php:1051 /app/templates/index.php:1541 #: /app/templates/index.php:1793 /app/templates/index.php:1846 #: /app/templates/index.php:2400 /app/templates/index.php:2561 @@ -890,134 +926,142 @@ msgstr "" #: /app/templates/index.php:3412 /app/templates/index.php:3433 #: /app/templates/index.php:5451 /app/templates/index.php:5487 #: /app/templates/index.php:5523 /app/templates/index.php:5822 -#: /app/templates/index.php:6180 /app/templates/index.php:6439 -#: /app/templates/index.php:6520 /app/templates/index.php:7119 +#: /app/templates/index.php:6180 /app/templates/index.php:6440 +#: /app/templates/index.php:6521 /app/templates/index.php:7120 #: /app/templates/quick-add.php:40 msgid "Amount" msgstr "Množství" -#: /app/lib/Controller/BillController.php:1162 -#: /app/src/modules/transfers/TransfersModule.js:500 +#: /app/lib/Controller/BillController.php:1288 +#: /app/src/modules/transfers/TransfersModule.js:474 #: /app/templates/index.php:5527 /app/templates/index.php:6186 -#: /app/templates/index.php:6676 +#: /app/templates/index.php:6677 msgid "Frequency" msgstr "" -#: /app/lib/Controller/BillController.php:1166 +#: /app/lib/Controller/BillController.php:1292 msgid "Annual Total" msgstr "" -#: /app/lib/Controller/BillController.php:1190 -#: /app/lib/Controller/BillController.php:1294 +#: /app/lib/Controller/BillController.php:1316 +#: /app/lib/Controller/BillController.php:1420 #: /app/lib/Service/Report/ReportExporter.php:298 #: /app/lib/Service/Report/ReportExporter.php:348 #: /app/lib/Service/Report/ReportExporter.php:421 #: /app/lib/Service/Report/ReportExporter.php:513 #: /app/lib/Service/Report/ReportExporter.php:584 #: /app/lib/Service/Report/ReportExporter.php:659 -#: /app/src/modules/categories/CategoriesModule.js:2355 -#: /app/src/modules/reports/ReportsModule.js:1853 /app/templates/index.php:7321 +#: /app/src/modules/categories/CategoriesModule.js:2417 +#: /app/src/modules/reports/ReportsModule.js:1854 /app/templates/index.php:7322 msgid "Total" msgstr "" -#: /app/lib/Controller/BillController.php:1230 -#: /app/src/modules/dashboard/DashboardModule.js:3162 -#: /app/src/modules/reports/ReportsModule.js:1998 +#: /app/lib/Controller/BillController.php:1356 +#: /app/src/modules/dashboard/DashboardModule.js:3359 +#: /app/src/modules/reports/ReportsModule.js:2006 #, fuzzy #| msgid "Balance" msgid "Projected balance" msgstr "Zůstatek" -#: /app/lib/Controller/BillController.php:1245 +#: /app/lib/Controller/BillController.php:1371 #, php-format msgid "Bills Calendar %s" msgstr "" -#: /app/lib/Controller/BillController.php:1273 +#: /app/lib/Controller/BillController.php:1399 msgid "Annual" msgstr "" -#: /app/lib/Controller/BillController.php:1351 +#: /app/lib/Controller/BillController.php:1482 +msgid "" +"This account belongs to someone else, who cannot see one of the split " +"categories. Split with categories shared with them, or pay from one of your " +"own accounts." +msgstr "" + +#: /app/lib/Controller/BillController.php:1500 msgid "Split template must have at least 2 splits" msgstr "" -#: /app/lib/Controller/BillController.php:1359 +#: /app/lib/Controller/BillController.php:1508 msgid "Each split must have a positive amount" msgstr "" -#: /app/lib/Controller/BillController.php:1365 +#: /app/lib/Controller/BillController.php:1514 msgid "Split amounts must equal the bill amount" msgstr "" -#: /app/lib/Controller/BillController.php:1377 +#: /app/lib/Controller/BillController.php:1526 msgid "Invalid JSON in custom recurrence pattern" msgstr "" -#: /app/lib/Controller/BillController.php:1384 +#: /app/lib/Controller/BillController.php:1533 msgid "Custom recurrence pattern must be a JSON object" msgstr "" -#: /app/lib/Controller/BillController.php:1393 +#: /app/lib/Controller/BillController.php:1542 msgid "Months must be an array" msgstr "" -#: /app/lib/Controller/BillController.php:1400 +#: /app/lib/Controller/BillController.php:1549 msgid "At least one month must be specified" msgstr "" -#: /app/lib/Controller/BillController.php:1408 +#: /app/lib/Controller/BillController.php:1557 msgid "Each month must be a number between 1 and 12" msgstr "" -#: /app/lib/Controller/BillController.php:1421 +#: /app/lib/Controller/BillController.php:1570 msgid "Dates must be an array" msgstr "" -#: /app/lib/Controller/BillController.php:1428 +#: /app/lib/Controller/BillController.php:1577 msgid "At least one date must be specified" msgstr "" -#: /app/lib/Controller/BillController.php:1436 +#: /app/lib/Controller/BillController.php:1585 msgid "Each date must have \"month\" and \"day\" fields" msgstr "" -#: /app/lib/Controller/BillController.php:1443 +#: /app/lib/Controller/BillController.php:1592 msgid "Month must be a number between 1 and 12" msgstr "" -#: /app/lib/Controller/BillController.php:1450 +#: /app/lib/Controller/BillController.php:1599 msgid "Day must be a number between 1 and 31" msgstr "" -#: /app/lib/Controller/BillController.php:1460 +#: /app/lib/Controller/BillController.php:1609 msgid "Custom pattern must contain either \"months\" or \"dates\" field" msgstr "" #: /app/lib/Controller/CalendarFeedController.php:94 -#: /app/src/modules/bills/BillsModule.js:1164 +#: /app/src/modules/bills/BillsModule.js:1187 msgid "Failed to get calendar feed" msgstr "" #: /app/lib/Controller/CalendarFeedController.php:108 -#: /app/src/modules/bills/BillsModule.js:1210 +#: /app/src/modules/bills/BillsModule.js:1233 msgid "Failed to regenerate calendar feed token" msgstr "" -#: /app/lib/Controller/CategoryController.php:129 +#: /app/lib/Controller/CategoryController.php:134 msgid "Failed to retrieve category tree" msgstr "" -#: /app/lib/Controller/CategoryController.php:141 +#: /app/lib/Controller/CategoryController.php:146 msgid "Failed to retrieve transaction counts" msgstr "" -#: /app/lib/Controller/CategoryController.php:153 -#: /app/lib/Controller/CategoryController.php:381 -#: /app/lib/Controller/CategoryController.php:475 -#: /app/lib/Controller/CategoryController.php:493 -#: /app/lib/Controller/CategoryController.php:499 -#: /app/lib/Controller/CategoryController.php:512 -#: /app/lib/Controller/CategoryController.php:519 +#: /app/lib/Controller/CategoryController.php:158 +#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:514 +#: /app/lib/Controller/CategoryController.php:618 +#: /app/lib/Controller/CategoryController.php:636 +#: /app/lib/Controller/CategoryController.php:642 +#: /app/lib/Controller/CategoryController.php:655 +#: /app/lib/Controller/CategoryController.php:662 #: /app/lib/Controller/YearOverYearController.php:287 #: /app/lib/Controller/YearOverYearController.php:389 #: /app/lib/Service/Export/TransactionCsvExporter.php:31 @@ -1028,15 +1072,15 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:614 #: /app/lib/Service/Report/ReportExporter.php:639 #: /app/lib/Service/Report/ReportExporter.php:676 -#: /app/lib/Service/Report/ReportExporter.php:722 /app/src/main.js:3627 -#: /app/src/main.js:3628 /app/src/modules/dashboard/DashboardModule.js:2164 -#: /app/src/modules/reports/ReportsModule.js:1114 -#: /app/src/modules/reports/ReportsModule.js:1562 -#: /app/src/modules/transactions/TransactionsModule.js:3188 -#: /app/src/modules/transactions/TransactionsModule.js:3189 -#: /app/src/modules/transactions/TransactionsModule.js:3792 -#: /app/src/modules/transactions/TransactionsModule.js:3793 -#: /app/src/modules/transfers/TransfersModule.js:564 +#: /app/lib/Service/Report/ReportExporter.php:722 /app/src/main.js:3661 +#: /app/src/main.js:3662 /app/src/modules/dashboard/DashboardModule.js:2327 +#: /app/src/modules/reports/ReportsModule.js:1115 +#: /app/src/modules/reports/ReportsModule.js:1563 +#: /app/src/modules/transactions/TransactionsModule.js:3232 +#: /app/src/modules/transactions/TransactionsModule.js:3233 +#: /app/src/modules/transactions/TransactionsModule.js:3843 +#: /app/src/modules/transactions/TransactionsModule.js:3844 +#: /app/src/modules/transfers/TransfersModule.js:549 #: /app/templates/index.php:1059 /app/templates/index.php:1461 #: /app/templates/index.php:1539 /app/templates/index.php:1625 #: /app/templates/index.php:1785 /app/templates/index.php:1839 @@ -1045,122 +1089,124 @@ msgstr "" #: /app/templates/index.php:3366 /app/templates/index.php:3411 #: /app/templates/index.php:3580 /app/templates/index.php:5161 #: /app/templates/index.php:5862 /app/templates/index.php:6253 -#: /app/templates/index.php:6723 /app/templates/index.php:7118 -#: /app/templates/index.php:7159 /app/templates/quick-add.php:55 +#: /app/templates/index.php:6724 /app/templates/index.php:7119 +#: /app/templates/index.php:7160 /app/templates/quick-add.php:55 msgid "Category" msgstr "Kategorie" -#: /app/lib/Controller/CategoryController.php:281 +#: /app/lib/Controller/CategoryController.php:307 msgid "Invalid budget period. Must be monthly, weekly, yearly, or quarterly" msgstr "" -#: /app/lib/Controller/CategoryController.php:326 -#: /app/src/modules/categories/CategoriesModule.js:1389 +#: /app/lib/Controller/CategoryController.php:360 +#: /app/src/modules/categories/CategoriesModule.js:1411 msgid "Failed to update category" msgstr "" -#: /app/lib/Controller/CategoryController.php:352 +#: /app/lib/Controller/CategoryController.php:388 +msgid "A category can only be moved under another category with the same owner" +msgstr "" + +#: /app/lib/Controller/CategoryController.php:397 +msgid "Only the owner can add subcategories to a shared category" +msgstr "" + +#: /app/lib/Controller/CategoryController.php:418 +#: /app/lib/Controller/CategoryController.php:788 +msgid "Invalid budget period" +msgstr "" + +#: /app/lib/Controller/CategoryController.php:431 +#: /app/src/modules/categories/CategoriesModule.js:2386 +msgid "Only the owner can change the budget of a shared category" +msgstr "" + +#: /app/lib/Controller/CategoryController.php:477 #, fuzzy #| msgid "Invalid account type: %1$s" msgid "Invalid position" msgstr "Neplatný typ účtu: %1$s" -#: /app/lib/Controller/CategoryController.php:360 +#: /app/lib/Controller/CategoryController.php:488 #, fuzzy #| msgid "categories" msgid "Shared categories cannot be nested" msgstr "kategorie" -#: /app/lib/Controller/CategoryController.php:366 -#: /app/lib/Controller/CategoryController.php:368 -#: /app/src/modules/categories/CategoriesModule.js:611 -#: /app/src/modules/categories/CategoriesModule.js:620 +#: /app/lib/Controller/CategoryController.php:499 +#: /app/lib/Controller/CategoryController.php:501 +#: /app/src/modules/categories/CategoriesModule.js:617 +#: /app/src/modules/categories/CategoriesModule.js:626 msgid "Failed to reorder category" msgstr "" -#: /app/lib/Controller/CategoryController.php:390 +#: /app/lib/Controller/CategoryController.php:533 +#: /app/lib/Service/CategoryService.php:324 msgid "Only the category owner can delete it" msgstr "" -#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:567 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to load report preferences" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/CategoryController.php:440 +#: /app/lib/Controller/CategoryController.php:583 #: /app/lib/Service/GranularShareService.php:146 #, fuzzy #| msgid "Account not found" msgid "Category not found" msgstr "Účet nenalezen" -#: /app/lib/Controller/CategoryController.php:445 -#: /app/src/modules/categories/CategoriesModule.js:441 +#: /app/lib/Controller/CategoryController.php:588 +#: /app/src/modules/categories/CategoriesModule.js:444 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to update report preference" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/CategoryController.php:462 -#: /app/lib/Controller/CategoryController.php:480 +#: /app/lib/Controller/CategoryController.php:605 +#: /app/lib/Controller/CategoryController.php:623 msgid "Failed to retrieve category spending" msgstr "" -#: /app/lib/Controller/CategoryController.php:531 -#: /app/lib/Controller/CategoryController.php:553 -#: /app/lib/Controller/CategoryController.php:583 -#: /app/lib/Controller/CategoryController.php:631 -msgid "Invalid month format. Use YYYY-MM" -msgstr "" - -#: /app/lib/Controller/CategoryController.php:559 +#: /app/lib/Controller/CategoryController.php:702 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to delete budget snapshot" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/CategoryController.php:572 +#: /app/lib/Controller/CategoryController.php:715 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to retrieve snapshot months" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/CategoryController.php:604 -#, fuzzy -#| msgid "Failed to retrieve accounts" -msgid "Failed to retrieve effective budgets" -msgstr "Nepodařilo se získat účty" - -#: /app/lib/Controller/CategoryController.php:619 +#: /app/lib/Controller/CategoryController.php:770 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to retrieve recurring budgets" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/CategoryController.php:637 -msgid "Invalid budget period" -msgstr "" - #: /app/lib/Controller/CategoryTransferController.php:64 -#: /app/src/modules/categories/CategoriesModule.js:1587 -#: /app/src/modules/categories/CategoriesModule.js:1599 +#: /app/src/modules/categories/CategoriesModule.js:1627 +#: /app/src/modules/categories/CategoriesModule.js:1639 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to export categories" msgstr "Nepodařilo se získat účty" #: /app/lib/Controller/CategoryTransferController.php:89 -#: /app/src/modules/categories/CategoriesModule.js:1623 -#: /app/src/modules/categories/CategoriesModule.js:1629 +#: /app/src/modules/categories/CategoriesModule.js:1663 +#: /app/src/modules/categories/CategoriesModule.js:1669 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to read the category file" msgstr "Nepodařilo se získat účty" #: /app/lib/Controller/CategoryTransferController.php:109 -#: /app/src/modules/categories/CategoriesModule.js:1697 -#: /app/src/modules/categories/CategoriesModule.js:1705 +#: /app/src/modules/categories/CategoriesModule.js:1737 +#: /app/src/modules/categories/CategoriesModule.js:1745 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to import categories" @@ -1191,8 +1237,8 @@ msgstr "" msgid "Failed to get debt progress" msgstr "" -#: /app/lib/Controller/DebtController.php:166 /app/src/main.js:3094 -#: /app/src/main.js:3099 +#: /app/lib/Controller/DebtController.php:166 /app/src/main.js:3128 +#: /app/src/main.js:3133 msgid "Failed to compare strategies" msgstr "" @@ -1328,77 +1374,73 @@ msgstr "" msgid "Failed to export forecast" msgstr "" -#: /app/lib/Controller/GoalsController.php:75 +#: /app/lib/Controller/GoalsController.php:80 msgid "Failed to retrieve goals" msgstr "" -#: /app/lib/Controller/GoalsController.php:87 -#: /app/lib/Controller/GoalsController.php:99 -#: /app/lib/Controller/GoalsController.php:316 -#: /app/lib/Controller/GoalsController.php:344 -#: /app/lib/Controller/GoalsController.php:363 /app/templates/index.php:5209 +#: /app/lib/Controller/GoalsController.php:92 +#: /app/lib/Controller/GoalsController.php:105 +#: /app/lib/Controller/GoalsController.php:322 +#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:370 /app/templates/index.php:5209 #: /app/templates/index.php:5281 msgid "Goal" msgstr "Cíl" -#: /app/lib/Controller/GoalsController.php:137 -#: /app/lib/Controller/GoalsController.php:236 +#: /app/lib/Controller/GoalsController.php:143 +#: /app/lib/Controller/GoalsController.php:242 msgid "Target date" msgstr "" -#: /app/lib/Controller/GoalsController.php:147 -#: /app/lib/Controller/GoalsController.php:244 +#: /app/lib/Controller/GoalsController.php:153 +#: /app/lib/Controller/GoalsController.php:250 msgid "Target amount must be greater than zero" msgstr "" -#: /app/lib/Controller/GoalsController.php:152 -#: /app/lib/Controller/GoalsController.php:249 +#: /app/lib/Controller/GoalsController.php:158 +#: /app/lib/Controller/GoalsController.php:255 msgid "Target months must be greater than zero" msgstr "" -#: /app/lib/Controller/GoalsController.php:157 -#: /app/lib/Controller/GoalsController.php:254 +#: /app/lib/Controller/GoalsController.php:163 +#: /app/lib/Controller/GoalsController.php:260 msgid "Current amount cannot be negative" msgstr "" -#: /app/lib/Controller/GoalsController.php:162 -#: /app/lib/Controller/GoalsController.php:259 +#: /app/lib/Controller/GoalsController.php:168 +#: /app/lib/Controller/GoalsController.php:265 msgid "Invalid tag ID" msgstr "" -#: /app/lib/Controller/GoalsController.php:167 -#: /app/lib/Controller/GoalsController.php:264 +#: /app/lib/Controller/GoalsController.php:173 +#: /app/lib/Controller/GoalsController.php:270 #, fuzzy #| msgid "Invalid account type: %1$s" msgid "Invalid account ID" msgstr "Neplatný typ účtu: %1$s" -#: /app/lib/Controller/GoalsController.php:193 +#: /app/lib/Controller/GoalsController.php:199 msgid "Failed to create goal" msgstr "" -#: /app/lib/Controller/GoalsController.php:303 +#: /app/lib/Controller/GoalsController.php:309 msgid "Failed to update goal" msgstr "" -#: /app/lib/Controller/GoalsController.php:324 -msgid "Only the goal owner can delete it" -msgstr "" - -#: /app/lib/Controller/GoalsController.php:330 +#: /app/lib/Controller/GoalsController.php:337 msgid "Goal deleted successfully" msgstr "" -#: /app/lib/Controller/GoalsController.php:332 -#: /app/src/modules/savings/SavingsModule.js:460 +#: /app/lib/Controller/GoalsController.php:339 +#: /app/src/modules/savings/SavingsModule.js:462 msgid "Failed to delete goal" msgstr "" -#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:358 msgid "Failed to retrieve goal progress" msgstr "" -#: /app/lib/Controller/GoalsController.php:370 +#: /app/lib/Controller/GoalsController.php:377 msgid "Failed to retrieve goal forecast" msgstr "" @@ -1454,85 +1496,85 @@ msgstr "" msgid "Failed to execute import" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:66 +#: /app/lib/Controller/ImportRuleController.php:67 msgid "Failed to retrieve import rules" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:78 +#: /app/lib/Controller/ImportRuleController.php:79 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to retrieve rule groups" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/ImportRuleController.php:90 -#: /app/lib/Controller/ImportRuleController.php:103 -#: /app/lib/Controller/ImportRuleController.php:357 -#: /app/lib/Controller/ImportRuleController.php:373 +#: /app/lib/Controller/ImportRuleController.php:91 +#: /app/lib/Controller/ImportRuleController.php:104 +#: /app/lib/Controller/ImportRuleController.php:367 +#: /app/lib/Controller/ImportRuleController.php:383 msgid "Import rule" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:138 +#: /app/lib/Controller/ImportRuleController.php:139 msgid "Criteria required for v2 rules" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:144 +#: /app/lib/Controller/ImportRuleController.php:145 msgid "Pattern, field, and matchType required for v1 rules" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:156 -#: /app/lib/Controller/ImportRuleController.php:260 +#: /app/lib/Controller/ImportRuleController.php:157 +#: /app/lib/Controller/ImportRuleController.php:267 #, php-format msgid "Invalid field. Must be one of: %1$s" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:161 -#: /app/lib/Controller/ImportRuleController.php:268 +#: /app/lib/Controller/ImportRuleController.php:162 +#: /app/lib/Controller/ImportRuleController.php:275 #, php-format msgid "Invalid match type. Must be one of: %1$s" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:167 -#: /app/lib/Controller/ImportRuleController.php:276 +#: /app/lib/Controller/ImportRuleController.php:169 +#: /app/lib/Controller/ImportRuleController.php:284 msgid "Invalid regex pattern" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:208 +#: /app/lib/Controller/ImportRuleController.php:215 msgid "Failed to create import rule" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:343 +#: /app/lib/Controller/ImportRuleController.php:353 msgid "Failed to update import rule" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:365 +#: /app/lib/Controller/ImportRuleController.php:375 msgid "Only the rule owner can delete it" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:385 +#: /app/lib/Controller/ImportRuleController.php:395 msgid "Failed to test import rules" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:411 +#: /app/lib/Controller/ImportRuleController.php:421 msgid "Failed to preview rule application" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:439 +#: /app/lib/Controller/ImportRuleController.php:449 msgid "Failed to test rule against transactions" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:466 +#: /app/lib/Controller/ImportRuleController.php:476 msgid "Failed to apply rules to transactions" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:480 +#: /app/lib/Controller/ImportRuleController.php:490 msgid "Failed to migrate import rule" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:497 +#: /app/lib/Controller/ImportRuleController.php:507 msgid "Failed to migrate import rules" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:513 +#: /app/lib/Controller/ImportRuleController.php:523 #: /app/lib/Traits/InputValidationTrait.php:108 msgid "Validation failed" msgstr "" @@ -1627,13 +1669,13 @@ msgstr "" msgid "Failed to clear the sample data" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/PageController.php:155 +#: /app/lib/Controller/PageController.php:201 #: /app/src/config/dashboardWidgets.js:91 /app/templates/index.php:1025 #: /app/templates/quick-add.php:9 msgid "Quick Add Transaction" msgstr "" -#: /app/lib/Controller/PageController.php:156 /app/templates/quick-add.php:98 +#: /app/lib/Controller/PageController.php:202 /app/templates/quick-add.php:98 msgid "Quick Add" msgstr "" @@ -1692,117 +1734,124 @@ msgstr "" msgid "Failed to create pension" msgstr "" -#: /app/lib/Controller/PensionController.php:297 +#: /app/lib/Controller/PensionController.php:299 msgid "Failed to update pension" msgstr "" -#: /app/lib/Controller/PensionController.php:308 +#: /app/lib/Controller/PensionController.php:310 msgid "Pension deleted successfully" msgstr "" -#: /app/lib/Controller/PensionController.php:310 -#: /app/src/modules/pensions/PensionsModule.js:488 +#: /app/lib/Controller/PensionController.php:312 +#: /app/src/modules/pensions/PensionsModule.js:537 msgid "Failed to delete pension" msgstr "" -#: /app/lib/Controller/PensionController.php:347 +#: /app/lib/Controller/PensionController.php:349 msgid "Balance and date are required" msgstr "" -#: /app/lib/Controller/PensionController.php:352 +#: /app/lib/Controller/PensionController.php:354 msgid "Balance cannot be negative" msgstr "" -#: /app/lib/Controller/PensionController.php:393 +#: /app/lib/Controller/PensionController.php:395 msgid "Failed to retrieve contributions" msgstr "" -#: /app/lib/Controller/PensionController.php:419 -#: /app/lib/Controller/PensionController.php:471 +#: /app/lib/Controller/PensionController.php:421 +#: /app/lib/Controller/PensionController.php:475 msgid "Amount and date are required" msgstr "" -#: /app/lib/Controller/PensionController.php:424 -#: /app/lib/Controller/PensionController.php:474 -#: /app/lib/Controller/PensionController.php:583 +#: /app/lib/Controller/PensionController.php:426 +#: /app/lib/Controller/PensionController.php:478 +#: /app/lib/Controller/PensionController.php:589 msgid "Amount must be greater than zero" msgstr "" -#: /app/lib/Controller/PensionController.php:449 +#: /app/lib/Controller/PensionController.php:453 msgid "Failed to create contribution" msgstr "" -#: /app/lib/Controller/PensionController.php:497 -#: /app/src/modules/pensions/PensionsModule.js:984 +#: /app/lib/Controller/PensionController.php:503 +#: /app/src/modules/pensions/PensionsModule.js:1046 msgid "Failed to record withdrawal" msgstr "" -#: /app/lib/Controller/PensionController.php:508 +#: /app/lib/Controller/PensionController.php:514 msgid "Contribution deleted successfully" msgstr "" -#: /app/lib/Controller/PensionController.php:510 +#: /app/lib/Controller/PensionController.php:516 msgid "Failed to delete contribution" msgstr "" -#: /app/lib/Controller/PensionController.php:528 +#: /app/lib/Controller/PensionController.php:534 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to retrieve balance history" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/PensionController.php:542 +#: /app/lib/Controller/PensionController.php:548 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to retrieve pension activity" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/PensionController.php:558 +#: /app/lib/Controller/PensionController.php:564 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to retrieve recurring contributions" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/PensionController.php:580 +#: /app/lib/Controller/PensionController.php:586 msgid "Amount, frequency and next date are required" msgstr "" -#: /app/lib/Controller/PensionController.php:586 +#: /app/lib/Controller/PensionController.php:592 msgid "Next date" msgstr "" -#: /app/lib/Controller/PensionController.php:611 +#: /app/lib/Controller/PensionController.php:619 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to create recurring contribution" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/PensionController.php:625 +#: /app/lib/Controller/PensionController.php:635 msgid "Failed to update recurring contribution" msgstr "" -#: /app/lib/Controller/PensionController.php:636 +#: /app/lib/Controller/PensionController.php:646 msgid "Recurring contribution deleted" msgstr "" -#: /app/lib/Controller/PensionController.php:638 +#: /app/lib/Controller/PensionController.php:648 msgid "Failed to delete recurring contribution" msgstr "" -#: /app/lib/Controller/PensionController.php:653 -#: /app/src/modules/pensions/PensionsModule.js:1109 +#: /app/lib/Controller/PensionController.php:672 +#: /app/src/modules/pensions/PensionsModule.js:1230 msgid "Failed to post contribution" msgstr "" -#: /app/lib/Controller/PensionController.php:669 +#: /app/lib/Controller/PensionController.php:690 +#: /app/src/modules/pensions/PensionsModule.js:1246 +#, fuzzy +#| msgid "Failed to retrieve accounts" +msgid "Failed to undo the contribution" +msgstr "Nepodařilo se získat účty" + +#: /app/lib/Controller/PensionController.php:706 msgid "Failed to retrieve pension summary" msgstr "" -#: /app/lib/Controller/PensionController.php:682 +#: /app/lib/Controller/PensionController.php:719 msgid "Failed to retrieve pension projection" msgstr "" -#: /app/lib/Controller/PensionController.php:695 +#: /app/lib/Controller/PensionController.php:732 msgid "Failed to retrieve combined pension projection" msgstr "" @@ -1823,72 +1872,68 @@ msgstr "Nepodařilo se získat účty" #: /app/lib/Controller/ProjectController.php:107 #: /app/lib/Controller/ProjectController.php:147 -#: /app/lib/Controller/ProjectController.php:203 -#: /app/src/modules/projects/ProjectsModule.js:353 -#: /app/src/modules/projects/ProjectsModule.js:363 +#: /app/lib/Controller/ProjectController.php:205 +#: /app/src/modules/projects/ProjectsModule.js:354 +#: /app/src/modules/projects/ProjectsModule.js:364 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to save the project" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/ProjectController.php:163 -msgid "Only the owner can delete this project" -msgstr "" - -#: /app/lib/Controller/ProjectController.php:172 -#: /app/src/modules/projects/ProjectsModule.js:201 -#: /app/src/modules/projects/ProjectsModule.js:207 +#: /app/lib/Controller/ProjectController.php:173 +#: /app/src/modules/projects/ProjectsModule.js:202 +#: /app/src/modules/projects/ProjectsModule.js:208 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to delete the project" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/ProjectController.php:186 +#: /app/lib/Controller/ProjectController.php:188 msgid "Project" msgstr "" -#: /app/lib/Controller/ProjectController.php:193 -#: /app/src/modules/projects/ProjectsModule.js:332 +#: /app/lib/Controller/ProjectController.php:195 +#: /app/src/modules/projects/ProjectsModule.js:333 msgid "Enter a name for the project" msgstr "" -#: /app/lib/Controller/ProjectController.php:194 -#: /app/src/modules/projects/ProjectsModule.js:334 +#: /app/lib/Controller/ProjectController.php:196 +#: /app/src/modules/projects/ProjectsModule.js:335 msgid "The total must be more than zero" msgstr "" -#: /app/lib/Controller/ProjectController.php:195 +#: /app/lib/Controller/ProjectController.php:197 msgid "Choose one of your own expense categories" msgstr "" -#: /app/lib/Controller/ProjectController.php:196 -#: /app/src/modules/projects/ProjectsModule.js:335 +#: /app/lib/Controller/ProjectController.php:198 +#: /app/src/modules/projects/ProjectsModule.js:336 msgid "Enter a start date for the project" msgstr "" -#: /app/lib/Controller/ProjectController.php:197 -#: /app/src/modules/projects/ProjectsModule.js:336 +#: /app/lib/Controller/ProjectController.php:199 +#: /app/src/modules/projects/ProjectsModule.js:337 msgid "The end date cannot be before the start date" msgstr "" -#: /app/lib/Controller/ProjectController.php:198 +#: /app/lib/Controller/ProjectController.php:200 msgid "Every subcategory amount must be more than zero" msgstr "" -#: /app/lib/Controller/ProjectController.php:199 +#: /app/lib/Controller/ProjectController.php:201 msgid "Amounts can only go to subcategories of the project category" msgstr "" -#: /app/lib/Controller/ProjectController.php:200 +#: /app/lib/Controller/ProjectController.php:202 msgid "Each subcategory can only have one amount" msgstr "" -#: /app/lib/Controller/ProjectController.php:201 +#: /app/lib/Controller/ProjectController.php:203 msgid "A subcategory and one of its own subcategories cannot both have amounts" msgstr "" -#: /app/lib/Controller/ProjectController.php:202 -#: /app/src/modules/projects/ProjectsModule.js:338 +#: /app/lib/Controller/ProjectController.php:204 +#: /app/src/modules/projects/ProjectsModule.js:339 msgid "The subcategory amounts add up to more than the total" msgstr "" @@ -1918,65 +1963,68 @@ msgstr "" msgid "Failed to load reconciliation history" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:76 +#: /app/lib/Controller/RecurringIncomeController.php:80 msgid "Failed to retrieve recurring income" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:89 -#: /app/lib/Controller/RecurringIncomeController.php:103 -#: /app/lib/Controller/RecurringIncomeController.php:339 -#: /app/lib/Controller/RecurringIncomeController.php:354 -#: /app/lib/Controller/RecurringIncomeController.php:411 -#: /app/lib/Controller/RecurringIncomeController.php:428 -#: /app/lib/Controller/RecurringIncomeController.php:450 -#: /app/lib/Service/AccountClosureService.php:81 +#: /app/lib/Controller/RecurringIncomeController.php:93 +#: /app/lib/Controller/RecurringIncomeController.php:109 +#: /app/lib/Controller/RecurringIncomeController.php:348 +#: /app/lib/Controller/RecurringIncomeController.php:367 +#: /app/lib/Controller/RecurringIncomeController.php:430 +#: /app/lib/Controller/RecurringIncomeController.php:447 +#: /app/lib/Controller/RecurringIncomeController.php:464 +#: /app/lib/Controller/RecurringIncomeController.php:486 +#: /app/lib/Service/AccountClosureService.php:82 msgid "Recurring income" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:171 -#: /app/lib/Controller/RecurringIncomeController.php:297 +#: /app/lib/Controller/RecurringIncomeController.php:177 +#: /app/lib/Controller/RecurringIncomeController.php:303 +#: /app/lib/Controller/RecurringIncomeController.php:577 msgid "Expected day must be between 1 and 31" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:176 -#: /app/lib/Controller/RecurringIncomeController.php:304 +#: /app/lib/Controller/RecurringIncomeController.php:182 +#: /app/lib/Controller/RecurringIncomeController.php:310 +#: /app/lib/Controller/RecurringIncomeController.php:580 msgid "Expected month must be between 1 and 12" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:236 +#: /app/lib/Controller/RecurringIncomeController.php:242 msgid "Failed to create recurring income" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:264 +#: /app/lib/Controller/RecurringIncomeController.php:270 msgid "No data provided" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:352 +#: /app/lib/Controller/RecurringIncomeController.php:365 msgid "Recurring income deleted" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:367 +#: /app/lib/Controller/RecurringIncomeController.php:380 msgid "Failed to retrieve upcoming income" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:380 +#: /app/lib/Controller/RecurringIncomeController.php:393 msgid "Failed to retrieve expected income" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:393 +#: /app/lib/Controller/RecurringIncomeController.php:406 msgid "Failed to retrieve income summary" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:442 +#: /app/lib/Controller/RecurringIncomeController.php:478 msgid "Previous expected date" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:463 -#: /app/src/modules/income/IncomeModule.js:712 +#: /app/lib/Controller/RecurringIncomeController.php:499 +#: /app/src/modules/income/IncomeModule.js:719 msgid "Failed to detect recurring income" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:496 +#: /app/lib/Controller/RecurringIncomeController.php:545 msgid "Failed to create recurring income from detected patterns" msgstr "" @@ -1999,7 +2047,7 @@ msgid "Failed to generate income and expenses report" msgstr "Nepodařilo se získat účty" #: /app/lib/Controller/ReportController.php:226 -#: /app/src/modules/reports/ReportsModule.js:1611 +#: /app/src/modules/reports/ReportsModule.js:1612 msgid "Failed to export report" msgstr "" @@ -2130,57 +2178,57 @@ msgid "Monday" msgstr "Pondělí" #: /app/lib/Controller/SettingController.php:321 -#: /app/src/modules/bills/BillsModule.js:331 -#: /app/src/modules/categories/CategoriesModule.js:2360 -#: /app/src/modules/income/IncomeModule.js:110 -#: /app/src/modules/transfers/TransfersModule.js:330 -#: /app/src/modules/transfers/TransfersModule.js:503 -#: /app/src/modules/transfers/TransfersModule.js:1103 +#: /app/src/modules/bills/BillsModule.js:319 +#: /app/src/modules/categories/CategoriesModule.js:2422 +#: /app/src/modules/income/IncomeModule.js:98 +#: /app/src/modules/transfers/TransfersModule.js:316 +#: /app/src/modules/transfers/TransfersModule.js:478 +#: /app/src/modules/transfers/TransfersModule.js:1120 #: /app/templates/index.php:4435 /app/templates/index.php:4594 -#: /app/templates/index.php:6188 /app/templates/index.php:6678 +#: /app/templates/index.php:6188 /app/templates/index.php:6679 msgid "Weekly" msgstr "Týdně" #: /app/lib/Controller/SettingController.php:322 -#: /app/src/modules/accounts/AccountsModule.js:1368 -#: /app/src/modules/bills/BillsModule.js:334 -#: /app/src/modules/categories/CategoriesModule.js:2359 -#: /app/src/modules/income/IncomeModule.js:113 -#: /app/src/modules/pensions/PensionsModule.js:1026 -#: /app/src/modules/transfers/TransfersModule.js:333 -#: /app/src/modules/transfers/TransfersModule.js:506 -#: /app/src/modules/transfers/TransfersModule.js:1106 +#: /app/src/modules/accounts/AccountsModule.js:1371 +#: /app/src/modules/bills/BillsModule.js:322 +#: /app/src/modules/categories/CategoriesModule.js:2421 +#: /app/src/modules/income/IncomeModule.js:101 +#: /app/src/modules/pensions/PensionsModule.js:1098 +#: /app/src/modules/transfers/TransfersModule.js:319 +#: /app/src/modules/transfers/TransfersModule.js:481 +#: /app/src/modules/transfers/TransfersModule.js:1123 #: /app/templates/index.php:4436 /app/templates/index.php:4595 #: /app/templates/index.php:5529 /app/templates/index.php:6088 -#: /app/templates/index.php:6191 /app/templates/index.php:6681 +#: /app/templates/index.php:6191 /app/templates/index.php:6682 msgid "Monthly" msgstr "Měsíčně" #: /app/lib/Controller/SettingController.php:323 -#: /app/src/modules/bills/BillsModule.js:335 -#: /app/src/modules/categories/CategoriesModule.js:2361 -#: /app/src/modules/income/IncomeModule.js:114 -#: /app/src/modules/pensions/PensionsModule.js:1027 -#: /app/src/modules/transfers/TransfersModule.js:334 -#: /app/src/modules/transfers/TransfersModule.js:507 -#: /app/src/modules/transfers/TransfersModule.js:1107 +#: /app/src/modules/bills/BillsModule.js:323 +#: /app/src/modules/categories/CategoriesModule.js:2423 +#: /app/src/modules/income/IncomeModule.js:102 +#: /app/src/modules/pensions/PensionsModule.js:1099 +#: /app/src/modules/transfers/TransfersModule.js:320 +#: /app/src/modules/transfers/TransfersModule.js:482 +#: /app/src/modules/transfers/TransfersModule.js:1124 #: /app/templates/index.php:4437 /app/templates/index.php:5530 -#: /app/templates/index.php:6192 /app/templates/index.php:6682 +#: /app/templates/index.php:6192 /app/templates/index.php:6683 msgid "Quarterly" msgstr "Čtvrtletně" #: /app/lib/Controller/SettingController.php:324 -#: /app/src/modules/accounts/AccountsModule.js:1369 -#: /app/src/modules/bills/BillsModule.js:337 -#: /app/src/modules/categories/CategoriesModule.js:2362 -#: /app/src/modules/income/IncomeModule.js:116 -#: /app/src/modules/pensions/PensionsModule.js:1028 -#: /app/src/modules/transfers/TransfersModule.js:336 -#: /app/src/modules/transfers/TransfersModule.js:508 -#: /app/src/modules/transfers/TransfersModule.js:1109 +#: /app/src/modules/accounts/AccountsModule.js:1372 +#: /app/src/modules/bills/BillsModule.js:325 +#: /app/src/modules/categories/CategoriesModule.js:2424 +#: /app/src/modules/income/IncomeModule.js:104 +#: /app/src/modules/pensions/PensionsModule.js:1100 +#: /app/src/modules/transfers/TransfersModule.js:322 +#: /app/src/modules/transfers/TransfersModule.js:484 +#: /app/src/modules/transfers/TransfersModule.js:1126 #: /app/templates/index.php:4438 /app/templates/index.php:5531 #: /app/templates/index.php:6089 /app/templates/index.php:6194 -#: /app/templates/index.php:6684 +#: /app/templates/index.php:6685 msgid "Yearly" msgstr "Ročně" @@ -2224,12 +2272,12 @@ msgid "" "delete ALL your data." msgstr "" -#: /app/lib/Controller/SetupController.php:158 /app/src/main.js:2144 +#: /app/lib/Controller/SetupController.php:158 /app/src/main.js:2177 #: /app/src/modules/settings/SettingsModule.js:605 msgid "Factory reset completed successfully. All data has been deleted." msgstr "" -#: /app/lib/Controller/SetupController.php:162 /app/src/main.js:2137 +#: /app/lib/Controller/SetupController.php:162 /app/src/main.js:2170 #: /app/src/modules/settings/SettingsModule.js:598 msgid "Factory reset failed" msgstr "" @@ -2238,7 +2286,7 @@ msgstr "" msgid "Balance recalculation failed" msgstr "" -#: /app/lib/Controller/SetupController.php:201 /app/src/main.js:1739 +#: /app/lib/Controller/SetupController.php:201 /app/src/main.js:1742 msgid "Diagnosis failed" msgstr "" @@ -2250,79 +2298,79 @@ msgstr "" msgid "No valid repair categories specified" msgstr "" -#: /app/lib/Controller/SetupController.php:256 /app/src/main.js:2004 +#: /app/lib/Controller/SetupController.php:264 /app/src/main.js:2037 msgid "Repair failed" msgstr "" -#: /app/lib/Controller/SetupController.php:371 +#: /app/lib/Controller/SetupController.php:379 msgid "Failed to get system info" msgstr "" -#: /app/lib/Controller/ShareController.php:58 -#: /app/lib/Controller/ShareController.php:72 +#: /app/lib/Controller/ShareController.php:61 +#: /app/lib/Controller/ShareController.php:75 msgid "Failed to retrieve shares" msgstr "" -#: /app/lib/Controller/ShareController.php:86 +#: /app/lib/Controller/ShareController.php:89 msgid "Failed to retrieve pending shares" msgstr "" -#: /app/lib/Controller/ShareController.php:103 +#: /app/lib/Controller/ShareController.php:106 msgid "Failed to create share" msgstr "" -#: /app/lib/Controller/ShareController.php:119 -#: /app/lib/Controller/ShareController.php:137 -#: /app/lib/Controller/ShareController.php:155 -#: /app/lib/Controller/ShareController.php:173 -#: /app/lib/Controller/ShareController.php:198 -#: /app/lib/Controller/ShareController.php:232 +#: /app/lib/Controller/ShareController.php:122 +#: /app/lib/Controller/ShareController.php:140 +#: /app/lib/Controller/ShareController.php:160 +#: /app/lib/Controller/ShareController.php:179 +#: /app/lib/Controller/ShareController.php:204 +#: /app/lib/Controller/ShareController.php:241 msgid "Share" msgstr "Akcie" -#: /app/lib/Controller/ShareController.php:121 -#: /app/src/modules/sharing/SharingModule.js:413 +#: /app/lib/Controller/ShareController.php:124 +#: /app/src/modules/sharing/SharingModule.js:419 msgid "Failed to accept share" msgstr "" -#: /app/lib/Controller/ShareController.php:139 -#: /app/src/modules/sharing/SharingModule.js:421 +#: /app/lib/Controller/ShareController.php:142 +#: /app/src/modules/sharing/SharingModule.js:427 msgid "Failed to decline share" msgstr "" -#: /app/lib/Controller/ShareController.php:157 -#: /app/src/modules/sharing/SharingModule.js:431 +#: /app/lib/Controller/ShareController.php:162 +#: /app/src/modules/sharing/SharingModule.js:437 msgid "Failed to revoke share" msgstr "" -#: /app/lib/Controller/ShareController.php:175 -#: /app/src/modules/sharing/SharingModule.js:441 +#: /app/lib/Controller/ShareController.php:181 +#: /app/src/modules/sharing/SharingModule.js:447 msgid "Failed to leave share" msgstr "" -#: /app/lib/Controller/ShareController.php:192 +#: /app/lib/Controller/ShareController.php:198 msgid "Share not found" msgstr "" -#: /app/lib/Controller/ShareController.php:200 +#: /app/lib/Controller/ShareController.php:206 msgid "Failed to retrieve share configuration" msgstr "" -#: /app/lib/Controller/ShareController.php:216 +#: /app/lib/Controller/ShareController.php:222 msgid "Invalid entity IDs" msgstr "" -#: /app/lib/Controller/ShareController.php:234 +#: /app/lib/Controller/ShareController.php:243 msgid "Failed to update share configuration" msgstr "" -#: /app/lib/Controller/ShareController.php:255 +#: /app/lib/Controller/ShareController.php:264 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to retrieve auto-share configuration" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/ShareController.php:274 +#: /app/lib/Controller/ShareController.php:283 msgid "Failed to update auto-share configuration" msgstr "" @@ -2535,135 +2583,135 @@ msgstr "" msgid "Failed to delete global tag" msgstr "" -#: /app/lib/Controller/TransactionController.php:248 -#: /app/src/modules/accounts/AccountsModule.js:3451 -#: /app/src/modules/transactions/TransactionsModule.js:957 +#: /app/lib/Controller/TransactionController.php:251 +#: /app/src/modules/accounts/AccountsModule.js:3461 +#: /app/src/modules/transactions/TransactionsModule.js:983 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to export transactions" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/TransactionController.php:281 -#: /app/lib/Controller/TransactionController.php:536 -#: /app/lib/Controller/TransactionController.php:608 -#: /app/lib/Controller/TransactionController.php:639 -#: /app/lib/Controller/TransactionController.php:667 -#: /app/lib/Controller/TransactionController.php:922 -#: /app/lib/Controller/TransactionController.php:964 -#: /app/lib/Controller/TransactionController.php:981 -#: /app/lib/Controller/TransactionController.php:1026 /app/src/main.js:1895 -#: /app/src/modules/dashboard/DashboardModule.js:1328 +#: /app/lib/Controller/TransactionController.php:284 +#: /app/lib/Controller/TransactionController.php:539 +#: /app/lib/Controller/TransactionController.php:614 +#: /app/lib/Controller/TransactionController.php:645 +#: /app/lib/Controller/TransactionController.php:673 +#: /app/lib/Controller/TransactionController.php:942 +#: /app/lib/Controller/TransactionController.php:984 +#: /app/lib/Controller/TransactionController.php:1001 +#: /app/lib/Controller/TransactionController.php:1046 /app/src/main.js:1922 +#: /app/src/modules/dashboard/DashboardModule.js:1387 #: /app/templates/index.php:5803 msgid "Transaction" msgstr "Transakce" -#: /app/lib/Controller/TransactionController.php:480 +#: /app/lib/Controller/TransactionController.php:483 msgid "Invalid status. Must be cleared, scheduled or pending" msgstr "" -#: /app/lib/Controller/TransactionController.php:511 -#: /app/src/modules/transactions/TransactionsModule.js:5096 +#: /app/lib/Controller/TransactionController.php:514 +#: /app/src/modules/transactions/TransactionsModule.js:5147 msgid "Failed to update transaction" msgstr "" -#: /app/lib/Controller/TransactionController.php:548 +#: /app/lib/Controller/TransactionController.php:551 msgid "Failed to search transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:560 +#: /app/lib/Controller/TransactionController.php:563 msgid "Failed to retrieve uncategorized transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:573 +#: /app/lib/Controller/TransactionController.php:576 msgid "Failed to categorize transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:689 /app/src/main.js:3518 -#: /app/src/modules/transactions/TransactionsModule.js:3690 +#: /app/lib/Controller/TransactionController.php:698 /app/src/main.js:3552 +#: /app/src/modules/transactions/TransactionsModule.js:3741 msgid "Failed to unlink transaction" msgstr "" -#: /app/lib/Controller/TransactionController.php:706 +#: /app/lib/Controller/TransactionController.php:726 msgid "Failed to bulk match transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:721 +#: /app/lib/Controller/TransactionController.php:741 msgid "Failed to scan for matches" msgstr "" -#: /app/lib/Controller/TransactionController.php:737 +#: /app/lib/Controller/TransactionController.php:757 msgid "No valid pairs provided" msgstr "" -#: /app/lib/Controller/TransactionController.php:743 +#: /app/lib/Controller/TransactionController.php:763 msgid "Failed to bulk link transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:756 -#: /app/lib/Controller/TransactionController.php:775 -#: /app/lib/Controller/TransactionController.php:794 -#: /app/lib/Controller/TransactionController.php:865 -#: /app/lib/Controller/TransactionController.php:898 +#: /app/lib/Controller/TransactionController.php:776 +#: /app/lib/Controller/TransactionController.php:795 +#: /app/lib/Controller/TransactionController.php:814 +#: /app/lib/Controller/TransactionController.php:885 +#: /app/lib/Controller/TransactionController.php:918 msgid "No transaction IDs provided" msgstr "" -#: /app/lib/Controller/TransactionController.php:762 -#: /app/src/modules/transactions/TransactionsModule.js:1092 +#: /app/lib/Controller/TransactionController.php:782 +#: /app/src/modules/transactions/TransactionsModule.js:1118 msgid "Failed to delete transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:781 +#: /app/lib/Controller/TransactionController.php:801 msgid "Failed to update reconcile status" msgstr "" -#: /app/lib/Controller/TransactionController.php:798 +#: /app/lib/Controller/TransactionController.php:818 msgid "No update fields provided" msgstr "" -#: /app/lib/Controller/TransactionController.php:806 +#: /app/lib/Controller/TransactionController.php:826 #, php-format msgid "Invalid fields: %1$s" msgstr "" -#: /app/lib/Controller/TransactionController.php:847 +#: /app/lib/Controller/TransactionController.php:867 msgid "Failed to bulk edit transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:869 +#: /app/lib/Controller/TransactionController.php:889 msgid "No tags provided" msgstr "" -#: /app/lib/Controller/TransactionController.php:881 +#: /app/lib/Controller/TransactionController.php:901 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to update transaction tags" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/TransactionController.php:908 +#: /app/lib/Controller/TransactionController.php:928 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to load tag options" msgstr "Nepodařilo se získat účty" -#: /app/lib/Controller/TransactionController.php:937 +#: /app/lib/Controller/TransactionController.php:957 msgid "Invalid splits data" msgstr "" -#: /app/lib/Controller/TransactionController.php:952 +#: /app/lib/Controller/TransactionController.php:972 #, php-format msgid "Split %1$s: amount is required" msgstr "" -#: /app/lib/Controller/TransactionController.php:955 +#: /app/lib/Controller/TransactionController.php:975 #, php-format msgid "Split %1$s: amount cannot be zero" msgstr "" -#: /app/lib/Controller/TransactionController.php:1004 -#: /app/src/modules/bills/BillsModule.js:364 -#: /app/src/modules/dashboard/DashboardModule.js:1284 -#: /app/src/modules/rules/RulesModule.js:986 -#: /app/src/modules/transactions/TransactionsModule.js:5249 +#: /app/lib/Controller/TransactionController.php:1024 +#: /app/src/modules/bills/BillsModule.js:353 +#: /app/src/modules/dashboard/DashboardModule.js:1343 +#: /app/src/modules/rules/RulesModule.js:1001 +#: /app/src/modules/transactions/TransactionsModule.js:5300 #: /app/src/modules/transactions/transactionRow.js:68 #: /app/src/modules/transactions/transactionRow.js:182 #: /app/src/modules/transactions/transactionRow.js:224 @@ -2671,15 +2719,15 @@ msgstr "" msgid "Split" msgstr "" -#: /app/lib/Controller/TransactionController.php:1052 +#: /app/lib/Controller/TransactionController.php:1072 msgid "Failed to set transaction tags" msgstr "" -#: /app/lib/Controller/TransactionController.php:1067 +#: /app/lib/Controller/TransactionController.php:1087 msgid "Failed to clear transaction tags" msgstr "" -#: /app/lib/Controller/TransactionController.php:1085 +#: /app/lib/Controller/TransactionController.php:1105 msgid "Failed to find duplicates" msgstr "" @@ -2709,7 +2757,7 @@ msgstr "" #: /app/lib/Controller/YearOverYearController.php:238 #: /app/lib/Service/Report/ReportExporter.php:306 -#: /app/lib/Service/Report/ReportExporter.php:543 /app/src/main.js:2736 +#: /app/lib/Service/Report/ReportExporter.php:543 /app/src/main.js:2770 #: /app/templates/index.php:3486 /app/templates/index.php:3535 msgid "Month" msgstr "" @@ -2734,28 +2782,28 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:544 #: /app/lib/Service/Report/ReportExporter.php:594 #: /app/src/core/KeyboardShortcuts.js:354 -#: /app/src/modules/categories/CategoriesModule.js:763 -#: /app/src/modules/categories/CategoriesModule.js:905 -#: /app/src/modules/categories/CategoriesModule.js:1675 -#: /app/src/modules/dashboard/DashboardModule.js:2329 -#: /app/src/modules/dashboard/DashboardModule.js:2857 -#: /app/src/modules/dashboard/DashboardModule.js:3182 -#: /app/src/modules/dashboard/DashboardModule.js:3245 -#: /app/src/modules/dashboard/DashboardModule.js:5497 +#: /app/src/modules/categories/CategoriesModule.js:771 +#: /app/src/modules/categories/CategoriesModule.js:913 +#: /app/src/modules/categories/CategoriesModule.js:1715 +#: /app/src/modules/dashboard/DashboardModule.js:2492 +#: /app/src/modules/dashboard/DashboardModule.js:3054 +#: /app/src/modules/dashboard/DashboardModule.js:3379 +#: /app/src/modules/dashboard/DashboardModule.js:3442 +#: /app/src/modules/dashboard/DashboardModule.js:5751 #: /app/src/modules/help/HelpModule.js:33 #: /app/src/modules/reports/ReportsModule.js:751 -#: /app/src/modules/reports/ReportsModule.js:1144 -#: /app/src/modules/reports/ReportsModule.js:1450 -#: /app/src/modules/reports/ReportsModule.js:1466 -#: /app/src/modules/reports/ReportsModule.js:1511 -#: /app/src/modules/rules/components/ActionBuilder.js:327 +#: /app/src/modules/reports/ReportsModule.js:1145 +#: /app/src/modules/reports/ReportsModule.js:1451 +#: /app/src/modules/reports/ReportsModule.js:1467 +#: /app/src/modules/reports/ReportsModule.js:1512 +#: /app/src/modules/rules/components/ActionBuilder.js:418 #: /app/src/modules/rules/components/CriteriaBuilder.js:218 #: /app/templates/index.php:103 /app/templates/index.php:1047 #: /app/templates/index.php:1472 /app/templates/index.php:1636 #: /app/templates/index.php:1878 /app/templates/index.php:2224 #: /app/templates/index.php:3324 /app/templates/index.php:3342 #: /app/templates/index.php:3487 /app/templates/index.php:5811 -#: /app/templates/index.php:5817 /app/templates/index.php:6813 +#: /app/templates/index.php:5817 /app/templates/index.php:6814 #: /app/templates/quick-add.php:35 msgid "Income" msgstr "Příjem" @@ -2768,24 +2816,24 @@ msgstr "Příjem" #: /app/lib/Service/Report/ReportExporter.php:470 #: /app/lib/Service/Report/ReportExporter.php:545 #: /app/lib/Service/Report/ReportExporter.php:596 -#: /app/src/modules/dashboard/DashboardModule.js:2334 -#: /app/src/modules/dashboard/DashboardModule.js:2866 -#: /app/src/modules/dashboard/DashboardModule.js:3183 -#: /app/src/modules/dashboard/DashboardModule.js:3252 +#: /app/src/modules/dashboard/DashboardModule.js:2497 +#: /app/src/modules/dashboard/DashboardModule.js:3063 +#: /app/src/modules/dashboard/DashboardModule.js:3380 +#: /app/src/modules/dashboard/DashboardModule.js:3449 #: /app/src/modules/reports/ReportsModule.js:758 -#: /app/src/modules/reports/ReportsModule.js:1152 -#: /app/src/modules/reports/ReportsModule.js:1453 -#: /app/src/modules/reports/ReportsModule.js:1470 -#: /app/src/modules/reports/ReportsModule.js:1518 /app/templates/index.php:1875 +#: /app/src/modules/reports/ReportsModule.js:1153 +#: /app/src/modules/reports/ReportsModule.js:1454 +#: /app/src/modules/reports/ReportsModule.js:1471 +#: /app/src/modules/reports/ReportsModule.js:1519 /app/templates/index.php:1875 #: /app/templates/index.php:2221 /app/templates/index.php:3325 #: /app/templates/index.php:3360 /app/templates/index.php:3488 msgid "Expenses" msgstr "" #: /app/lib/Controller/YearOverYearController.php:250 -#: /app/src/modules/dashboard/DashboardModule.js:1038 -#: /app/src/modules/dashboard/DashboardModule.js:2248 -#: /app/src/modules/reports/ReportsModule.js:1474 +#: /app/src/modules/dashboard/DashboardModule.js:1097 +#: /app/src/modules/dashboard/DashboardModule.js:2411 +#: /app/src/modules/reports/ReportsModule.js:1475 #: /app/src/utils/formatters.js:263 msgid "Savings" msgstr "Úspory" @@ -2798,7 +2846,7 @@ msgstr "Úspory" #: /app/lib/Service/Report/ReportExporter.php:573 #: /app/lib/Service/Report/ReportExporter.php:616 #: /app/src/core/KeyboardShortcuts.js:350 -#: /app/src/modules/dashboard/DashboardModule.js:5496 +#: /app/src/modules/dashboard/DashboardModule.js:5750 #: /app/src/modules/help/HelpModule.js:29 /app/templates/index.php:63 #: /app/templates/index.php:1422 /app/templates/index.php:1572 #: /app/templates/index.php:2002 /app/templates/index.php:2596 @@ -2827,17 +2875,17 @@ msgstr "" #: /app/lib/Controller/YearOverYearController.php:295 #: /app/lib/Controller/YearOverYearController.php:403 #: /app/lib/Service/Report/ReportExporter.php:224 -#: /app/lib/Service/Report/ReportExporter.php:229 /app/src/main.js:2304 -#: /app/src/main.js:2307 /app/src/main.js:3353 -#: /app/src/modules/accounts/AccountsModule.js:3348 -#: /app/src/modules/dashboard/DashboardModule.js:2357 -#: /app/src/modules/dashboard/DashboardModule.js:2435 -#: /app/src/modules/dashboard/DashboardModule.js:2578 -#: /app/src/modules/dashboard/DashboardModule.js:2717 +#: /app/lib/Service/Report/ReportExporter.php:229 /app/src/main.js:2337 +#: /app/src/main.js:2340 /app/src/main.js:3387 +#: /app/src/modules/accounts/AccountsModule.js:3358 +#: /app/src/modules/dashboard/DashboardModule.js:2520 +#: /app/src/modules/dashboard/DashboardModule.js:2598 +#: /app/src/modules/dashboard/DashboardModule.js:2762 +#: /app/src/modules/dashboard/DashboardModule.js:2909 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:175 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:784 -#: /app/src/modules/transactions/TransactionsModule.js:3652 -#: /app/src/modules/transfers/TransfersModule.js:1281 +#: /app/src/modules/transactions/TransactionsModule.js:3703 +#: /app/src/modules/transfers/TransfersModule.js:1276 msgid "Unknown" msgstr "Neznámé" @@ -2854,7 +2902,7 @@ msgid "Budget: Overview" msgstr "" #: /app/lib/Dashboard/BudgetOverviewWidget.php:79 -#: /app/src/modules/dashboard/DashboardModule.js:1020 +#: /app/src/modules/dashboard/DashboardModule.js:1079 msgid "No accounts yet" msgstr "" @@ -2907,48 +2955,48 @@ msgstr[2] "" msgid "Attention" msgstr "Instituce" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:42 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:44 msgid "Budget: Upcoming bills" msgstr "" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:78 -#: /app/src/modules/dashboard/DashboardModule.js:1739 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:80 +#: /app/src/modules/dashboard/DashboardModule.js:1899 #: /app/templates/index.php:726 msgid "No upcoming bills" msgstr "" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:87 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:89 #, fuzzy #| msgid "bills" msgid "All bills" msgstr "faktury" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:116 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:120 #, fuzzy #| msgid "Overdue" msgid "overdue" msgstr "Po termínu" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:119 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:123 #: /app/lib/Notification/Notifier.php:57 msgid "due today" msgstr "" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:122 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:126 msgid "due in %n day" msgid_plural "due in %n days" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/lib/Notification/Notifier.php:31 /app/lib/Service/DigestService.php:150 +#: /app/lib/Notification/Notifier.php:31 /app/lib/Service/DigestService.php:171 #: /app/specialAppInfoFakeDummyForL10nScript.php:2 #: /app/src/core/KeyboardShortcuts.js:353 -#: /app/src/modules/categories/CategoriesModule.js:926 -#: /app/src/modules/categories/CategoriesModule.js:2341 -#: /app/src/modules/dashboard/DashboardModule.js:2165 +#: /app/src/modules/categories/CategoriesModule.js:934 +#: /app/src/modules/categories/CategoriesModule.js:2402 +#: /app/src/modules/dashboard/DashboardModule.js:2328 #: /app/src/modules/help/HelpModule.js:32 -#: /app/src/modules/projects/ProjectsModule.js:145 /app/templates/index.php:93 +#: /app/src/modules/projects/ProjectsModule.js:146 /app/templates/index.php:93 #: /app/templates/index.php:2147 /app/templates/index.php:2232 #: /app/templates/index.php:5136 msgid "Budget" @@ -3026,90 +3074,112 @@ msgid "" msgstr "" #: /app/lib/Notification/Notifier.php:329 -msgid "{user} shared their budget with you" +msgid "Scheduled contribution stopped: {pension}" msgstr "" #: /app/lib/Notification/Notifier.php:341 msgid "" +"The {amount} contribution to {pension} could not be posted, so auto-post has " +"been turned off. Reason: {reason}" +msgstr "" + +#: /app/lib/Notification/Notifier.php:374 +msgid "{user} shared their budget with you" +msgstr "" + +#: /app/lib/Notification/Notifier.php:386 +msgid "" "{user} has invited you to view their budget. Open Budget to accept or " "decline." msgstr "" -#: /app/lib/Notification/Notifier.php:364 -#: /app/lib/Service/DigestService.php:127 +#: /app/lib/Notification/Notifier.php:409 +#: /app/lib/Service/DigestService.php:148 msgid "Your monthly budget digest" msgstr "" -#: /app/lib/Notification/Notifier.php:365 -#: /app/lib/Service/DigestService.php:126 +#: /app/lib/Notification/Notifier.php:410 +#: /app/lib/Service/DigestService.php:147 msgid "Your weekly budget digest" msgstr "" -#: /app/lib/Notification/Notifier.php:385 -msgid "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " -"and one category is spending unusually." -msgid_plural "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " -"and {anomalies} categories are spending unusually." +#. TRANSLATORS: {income}, {expenses}, {net} are placeholders — do NOT translate them. Keep all {placeholder} names exactly as-is. +#: /app/lib/Notification/Notifier.php:425 +msgid "Income {income}, spending {expenses} ({net} net)." +msgstr "" + +#. TRANSLATORS: {bills} is a placeholder (the number of bills) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:427 +msgid "{bills} bill due soon." +msgid_plural "{bills} bills due soon." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#. TRANSLATORS: {income}, {expenses}, {net}, {bills} are placeholders — do NOT translate them. Keep all {placeholder} names exactly as-is. -#: /app/lib/Notification/Notifier.php:391 -msgid "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon." -msgstr "" +#. TRANSLATORS: {overdue} is a placeholder (the number of bills) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:433 +msgid "{overdue} bill is overdue." +msgid_plural "{overdue} bills are overdue." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: /app/lib/Notification/Notifier.php:409 +#. TRANSLATORS: {anomalies} is a placeholder (the number of categories) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:440 +msgid "One category is spending unusually." +msgid_plural "{anomalies} categories are spending unusually." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: /app/lib/Notification/Notifier.php:459 msgid "Unusual spending in {category}" msgstr "" -#: /app/lib/Notification/Notifier.php:417 +#: /app/lib/Notification/Notifier.php:467 #, php-format msgid "" "{category} spending is {percent}%% above your typical level — {amount} so " "far this month." msgstr "" -#: /app/lib/Notification/Notifier.php:438 +#: /app/lib/Notification/Notifier.php:488 msgid "Your Budget report for {month} is ready" msgstr "" -#: /app/lib/Notification/Notifier.php:446 +#: /app/lib/Notification/Notifier.php:496 msgid "{file} was saved to your Files." msgstr "" -#: /app/lib/Notification/Notifier.php:471 +#: /app/lib/Notification/Notifier.php:521 msgid "{user} added a receipt to your budget" msgstr "" -#: /app/lib/Notification/Notifier.php:483 +#: /app/lib/Notification/Notifier.php:533 msgid "{file} was saved to your Files for {transaction}." msgstr "" #. TRANSLATORS: {category} is replaced with the category name. Do NOT translate {category} — keep it exactly as-is. -#: /app/lib/Notification/Notifier.php:510 +#: /app/lib/Notification/Notifier.php:560 msgid "Approaching your {category} budget" msgstr "" #. TRANSLATORS: {category} is replaced with the category name. Do NOT translate {category} — keep it exactly as-is. -#: /app/lib/Notification/Notifier.php:513 +#: /app/lib/Notification/Notifier.php:563 msgid "{category} is over budget" msgstr "" -#: /app/lib/Notification/Notifier.php:525 +#: /app/lib/Notification/Notifier.php:575 #, php-format msgid "" "You have spent {spent} of your {budget} budget ({percent}%% of the limit)." msgstr "" -#: /app/lib/Notification/Notifier.php:544 +#: /app/lib/Notification/Notifier.php:594 msgid "Your balance is forecast to go negative" msgstr "" -#: /app/lib/Notification/Notifier.php:548 +#: /app/lib/Notification/Notifier.php:598 msgid "Your projected balance falls to {balance} in {month}." msgstr "" @@ -3119,176 +3189,253 @@ msgstr "" msgid "Budget transactions" msgstr "transakce" -#: /app/lib/Service/AccountClosureService.php:62 +#: /app/lib/Service/AccountClosureService.php:63 #, php-format msgid "" "This account still has a balance of %1$s. Record the closing withdrawal, or " "adjust the opening balance so it reads zero, then close it." msgstr "" -#: /app/lib/Service/AccountClosureService.php:69 +#: /app/lib/Service/AccountClosureService.php:70 msgid "" "This account still has transactions dated after today. Delete or move them, " "then close it." msgstr "" -#: /app/lib/Service/AccountClosureService.php:79 +#: /app/lib/Service/AccountClosureService.php:80 #: /app/lib/Service/Bill/BillIcsService.php:54 #: /app/src/core/KeyboardShortcuts.js:355 -#: /app/src/modules/dashboard/DashboardModule.js:5500 +#: /app/src/modules/dashboard/DashboardModule.js:5754 #: /app/src/modules/help/HelpModule.js:34 -#: /app/src/modules/sharing/SharingModule.js:269 /app/templates/index.php:113 +#: /app/src/modules/sharing/SharingModule.js:274 /app/templates/index.php:113 #: /app/templates/index.php:2610 /app/templates/index.php:4765 msgid "Bills" msgstr "" -#: /app/lib/Service/AccountClosureService.php:80 +#: /app/lib/Service/AccountClosureService.php:81 #: /app/src/core/KeyboardShortcuts.js:356 #: /app/src/modules/help/HelpModule.js:35 /app/templates/index.php:123 msgid "Transfers" msgstr "" -#: /app/lib/Service/AccountClosureService.php:82 +#: /app/lib/Service/AccountClosureService.php:83 msgid "Pension contributions" msgstr "" -#: /app/lib/Service/AccountClosureService.php:83 +#: /app/lib/Service/AccountClosureService.php:84 msgid "Bank sync" msgstr "" -#: /app/lib/Service/AccountClosureService.php:84 +#: /app/lib/Service/AccountClosureService.php:85 #, fuzzy #| msgid "categories" msgid "Import rules" msgstr "kategorie" -#: /app/lib/Service/AccountClosureService.php:92 +#: /app/lib/Service/AccountClosureService.php:93 #, php-format msgid "" "This account is still used by %1$s. Reassign or deactivate them, then close " "it." msgstr "" -#: /app/lib/Service/AccountClosureService.php:174 +#: /app/lib/Service/AccountClosureService.php:218 #, fuzzy, php-format #| msgid "Pension" msgid "Pension #%1$s" msgstr "Penze" -#: /app/lib/Service/AccountService.php:128 +#: /app/lib/Service/AccountService.php:134 msgid "" "Cannot delete account with existing transactions. Please delete all " "transactions first." msgstr "" -#: /app/lib/Service/AccountService.php:282 +#: /app/lib/Service/AccountService.php:295 msgid "This page is out of date. Please reload it before editing this account." msgstr "" -#: /app/lib/Service/BankSync/BankSyncService.php:184 +#: /app/lib/Service/BankSync/BankSyncService.php:186 msgid "" "No accounts are enabled for sync. Open Account Mappings to enable and map " "your accounts." msgstr "" -#: /app/lib/Service/BankSync/BankSyncService.php:196 +#: /app/lib/Service/BankSync/BankSyncService.php:198 #, php-format msgid "" "Found %1$s account(s). Please open Account Mappings to enable and map them, " "then sync again." msgstr "" -#: /app/lib/Service/BankSync/BankSyncService.php:425 +#: /app/lib/Service/BankSync/BankSyncService.php:473 #, php-format msgid "Sync completed with %1$s error(s)" msgstr "" -#: /app/lib/Service/Bill/BillIcsService.php:141 +#: /app/lib/Service/Bill/BillIcsService.php:142 #, php-format msgid "Bill due: %1$s" msgstr "" -#: /app/lib/Service/BillService.php:92 +#: /app/lib/Service/BillService.php:126 +msgid "" +"This bill uses an account you can no longer change. Edit the bill and choose " +"another account." +msgstr "" + +#: /app/lib/Service/BillService.php:173 msgid "This amount type requires a transfer with a destination account" msgstr "" -#: /app/lib/Service/BillService.php:96 +#: /app/lib/Service/BillService.php:177 msgid "This amount type is only available for transfers to a credit card" msgstr "" -#: /app/lib/Service/BillService.php:221 /app/lib/Service/BillService.php:262 +#: /app/lib/Service/BillService.php:192 +msgid "" +"The card has no minimum payment set. Set one on the card, or choose another " +"amount." +msgstr "" + +#: /app/lib/Service/BillService.php:328 /app/lib/Service/BillService.php:384 msgid "This bill has never been marked as paid" msgstr "" -#: /app/lib/Service/BillService.php:224 +#: /app/lib/Service/BillService.php:331 msgid "Assign an account to the bill first" msgstr "" -#: /app/lib/Service/BillService.php:233 +#: /app/lib/Service/BillService.php:341 msgid "" "The account linked to this bill no longer exists. Edit the bill and choose " "an account." msgstr "" -#: /app/lib/Service/BillService.php:242 +#: /app/lib/Service/BillService.php:346 msgid "A transaction for this payment already exists" msgstr "" -#: /app/lib/Service/BillService.php:1060 /app/lib/Service/BillService.php:1074 +#: /app/lib/Service/BillService.php:691 /app/lib/Service/BillService.php:798 +msgid "A one-time bill needs its due date" +msgstr "" + +#: /app/lib/Service/BillService.php:1004 +msgid "This bill has nothing left to pay" +msgstr "" + +#: /app/lib/Service/BillService.php:1010 +#: /app/lib/Service/RecurringIncomeService.php:261 +msgid "This payment was already recorded. Reload the page to see the next one." +msgstr "" + +#: /app/lib/Service/BillService.php:1056 +msgid "That transaction can't pay this bill" +msgstr "" + +#: /app/lib/Service/BillService.php:1096 +msgid "That transaction already pays another bill" +msgstr "" + +#: /app/lib/Service/BillService.php:1356 /app/lib/Service/BillService.php:1370 msgid "This bill has no recorded payment to undo" msgstr "" -#: /app/lib/Service/BillService.php:1102 +#: /app/lib/Service/BillService.php:1379 +msgid "" +"This payment has been reconciled against a bank statement. Marking the bill " +"unpaid deletes it, so the account will no longer match that statement." +msgstr "" + +#: /app/lib/Service/BillService.php:1408 msgid "Cannot skip a one-time bill" msgstr "" -#: /app/lib/Service/BillService.php:1106 +#: /app/lib/Service/BillService.php:1412 msgid "Cannot skip an inactive bill" msgstr "" -#: /app/lib/Service/BillService.php:1525 +#: /app/lib/Service/BillService.php:1715 +#: /app/lib/Service/RecurringIncomeService.php:692 +#: /app/src/modules/accounts/AccountsModule.js:25 +#: /app/src/modules/transfers/TransfersModule.js:449 +#: /app/templates/index.php:1104 /app/templates/index.php:2802 +#: /app/templates/index.php:5157 /app/templates/index.php:5583 +#: /app/templates/index.php:7237 +msgid "Name" +msgstr "" + +#: /app/lib/Service/BillService.php:1715 +#: /app/lib/Service/RecurringIncomeService.php:692 +#: /app/lib/Service/ValidationService.php:74 +#: /app/lib/Service/ValidationService.php:187 +#: /app/lib/Service/ValidationService.php:206 +#, php-format +msgid "%1$s is required" +msgstr "" + +#: /app/lib/Service/BillService.php:2007 msgid "Auto-pay is not enabled for this bill" msgstr "" -#: /app/lib/Service/BillService.php:1538 +#: /app/lib/Service/BillService.php:2020 msgid "Bill has no account associated" msgstr "" -#: /app/lib/Service/BillService.php:1548 +#: /app/lib/Service/BillService.php:2037 +msgid "The payment could not be recorded" +msgstr "" + +#: /app/lib/Service/BillService.php:2042 msgid "Bill auto-paid successfully" msgstr "" -#: /app/lib/Service/CategoryService.php:149 -#: /app/lib/Service/CategoryService.php:189 +#: /app/lib/Service/CategoryService.php:154 +#: /app/lib/Service/CategoryService.php:201 msgid "A category with this name already exists at this level" msgstr "" -#: /app/lib/Service/CategoryService.php:179 +#: /app/lib/Service/CategoryService.php:186 msgid "Category cannot be its own parent" msgstr "" -#: /app/lib/Service/CategoryService.php:215 +#: /app/lib/Service/CategoryService.php:192 +#: /app/lib/Service/CategoryService.php:348 +msgid "A category cannot be nested inside itself" +msgstr "" + +#: /app/lib/Service/CategoryService.php:216 +#, fuzzy +#| msgid "Account not found" +msgid "Parent category not found" +msgstr "Účet nenalezen" + +#: /app/lib/Service/CategoryService.php:242 msgid "" "Cannot delete this category because it has transactions assigned to it. " "Please reassign or delete them first." msgstr "" -#: /app/lib/Service/CategoryService.php:279 -msgid "A category cannot be nested inside itself" +#: /app/lib/Service/CategoryService.php:327 +msgid "This category has subcategories, so only its owner can delete it" msgstr "" -#: /app/lib/Service/CategoryService.php:360 +#: /app/lib/Service/CategoryService.php:330 +msgid "This category has transactions, so only its owner can delete it" +msgstr "" + +#: /app/lib/Service/CategoryService.php:429 #, php-format msgid "" "This category is used by the project \"%1$s\". Change or delete the project " "first." msgstr "" -#: /app/lib/Service/CategoryService.php:638 +#: /app/lib/Service/CategoryService.php:707 msgid "A budget adjustment already exists for this month" msgstr "" -#: /app/lib/Service/CategoryService.php:714 +#: /app/lib/Service/CategoryService.php:783 msgid "No budget snapshot found for this category and month" msgstr "" @@ -3353,45 +3500,58 @@ msgstr "" msgid "\"%1$s\": the budget \"%2$s\" is not a number and was ignored" msgstr "" -#: /app/lib/Service/DigestService.php:132 +#: /app/lib/Service/DigestService.php:153 #, php-format msgid "Income %1$s, spending %2$s (%3$s net)." msgstr "" -#: /app/lib/Service/DigestService.php:140 +#: /app/lib/Service/DigestService.php:161 #, php-format msgid "%1$s of %2$s spent (%3$s%%) across %4$s budgeted categories." msgstr "" -#: /app/lib/Service/DigestService.php:148 +#: /app/lib/Service/DigestService.php:169 msgid "%n category is over budget." msgid_plural "%n categories are over budget." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/lib/Service/DigestService.php:158 +#: /app/lib/Service/DigestService.php:180 +msgid "and %n more" +msgid_plural "and %n more" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: /app/lib/Service/DigestService.php:185 +#, fuzzy +#| msgid "Overdue" +msgid "Overdue bills" +msgstr "Po termínu" + +#: /app/lib/Service/DigestService.php:188 #, fuzzy #| msgid "Upcoming" msgid "Upcoming bills" msgstr "Nadcházející" -#: /app/lib/Service/DigestService.php:163 +#: /app/lib/Service/DigestService.php:193 #, php-format msgid "%1$s is %2$s%% above your typical spending (%3$s so far this month)." msgstr "" -#: /app/lib/Service/DigestService.php:168 +#: /app/lib/Service/DigestService.php:198 msgid "Unusual spending" msgstr "" -#: /app/lib/Service/DigestService.php:173 +#: /app/lib/Service/DigestService.php:203 #, fuzzy #| msgid "Savings" msgid "Savings goals" msgstr "Úspory" -#: /app/lib/Service/DigestService.php:179 +#: /app/lib/Service/DigestService.php:209 msgid "Budget found %n possible recurring bill you are not tracking yet." msgid_plural "" "Budget found %n possible recurring bills you are not tracking yet." @@ -3399,32 +3559,40 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/lib/Service/Export/TransactionCsvExporter.php:29 /app/src/main.js:3558 -#: /app/src/main.js:3634 /app/src/main.js:3635 -#: /app/src/modules/rules/RulesModule.js:936 -#: /app/src/modules/rules/RulesModule.js:1138 +#: /app/lib/Service/Export/TransactionCsvExporter.php:29 /app/src/main.js:3592 +#: /app/src/main.js:3668 /app/src/main.js:3669 +#: /app/src/modules/rules/RulesModule.js:951 +#: /app/src/modules/rules/RulesModule.js:1153 +#: /app/src/modules/rules/components/ActionBuilder.js:200 +#: /app/src/modules/rules/components/ActionBuilder.js:207 +#: /app/src/modules/rules/components/ActionBuilder.js:232 +#: /app/src/modules/rules/components/ActionBuilder.js:256 #: /app/src/modules/rules/components/CriteriaBuilder.js:188 -#: /app/src/modules/transactions/TransactionsModule.js:3195 -#: /app/src/modules/transactions/TransactionsModule.js:3196 -#: /app/src/modules/transactions/TransactionsModule.js:3799 -#: /app/src/modules/transactions/TransactionsModule.js:3800 +#: /app/src/modules/transactions/TransactionsModule.js:3239 +#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3850 +#: /app/src/modules/transactions/TransactionsModule.js:3851 #: /app/templates/index.php:1055 /app/templates/index.php:1056 #: /app/templates/index.php:1536 /app/templates/index.php:1777 #: /app/templates/index.php:1831 /app/templates/index.php:2422 #: /app/templates/index.php:2559 /app/templates/index.php:5600 #: /app/templates/index.php:5854 /app/templates/index.php:6174 -#: /app/templates/index.php:6435 /app/templates/index.php:6519 -#: /app/templates/index.php:6658 /app/templates/index.php:6884 -#: /app/templates/index.php:6985 /app/templates/quick-add.php:45 +#: /app/templates/index.php:6436 /app/templates/index.php:6520 +#: /app/templates/index.php:6659 /app/templates/index.php:6885 +#: /app/templates/index.php:6986 /app/templates/quick-add.php:45 msgid "Description" msgstr "Popis" #: /app/lib/Service/Export/TransactionCsvExporter.php:30 +#: /app/src/modules/rules/components/ActionBuilder.js:201 +#: /app/src/modules/rules/components/ActionBuilder.js:208 +#: /app/src/modules/rules/components/ActionBuilder.js:233 +#: /app/src/modules/rules/components/ActionBuilder.js:257 #: /app/src/modules/rules/components/CriteriaBuilder.js:189 #: /app/templates/index.php:1538 /app/templates/index.php:1781 #: /app/templates/index.php:1835 /app/templates/index.php:3432 -#: /app/templates/index.php:5858 /app/templates/index.php:6436 -#: /app/templates/index.php:7167 /app/templates/quick-add.php:50 +#: /app/templates/index.php:5858 /app/templates/index.php:6437 +#: /app/templates/index.php:7168 /app/templates/quick-add.php:50 msgid "Vendor" msgstr "" @@ -3432,7 +3600,7 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:236 /app/templates/index.php:1043 #: /app/templates/index.php:1469 /app/templates/index.php:1633 #: /app/templates/index.php:3813 /app/templates/index.php:5589 -#: /app/templates/index.php:5805 /app/templates/index.php:6810 +#: /app/templates/index.php:5805 /app/templates/index.php:6811 #: /app/templates/quick-add.php:32 msgid "Type" msgstr "Typ" @@ -3446,19 +3614,27 @@ msgstr "" #: /app/lib/Service/Export/TransactionCsvExporter.php:36 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:171 +#: /app/src/modules/rules/components/ActionBuilder.js:202 +#: /app/src/modules/rules/components/ActionBuilder.js:209 +#: /app/src/modules/rules/components/ActionBuilder.js:234 +#: /app/src/modules/rules/components/ActionBuilder.js:258 #: /app/src/modules/rules/components/CriteriaBuilder.js:192 -#: /app/templates/index.php:6437 /app/templates/index.php:7173 +#: /app/templates/index.php:6438 /app/templates/index.php:7174 msgid "Reference" msgstr "" #: /app/lib/Service/Export/TransactionCsvExporter.php:37 +#: /app/src/modules/rules/components/ActionBuilder.js:203 +#: /app/src/modules/rules/components/ActionBuilder.js:210 +#: /app/src/modules/rules/components/ActionBuilder.js:235 +#: /app/src/modules/rules/components/ActionBuilder.js:259 #: /app/src/modules/rules/components/CriteriaBuilder.js:193 -#: /app/src/modules/transfers/TransfersModule.js:575 +#: /app/src/modules/transfers/TransfersModule.js:560 #: /app/templates/index.php:2427 /app/templates/index.php:2560 #: /app/templates/index.php:5262 /app/templates/index.php:5922 -#: /app/templates/index.php:6286 /app/templates/index.php:6438 -#: /app/templates/index.php:6753 /app/templates/index.php:7179 -#: /app/templates/index.php:7286 /app/templates/index.php:7332 +#: /app/templates/index.php:6286 /app/templates/index.php:6439 +#: /app/templates/index.php:6754 /app/templates/index.php:7180 +#: /app/templates/index.php:7287 /app/templates/index.php:7333 #: /app/templates/quick-add.php:65 msgid "Notes" msgstr "" @@ -3476,33 +3652,33 @@ msgid "Split of" msgstr "" #: /app/lib/Service/Export/TransactionCsvExporter.php:144 -#: /app/src/modules/categories/CategoriesModule.js:763 -#: /app/src/modules/categories/CategoriesModule.js:1675 -#: /app/src/modules/rules/components/ActionBuilder.js:322 +#: /app/src/modules/categories/CategoriesModule.js:771 +#: /app/src/modules/categories/CategoriesModule.js:1715 +#: /app/src/modules/rules/components/ActionBuilder.js:413 #: /app/src/modules/rules/components/CriteriaBuilder.js:217 #: /app/templates/index.php:1046 /app/templates/index.php:1473 #: /app/templates/index.php:1637 /app/templates/index.php:5810 -#: /app/templates/index.php:5816 /app/templates/index.php:6812 +#: /app/templates/index.php:5816 /app/templates/index.php:6813 #: /app/templates/quick-add.php:34 msgid "Expense" msgstr "Výdaj" -#: /app/lib/Service/GranularShareService.php:330 +#: /app/lib/Service/GranularShareService.php:377 #, php-format msgid "Invalid entity type: %1$s" msgstr "" -#: /app/lib/Service/GranularShareService.php:335 +#: /app/lib/Service/GranularShareService.php:382 #, php-format msgid "Invalid permission: %1$s" msgstr "" -#: /app/lib/Service/GranularShareService.php:341 +#: /app/lib/Service/GranularShareService.php:388 #: /app/lib/Service/ShareService.php:195 msgid "You are not the owner of this share" msgstr "" -#: /app/lib/Service/GranularShareService.php:348 +#: /app/lib/Service/GranularShareService.php:395 msgid "Some entities do not belong to you" msgstr "" @@ -3561,50 +3737,50 @@ msgid "" "camt.053/camt.052 XML is supported." msgstr "" -#: /app/lib/Service/ImportService.php:137 +#: /app/lib/Service/ImportService.php:139 #, php-format msgid "Failed to process upload: %1$s" msgstr "" -#: /app/lib/Service/ImportService.php:381 -#: /app/lib/Service/ImportService.php:390 +#: /app/lib/Service/ImportService.php:383 +#: /app/lib/Service/ImportService.php:392 msgid "Import file not found" msgstr "" -#: /app/lib/Service/ImportService.php:749 -#: /app/lib/Service/ImportService.php:1324 +#: /app/lib/Service/ImportService.php:751 +#: /app/lib/Service/ImportService.php:1346 msgid "Account ID is required for single-account imports" msgstr "" -#: /app/lib/Service/ImportService.php:834 -#: /app/lib/Service/ImportService.php:1412 +#: /app/lib/Service/ImportService.php:836 +#: /app/lib/Service/ImportService.php:1434 msgid "This row has no account, and no account was chosen for the import" msgstr "" -#: /app/lib/Service/ImportService.php:1170 +#: /app/lib/Service/ImportService.php:1172 #, fuzzy, php-format #| msgid "Account not found" msgid "Destination account %1$s not found" msgstr "Účet nenalezen" -#: /app/lib/Service/ImportService.php:1269 +#: /app/lib/Service/ImportService.php:1271 #, fuzzy, php-format #| msgid "Failed to retrieve accounts" msgid "Failed to recalculate balance for account %1$s" msgstr "Nepodařilo se získat účty" -#: /app/lib/Service/ImportService.php:1413 +#: /app/lib/Service/ImportService.php:1435 #, fuzzy, php-format #| msgid "Failed to retrieve accounts" msgid "Could not resolve account: %1$s" msgstr "Nepodařilo se získat účty" -#: /app/lib/Service/ImportService.php:2220 +#: /app/lib/Service/ImportService.php:2262 #, php-format msgid "The %1$s format reads CSV files only" msgstr "" -#: /app/lib/Service/ImportService.php:2244 +#: /app/lib/Service/ImportService.php:2286 #, php-format msgid "This file does not look like a %1$s export. Columns missing: %2$s" msgstr "" @@ -3632,25 +3808,104 @@ msgstr "" msgid "Cannot convert rate: no exchange rate available for base currency %1$s" msgstr "" -#: /app/lib/Service/MigrationService.php:558 +#: /app/lib/Service/MigrationService.php:397 +msgid "" +"%n item you shared could not be matched to the restored data, so it is no " +"longer shared. Share it again in Settings if you still want to." +msgid_plural "" +"%n items you shared could not be matched to the restored data, so they are " +"no longer shared. Share them again in Settings if you still want to." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: /app/lib/Service/MigrationService.php:404 +msgid "" +"%n bill or transfer lost its account in the restore: the account is not in " +"this backup, or not shared with you any more. Its auto-pay is off; edit it " +"to choose an account." +msgid_plural "" +"%n bills or transfers lost their account in the restore: the account is not " +"in this backup, or not shared with you any more. Their auto-pay is off; edit " +"them to choose an account." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: /app/lib/Service/MigrationService.php:411 +msgid "" +"%n item of someone you share with used an account, category or bill that did " +"not come back in this restore, and has been unlinked from it." +msgid_plural "" +"%n items of people you share with used an account, category or bill that did " +"not come back in this restore, and have been unlinked from it." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: /app/lib/Service/MigrationService.php:643 #, php-format msgid "" "This backup cannot be imported: %1$s is larger than %2$s MB when unpacked" msgstr "" -#: /app/lib/Service/MigrationService.php:559 +#: /app/lib/Service/MigrationService.php:644 #, php-format msgid "" "This backup cannot be imported: its files add up to more than %1$s MB when " "unpacked" msgstr "" -#: /app/lib/Service/ReconciliationService.php:68 -#: /app/lib/Service/ReconciliationService.php:99 -msgid "Invalid statement date" +#: /app/lib/Service/PensionRecurringService.php:235 +msgid "This scheduled contribution is paused" msgstr "" -#: /app/lib/Service/ReconciliationService.php:118 +#: /app/lib/Service/PensionRecurringService.php:238 +msgid "" +"This contribution was already posted. Reload the page to see the next one." +msgstr "" + +#: /app/lib/Service/PensionRecurringService.php:270 +msgid "This scheduled contribution has no post to undo" +msgstr "" + +#: /app/lib/Service/PensionRecurringService.php:376 +#, php-format +msgid "" +"%1$s is a defined benefit or state pension, which takes no contributions" +msgstr "" + +#: /app/lib/Service/PensionRecurringService.php:385 +msgid "" +"Choose how often the contribution is made: weekly, every two weeks, monthly, " +"quarterly, every six months or yearly" +msgstr "" + +#: /app/lib/Service/PensionService.php:148 +msgid "" +"Delete this pension's scheduled contributions before making it a defined " +"benefit or state pension" +msgstr "" + +#: /app/lib/Service/PensionService.php:431 +msgid "" +"The account for this contribution no longer exists or is no longer shared " +"with you" +msgstr "" + +#: /app/lib/Service/PensionService.php:434 +#, php-format +msgid "" +"%1$s is shared with you read-only, so pension money cannot be paid into or " +"out of it" +msgstr "" + +#: /app/lib/Service/ReconciliationService.php:68 +#: /app/lib/Service/ReconciliationService.php:99 +msgid "Invalid statement date" +msgstr "" + +#: /app/lib/Service/ReconciliationService.php:118 msgid "Too many transactions in one request (max 500)" msgstr "" @@ -3663,15 +3918,43 @@ msgstr "" msgid "No reconciliation in progress for this account" msgstr "" -#: /app/lib/Service/RecurringIncomeService.php:285 +#: /app/lib/Service/RecurringIncomeService.php:211 +#, fuzzy +#| msgid "accounts" +msgid "No account set for income" +msgstr "účty" + +#: /app/lib/Service/RecurringIncomeService.php:258 +msgid "This income has no payment to receive" +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:305 +msgid "This income has no recorded receipt to undo" +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:410 +msgid "Recurring income cannot use a custom schedule" +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:413 +msgid "A one-time income needs the date it is expected" +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:426 +msgid "" +"This income uses an account you can no longer change. Edit it and choose " +"another account." +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:452 msgid "Cannot skip a one-time income" msgstr "" -#: /app/lib/Service/RecurringIncomeService.php:288 +#: /app/lib/Service/RecurringIncomeService.php:455 msgid "Cannot skip an inactive income" msgstr "" -#: /app/lib/Service/RecurringIncomeService.php:293 +#: /app/lib/Service/RecurringIncomeService.php:460 msgid "This income has no expected date to skip" msgstr "" @@ -3698,7 +3981,7 @@ msgstr "" #: /app/lib/Service/Report/MonthNames.php:25 #: /app/lib/Service/Report/MonthNames.php:46 /app/templates/index.php:3541 #: /app/templates/index.php:3654 /app/templates/index.php:6208 -#: /app/templates/index.php:6234 /app/templates/index.php:6710 +#: /app/templates/index.php:6234 /app/templates/index.php:6711 msgid "May" msgstr "" @@ -3738,57 +4021,57 @@ msgid "Dec" msgstr "" #: /app/lib/Service/Report/MonthNames.php:42 /app/templates/index.php:3537 -#: /app/templates/index.php:6230 /app/templates/index.php:6706 +#: /app/templates/index.php:6230 /app/templates/index.php:6707 msgid "January" msgstr "" #: /app/lib/Service/Report/MonthNames.php:43 /app/templates/index.php:3538 -#: /app/templates/index.php:6231 /app/templates/index.php:6707 +#: /app/templates/index.php:6231 /app/templates/index.php:6708 msgid "February" msgstr "" #: /app/lib/Service/Report/MonthNames.php:44 /app/templates/index.php:3539 -#: /app/templates/index.php:6232 /app/templates/index.php:6708 +#: /app/templates/index.php:6232 /app/templates/index.php:6709 msgid "March" msgstr "" #: /app/lib/Service/Report/MonthNames.php:45 /app/templates/index.php:3540 -#: /app/templates/index.php:6233 /app/templates/index.php:6709 +#: /app/templates/index.php:6233 /app/templates/index.php:6710 msgid "April" msgstr "" #: /app/lib/Service/Report/MonthNames.php:47 /app/templates/index.php:3542 -#: /app/templates/index.php:6235 /app/templates/index.php:6711 +#: /app/templates/index.php:6235 /app/templates/index.php:6712 msgid "June" msgstr "" #: /app/lib/Service/Report/MonthNames.php:48 /app/templates/index.php:3543 -#: /app/templates/index.php:6236 /app/templates/index.php:6712 +#: /app/templates/index.php:6236 /app/templates/index.php:6713 msgid "July" msgstr "" #: /app/lib/Service/Report/MonthNames.php:49 /app/templates/index.php:3544 -#: /app/templates/index.php:6237 /app/templates/index.php:6713 +#: /app/templates/index.php:6237 /app/templates/index.php:6714 msgid "August" msgstr "" #: /app/lib/Service/Report/MonthNames.php:50 /app/templates/index.php:3545 -#: /app/templates/index.php:6238 /app/templates/index.php:6714 +#: /app/templates/index.php:6238 /app/templates/index.php:6715 msgid "September" msgstr "" #: /app/lib/Service/Report/MonthNames.php:51 /app/templates/index.php:3546 -#: /app/templates/index.php:6239 /app/templates/index.php:6715 +#: /app/templates/index.php:6239 /app/templates/index.php:6716 msgid "October" msgstr "" #: /app/lib/Service/Report/MonthNames.php:52 /app/templates/index.php:3547 -#: /app/templates/index.php:6240 /app/templates/index.php:6716 +#: /app/templates/index.php:6240 /app/templates/index.php:6717 msgid "November" msgstr "" #: /app/lib/Service/Report/MonthNames.php:53 /app/templates/index.php:3548 -#: /app/templates/index.php:6241 /app/templates/index.php:6717 +#: /app/templates/index.php:6241 /app/templates/index.php:6718 msgid "December" msgstr "" @@ -3842,7 +4125,7 @@ msgid "Net Income" msgstr "" #: /app/lib/Service/Report/ReportExporter.php:209 -#: /app/src/modules/dashboard/DashboardModule.js:1709 +#: /app/src/modules/dashboard/DashboardModule.js:1830 msgid "On track" msgstr "" @@ -3893,7 +4176,7 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:241 #: /app/lib/Service/Report/ReportExporter.php:439 -#: /app/src/modules/accounts/AccountsModule.js:2707 +#: /app/src/modules/accounts/AccountsModule.js:2713 #: /app/templates/index.php:1259 /app/templates/index.php:3070 #: /app/templates/index.php:3825 /app/templates/index.php:5356 #: /app/templates/index.php:5426 @@ -3910,10 +4193,10 @@ msgstr "" #: /app/src/modules/accounts/AccountsModule.js:30 #: /app/src/modules/accounts/AccountsModule.js:510 #: /app/src/modules/accounts/AccountsModule.js:511 -#: /app/src/modules/dashboard/DashboardModule.js:2941 -#: /app/src/modules/dashboard/DashboardModule.js:3176 +#: /app/src/modules/dashboard/DashboardModule.js:3138 +#: /app/src/modules/dashboard/DashboardModule.js:3373 #: /app/src/modules/forecast/ForecastModule.js:310 -#: /app/src/modules/pensions/PensionsModule.js:606 +#: /app/src/modules/pensions/PensionsModule.js:651 #: /app/templates/index.php:1105 /app/templates/index.php:1543 #: /app/templates/index.php:1797 /app/templates/index.php:1849 #: /app/templates/index.php:3327 @@ -3964,12 +4247,12 @@ msgid "Average Monthly Net" msgstr "" #: /app/lib/Service/Report/ReportExporter.php:337 -#: /app/lib/Service/Report/ReportExporter.php:571 /app/templates/index.php:6670 +#: /app/lib/Service/Report/ReportExporter.php:571 /app/templates/index.php:6671 msgid "Source" msgstr "" #: /app/lib/Service/Report/ReportExporter.php:357 -#: /app/src/modules/categories/CategoriesModule.js:2357 +#: /app/src/modules/categories/CategoriesModule.js:2419 #: /app/templates/index.php:597 /app/templates/index.php:2034 #: /app/templates/index.php:2233 /app/templates/index.php:3195 msgid "Period" @@ -3988,18 +4271,18 @@ msgstr "Rozpočet" #: /app/lib/Service/Report/ReportExporter.php:402 #: /app/lib/Service/Report/ReportExporter.php:641 -#: /app/src/modules/categories/CategoriesModule.js:2365 -#: /app/src/modules/dashboard/DashboardModule.js:2166 -#: /app/src/modules/projects/ProjectsModule.js:146 +#: /app/src/modules/categories/CategoriesModule.js:2427 +#: /app/src/modules/dashboard/DashboardModule.js:2329 +#: /app/src/modules/projects/ProjectsModule.js:147 #: /app/templates/index.php:2234 /app/templates/index.php:5137 msgid "Spent" msgstr "Utraceno" #: /app/lib/Service/Report/ReportExporter.php:403 #: /app/lib/Service/Report/ReportExporter.php:642 -#: /app/src/modules/categories/CategoriesModule.js:2368 -#: /app/src/modules/dashboard/DashboardModule.js:2167 -#: /app/src/modules/projects/ProjectsModule.js:147 +#: /app/src/modules/categories/CategoriesModule.js:2430 +#: /app/src/modules/dashboard/DashboardModule.js:2330 +#: /app/src/modules/projects/ProjectsModule.js:148 #: /app/templates/index.php:2202 /app/templates/index.php:2235 #: /app/templates/index.php:5138 msgid "Remaining" @@ -4031,13 +4314,13 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:680 #: /app/lib/Service/Report/ReportExporter.php:726 -#: /app/src/modules/reports/ReportsModule.js:1116 +#: /app/src/modules/reports/ReportsModule.js:1117 msgid "Overall" msgstr "" #: /app/lib/Service/Report/ReportExporter.php:693 #: /app/lib/Service/Report/ReportExporter.php:739 -#: /app/src/modules/reports/ReportsModule.js:1099 +#: /app/src/modules/reports/ReportsModule.js:1100 msgid "Net total" msgstr "" @@ -4045,6 +4328,28 @@ msgstr "" msgid "Category Income & Expenses by Month" msgstr "" +#: /app/lib/Service/Report/ReportExporter.php:749 +#: /app/src/config/dashboardWidgets.js:26 /app/src/main.js:1924 +#: /app/src/main.js:3663 /app/src/modules/accounts/AccountsModule.js:1870 +#: /app/src/modules/categories/CategoriesModule.js:831 +#: /app/src/modules/dashboard/DashboardModule.js:1312 +#: /app/src/modules/import/ImportModule.js:189 +#: /app/src/modules/import/ImportModule.js:2032 +#: /app/src/modules/reports/ReportsModule.js:1089 +#: /app/src/modules/rules/RulesModule.js:1006 +#: /app/src/modules/transactions/TransactionsModule.js:532 +#: /app/src/modules/transactions/TransactionsModule.js:1209 +#: /app/src/modules/transactions/TransactionsModule.js:3234 +#: /app/src/modules/transactions/TransactionsModule.js:3845 +#: /app/src/modules/transactions/TransactionsModule.js:4692 +#: /app/src/modules/transactions/transactionRow.js:122 +#: /app/src/modules/transactions/transactionRow.js:183 +#: /app/src/modules/transactions/transactionRow.js:225 +#: /app/templates/index.php:539 /app/templates/index.php:1464 +#: /app/templates/index.php:1628 /app/templates/quick-add.php:57 +msgid "Uncategorized" +msgstr "Nezařazeno" + #: /app/lib/Service/Report/ScheduledReportService.php:76 #: /app/lib/Service/Report/ScheduledReportService.php:77 #, php-format @@ -4129,13 +4434,6 @@ msgstr "" msgid "This share is not pending" msgstr "" -#: /app/lib/Service/ValidationService.php:74 -#: /app/lib/Service/ValidationService.php:187 -#: /app/lib/Service/ValidationService.php:206 -#, php-format -msgid "%1$s is required" -msgstr "" - #: /app/lib/Service/ValidationService.php:85 #, php-format msgid "%1$s must be at least %2$s characters" @@ -4337,7 +4635,7 @@ msgid "" msgstr "" #: /app/src/config/dashboardWidgets.js:8 -#: /app/src/modules/dashboard/DashboardModule.js:2951 +#: /app/src/modules/dashboard/DashboardModule.js:3148 #: /app/templates/index.php:371 /app/templates/index.php:1158 msgid "Net Worth" msgstr "" @@ -4355,10 +4653,10 @@ msgid "Net Savings" msgstr "" #: /app/src/config/dashboardWidgets.js:12 -#: /app/src/modules/dashboard/DashboardModule.js:2007 -#: /app/src/modules/dashboard/DashboardModule.js:2013 -#: /app/src/modules/pensions/PensionsModule.js:156 -#: /app/src/modules/pensions/PensionsModule.js:162 /app/templates/index.php:423 +#: /app/src/modules/dashboard/DashboardModule.js:2170 +#: /app/src/modules/dashboard/DashboardModule.js:2176 +#: /app/src/modules/pensions/PensionsModule.js:179 +#: /app/src/modules/pensions/PensionsModule.js:185 /app/templates/index.php:423 msgid "Pension Worth" msgstr "" @@ -4393,26 +4691,6 @@ msgstr "" msgid "Account Expenses" msgstr "" -#: /app/src/config/dashboardWidgets.js:26 /app/src/main.js:1897 -#: /app/src/main.js:3629 /app/src/modules/accounts/AccountsModule.js:1864 -#: /app/src/modules/categories/CategoriesModule.js:823 -#: /app/src/modules/dashboard/DashboardModule.js:1253 -#: /app/src/modules/import/ImportModule.js:189 -#: /app/src/modules/import/ImportModule.js:2032 -#: /app/src/modules/rules/RulesModule.js:991 -#: /app/src/modules/transactions/TransactionsModule.js:510 -#: /app/src/modules/transactions/TransactionsModule.js:1183 -#: /app/src/modules/transactions/TransactionsModule.js:3190 -#: /app/src/modules/transactions/TransactionsModule.js:3794 -#: /app/src/modules/transactions/TransactionsModule.js:4641 -#: /app/src/modules/transactions/transactionRow.js:122 -#: /app/src/modules/transactions/transactionRow.js:183 -#: /app/src/modules/transactions/transactionRow.js:225 -#: /app/templates/index.php:539 /app/templates/index.php:1464 -#: /app/templates/index.php:1628 /app/templates/quick-add.php:57 -msgid "Uncategorized" -msgstr "Nezařazeno" - #: /app/src/config/dashboardWidgets.js:27 /app/templates/index.php:552 msgid "Low Balance Alert" msgstr "" @@ -4445,7 +4723,7 @@ msgstr "" #: /app/src/config/dashboardWidgets.js:39 #: /app/src/core/KeyboardShortcuts.js:349 #: /app/src/modules/help/HelpModule.js:28 -#: /app/src/modules/sharing/SharingModule.js:267 /app/templates/index.php:53 +#: /app/src/modules/sharing/SharingModule.js:272 /app/templates/index.php:53 #: /app/templates/index.php:696 /app/templates/index.php:774 #: /app/templates/index.php:1080 /app/templates/index.php:1215 #: /app/templates/index.php:4757 @@ -4468,14 +4746,14 @@ msgstr "" #: /app/src/config/dashboardWidgets.js:43 #: /app/src/core/KeyboardShortcuts.js:357 #: /app/src/modules/help/HelpModule.js:36 -#: /app/src/modules/sharing/SharingModule.js:271 /app/templates/index.php:133 +#: /app/src/modules/sharing/SharingModule.js:276 /app/templates/index.php:133 #: /app/templates/index.php:744 /app/templates/index.php:2932 msgid "Savings Goals" msgstr "" #: /app/src/config/dashboardWidgets.js:44 #: /app/src/modules/help/HelpModule.js:37 -#: /app/src/modules/sharing/SharingModule.js:272 /app/templates/index.php:143 +#: /app/src/modules/sharing/SharingModule.js:277 /app/templates/index.php:143 #: /app/templates/index.php:755 /app/templates/index.php:3010 msgid "Projects" msgstr "" @@ -4603,25 +4881,25 @@ msgid "Dashboard" msgstr "" #: /app/src/core/KeyboardShortcuts.js:351 -#: /app/src/modules/dashboard/DashboardModule.js:5150 +#: /app/src/modules/dashboard/DashboardModule.js:5389 #: /app/src/modules/help/HelpModule.js:30 -#: /app/src/modules/sharing/SharingModule.js:268 /app/templates/index.php:73 +#: /app/src/modules/sharing/SharingModule.js:273 /app/templates/index.php:73 #: /app/templates/index.php:1871 /app/templates/index.php:4753 msgid "Categories" msgstr "" #: /app/src/core/KeyboardShortcuts.js:352 -#: /app/src/modules/accounts/AccountsModule.js:1901 -#: /app/src/modules/bills/BillsModule.js:1699 +#: /app/src/modules/accounts/AccountsModule.js:1907 +#: /app/src/modules/bills/BillsModule.js:1609 #: /app/src/modules/help/HelpModule.js:31 #: /app/src/modules/reports/ReportsModule.js:432 -#: /app/src/modules/rules/RulesModule.js:822 -#: /app/src/modules/savings/SavingsModule.js:295 +#: /app/src/modules/rules/RulesModule.js:837 +#: /app/src/modules/savings/SavingsModule.js:297 #: /app/src/modules/tagsets/TagSetsModule.js:601 -#: /app/src/modules/transactions/TransactionsModule.js:548 -#: /app/src/modules/transactions/TransactionsModule.js:1345 -#: /app/src/modules/transactions/TransactionsModule.js:4811 -#: /app/src/modules/transfers/TransfersModule.js:1146 +#: /app/src/modules/transactions/TransactionsModule.js:570 +#: /app/src/modules/transactions/TransactionsModule.js:1371 +#: /app/src/modules/transactions/TransactionsModule.js:4862 +#: /app/src/modules/transfers/TransfersModule.js:1163 #: /app/templates/index.php:83 /app/templates/index.php:1514 #: /app/templates/index.php:1697 /app/templates/index.php:1789 #: /app/templates/index.php:1843 /app/templates/index.php:2091 @@ -4635,7 +4913,7 @@ msgid "Pensions" msgstr "" #: /app/src/core/KeyboardShortcuts.js:360 -#: /app/src/modules/dashboard/DashboardModule.js:2958 +#: /app/src/modules/dashboard/DashboardModule.js:3155 #: /app/src/modules/help/HelpModule.js:40 /app/templates/index.php:173 #: /app/templates/index.php:1185 /app/templates/index.php:3921 #: /app/templates/index.php:4004 @@ -4644,7 +4922,7 @@ msgstr "Majetky" #: /app/src/core/KeyboardShortcuts.js:361 #: /app/src/modules/help/HelpModule.js:41 /app/templates/index.php:183 -#: /app/templates/index.php:4198 /app/templates/index.php:7365 +#: /app/templates/index.php:4198 /app/templates/index.php:7366 msgid "Shared Expenses" msgstr "" @@ -4662,7 +4940,7 @@ msgstr "" #: /app/src/modules/help/HelpModule.js:44 #: /app/src/modules/rules/RulesModule.js:144 /app/templates/index.php:227 #: /app/templates/index.php:1442 /app/templates/index.php:1892 -#: /app/templates/index.php:2751 /app/templates/index.php:6786 +#: /app/templates/index.php:2751 /app/templates/index.php:6787 msgid "Import" msgstr "" @@ -4731,32 +5009,31 @@ msgid "Move a focused subcategory out one level" msgstr "" #: /app/src/core/KeyboardShortcuts.js:396 -#: /app/src/core/KeyboardShortcuts.js:416 /app/src/main.js:1022 +#: /app/src/core/KeyboardShortcuts.js:416 /app/src/main.js:1025 msgid "Keyboard shortcuts" msgstr "" -#: /app/src/core/KeyboardShortcuts.js:417 /app/src/main.js:1940 -#: /app/src/main.js:1947 /app/src/main.js:1951 -#: /app/src/modules/bills/BillsModule.js:1187 -#: /app/src/modules/bills/BillsModule.js:1384 +#: /app/src/core/KeyboardShortcuts.js:417 /app/src/main.js:1967 +#: /app/src/main.js:1974 /app/src/main.js:1978 +#: /app/src/modules/bills/BillsModule.js:1210 #: /app/src/modules/import/ImportModule.js:2348 #: /app/src/modules/import/ImportModule.js:2361 #: /app/src/modules/sharing/SharingModule.js:126 -#: /app/src/modules/transactions/TransactionsModule.js:5147 -#: /app/src/modules/transfers/TransfersModule.js:165 -#: /app/src/modules/transfers/TransfersModule.js:466 -#: /app/src/utils/modals.js:81 /app/templates/index.php:2717 -#: /app/templates/index.php:2915 /app/templates/index.php:3805 -#: /app/templates/index.php:5095 /app/templates/index.php:5116 -#: /app/templates/index.php:5122 /app/templates/index.php:5146 -#: /app/templates/index.php:5282 /app/templates/index.php:5310 -#: /app/templates/index.php:5422 /app/templates/index.php:5447 -#: /app/templates/index.php:5483 /app/templates/index.php:5519 -#: /app/templates/index.php:5573 /app/templates/index.php:5663 -#: /app/templates/index.php:5772 /app/templates/index.php:6618 -#: /app/templates/index.php:7033 /app/templates/index.php:7382 -#: /app/templates/index.php:7444 /app/templates/index.php:7545 -#: /app/templates/index.php:7555 +#: /app/src/modules/transactions/TransactionsModule.js:5198 +#: /app/src/modules/transfers/TransfersModule.js:170 +#: /app/src/modules/transfers/TransfersModule.js:440 +#: /app/src/utils/matchingDialog.js:74 /app/src/utils/modals.js:81 +#: /app/templates/index.php:2717 /app/templates/index.php:2915 +#: /app/templates/index.php:3805 /app/templates/index.php:5095 +#: /app/templates/index.php:5116 /app/templates/index.php:5122 +#: /app/templates/index.php:5146 /app/templates/index.php:5282 +#: /app/templates/index.php:5310 /app/templates/index.php:5422 +#: /app/templates/index.php:5447 /app/templates/index.php:5483 +#: /app/templates/index.php:5519 /app/templates/index.php:5573 +#: /app/templates/index.php:5663 /app/templates/index.php:5772 +#: /app/templates/index.php:6619 /app/templates/index.php:7034 +#: /app/templates/index.php:7383 /app/templates/index.php:7445 +#: /app/templates/index.php:7546 /app/templates/index.php:7556 msgid "Close" msgstr "" @@ -4764,33 +5041,33 @@ msgstr "" msgid "This page could not be loaded. Reload the page to try again." msgstr "" -#: /app/src/main.js:520 /app/src/modules/import/ImportModule.js:1991 +#: /app/src/main.js:523 /app/src/modules/import/ImportModule.js:1991 #: /app/src/modules/import/ImportModule.js:2031 msgid "Duplicate" msgstr "" -#: /app/src/main.js:522 +#: /app/src/main.js:525 msgid "Share expense" msgstr "" -#: /app/src/main.js:525 +#: /app/src/main.js:528 msgid "Unlink transfer" msgstr "" -#: /app/src/main.js:527 +#: /app/src/main.js:530 msgid "Match transfer" msgstr "" -#: /app/src/main.js:530 /app/src/main.js:2917 +#: /app/src/main.js:533 /app/src/main.js:2951 #: /app/src/modules/accounts/AccountsModule.js:612 -#: /app/src/modules/accounts/AccountsModule.js:1383 +#: /app/src/modules/accounts/AccountsModule.js:1386 #: /app/src/modules/assets/AssetsModule.js:169 #: /app/src/modules/import/ImportModule.js:660 -#: /app/src/modules/pensions/PensionsModule.js:123 -#: /app/src/modules/pensions/PensionsModule.js:797 -#: /app/src/modules/pensions/PensionsModule.js:798 -#: /app/src/modules/pensions/PensionsModule.js:1043 -#: /app/src/modules/savings/SavingsModule.js:141 +#: /app/src/modules/pensions/PensionsModule.js:146 +#: /app/src/modules/pensions/PensionsModule.js:843 +#: /app/src/modules/pensions/PensionsModule.js:844 +#: /app/src/modules/pensions/PensionsModule.js:1127 +#: /app/src/modules/savings/SavingsModule.js:143 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:192 #: /app/src/modules/tagsets/TagSetsModule.js:84 /app/templates/index.php:1177 #: /app/templates/index.php:1720 /app/templates/index.php:1971 @@ -4798,97 +5075,97 @@ msgstr "" msgid "Delete" msgstr "Smazat" -#: /app/src/main.js:925 +#: /app/src/main.js:928 msgid "Failed to load data" msgstr "" -#: /app/src/main.js:943 +#: /app/src/main.js:946 msgid "" "Your session has expired, so account names could not be loaded. Reload the " "page to restore them." msgstr "" -#: /app/src/main.js:944 +#: /app/src/main.js:947 msgid "" "Your session has expired, so categories could not be loaded. Reload the page " "to restore them." msgstr "" -#: /app/src/main.js:949 +#: /app/src/main.js:952 msgid "" "Accounts could not be loaded (error {status}). Transactions will show as " "\"Unknown Account\" until this is resolved." msgstr "" -#: /app/src/main.js:950 +#: /app/src/main.js:953 msgid "" "Categories could not be loaded (error {status}). Transactions will show as " "\"Uncategorized\" until this is resolved." msgstr "" -#: /app/src/main.js:1018 +#: /app/src/main.js:1021 msgid "Read full guide" msgstr "" -#: /app/src/main.js:1023 +#: /app/src/main.js:1026 msgid "Budget can be driven from the keyboard — press" msgstr "" -#: /app/src/main.js:1023 +#: /app/src/main.js:1026 msgid "anytime to see the full list." msgstr "" -#: /app/src/main.js:1024 +#: /app/src/main.js:1027 msgid "Show keyboard shortcuts" msgstr "" -#: /app/src/main.js:1028 +#: /app/src/main.js:1031 msgid "Quick Links" msgstr "" -#: /app/src/main.js:1030 +#: /app/src/main.js:1033 msgid "Getting Started Guide" msgstr "" -#: /app/src/main.js:1031 +#: /app/src/main.js:1034 msgid "Importing Bank Statements" msgstr "" -#: /app/src/main.js:1032 +#: /app/src/main.js:1035 msgid "Budget Tracking" msgstr "" -#: /app/src/main.js:1033 +#: /app/src/main.js:1036 msgid "Auto-Categorisation Rules" msgstr "" -#: /app/src/main.js:1038 /app/templates/index.php:4989 +#: /app/src/main.js:1041 /app/templates/index.php:4989 #, fuzzy #| msgid "Budget" msgid "Support Budget" msgstr "Rozpočet" -#: /app/src/main.js:1039 +#: /app/src/main.js:1042 msgid "Free and open source. If Budget helps you, a donation keeps it going." msgstr "" -#: /app/src/main.js:1041 /app/templates/index.php:4999 +#: /app/src/main.js:1044 /app/templates/index.php:4999 msgid "Sponsor on GitHub" msgstr "" -#: /app/src/main.js:1042 /app/templates/index.php:5002 +#: /app/src/main.js:1045 /app/templates/index.php:5002 msgid "Donate via PayPal" msgstr "" -#: /app/src/main.js:1502 /app/src/modules/accounts/AccountsModule.js:1562 +#: /app/src/main.js:1505 /app/src/modules/accounts/AccountsModule.js:1565 msgid "Failed to load transactions" msgstr "" -#: /app/src/main.js:1548 +#: /app/src/main.js:1551 msgid "{displayed} of {total} transactions" msgstr "" -#: /app/src/main.js:1549 /app/src/modules/dashboard/DashboardModule.js:2586 +#: /app/src/main.js:1552 /app/src/modules/dashboard/DashboardModule.js:2770 #: /app/src/modules/import/ImportModule.js:2148 msgid "%n transaction" msgid_plural "%n transactions" @@ -4896,116 +5173,152 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/main.js:1574 +#: /app/src/main.js:1577 msgid "Total: {amount}" msgstr "" -#: /app/src/main.js:1593 /app/src/modules/accounts/AccountsModule.js:1712 +#: /app/src/main.js:1596 /app/src/modules/accounts/AccountsModule.js:1715 msgid "Page {current} of {total}" msgstr "" -#: /app/src/main.js:1704 +#: /app/src/main.js:1707 msgid "Recalculating..." msgstr "Přepočítávání…" -#: /app/src/main.js:1709 +#: /app/src/main.js:1712 msgid "Recalculation failed" msgstr "" -#: /app/src/main.js:1713 +#: /app/src/main.js:1716 msgid "Recalculated {updated} of {total} account balances" msgstr "" -#: /app/src/main.js:1716 +#: /app/src/main.js:1719 msgid "All account balances are correct" msgstr "" -#: /app/src/main.js:1720 +#: /app/src/main.js:1723 msgid "Failed to recalculate balances: {error}" msgstr "" -#: /app/src/main.js:1735 +#: /app/src/main.js:1738 #, fuzzy #| msgid "Detecting..." msgid "Scanning..." msgstr "Zjišťování…" -#: /app/src/main.js:1745 +#: /app/src/main.js:1748 msgid "Failed to scan for issues: {error}" msgstr "" -#: /app/src/main.js:1776 +#: /app/src/main.js:1779 msgid "No data integrity issues found. Everything looks good!" msgstr "" -#: /app/src/main.js:1778 +#: /app/src/main.js:1781 msgid "Found {count} issue(s) across {categories} categories." msgstr "" -#: /app/src/main.js:1784 /app/src/main.js:1845 +#: /app/src/main.js:1789 +msgid "Looks like a second payment for {occurrence} (other payment on {date})" +msgstr "" + +#: /app/src/main.js:1790 /app/src/main.js:1797 /app/src/main.js:1867 msgid "(unnamed)" msgstr "" -#: /app/src/main.js:1787 -msgid "duplicate of" +#: /app/src/main.js:1790 +msgid "Also recorded as {description} on {date}" +msgstr "" + +#: /app/src/main.js:1792 +msgid "reconciled" msgstr "" -#: /app/src/main.js:1794 +#: /app/src/main.js:1808 msgid "Duplicate Auto-Generated Transactions" msgstr "" -#: /app/src/main.js:1797 /app/src/main.js:1858 /app/src/main.js:1909 -msgid "and {more} more" +#: /app/src/main.js:1812 +msgid "" +"Only ticked rows are deleted. Rows that come ticked are bill payments the " +"app recorded that an imported bank transaction records as well. The others " +"only look like duplicates and may be real payments: check them in the " +"account first, and tick only the ones you are sure about." msgstr "" -#: /app/src/main.js:1806 +#: /app/src/main.js:1824 msgid "Due: {date}" msgstr "" -#: /app/src/main.js:1807 /app/src/main.js:1827 +#: /app/src/main.js:1825 /app/src/main.js:1849 msgid "Paid: {date}" msgstr "" -#: /app/src/main.js:1814 +#: /app/src/main.js:1826 /app/src/main.js:1870 +msgid "Check: not changed" +msgstr "" + +#: /app/src/main.js:1830 +msgid "" +"Repairing moves these bills on to their next due date, with their pending " +"transaction. Bills marked Check are left as they are: their due date is " +"before the last payment, which is also how an overdue bill with another " +"payment still owed looks. If that payment was made, use Skip on the Bills " +"page." +msgstr "" + +#: /app/src/main.js:1836 msgid "Bills with Stuck Due Dates" msgstr "" -#: /app/src/main.js:1834 +#: /app/src/main.js:1856 msgid "Paid One-Time Bills Still Active" msgstr "" -#: /app/src/main.js:1855 +#: /app/src/main.js:1876 +msgid "" +"Repairing marks these as scheduled, so they count in the balance from their " +"date. Bill payments and reconciled transactions marked Check are left as " +"they are: check their dates on the Transactions page." +msgstr "" + +#: /app/src/main.js:1882 msgid "Future Transactions Not Marked as Scheduled" msgstr "" -#: /app/src/main.js:1872 +#: /app/src/main.js:1885 /app/src/main.js:1936 +msgid "and {more} more" +msgstr "" + +#: /app/src/main.js:1899 msgid "Now: {amount} in credit" msgstr "" -#: /app/src/main.js:1873 +#: /app/src/main.js:1900 msgid "After repair: {amount} owed" msgstr "" -#: /app/src/main.js:1880 +#: /app/src/main.js:1907 msgid "Debts Recorded as Being in Credit" msgstr "" -#: /app/src/main.js:1884 +#: /app/src/main.js:1911 msgid "" "These debts hold a positive balance, so the app is counting them as money " "you have rather than money you owe. Untick any you really have overpaid — " "those are recorded as genuine credits and left out of future scans." msgstr "" -#: /app/src/main.js:1897 +#: /app/src/main.js:1924 msgid "Listed under {category}" msgstr "" -#: /app/src/main.js:1904 +#: /app/src/main.js:1931 msgid "Split Transactions Carrying a Category" msgstr "" -#: /app/src/main.js:1908 +#: /app/src/main.js:1935 msgid "" "A split transaction keeps its categories on its individual parts, so it " "should not carry one of its own. These picked one up from an older version " @@ -5014,242 +5327,242 @@ msgid "" "part of it, is left exactly as it is." msgstr "" -#: /app/src/main.js:1919 +#: /app/src/main.js:1946 msgid "Stored: {amount}" msgstr "" -#: /app/src/main.js:1920 +#: /app/src/main.js:1947 msgid "Expected: {amount}" msgstr "" -#: /app/src/main.js:1921 +#: /app/src/main.js:1948 msgid "Diff: {amount}" msgstr "" -#: /app/src/main.js:1928 +#: /app/src/main.js:1955 msgid "Account Balance Inconsistencies" msgstr "" -#: /app/src/main.js:1939 +#: /app/src/main.js:1966 msgid "Data Integrity Report" msgstr "" -#: /app/src/main.js:1948 /app/src/main.js:2045 +#: /app/src/main.js:1975 /app/src/main.js:2078 msgid "Fix Selected Issues" msgstr "" -#: /app/src/main.js:1985 +#: /app/src/main.js:2012 #, fuzzy #| msgid "categories" msgid "No categories selected" msgstr "kategorie" -#: /app/src/main.js:1998 +#: /app/src/main.js:2031 #, fuzzy #| msgid "Exporting..." msgid "Repairing..." msgstr "Exportování…" -#: /app/src/main.js:2012 +#: /app/src/main.js:2045 msgid "{count} duplicate transactions removed" msgstr "" -#: /app/src/main.js:2015 +#: /app/src/main.js:2048 msgid "{count} bill due dates fixed" msgstr "" -#: /app/src/main.js:2018 +#: /app/src/main.js:2051 msgid "{count} one-time bills deactivated" msgstr "" -#: /app/src/main.js:2021 +#: /app/src/main.js:2054 msgid "{count} future transactions set to scheduled" msgstr "" -#: /app/src/main.js:2024 +#: /app/src/main.js:2057 msgid "{count} split transactions had a stray category removed" msgstr "" -#: /app/src/main.js:2027 +#: /app/src/main.js:2060 msgid "{count} debts re-recorded as owed" msgstr "" -#: /app/src/main.js:2029 +#: /app/src/main.js:2062 msgid "{count} confirmed as genuine credits" msgstr "" -#: /app/src/main.js:2033 +#: /app/src/main.js:2066 msgid "{count} account balances corrected" msgstr "" -#: /app/src/main.js:2036 +#: /app/src/main.js:2069 msgid "Repair complete: {details}" msgstr "" -#: /app/src/main.js:2043 +#: /app/src/main.js:2076 msgid "Repair failed: {error}" msgstr "" -#: /app/src/main.js:2129 /app/src/modules/settings/SettingsModule.js:592 -#: /app/src/modules/transactions/TransactionsModule.js:5310 +#: /app/src/main.js:2162 /app/src/modules/settings/SettingsModule.js:592 +#: /app/src/modules/transactions/TransactionsModule.js:5361 msgid "Deleting..." msgstr "Mazání…" -#: /app/src/main.js:2158 /app/src/modules/settings/SettingsModule.js:619 -#: /app/templates/index.php:7428 +#: /app/src/main.js:2191 /app/src/modules/settings/SettingsModule.js:619 +#: /app/templates/index.php:7429 msgid "Delete Everything" msgstr "" -#: /app/src/main.js:2161 /app/src/modules/settings/SettingsModule.js:622 +#: /app/src/main.js:2194 /app/src/modules/settings/SettingsModule.js:622 msgid "Failed to perform factory reset" msgstr "" -#: /app/src/main.js:2234 +#: /app/src/main.js:2267 msgid "Exporting..." msgstr "Exportování…" -#: /app/src/main.js:2238 +#: /app/src/main.js:2271 msgid "Export failed" msgstr "" -#: /app/src/main.js:2262 +#: /app/src/main.js:2295 msgid "Export completed successfully" msgstr "" -#: /app/src/main.js:2265 +#: /app/src/main.js:2298 msgid "Failed to export data: {error}" msgstr "" -#: /app/src/main.js:2274 +#: /app/src/main.js:2307 msgid "Please select a ZIP file" msgstr "" -#: /app/src/main.js:2287 +#: /app/src/main.js:2320 msgid "Validating file..." msgstr "" -#: /app/src/main.js:2296 /app/src/main.js:2300 +#: /app/src/main.js:2329 /app/src/main.js:2333 msgid "Invalid export file" msgstr "" -#: /app/src/main.js:2331 +#: /app/src/main.js:2364 msgid "Failed to preview file: {error}" msgstr "" -#: /app/src/main.js:2343 +#: /app/src/main.js:2376 msgid "No file selected" msgstr "" -#: /app/src/main.js:2348 +#: /app/src/main.js:2381 msgid "" "This will PERMANENTLY DELETE all your existing data and replace it with the " "imported data." msgstr "" -#: /app/src/main.js:2348 +#: /app/src/main.js:2381 msgid "Are you absolutely sure you want to continue?" msgstr "" -#: /app/src/main.js:2358 +#: /app/src/main.js:2391 msgid "Importing data... This may take a moment." msgstr "" -#: /app/src/main.js:2368 /app/src/main.js:2374 +#: /app/src/main.js:2401 /app/src/main.js:2407 #: /app/src/modules/import/ImportModule.js:2449 msgid "Import failed" msgstr "" -#: /app/src/main.js:2382 +#: /app/src/main.js:2415 msgid "Import Successful!" msgstr "" -#: /app/src/main.js:2383 +#: /app/src/main.js:2416 msgid "Your data has been imported successfully." msgstr "" -#: /app/src/main.js:2385 +#: /app/src/main.js:2418 msgid "categories" msgstr "kategorie" -#: /app/src/main.js:2386 +#: /app/src/main.js:2419 msgid "accounts" msgstr "účty" -#: /app/src/main.js:2387 +#: /app/src/main.js:2420 msgid "transactions" msgstr "transakce" -#: /app/src/main.js:2388 +#: /app/src/main.js:2421 msgid "bills" msgstr "faktury" -#: /app/src/main.js:2389 +#: /app/src/main.js:2422 msgid "import rules" msgstr "" -#: /app/src/main.js:2390 +#: /app/src/main.js:2423 msgid "settings" msgstr "nastavení" -#: /app/src/main.js:2401 +#: /app/src/main.js:2435 msgid "Import completed successfully" msgstr "" -#: /app/src/main.js:2409 +#: /app/src/main.js:2443 msgid "Import Failed" msgstr "" -#: /app/src/main.js:2411 +#: /app/src/main.js:2445 msgid "Your existing data has not been modified." msgstr "" -#: /app/src/main.js:2654 +#: /app/src/main.js:2688 msgid "Failed to calculate scenario" msgstr "" -#: /app/src/main.js:2699 /app/src/modules/dashboard/DashboardModule.js:950 -#: /app/src/modules/reports/ReportsModule.js:1570 +#: /app/src/main.js:2733 /app/src/modules/dashboard/DashboardModule.js:1009 +#: /app/src/modules/reports/ReportsModule.js:1571 msgid "N/A" msgstr "" -#: /app/src/main.js:2874 /app/src/main.js:2972 +#: /app/src/main.js:2908 /app/src/main.js:3006 msgid "Interest Rate" msgstr "" -#: /app/src/main.js:2875 /app/templates/index.php:1276 +#: /app/src/main.js:2909 /app/templates/index.php:1276 msgid "Min Payment" msgstr "" -#: /app/src/main.js:2876 +#: /app/src/main.js:2910 msgid "Payoff" msgstr "" -#: /app/src/main.js:2876 +#: /app/src/main.js:2910 msgid "month {month}" msgstr "" -#: /app/src/main.js:2877 /app/templates/index.php:4141 +#: /app/src/main.js:2911 /app/templates/index.php:4141 msgid "Total Interest" msgstr "" -#: /app/src/main.js:2900 +#: /app/src/main.js:2934 msgid "No scenarios yet. Create one to compare strategies." msgstr "" -#: /app/src/main.js:2905 /app/src/main.js:3136 +#: /app/src/main.js:2939 /app/src/main.js:3170 msgid "Snowball" msgstr "" -#: /app/src/main.js:2905 /app/src/main.js:3125 +#: /app/src/main.js:2939 /app/src/main.js:3159 #, fuzzy #| msgid "Balance" msgid "Avalanche" msgstr "Zůstatek" -#: /app/src/main.js:2916 /app/src/modules/accounts/AccountsModule.js:609 +#: /app/src/main.js:2950 /app/src/modules/accounts/AccountsModule.js:609 #: /app/src/modules/assets/AssetsModule.js:166 -#: /app/src/modules/pensions/PensionsModule.js:120 -#: /app/src/modules/savings/SavingsModule.js:138 +#: /app/src/modules/pensions/PensionsModule.js:143 +#: /app/src/modules/savings/SavingsModule.js:140 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:189 #: /app/src/modules/tagsets/TagSetsModule.js:83 /app/templates/index.php:1223 #: /app/templates/index.php:1967 /app/templates/index.php:4016 @@ -5257,223 +5570,215 @@ msgstr "Zůstatek" msgid "Edit" msgstr "Upravit" -#: /app/src/main.js:2918 +#: /app/src/main.js:2952 msgid "Set as active" msgstr "" -#: /app/src/main.js:2932 +#: /app/src/main.js:2966 msgid "Edit Scenario" msgstr "" -#: /app/src/main.js:2932 /app/templates/index.php:4120 +#: /app/src/main.js:2966 /app/templates/index.php:4120 #: /app/templates/index.php:4122 /app/templates/index.php:5689 msgid "New Scenario" msgstr "" -#: /app/src/main.js:2986 +#: /app/src/main.js:3020 msgid "Please enter a scenario name" msgstr "" -#: /app/src/main.js:3040 +#: /app/src/main.js:3074 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to save scenario" msgstr "Nepodařilo se získat účty" -#: /app/src/main.js:3045 +#: /app/src/main.js:3079 msgid "Are you sure you want to delete this scenario?" msgstr "" -#: /app/src/main.js:3064 +#: /app/src/main.js:3098 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to delete scenario" msgstr "Nepodařilo se získat účty" -#: /app/src/main.js:3080 +#: /app/src/main.js:3114 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to activate scenario" msgstr "Nepodařilo se získat účty" -#: /app/src/main.js:3127 /app/src/main.js:3138 +#: /app/src/main.js:3161 /app/src/main.js:3172 msgid "Months to payoff" msgstr "" -#: /app/src/main.js:3131 /app/src/main.js:3142 +#: /app/src/main.js:3165 /app/src/main.js:3176 #, fuzzy #| msgid "Interest" msgid "Total interest" msgstr "Úrok" -#: /app/src/main.js:3160 +#: /app/src/main.js:3194 msgid "Avalanche Recommended" msgstr "" -#: /app/src/main.js:3161 +#: /app/src/main.js:3195 msgid "Snowball Recommended" msgstr "" -#: /app/src/main.js:3161 +#: /app/src/main.js:3195 msgid "Either Works" msgstr "" -#: /app/src/main.js:3164 +#: /app/src/main.js:3198 msgid "Avalanche saves {amount} in interest" msgstr "" -#: /app/src/main.js:3165 +#: /app/src/main.js:3199 msgid "Snowball saves {amount} in interest" msgstr "" -#: /app/src/main.js:3201 +#: /app/src/main.js:3235 msgid "Hide" msgstr "" -#: /app/src/main.js:3201 +#: /app/src/main.js:3235 msgid "Show" msgstr "" -#: /app/src/main.js:3311 -#: /app/src/modules/transactions/TransactionsModule.js:3610 +#: /app/src/main.js:3345 +#: /app/src/modules/transactions/TransactionsModule.js:3661 #: /app/src/modules/transactions/transactionRow.js:287 msgid "Unknown Account" msgstr "" -#: /app/src/main.js:3355 -#: /app/src/modules/transactions/TransactionsModule.js:3654 +#: /app/src/main.js:3389 +#: /app/src/modules/transactions/TransactionsModule.js:3705 msgid "Link as Transfer" msgstr "" -#: /app/src/main.js:3364 -#: /app/src/modules/transactions/TransactionsModule.js:3663 +#: /app/src/main.js:3398 +#: /app/src/modules/transactions/TransactionsModule.js:3714 msgid "Failed to search for matches. Please try again." msgstr "" -#: /app/src/main.js:3374 -#: /app/src/modules/transactions/TransactionsModule.js:3670 +#: /app/src/main.js:3408 +#: /app/src/modules/transactions/TransactionsModule.js:3721 msgid "Transactions linked as transfer" msgstr "" -#: /app/src/main.js:3380 -#: /app/src/modules/transactions/TransactionsModule.js:3676 -#: /app/src/modules/transactions/TransactionsModule.js:4348 -#: /app/src/modules/transactions/TransactionsModule.js:4420 +#: /app/src/main.js:3414 +#: /app/src/modules/transactions/TransactionsModule.js:3727 +#: /app/src/modules/transactions/TransactionsModule.js:4399 +#: /app/src/modules/transactions/TransactionsModule.js:4471 msgid "Failed to link transactions" msgstr "" -#: /app/src/main.js:3404 +#: /app/src/main.js:3438 msgid "Select an account for the other side of the transfer" msgstr "" -#: /app/src/main.js:3409 +#: /app/src/main.js:3443 msgid "Transfer created and linked" msgstr "" -#: /app/src/main.js:3415 -#: /app/src/modules/transactions/TransactionsModule.js:2933 +#: /app/src/main.js:3449 +#: /app/src/modules/transactions/TransactionsModule.js:2977 msgid "Failed to create transfer" msgstr "" -#: /app/src/main.js:3434 +#: /app/src/main.js:3468 msgid "Could not navigate to linked transaction" msgstr "" -#: /app/src/main.js:3509 -#: /app/src/modules/transactions/TransactionsModule.js:3681 +#: /app/src/main.js:3543 +#: /app/src/modules/transactions/TransactionsModule.js:3732 msgid "" "Are you sure you want to unlink this transaction from its transfer pair?" msgstr "" -#: /app/src/main.js:3515 -#: /app/src/modules/transactions/TransactionsModule.js:3687 +#: /app/src/main.js:3549 +#: /app/src/modules/transactions/TransactionsModule.js:3738 msgid "Transaction unlinked" msgstr "" -#: /app/src/main.js:3546 -#: /app/src/modules/transactions/TransactionsModule.js:3714 +#: /app/src/main.js:3580 +#: /app/src/modules/transactions/TransactionsModule.js:3765 msgid "Edit Transaction Splits" msgstr "" -#: /app/src/main.js:3546 -#: /app/src/modules/transactions/TransactionsModule.js:3714 -#: /app/templates/index.php:7098 +#: /app/src/main.js:3580 +#: /app/src/modules/transactions/TransactionsModule.js:3765 +#: /app/templates/index.php:7099 msgid "Split Transaction" msgstr "" -#: /app/src/main.js:3562 +#: /app/src/main.js:3596 msgid "Total Amount" msgstr "" -#: /app/src/main.js:3636 -#: /app/src/modules/transactions/TransactionsModule.js:3196 -#: /app/src/modules/transactions/TransactionsModule.js:3801 +#: /app/src/main.js:3670 +#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3852 #: /app/templates/index.php:5550 msgid "Optional note" msgstr "" -#: /app/src/main.js:3640 /app/src/modules/bills/BillsModule.js:992 -#: /app/src/modules/transactions/TransactionsModule.js:3805 +#: /app/src/main.js:3674 /app/src/modules/bills/BillsModule.js:998 +#: /app/src/modules/transactions/TransactionsModule.js:3856 msgid "Remove split" msgstr "" -#: /app/src/main.js:3760 -#: /app/src/modules/transactions/TransactionsModule.js:3873 +#: /app/src/main.js:3794 +#: /app/src/modules/transactions/TransactionsModule.js:3924 msgid "A split transaction must have at least 2 parts" msgstr "" -#: /app/src/main.js:3766 -#: /app/src/modules/transactions/TransactionsModule.js:3879 +#: /app/src/main.js:3800 +#: /app/src/modules/transactions/TransactionsModule.js:3930 msgid "" "Split amounts ({splitTotal}) must equal transaction amount ({totalAmount})" msgstr "" -#: /app/src/main.js:3777 -#: /app/src/modules/transactions/TransactionsModule.js:3890 +#: /app/src/main.js:3811 +#: /app/src/modules/transactions/TransactionsModule.js:3941 msgid "Transaction split successfully" msgstr "" -#: /app/src/main.js:3781 -#: /app/src/modules/transactions/TransactionsModule.js:3894 +#: /app/src/main.js:3815 +#: /app/src/modules/transactions/TransactionsModule.js:3945 msgid "Failed to save splits" msgstr "" -#: /app/src/main.js:3792 -#: /app/src/modules/transactions/TransactionsModule.js:3902 +#: /app/src/main.js:3826 +#: /app/src/modules/transactions/TransactionsModule.js:3953 msgid "" "Are you sure you want to remove the split and revert to a single transaction?" msgstr "" -#: /app/src/main.js:3800 -#: /app/src/modules/transactions/TransactionsModule.js:3910 +#: /app/src/main.js:3834 +#: /app/src/modules/transactions/TransactionsModule.js:3961 msgid "Transaction unsplit successfully" msgstr "" -#: /app/src/main.js:3804 -#: /app/src/modules/transactions/TransactionsModule.js:3914 +#: /app/src/main.js:3838 +#: /app/src/modules/transactions/TransactionsModule.js:3965 msgid "Failed to unsplit transaction" msgstr "" -#: /app/src/main.js:3943 +#: /app/src/main.js:3977 msgid "At least one column must remain visible" msgstr "" -#: /app/src/main.js:3963 +#: /app/src/main.js:3997 msgid "Failed to save column visibility" msgstr "" -#: /app/src/main.js:3970 +#: /app/src/main.js:4004 msgid "Failed to save column preferences" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:25 -#: /app/src/modules/transfers/TransfersModule.js:475 -#: /app/templates/index.php:1104 /app/templates/index.php:2802 -#: /app/templates/index.php:5157 /app/templates/index.php:5583 -#: /app/templates/index.php:7236 -msgid "Name" -msgstr "" - #: /app/src/modules/accounts/AccountsModule.js:26 /app/templates/index.php:1106 #, fuzzy #| msgid "Account" @@ -5556,7 +5861,7 @@ msgid "Excluded" msgstr "" #: /app/src/modules/accounts/AccountsModule.js:561 -#: /app/src/modules/accounts/AccountsModule.js:2662 +#: /app/src/modules/accounts/AccountsModule.js:2668 msgid "Edit Account" msgstr "" @@ -5565,13 +5870,13 @@ msgid "Delete Account" msgstr "" #: /app/src/modules/accounts/AccountsModule.js:634 -#: /app/src/modules/accounts/AccountsModule.js:2406 +#: /app/src/modules/accounts/AccountsModule.js:2412 #: /app/templates/index.php:1039 msgid "Select account" msgstr "" #: /app/src/modules/accounts/AccountsModule.js:678 -#: /app/src/modules/categories/CategoriesModule.js:1315 +#: /app/src/modules/categories/CategoriesModule.js:1337 msgid "%n selected" msgid_plural "%n selected" msgstr[0] "" @@ -5589,7 +5894,12 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/accounts/AccountsModule.js:733 +#: /app/src/modules/accounts/AccountsModule.js:712 +msgid "" +"Any bills, transfers or recurring income that use them are switched off." +msgstr "" + +#: /app/src/modules/accounts/AccountsModule.js:734 msgid "" "%n account still has transactions: {names}. Delete it along with its {rows} " "transaction(s)? This cannot be undone." @@ -5600,14 +5910,14 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/accounts/AccountsModule.js:751 +#: /app/src/modules/accounts/AccountsModule.js:752 msgid "%n account and {count} transaction(s) deleted" msgid_plural "%n accounts and {count} transaction(s) deleted" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/accounts/AccountsModule.js:754 +#: /app/src/modules/accounts/AccountsModule.js:755 #, fuzzy #| msgid "Accounts" msgid "%n account deleted" @@ -5616,435 +5926,440 @@ msgstr[0] "Účty" msgstr[1] "Účty" msgstr[2] "Účty" -#: /app/src/modules/accounts/AccountsModule.js:757 -#: /app/src/modules/categories/CategoriesModule.js:1355 +#: /app/src/modules/accounts/AccountsModule.js:758 +#: /app/src/modules/categories/CategoriesModule.js:1377 msgid "Failed to delete: {errors}" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:771 +#: /app/src/modules/accounts/AccountsModule.js:772 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to delete accounts: {error}" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/accounts/AccountsModule.js:889 +#: /app/src/modules/accounts/AccountsModule.js:890 msgid "Always shown" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1128 +#: /app/src/modules/accounts/AccountsModule.js:1129 msgid "Failed to load account details" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1240 +#: /app/src/modules/accounts/AccountsModule.js:1241 msgid "Day {day} each month" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1293 -#: /app/src/modules/accounts/AccountsModule.js:1294 -#: /app/src/modules/accounts/AccountsModule.js:1295 #: /app/src/modules/accounts/AccountsModule.js:1296 #: /app/src/modules/accounts/AccountsModule.js:1297 +#: /app/src/modules/accounts/AccountsModule.js:1298 #: /app/src/modules/accounts/AccountsModule.js:1299 +#: /app/src/modules/accounts/AccountsModule.js:1300 +#: /app/src/modules/accounts/AccountsModule.js:1302 #: /app/templates/index.php:1358 /app/templates/index.php:1362 #: /app/templates/index.php:1366 /app/templates/index.php:1370 #: /app/templates/index.php:1374 /app/templates/index.php:1382 msgid "Not provided" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1300 +#: /app/src/modules/accounts/AccountsModule.js:1303 #: /app/templates/index.php:1386 msgid "Never" msgstr "Nikdy" -#: /app/src/modules/accounts/AccountsModule.js:1367 +#: /app/src/modules/accounts/AccountsModule.js:1370 +#: /app/src/modules/transfers/TransfersModule.js:477 #: /app/templates/index.php:6087 msgid "Daily" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1370 +#: /app/src/modules/accounts/AccountsModule.js:1373 msgid "Simple" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1399 -#: /app/src/modules/accounts/AccountsModule.js:1404 +#: /app/src/modules/accounts/AccountsModule.js:1402 +#: /app/src/modules/accounts/AccountsModule.js:1407 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to delete rate change" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/accounts/AccountsModule.js:1401 +#: /app/src/modules/accounts/AccountsModule.js:1404 msgid "Rate change deleted" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1418 +#: /app/src/modules/accounts/AccountsModule.js:1421 msgid "Enter new annual interest rate (%)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1423 +#: /app/src/modules/accounts/AccountsModule.js:1426 msgid "Invalid rate. Must be between 0 and 999.9999" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1427 +#: /app/src/modules/accounts/AccountsModule.js:1430 msgid "Effective date (YYYY-MM-DD)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1430 +#: /app/src/modules/accounts/AccountsModule.js:1433 msgid "Compounding frequency (daily, monthly, yearly, simple)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1444 -#: /app/src/modules/accounts/AccountsModule.js:1449 +#: /app/src/modules/accounts/AccountsModule.js:1447 +#: /app/src/modules/accounts/AccountsModule.js:1452 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to add rate change" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/accounts/AccountsModule.js:1446 +#: /app/src/modules/accounts/AccountsModule.js:1449 msgid "Rate change added" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1498 +#: /app/src/modules/accounts/AccountsModule.js:1501 msgid "" "Some historical exchange rates could not be found. P&L may be approximate." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1577 +#: /app/src/modules/accounts/AccountsModule.js:1580 #: /app/src/modules/import/ImportModule.js:1978 msgid "No transactions found" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1578 +#: /app/src/modules/accounts/AccountsModule.js:1581 msgid "This account doesn't have any transactions yet." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1740 -#: /app/src/utils/billDates.js:36 +#: /app/src/modules/accounts/AccountsModule.js:1746 +#: /app/src/utils/billDates.js:102 msgid "No due date" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1742 +#: /app/src/modules/accounts/AccountsModule.js:1748 msgid "{date} (statement balance)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1743 +#: /app/src/modules/accounts/AccountsModule.js:1749 msgid "{date} (current balance)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1744 +#: /app/src/modules/accounts/AccountsModule.js:1750 msgid "{date} (minimum payment)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1786 +#: /app/src/modules/accounts/AccountsModule.js:1792 #, fuzzy #| msgid "accounts" msgid "{account} payment" msgstr "účty" -#: /app/src/modules/accounts/AccountsModule.js:1864 -#: /app/src/modules/transactions/TransactionsModule.js:510 +#: /app/src/modules/accounts/AccountsModule.js:1870 +#: /app/src/modules/transactions/TransactionsModule.js:532 #: /app/templates/index.php:1463 /app/templates/index.php:1627 msgid "All Categories" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1918 +#: /app/src/modules/accounts/AccountsModule.js:1924 #: /app/src/modules/reports/ReportsModule.js:457 #: /app/src/modules/tagsets/TagSetsModule.js:591 -#: /app/src/modules/transactions/TransactionsModule.js:565 -#: /app/src/modules/transactions/TransactionsModule.js:1320 +#: /app/src/modules/transactions/TransactionsModule.js:587 +#: /app/src/modules/transactions/TransactionsModule.js:1346 msgid "No tags available" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1929 +#: /app/src/modules/accounts/AccountsModule.js:1935 #: /app/src/modules/reports/ReportsModule.js:469 -#: /app/src/modules/transactions/TransactionsModule.js:576 -#: /app/src/modules/transactions/TransactionsModule.js:4793 +#: /app/src/modules/transactions/TransactionsModule.js:598 +#: /app/src/modules/transactions/TransactionsModule.js:4844 msgid "Type to filter tags..." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2012 +#: /app/src/modules/accounts/AccountsModule.js:2018 #: /app/src/modules/reports/ReportsModule.js:535 -#: /app/src/modules/transactions/TransactionsModule.js:660 -#: /app/src/modules/transactions/TransactionsModule.js:4868 +#: /app/src/modules/transactions/TransactionsModule.js:682 +#: /app/src/modules/transactions/TransactionsModule.js:4919 msgid "No tags found" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2130 -#: /app/src/modules/transactions/TransactionsModule.js:520 +#: /app/src/modules/accounts/AccountsModule.js:2136 +#: /app/src/modules/transactions/TransactionsModule.js:542 #: /app/templates/index.php:1739 msgid "Select account to reconcile" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2210 -#: /app/src/modules/accounts/AccountsModule.js:2312 +#: /app/src/modules/accounts/AccountsModule.js:2216 +#: /app/src/modules/accounts/AccountsModule.js:2318 msgid "No accounts available. Please create an account first." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2213 -#: /app/src/modules/accounts/AccountsModule.js:2315 +#: /app/src/modules/accounts/AccountsModule.js:2219 +#: /app/src/modules/accounts/AccountsModule.js:2321 #: /app/src/modules/import/ImportModule.js:2429 msgid "Please select an account" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2217 -#: /app/src/modules/accounts/AccountsModule.js:2319 +#: /app/src/modules/accounts/AccountsModule.js:2223 +#: /app/src/modules/accounts/AccountsModule.js:2325 msgid "Please enter a date" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2221 -#: /app/src/modules/accounts/AccountsModule.js:2323 +#: /app/src/modules/accounts/AccountsModule.js:2227 +#: /app/src/modules/accounts/AccountsModule.js:2329 msgid "Please select a transaction type" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2225 -#: /app/src/modules/accounts/AccountsModule.js:2327 -#: /app/src/modules/savings/SavingsModule.js:487 +#: /app/src/modules/accounts/AccountsModule.js:2231 +#: /app/src/modules/accounts/AccountsModule.js:2333 +#: /app/src/modules/savings/SavingsModule.js:489 msgid "Please enter a valid amount" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2229 -#: /app/src/modules/accounts/AccountsModule.js:2331 +#: /app/src/modules/accounts/AccountsModule.js:2235 +#: /app/src/modules/accounts/AccountsModule.js:2337 msgid "Please enter a description" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2257 -#: /app/src/modules/accounts/AccountsModule.js:2276 -#: /app/src/modules/transactions/TransactionsModule.js:2975 -#: /app/src/modules/transactions/TransactionsModule.js:2982 -#: /app/src/modules/transactions/TransactionsModule.js:3032 +#: /app/src/modules/accounts/AccountsModule.js:2263 +#: /app/src/modules/accounts/AccountsModule.js:2282 +#: /app/src/modules/transactions/TransactionsModule.js:3019 +#: /app/src/modules/transactions/TransactionsModule.js:3026 +#: /app/src/modules/transactions/TransactionsModule.js:3076 #: /app/templates/quick-add.php:185 msgid "Failed to save transaction" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2267 +#: /app/src/modules/accounts/AccountsModule.js:2273 msgid "Transaction saved successfully" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2350 -#: /app/src/modules/accounts/AccountsModule.js:2365 +#: /app/src/modules/accounts/AccountsModule.js:2356 +#: /app/src/modules/accounts/AccountsModule.js:2371 msgid "Failed to add transaction" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2353 +#: /app/src/modules/accounts/AccountsModule.js:2359 msgid "Transaction added successfully!" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2418 -#: /app/src/modules/bills/BillsModule.js:911 -#: /app/src/modules/bills/BillsModule.js:975 -#: /app/src/modules/income/IncomeModule.js:465 -#: /app/src/modules/transactions/TransactionsModule.js:1958 -#: /app/src/modules/transfers/TransfersModule.js:566 +#: /app/src/modules/accounts/AccountsModule.js:2424 +#: /app/src/modules/bills/BillsModule.js:917 +#: /app/src/modules/bills/BillsModule.js:981 +#: /app/src/modules/income/IncomeModule.js:461 +#: /app/src/modules/transactions/TransactionsModule.js:1986 +#: /app/src/modules/transfers/TransfersModule.js:551 #: /app/templates/index.php:1061 /app/templates/index.php:5864 -#: /app/templates/index.php:6255 /app/templates/index.php:6725 +#: /app/templates/index.php:6255 /app/templates/index.php:6726 msgid "No category" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2437 +#: /app/src/modules/accounts/AccountsModule.js:2443 msgid "Form error: Account name field not found" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2443 +#: /app/src/modules/accounts/AccountsModule.js:2449 msgid "Form error: Account type field not found" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2497 -#: /app/src/modules/accounts/AccountsModule.js:2511 +#: /app/src/modules/accounts/AccountsModule.js:2503 +#: /app/src/modules/accounts/AccountsModule.js:2517 msgid "" "Enter the amount owed as a positive number. Tick \"This account is in " "credit\" if the lender owes you instead." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2548 +#: /app/src/modules/accounts/AccountsModule.js:2554 msgid "Please enter an account name" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2555 +#: /app/src/modules/accounts/AccountsModule.js:2561 msgid "Please select an account type" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2562 +#: /app/src/modules/accounts/AccountsModule.js:2568 msgid "Account name is too long (maximum 255 characters)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2569 +#: /app/src/modules/accounts/AccountsModule.js:2575 msgid "Please enter a valid balance amount" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2589 +#: /app/src/modules/accounts/AccountsModule.js:2595 msgid "Account saved successfully" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2612 +#: /app/src/modules/accounts/AccountsModule.js:2618 msgid "Unknown error occurred" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2613 +#: /app/src/modules/accounts/AccountsModule.js:2619 msgid "Failed to save account: {error}" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2643 +#: /app/src/modules/accounts/AccountsModule.js:2649 msgid "" "This account has a balance of {balance}. It must be zero before it can be " "closed." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2672 +#: /app/src/modules/accounts/AccountsModule.js:2678 #: /app/templates/index.php:1122 msgid "Add Account" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2703 +#: /app/src/modules/accounts/AccountsModule.js:2709 msgid "Balance is calculated from transactions" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2711 +#: /app/src/modules/accounts/AccountsModule.js:2717 #, fuzzy #| msgid "Uncategorized" msgid "Calculated from transactions" msgstr "Nezařazeno" -#: /app/src/modules/accounts/AccountsModule.js:2779 +#: /app/src/modules/accounts/AccountsModule.js:2785 msgid "•••••••• (leave blank to keep current)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2801 +#: /app/src/modules/accounts/AccountsModule.js:2807 msgid "Failed to load account data" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2872 -#: /app/src/modules/accounts/AccountsModule.js:2884 +#: /app/src/modules/accounts/AccountsModule.js:2878 +#: /app/src/modules/accounts/AccountsModule.js:2890 #, fuzzy #| msgid "Account" msgid "Amount owed" msgstr "Účet" -#: /app/src/modules/accounts/AccountsModule.js:2873 +#: /app/src/modules/accounts/AccountsModule.js:2879 #: /app/templates/index.php:5992 msgid "Opening Balance" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2878 +#: /app/src/modules/accounts/AccountsModule.js:2884 msgid "" "Enter what you owe as a plain positive number — the app records it as a debt " "for you." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2879 +#: /app/src/modules/accounts/AccountsModule.js:2885 #: /app/templates/index.php:5994 msgid "The starting balance when this account was created" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2885 -#: /app/src/modules/accounts/AccountsModule.js:2927 +#: /app/src/modules/accounts/AccountsModule.js:2891 +#: /app/src/modules/accounts/AccountsModule.js:2933 #: /app/templates/index.php:6007 msgid "Starting Balance" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2894 +#: /app/src/modules/accounts/AccountsModule.js:2900 msgid "" "This account is currently recorded as being in credit — as if the lender " "owes you this money, which adds it to your net worth. If you actually owe " "it, untick the box above and save." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2931 +#: /app/src/modules/accounts/AccountsModule.js:2937 #: /app/templates/index.php:6009 msgid "The balance this account starts with" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2990 +#: /app/src/modules/accounts/AccountsModule.js:2997 msgid "" "Are you sure you want to delete this account? This action cannot be undone." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3007 +#: /app/src/modules/accounts/AccountsModule.js:2998 +msgid "Any bills, transfers or recurring income that use it are switched off." +msgstr "" + +#: /app/src/modules/accounts/AccountsModule.js:3017 msgid "" "This account still has {count} transaction(s). Delete them along with the " "account? This cannot be undone." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3008 +#: /app/src/modules/accounts/AccountsModule.js:3018 msgid "" "This account still has transactions. Delete them along with the account? " "This cannot be undone." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3016 +#: /app/src/modules/accounts/AccountsModule.js:3026 msgid "Account and its {count} transaction(s) deleted" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3017 +#: /app/src/modules/accounts/AccountsModule.js:3027 msgid "Account deleted successfully" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3027 +#: /app/src/modules/accounts/AccountsModule.js:3037 msgid "Failed to delete account: {error}" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3246 +#: /app/src/modules/accounts/AccountsModule.js:3256 msgid "Valid" msgstr "Platné" -#: /app/src/modules/accounts/AccountsModule.js:3311 +#: /app/src/modules/accounts/AccountsModule.js:3321 #: /app/templates/index.php:5979 msgid "Checking Account" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3316 +#: /app/src/modules/accounts/AccountsModule.js:3326 #: /app/templates/index.php:5980 msgid "Savings Account" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3321 -#: /app/src/modules/dashboard/DashboardModule.js:1039 +#: /app/src/modules/accounts/AccountsModule.js:3331 +#: /app/src/modules/dashboard/DashboardModule.js:1098 #: /app/src/utils/formatters.js:264 /app/templates/index.php:5981 msgid "Credit Card" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3326 -#: /app/src/modules/dashboard/DashboardModule.js:1040 +#: /app/src/modules/accounts/AccountsModule.js:3336 +#: /app/src/modules/dashboard/DashboardModule.js:1099 #: /app/src/utils/formatters.js:265 msgid "Investment" msgstr "Investice" -#: /app/src/modules/accounts/AccountsModule.js:3331 -#: /app/src/modules/dashboard/DashboardModule.js:1042 +#: /app/src/modules/accounts/AccountsModule.js:3341 +#: /app/src/modules/dashboard/DashboardModule.js:1101 #: /app/src/utils/formatters.js:267 msgid "Loan" msgstr "Půjčka" -#: /app/src/modules/accounts/AccountsModule.js:3336 -#: /app/src/modules/dashboard/DashboardModule.js:1041 +#: /app/src/modules/accounts/AccountsModule.js:3346 +#: /app/src/modules/dashboard/DashboardModule.js:1100 #: /app/src/utils/formatters.js:266 /app/templates/index.php:5986 msgid "Cash" msgstr "Hotovost" -#: /app/src/modules/accounts/AccountsModule.js:3341 +#: /app/src/modules/accounts/AccountsModule.js:3351 #: /app/src/utils/formatters.js:270 /app/templates/index.php:5987 msgid "Cryptocurrency" msgstr "Kryptoměna" -#: /app/src/modules/accounts/AccountsModule.js:3363 +#: /app/src/modules/accounts/AccountsModule.js:3373 msgid "Credit utilization very high" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3369 +#: /app/src/modules/accounts/AccountsModule.js:3379 msgid "Credit utilization high" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3379 +#: /app/src/modules/accounts/AccountsModule.js:3389 msgid "Negative balance" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3388 +#: /app/src/modules/accounts/AccountsModule.js:3398 msgid "Exceeds overdraft limit" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3395 +#: /app/src/modules/accounts/AccountsModule.js:3405 msgid "Account is in good standing" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3427 +#: /app/src/modules/accounts/AccountsModule.js:3437 msgid "No transactions to export" msgstr "" @@ -6070,8 +6385,8 @@ msgid "Collectibles" msgstr "Sběratelské" #: /app/src/modules/assets/AssetsModule.js:109 -#: /app/src/modules/dashboard/DashboardModule.js:2252 -#: /app/src/modules/dashboard/DashboardModule.js:5503 +#: /app/src/modules/dashboard/DashboardModule.js:2415 +#: /app/src/modules/dashboard/DashboardModule.js:5757 #: /app/templates/index.php:5595 msgid "Other" msgstr "Ostatní" @@ -6091,7 +6406,7 @@ msgid "View Details" msgstr "" #: /app/src/modules/assets/AssetsModule.js:213 -#: /app/src/modules/dashboard/DashboardModule.js:2051 +#: /app/src/modules/dashboard/DashboardModule.js:2214 msgid "%n asset" msgid_plural "%n assets" msgstr[0] "" @@ -6159,7 +6474,7 @@ msgstr "" #: /app/src/modules/projects/ProjectsModule.js:87 #: /app/src/modules/sharing/SharingModule.js:122 #: /app/src/modules/sharing/SharingModule.js:152 /app/templates/index.php:2778 -#: /app/templates/index.php:2791 /app/templates/index.php:6482 +#: /app/templates/index.php:2791 /app/templates/index.php:6483 msgid "Active" msgstr "" @@ -6257,7 +6572,7 @@ msgstr "" #: /app/src/modules/bank-sync/BankSyncModule.js:358 #: /app/templates/index.php:1560 /app/templates/index.php:1815 #: /app/templates/index.php:1863 /app/templates/index.php:2575 -#: /app/templates/index.php:7495 +#: /app/templates/index.php:7496 msgid "Next" msgstr "" @@ -6290,7 +6605,7 @@ msgid "No banks found for this country." msgstr "" #: /app/src/modules/bank-sync/BankSyncModule.js:533 -#: /app/templates/index.php:7522 +#: /app/templates/index.php:7523 msgid "Connect" msgstr "" @@ -6322,7 +6637,7 @@ msgid "Authorization check failed: {error}" msgstr "" #: /app/src/modules/bank-sync/BankSyncModule.js:579 -#: /app/templates/index.php:7544 +#: /app/templates/index.php:7545 msgid "I've Completed Authorization" msgstr "" @@ -6416,806 +6731,690 @@ msgstr "Nepodařilo se získat účty" msgid "Pending transactions will be included during sync" msgstr "" -#: /app/src/modules/bills/BillsModule.js:64 -#: /app/src/modules/bills/BillsModule.js:67 +#: /app/src/modules/bills/BillsModule.js:68 +#: /app/src/modules/bills/BillsModule.js:71 msgid "Failed to load bills" msgstr "" -#: /app/src/modules/bills/BillsModule.js:101 +#: /app/src/modules/bills/BillsModule.js:105 msgid "Marked paid on {date}" msgstr "" -#: /app/src/modules/bills/BillsModule.js:105 +#: /app/src/modules/bills/BillsModule.js:109 #, fuzzy #| msgid "transactions" msgid "Record transaction" msgstr "transakce" -#: /app/src/modules/bills/BillsModule.js:106 +#: /app/src/modules/bills/BillsModule.js:110 msgid "" "One-time bills leave the list after payment — open it here to assign an " "account" msgstr "" -#: /app/src/modules/bills/BillsModule.js:106 +#: /app/src/modules/bills/BillsModule.js:110 #, fuzzy #| msgid "accounts" msgid "Assign an account" msgstr "účty" -#: /app/src/modules/bills/BillsModule.js:108 -#: /app/src/modules/bills/BillsModule.js:385 -#: /app/src/modules/transfers/TransfersModule.js:377 +#: /app/src/modules/bills/BillsModule.js:112 +#: /app/src/modules/bills/BillsModule.js:374 +#: /app/src/modules/transfers/TransfersModule.js:363 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Revert the last payment" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/bills/BillsModule.js:108 -#: /app/src/modules/bills/BillsModule.js:387 -#: /app/src/modules/transfers/TransfersModule.js:379 +#: /app/src/modules/bills/BillsModule.js:112 +#: /app/src/modules/bills/BillsModule.js:376 +#: /app/src/modules/transfers/TransfersModule.js:365 msgid "Mark Unpaid" msgstr "" -#: /app/src/modules/bills/BillsModule.js:110 +#: /app/src/modules/bills/BillsModule.js:114 msgid "Keep the bill as paid and stop listing this payment" msgstr "" -#: /app/src/modules/bills/BillsModule.js:110 -#: /app/src/modules/bills/BillsModule.js:203 -#: /app/src/modules/transactions/TransactionsModule.js:1766 +#: /app/src/modules/bills/BillsModule.js:114 +#: /app/src/modules/bills/BillsModule.js:207 +#: /app/src/modules/transactions/TransactionsModule.js:1792 msgid "Dismiss" msgstr "" -#: /app/src/modules/bills/BillsModule.js:160 +#: /app/src/modules/bills/BillsModule.js:164 #, fuzzy #| msgid "Transactions" msgid "Transaction recorded" msgstr "Transakce" -#: /app/src/modules/bills/BillsModule.js:199 -#: /app/src/modules/bills/BillsModule.js:1610 -#: /app/src/modules/income/IncomeModule.js:740 -#: /app/src/modules/transfers/TransfersModule.js:1293 -#, javascript-format +#: /app/src/modules/bills/BillsModule.js:203 +#: /app/src/modules/bills/BillsModule.js:1515 +#: /app/src/modules/income/IncomeModule.js:748 +#: /app/src/modules/transfers/TransfersModule.js:1288 +#, no-javascript-format msgid "{percent}% confidence" msgstr "" -#: /app/src/modules/bills/BillsModule.js:202 +#: /app/src/modules/bills/BillsModule.js:206 msgid "Create bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:236 +#: /app/src/modules/bills/BillsModule.js:245 msgid "Bill \"{name}\" created" msgstr "" -#: /app/src/modules/bills/BillsModule.js:239 +#: /app/src/modules/bills/BillsModule.js:248 msgid "Failed to create bill: {message}" msgstr "" -#: /app/src/modules/bills/BillsModule.js:259 +#: /app/src/modules/bills/BillsModule.js:268 msgid "Dismiss all suggestions? They will not be shown again." msgstr "" -#: /app/src/modules/bills/BillsModule.js:269 +#: /app/src/modules/bills/BillsModule.js:278 msgid "Failed to dismiss suggestions" msgstr "" -#: /app/src/modules/bills/BillsModule.js:317 -#: /app/src/modules/reports/ReportsModule.js:1908 -#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 -#: /app/src/modules/transfers/TransfersModule.js:315 -#: /app/templates/index.php:2690 -msgid "Paid" -msgstr "" - #: /app/src/modules/bills/BillsModule.js:320 -#: /app/src/modules/transfers/TransfersModule.js:139 -#: /app/src/modules/transfers/TransfersModule.js:318 -#: /app/templates/index.php:2662 /app/templates/index.php:2689 -msgid "Overdue" -msgstr "Po termínu" - -#: /app/src/modules/bills/BillsModule.js:323 -#: /app/src/modules/transfers/TransfersModule.js:138 -#: /app/src/modules/transfers/TransfersModule.js:321 -#: /app/templates/index.php:2688 -msgid "Due Soon" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:326 -#: /app/src/modules/income/IncomeModule.js:105 -#: /app/src/modules/projects/ProjectsModule.js:86 -#: /app/src/modules/transfers/TransfersModule.js:324 -msgid "Upcoming" -msgstr "Nadcházející" - -#: /app/src/modules/bills/BillsModule.js:332 -#: /app/src/modules/income/IncomeModule.js:111 -#: /app/src/modules/transfers/TransfersModule.js:331 -#: /app/src/modules/transfers/TransfersModule.js:504 -#: /app/src/modules/transfers/TransfersModule.js:1104 -#: /app/templates/index.php:6189 /app/templates/index.php:6679 +#: /app/src/modules/income/IncomeModule.js:99 +#: /app/src/modules/transfers/TransfersModule.js:317 +#: /app/src/modules/transfers/TransfersModule.js:479 +#: /app/src/modules/transfers/TransfersModule.js:1121 +#: /app/templates/index.php:6189 /app/templates/index.php:6680 msgid "Bi-Weekly" msgstr "" -#: /app/src/modules/bills/BillsModule.js:333 -#: /app/src/modules/income/IncomeModule.js:112 -#: /app/src/modules/transfers/TransfersModule.js:332 -#: /app/src/modules/transfers/TransfersModule.js:505 -#: /app/src/modules/transfers/TransfersModule.js:1105 -#: /app/templates/index.php:6190 /app/templates/index.php:6680 +#: /app/src/modules/bills/BillsModule.js:321 +#: /app/src/modules/income/IncomeModule.js:100 +#: /app/src/modules/transfers/TransfersModule.js:318 +#: /app/src/modules/transfers/TransfersModule.js:480 +#: /app/src/modules/transfers/TransfersModule.js:1122 +#: /app/templates/index.php:6190 /app/templates/index.php:6681 #, fuzzy #| msgid "Monthly" msgid "Semi-Monthly" msgstr "Měsíčně" -#: /app/src/modules/bills/BillsModule.js:336 -#: /app/src/modules/income/IncomeModule.js:115 -#: /app/src/modules/transfers/TransfersModule.js:335 -#: /app/src/modules/transfers/TransfersModule.js:1108 -#: /app/templates/index.php:6193 /app/templates/index.php:6683 +#: /app/src/modules/bills/BillsModule.js:324 +#: /app/src/modules/income/IncomeModule.js:103 +#: /app/src/modules/transfers/TransfersModule.js:321 +#: /app/src/modules/transfers/TransfersModule.js:483 +#: /app/src/modules/transfers/TransfersModule.js:1125 +#: /app/templates/index.php:6193 /app/templates/index.php:6684 msgid "Semi-Annually" msgstr "" -#: /app/src/modules/bills/BillsModule.js:338 -#: /app/src/modules/income/IncomeModule.js:117 -#: /app/src/modules/transfers/TransfersModule.js:329 -#: /app/src/modules/transfers/TransfersModule.js:502 -#: /app/src/modules/transfers/TransfersModule.js:1110 -#: /app/templates/index.php:6195 /app/templates/index.php:6685 +#: /app/src/modules/bills/BillsModule.js:326 +#: /app/src/modules/income/IncomeModule.js:105 +#: /app/src/modules/transfers/TransfersModule.js:315 +#: /app/src/modules/transfers/TransfersModule.js:476 +#: /app/src/modules/transfers/TransfersModule.js:1127 +#: /app/templates/index.php:6195 /app/templates/index.php:6686 msgid "One-Time" msgstr "Jednorázově" -#: /app/src/modules/bills/BillsModule.js:364 /app/templates/index.php:5872 +#: /app/src/modules/bills/BillsModule.js:352 +msgid "" +"This date was filled in for the bill, not entered. Edit the bill to check it." +msgstr "" + +#: /app/src/modules/bills/BillsModule.js:352 +msgid "Check date" +msgstr "" + +#: /app/src/modules/bills/BillsModule.js:353 /app/templates/index.php:5872 #: /app/templates/index.php:6266 msgid "Split across categories" msgstr "" -#: /app/src/modules/bills/BillsModule.js:365 -#: /app/src/modules/transfers/TransfersModule.js:359 +#: /app/src/modules/bills/BillsModule.js:354 +#: /app/src/modules/transfers/TransfersModule.js:345 msgid "Auto-pay enabled" msgstr "" -#: /app/src/modules/bills/BillsModule.js:365 -#: /app/src/modules/transfers/TransfersModule.js:359 +#: /app/src/modules/bills/BillsModule.js:354 +#: /app/src/modules/transfers/TransfersModule.js:345 msgid "Auto-pay" msgstr "" -#: /app/src/modules/bills/BillsModule.js:366 -#: /app/src/modules/transfers/TransfersModule.js:360 +#: /app/src/modules/bills/BillsModule.js:355 +#: /app/src/modules/transfers/TransfersModule.js:346 msgid "Auto-pay failed - disabled" msgstr "" -#: /app/src/modules/bills/BillsModule.js:366 -#: /app/src/modules/transfers/TransfersModule.js:360 +#: /app/src/modules/bills/BillsModule.js:355 +#: /app/src/modules/transfers/TransfersModule.js:346 msgid "Auto-pay Failed" msgstr "" -#: /app/src/modules/bills/BillsModule.js:367 +#: /app/src/modules/bills/BillsModule.js:356 msgid "Remaining payments" msgstr "" -#: /app/src/modules/bills/BillsModule.js:367 +#: /app/src/modules/bills/BillsModule.js:356 msgid "{count} left" msgstr "" -#: /app/src/modules/bills/BillsModule.js:368 +#: /app/src/modules/bills/BillsModule.js:357 msgid "Ends {date}" msgstr "" -#: /app/src/modules/bills/BillsModule.js:373 -#: /app/src/modules/transfers/TransfersModule.js:365 +#: /app/src/modules/bills/BillsModule.js:362 +#: /app/src/modules/transfers/TransfersModule.js:351 msgid "Mark as paid" msgstr "" -#: /app/src/modules/bills/BillsModule.js:375 -#: /app/src/modules/transfers/TransfersModule.js:367 +#: /app/src/modules/bills/BillsModule.js:364 +#: /app/src/modules/transfers/TransfersModule.js:353 msgid "Mark Paid" msgstr "" -#: /app/src/modules/bills/BillsModule.js:379 -#: /app/src/modules/income/IncomeModule.js:151 -#: /app/src/modules/transfers/TransfersModule.js:371 +#: /app/src/modules/bills/BillsModule.js:368 +#: /app/src/modules/income/IncomeModule.js:139 +#: /app/src/modules/transfers/TransfersModule.js:357 msgid "Skip this payment" msgstr "" -#: /app/src/modules/bills/BillsModule.js:381 -#: /app/src/modules/income/IncomeModule.js:153 -#: /app/src/modules/transfers/TransfersModule.js:373 +#: /app/src/modules/bills/BillsModule.js:370 +#: /app/src/modules/income/IncomeModule.js:141 +#: /app/src/modules/transfers/TransfersModule.js:359 msgid "Skip" msgstr "Přeskočit" -#: /app/src/modules/bills/BillsModule.js:390 +#: /app/src/modules/bills/BillsModule.js:379 msgid "Edit bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:393 +#: /app/src/modules/bills/BillsModule.js:382 msgid "Delete bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:642 +#: /app/src/modules/bills/BillsModule.js:618 +msgid "" +"This date was filled in for the bill when it was saved without one. Check " +"it, then save." +msgstr "" + +#: /app/src/modules/bills/BillsModule.js:633 msgid "Edit Bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:727 /app/templates/index.php:2622 +#: /app/src/modules/bills/BillsModule.js:719 /app/templates/index.php:2622 msgid "Add Bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:801 +#: /app/src/modules/bills/BillsModule.js:794 /app/src/utils/formSelects.js:29 msgid "Unavailable (not shared with you)" msgstr "" -#: /app/src/modules/bills/BillsModule.js:872 -#: /app/src/modules/transfers/TransfersModule.js:761 +#: /app/src/modules/bills/BillsModule.js:867 +#: /app/src/modules/transfers/TransfersModule.js:753 #, fuzzy #| msgid "Date" msgid "Due Date" msgstr "Datum" -#: /app/src/modules/bills/BillsModule.js:872 -#: /app/src/modules/transfers/TransfersModule.js:545 -#: /app/src/modules/transfers/TransfersModule.js:761 +#: /app/src/modules/bills/BillsModule.js:867 +#: /app/src/modules/transfers/TransfersModule.js:530 +#: /app/src/modules/transfers/TransfersModule.js:753 #: /app/templates/index.php:6298 msgid "Start Date" msgstr "" -#: /app/src/modules/bills/BillsModule.js:876 +#: /app/src/modules/bills/BillsModule.js:871 msgid "" "The date this bill is due. It can be in the past - an invoice you are " "entering late stays due on its own date." msgstr "" -#: /app/src/modules/bills/BillsModule.js:877 /app/templates/index.php:6300 +#: /app/src/modules/bills/BillsModule.js:872 /app/templates/index.php:6300 msgid "Bill only occurs on or after this date (optional)" msgstr "" -#: /app/src/modules/bills/BillsModule.js:892 -#: /app/src/modules/transfers/TransfersModule.js:773 +#: /app/src/modules/bills/BillsModule.js:889 +#: /app/src/modules/transfers/TransfersModule.js:765 msgid "Due Day (1-7)" msgstr "" -#: /app/src/modules/bills/BillsModule.js:893 -#: /app/src/modules/income/IncomeModule.js:437 -#: /app/src/modules/transfers/TransfersModule.js:774 +#: /app/src/modules/bills/BillsModule.js:890 +#: /app/src/modules/income/IncomeModule.js:433 +#: /app/src/modules/transfers/TransfersModule.js:766 msgid "Day of the week (1=Monday, 7=Sunday)" msgstr "" -#: /app/src/modules/bills/BillsModule.js:896 -#: /app/src/modules/bills/BillsModule.js:900 /app/templates/index.php:6221 +#: /app/src/modules/bills/BillsModule.js:899 +#: /app/src/modules/income/IncomeModule.js:450 +#: /app/src/modules/transfers/TransfersModule.js:781 +msgid "Follows the start date" +msgstr "" + +#: /app/src/modules/bills/BillsModule.js:902 +#: /app/src/modules/bills/BillsModule.js:906 /app/templates/index.php:6221 msgid "Due Day" msgstr "" -#: /app/src/modules/bills/BillsModule.js:897 +#: /app/src/modules/bills/BillsModule.js:903 msgid "Day of the selected months when bill is due" msgstr "" -#: /app/src/modules/bills/BillsModule.js:901 /app/templates/index.php:6223 +#: /app/src/modules/bills/BillsModule.js:907 /app/templates/index.php:6223 msgid "Day of the month when bill is due" msgstr "" -#: /app/src/modules/bills/BillsModule.js:920 -#: /app/src/modules/income/IncomeModule.js:474 /app/templates/index.php:6274 -#: /app/templates/index.php:6733 +#: /app/src/modules/bills/BillsModule.js:926 +#: /app/src/modules/income/IncomeModule.js:470 /app/templates/index.php:6274 +#: /app/templates/index.php:6734 msgid "No specific account" msgstr "" -#: /app/src/modules/bills/BillsModule.js:982 /app/templates/index.php:7120 +#: /app/src/modules/bills/BillsModule.js:988 /app/templates/index.php:7121 msgid "Description (optional)" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1019 +#: /app/src/modules/bills/BillsModule.js:1027 msgid "Balanced" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1022 +#: /app/src/modules/bills/BillsModule.js:1030 msgid "{amount} remaining" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1025 +#: /app/src/modules/bills/BillsModule.js:1033 #: /app/src/modules/projects/ProjectsModule.js:110 msgid "{amount} over" msgstr "" #: /app/src/modules/bills/BillsModule.js:1101 +msgid "Choose the date this bill is due" +msgstr "" + +#: /app/src/modules/bills/BillsModule.js:1124 msgid "Please select at least one month for custom frequency" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1120 +#: /app/src/modules/bills/BillsModule.js:1143 msgid "Bill created successfully" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1120 +#: /app/src/modules/bills/BillsModule.js:1143 msgid "Bill updated successfully" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1124 +#: /app/src/modules/bills/BillsModule.js:1147 msgid "Failed to save bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1134 +#: /app/src/modules/bills/BillsModule.js:1157 msgid "Failed to load bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1139 +#: /app/src/modules/bills/BillsModule.js:1162 msgid "Are you sure you want to delete this bill?" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1146 +#: /app/src/modules/bills/BillsModule.js:1169 msgid "Bill deleted successfully" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1150 +#: /app/src/modules/bills/BillsModule.js:1173 msgid "Failed to delete bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1177 +#: /app/src/modules/bills/BillsModule.js:1200 msgid "Bills calendar subscription" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1178 +#: /app/src/modules/bills/BillsModule.js:1201 msgid "" "Subscribe to this URL from any calendar app (Nextcloud Calendar, " "Thunderbird, your phone) to see upcoming bill due dates. Bills appear as all-" "day events for the next 12 months and refresh automatically." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1180 +#: /app/src/modules/bills/BillsModule.js:1203 #, fuzzy #| msgid "Description" msgid "Subscription URL" msgstr "Popis" -#: /app/src/modules/bills/BillsModule.js:1183 +#: /app/src/modules/bills/BillsModule.js:1206 msgid "" "Anyone with this URL can read your bill names and amounts. Regenerate the " "link if it leaks." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1185 +#: /app/src/modules/bills/BillsModule.js:1208 msgid "Copy link" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1186 +#: /app/src/modules/bills/BillsModule.js:1209 msgid "Regenerate link" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1196 +#: /app/src/modules/bills/BillsModule.js:1219 msgid "Link copied to clipboard" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1199 +#: /app/src/modules/bills/BillsModule.js:1222 msgid "Press Ctrl+C to copy the selected link" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1204 +#: /app/src/modules/bills/BillsModule.js:1227 msgid "" "Regenerate the link? Existing calendar subscriptions will stop updating." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1208 +#: /app/src/modules/bills/BillsModule.js:1231 msgid "New link generated" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1292 +#: /app/src/modules/bills/BillsModule.js:1313 msgid "Bill marked as paid. Linked to existing transaction." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1296 +#: /app/src/modules/bills/BillsModule.js:1317 msgid "" "No transaction was recorded for this payment — your account balance will not " "reflect it." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1297 +#: /app/src/modules/bills/BillsModule.js:1318 msgid "Bill marked as paid. No transaction created." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1306 +#: /app/src/modules/bills/BillsModule.js:1327 msgid "" "The bill was marked as paid, but linking the selected transaction failed. " "You can link it manually from the transaction." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1308 +#: /app/src/modules/bills/BillsModule.js:1329 msgid "" "No transaction was recorded for this payment — your account balance will not " "reflect it. Assign an account to the bill, or add the transaction manually." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1310 +#: /app/src/modules/bills/BillsModule.js:1331 msgid "Bill marked as paid — without a transaction." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1314 -msgid "Bill marked as paid. Transaction created." -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1315 +#: /app/src/modules/bills/BillsModule.js:1341 msgid "Bill marked as paid. Future transaction created." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1343 -#, fuzzy -#| msgid "accounts" -msgid "Exact amount" -msgstr "účty" +#: /app/src/modules/bills/BillsModule.js:1342 +msgid "Bill marked as paid. Transaction created." +msgstr "" -#: /app/src/modules/bills/BillsModule.js:1344 -msgid "Similar amount (±5%)" +#: /app/src/modules/bills/BillsModule.js:1374 +#: /app/src/modules/bills/BillsModule.js:1467 +#: /app/src/modules/income/IncomeModule.js:628 +#: /app/src/modules/income/IncomeModule.js:694 +#: /app/src/modules/transfers/TransfersModule.js:1068 +msgid "Action undone" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1345 -msgid "Approximate amount (±20%)" +#: /app/src/modules/bills/BillsModule.js:1377 +#: /app/src/modules/bills/BillsModule.js:1470 +#: /app/src/modules/income/IncomeModule.js:631 +#: /app/src/modules/income/IncomeModule.js:697 +#: /app/src/modules/transfers/TransfersModule.js:1071 +msgid "Failed to undo action: {message}" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1346 -msgid "Vendor matches" +#: /app/src/modules/bills/BillsModule.js:1392 +#: /app/src/modules/transfers/TransfersModule.js:1082 +msgid "" +"Mark this bill as unpaid? Transactions created for the payment will be " +"deleted, a linked imported transaction will be unlinked, and the bill " +"schedule rolled back." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1347 -msgid "Vendor partially matches" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1348 -#, fuzzy -#| msgid "Description" -msgid "Description matches" -msgstr "Popis" - -#: /app/src/modules/bills/BillsModule.js:1349 -msgid "Description partially matches" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1350 -msgid "Same day" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1351 -msgid "±1 day" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1352 -msgid "±3 days" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1353 -msgid "±7 days" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1358 -#: /app/src/modules/transactions/TransactionsModule.js:5225 -msgid "(no description)" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1371 -msgid "Strong match" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1383 -msgid "Existing Transaction Found" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1387 -msgid "" -"We found existing transactions that may already represent this bill payment " -"({billName}, {amount}). Would you like to link one instead of creating a new " -"transaction?" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1388 -msgid "" -"Whichever you choose, the bill is marked as paid and moves on to its next " -"due date." -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1395 -msgid "Create a new transaction instead" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1401 -msgid "Don't create any transaction (just mark as paid)" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1402 -msgid "Your account balance will NOT reflect this payment." -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1407 -#: /app/src/modules/categories/CategoriesModule.js:1934 -#: /app/src/modules/transfers/TransfersModule.js:171 -#: /app/src/modules/transfers/TransfersModule.js:611 -#: /app/src/utils/dialogs.js:237 /app/src/utils/dialogs.js:262 -#: /app/templates/index.php:1721 /app/templates/index.php:1751 -#: /app/templates/index.php:2577 /app/templates/index.php:2726 -#: /app/templates/index.php:2924 /app/templates/index.php:4779 -#: /app/templates/index.php:5083 /app/templates/index.php:5104 -#: /app/templates/index.php:5193 /app/templates/index.php:5271 -#: /app/templates/index.php:5291 /app/templates/index.php:5411 -#: /app/templates/index.php:5435 /app/templates/index.php:5471 -#: /app/templates/index.php:5507 /app/templates/index.php:5554 -#: /app/templates/index.php:5645 /app/templates/index.php:5679 -#: /app/templates/index.php:5754 /app/templates/index.php:5785 -#: /app/templates/index.php:5951 /app/templates/index.php:6148 -#: /app/templates/index.php:6381 /app/templates/index.php:6551 -#: /app/templates/index.php:6639 /app/templates/index.php:6768 -#: /app/templates/index.php:6787 /app/templates/index.php:6863 -#: /app/templates/index.php:6893 /app/templates/index.php:6924 -#: /app/templates/index.php:6963 /app/templates/index.php:6994 -#: /app/templates/index.php:7090 /app/templates/index.php:7146 -#: /app/templates/index.php:7186 /app/templates/index.php:7212 -#: /app/templates/index.php:7250 /app/templates/index.php:7292 -#: /app/templates/index.php:7338 /app/templates/index.php:7425 -#: /app/templates/index.php:7496 -msgid "Cancel" -msgstr "Zrušit" - -#: /app/src/modules/bills/BillsModule.js:1408 -#: /app/src/modules/categories/CategoriesModule.js:1933 -#: /app/src/utils/dialogs.js:236 -msgid "Confirm" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1469 -#: /app/src/modules/bills/BillsModule.js:1562 -#: /app/src/modules/income/IncomeModule.js:621 -#: /app/src/modules/income/IncomeModule.js:687 -#: /app/src/modules/transfers/TransfersModule.js:1036 -msgid "Action undone" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1472 -#: /app/src/modules/bills/BillsModule.js:1565 -#: /app/src/modules/income/IncomeModule.js:624 -#: /app/src/modules/income/IncomeModule.js:690 -#: /app/src/modules/transfers/TransfersModule.js:1039 -msgid "Failed to undo action: {message}" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1487 -#: /app/src/modules/transfers/TransfersModule.js:1050 -msgid "" -"Mark this bill as unpaid? Transactions created for the payment will be " -"deleted, a linked imported transaction will be unlinked, and the bill " -"schedule rolled back." -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1492 -#: /app/src/modules/transfers/TransfersModule.js:1053 +#: /app/src/modules/bills/BillsModule.js:1397 +#: /app/src/modules/transfers/TransfersModule.js:1085 msgid "" "Auto-pay is on for this bill — it may pay it again on the next run. Disable " "auto-pay first if the payment should not recur." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1505 +#: /app/src/modules/bills/BillsModule.js:1410 msgid "Payment reverted — the bill is marked as unpaid." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1519 -#: /app/src/modules/transfers/TransfersModule.js:988 +#: /app/src/modules/bills/BillsModule.js:1424 +#: /app/src/modules/transfers/TransfersModule.js:1020 msgid "Skip this payment and advance to the next due date?" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1535 -#: /app/src/modules/transfers/TransfersModule.js:1008 +#: /app/src/modules/bills/BillsModule.js:1440 +#: /app/src/modules/transfers/TransfersModule.js:1040 msgid "Payment skipped. Advanced to next due date." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1572 -#: /app/src/modules/income/IncomeModule.js:697 -#: /app/src/modules/transfers/TransfersModule.js:1248 +#: /app/src/modules/bills/BillsModule.js:1477 +#: /app/src/modules/income/IncomeModule.js:704 +#: /app/src/modules/transfers/TransfersModule.js:1241 msgid "Detecting..." msgstr "Zjišťování…" -#: /app/src/modules/bills/BillsModule.js:1578 -#: /app/src/modules/transfers/TransfersModule.js:1254 +#: /app/src/modules/bills/BillsModule.js:1483 +#: /app/src/modules/transfers/TransfersModule.js:1249 msgid "No recurring transactions detected" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1589 /app/templates/index.php:2618 +#: /app/src/modules/bills/BillsModule.js:1494 /app/templates/index.php:2618 msgid "Detect Bills" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1626 +#: /app/src/modules/bills/BillsModule.js:1536 msgid "Please select at least one bill to add" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1638 +#: /app/src/modules/bills/BillsModule.js:1548 msgid "%n bill added successfully" msgid_plural "%n bills added successfully" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/bills/BillsModule.js:1642 +#: /app/src/modules/bills/BillsModule.js:1552 msgid "Failed to add selected bills" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1735 +#: /app/src/modules/bills/BillsModule.js:1645 #: /app/src/modules/tagsets/TagSetsModule.js:635 -#: /app/src/modules/transfers/TransfersModule.js:1182 +#: /app/src/modules/transfers/TransfersModule.js:1199 msgid "No tags defined" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:112 -#: /app/src/modules/categories/CategoriesModule.js:115 +#: /app/src/modules/categories/CategoriesModule.js:113 +#: /app/src/modules/categories/CategoriesModule.js:116 msgid "Failed to load categories" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:320 +#: /app/src/modules/categories/CategoriesModule.js:321 msgid "Collapse" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:320 +#: /app/src/modules/categories/CategoriesModule.js:321 msgid "Expand" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:333 +#: /app/src/modules/categories/CategoriesModule.js:334 +msgid "Shared by {owner} — you have full control" +msgstr "" + +#: /app/src/modules/categories/CategoriesModule.js:334 +msgid "Shared (full control)" +msgstr "" + +#: /app/src/modules/categories/CategoriesModule.js:336 msgid "Shared by {owner} — you can edit" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:333 +#: /app/src/modules/categories/CategoriesModule.js:336 msgid "Shared (editable)" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:335 +#: /app/src/modules/categories/CategoriesModule.js:338 #: /app/src/modules/projects/ProjectsModule.js:57 #: /app/src/modules/rules/RulesModule.js:132 -#: /app/src/modules/savings/SavingsModule.js:126 +#: /app/src/modules/savings/SavingsModule.js:128 msgid "Shared by {owner}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:335 +#: /app/src/modules/categories/CategoriesModule.js:338 #: /app/src/modules/projects/ProjectsModule.js:57 #: /app/src/modules/rules/RulesModule.js:132 -#: /app/src/modules/savings/SavingsModule.js:126 +#: /app/src/modules/savings/SavingsModule.js:128 #: /app/src/modules/transactions/transactionRow.js:71 msgid "Shared" msgstr "Sdíleno" -#: /app/src/modules/categories/CategoriesModule.js:337 +#: /app/src/modules/categories/CategoriesModule.js:340 msgid "Hidden from your reports — the owner and other viewers are unaffected" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:337 +#: /app/src/modules/categories/CategoriesModule.js:340 msgid "Hidden from my reports" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:345 +#: /app/src/modules/categories/CategoriesModule.js:348 msgid "Show in my reports" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:345 +#: /app/src/modules/categories/CategoriesModule.js:348 msgid "Hide from my reports" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:349 +#: /app/src/modules/categories/CategoriesModule.js:352 msgid "Delete {name}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:435 +#: /app/src/modules/categories/CategoriesModule.js:438 msgid "Category hidden from your reports" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:436 +#: /app/src/modules/categories/CategoriesModule.js:439 msgid "Category shown in your reports again" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:600 +#: /app/src/modules/categories/CategoriesModule.js:606 msgid "Shared categories can only be reordered among themselves" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:616 +#: /app/src/modules/categories/CategoriesModule.js:622 msgid "Category reordered successfully" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:682 -#: /app/src/modules/dashboard/DashboardModule.js:5101 +#: /app/src/modules/categories/CategoriesModule.js:700 +#: /app/src/modules/dashboard/DashboardModule.js:5333 #: /app/src/modules/reports/ReportsModule.js:204 #: /app/src/modules/reports/ReportsModule.js:207 #: /app/src/modules/reports/ReportsModule.js:209 -#: /app/src/modules/reports/ReportsModule.js:1702 -#: /app/src/modules/transactions/TransactionsModule.js:503 +#: /app/src/modules/reports/ReportsModule.js:1703 +#: /app/src/modules/transactions/TransactionsModule.js:525 #: /app/templates/index.php:594 /app/templates/index.php:616 #: /app/templates/index.php:634 /app/templates/index.php:685 #: /app/templates/index.php:1620 /app/templates/index.php:2032 -#: /app/templates/index.php:3617 /app/templates/index.php:6570 +#: /app/templates/index.php:3617 /app/templates/index.php:6571 msgid "All Accounts" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:784 +#: /app/src/modules/categories/CategoriesModule.js:792 msgid "Increasing" msgstr "Zvyšující se" -#: /app/src/modules/categories/CategoriesModule.js:785 +#: /app/src/modules/categories/CategoriesModule.js:793 msgid "Decreasing" msgstr "Klesající" -#: /app/src/modules/categories/CategoriesModule.js:786 +#: /app/src/modules/categories/CategoriesModule.js:794 msgid "Stable" msgstr "Stabilní" -#: /app/src/modules/categories/CategoriesModule.js:803 +#: /app/src/modules/categories/CategoriesModule.js:811 #: /app/templates/index.php:2052 msgid "No transactions in this category yet." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:832 +#: /app/src/modules/categories/CategoriesModule.js:840 #: /app/src/modules/transactions/transactionRow.js:67 msgid "" "Part of a split transaction. The amount shown is the part in this category." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:832 +#: /app/src/modules/categories/CategoriesModule.js:840 #: /app/src/modules/transactions/transactionRow.js:68 msgid "Split part" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:833 +#: /app/src/modules/categories/CategoriesModule.js:841 msgid "Split part of {total}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:906 +#: /app/src/modules/categories/CategoriesModule.js:914 #, fuzzy #| msgid "Spent" msgid "Spending" msgstr "Utraceno" -#: /app/src/modules/categories/CategoriesModule.js:1051 +#: /app/src/modules/categories/CategoriesModule.js:1059 msgid "Root" msgstr "Kořen" -#: /app/src/modules/categories/CategoriesModule.js:1075 +#: /app/src/modules/categories/CategoriesModule.js:1083 #: /app/templates/index.php:1884 /app/templates/index.php:1948 msgid "Add Category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1128 +#: /app/src/modules/categories/CategoriesModule.js:1138 msgid "Edit Shared Category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1129 +#: /app/src/modules/categories/CategoriesModule.js:1139 msgid "Edit Category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1167 +#: /app/src/modules/categories/CategoriesModule.js:1185 msgid "" "Are you sure you want to delete the category \"{name}\"? This action cannot " "be undone." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1176 -#: /app/src/modules/categories/CategoriesModule.js:1205 +#: /app/src/modules/categories/CategoriesModule.js:1198 +#: /app/src/modules/categories/CategoriesModule.js:1227 msgid "Category deleted; its transactions are now Uncategorized" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1177 -#: /app/src/modules/categories/CategoriesModule.js:1206 +#: /app/src/modules/categories/CategoriesModule.js:1199 +#: /app/src/modules/categories/CategoriesModule.js:1228 msgid "Category deleted successfully" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1183 -#: /app/src/modules/categories/CategoriesModule.js:1215 -#: /app/src/modules/categories/CategoriesModule.js:1227 +#: /app/src/modules/categories/CategoriesModule.js:1205 +#: /app/src/modules/categories/CategoriesModule.js:1237 +#: /app/src/modules/categories/CategoriesModule.js:1249 msgid "Failed to delete category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1194 +#: /app/src/modules/categories/CategoriesModule.js:1216 msgid "this category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1196 +#: /app/src/modules/categories/CategoriesModule.js:1218 msgid "" "Are you sure you want to delete \"{name}\"? This action cannot be undone." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1243 +#: /app/src/modules/categories/CategoriesModule.js:1265 msgid "" "This category still has transactions assigned to it. Move them to " "Uncategorized and delete \"{name}\"?" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1323 +#: /app/src/modules/categories/CategoriesModule.js:1345 msgid "" "Are you sure you want to delete %n category? This action cannot be undone." msgid_plural "" @@ -7224,20 +7423,20 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/categories/CategoriesModule.js:1335 -#: /app/src/modules/pensions/PensionsModule.js:834 -#: /app/src/modules/pensions/PensionsModule.js:1096 +#: /app/src/modules/categories/CategoriesModule.js:1357 +#: /app/src/modules/pensions/PensionsModule.js:884 +#: /app/src/modules/pensions/PensionsModule.js:1183 msgid "Failed to delete" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1347 +#: /app/src/modules/categories/CategoriesModule.js:1369 msgid "%n category deleted successfully" msgid_plural "%n categories deleted successfully" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/categories/CategoriesModule.js:1370 +#: /app/src/modules/categories/CategoriesModule.js:1392 msgid "Give %n category a new color? Its current color will be replaced." msgid_plural "" "Give %n categories new colors? Their current colors will be replaced." @@ -7245,7 +7444,7 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/categories/CategoriesModule.js:1399 +#: /app/src/modules/categories/CategoriesModule.js:1421 #, fuzzy #| msgid "categories" msgid "%n category recolored" @@ -7254,62 +7453,62 @@ msgstr[0] "kategorie" msgstr[1] "kategorie" msgstr[2] "kategorie" -#: /app/src/modules/categories/CategoriesModule.js:1405 +#: /app/src/modules/categories/CategoriesModule.js:1427 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to recolor: {errors}" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/categories/CategoriesModule.js:1478 -#: /app/templates/index.php:6820 +#: /app/src/modules/categories/CategoriesModule.js:1507 +#: /app/templates/index.php:6821 msgid "None (Top Level)" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1497 +#: /app/src/modules/categories/CategoriesModule.js:1536 msgid "Category name is required" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1534 -#: /app/src/modules/categories/CategoriesModule.js:1549 +#: /app/src/modules/categories/CategoriesModule.js:1574 +#: /app/src/modules/categories/CategoriesModule.js:1589 msgid "Failed to save category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1537 +#: /app/src/modules/categories/CategoriesModule.js:1577 msgid "Category updated successfully" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1537 +#: /app/src/modules/categories/CategoriesModule.js:1577 msgid "Category created successfully" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1564 -#: /app/src/modules/categories/CategoriesModule.js:1572 +#: /app/src/modules/categories/CategoriesModule.js:1604 +#: /app/src/modules/categories/CategoriesModule.js:1612 msgid "Failed to create default categories" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1567 +#: /app/src/modules/categories/CategoriesModule.js:1607 msgid "Default categories created successfully" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1615 -#: /app/src/modules/rules/RulesModule.js:1363 +#: /app/src/modules/categories/CategoriesModule.js:1655 +#: /app/src/modules/rules/RulesModule.js:1378 msgid "Could not read that file: {error}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1641 +#: /app/src/modules/categories/CategoriesModule.js:1681 msgid "" "{create} new categories will be created. {exists} already exist and will be " "left unchanged." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1642 +#: /app/src/modules/categories/CategoriesModule.js:1682 msgid "%n new category will be created." msgid_plural "%n new categories will be created." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/categories/CategoriesModule.js:1661 +#: /app/src/modules/categories/CategoriesModule.js:1701 #, fuzzy #| msgid "Category" msgid "Import %n category" @@ -7318,897 +7517,982 @@ msgstr[0] "Kategorie" msgstr[1] "Kategorie" msgstr[2] "Kategorie" -#: /app/src/modules/categories/CategoriesModule.js:1662 +#: /app/src/modules/categories/CategoriesModule.js:1702 msgid "Nothing to import" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1672 +#: /app/src/modules/categories/CategoriesModule.js:1712 msgid "Exists" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1673 +#: /app/src/modules/categories/CategoriesModule.js:1713 #: /app/src/modules/import/ImportModule.js:1992 msgid "New" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1700 +#: /app/src/modules/categories/CategoriesModule.js:1740 msgid "Imported %n category" msgid_plural "Imported %n categories" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/categories/CategoriesModule.js:1900 +#: /app/src/modules/categories/CategoriesModule.js:1964 msgid "Budgets adjusted from {month}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1901 +#: /app/src/modules/categories/CategoriesModule.js:1965 msgid "Remove adjustment" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1914 +#: /app/src/modules/categories/CategoriesModule.js:1978 msgid "Adjust budgets from this month" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1930 +#: /app/src/modules/categories/CategoriesModule.js:1994 msgid "" "This will save the current budget values as a new baseline from {month} " "onwards. Previous months will keep their existing values. You can edit the " "new values after confirming." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1932 +#: /app/src/modules/categories/CategoriesModule.js:1996 msgid "Adjust budgets from {month}?" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1945 -#: /app/src/modules/categories/CategoriesModule.js:1965 +#: /app/src/modules/categories/CategoriesModule.js:1997 +#: /app/src/utils/dialogs.js:236 /app/src/utils/matchingDialog.js:98 +msgid "Confirm" +msgstr "" + +#: /app/src/modules/categories/CategoriesModule.js:1998 +#: /app/src/modules/transfers/TransfersModule.js:176 +#: /app/src/modules/transfers/TransfersModule.js:596 +#: /app/src/utils/dialogs.js:237 /app/src/utils/dialogs.js:262 +#: /app/src/utils/matchingDialog.js:97 /app/templates/index.php:1721 +#: /app/templates/index.php:1751 /app/templates/index.php:2577 +#: /app/templates/index.php:2726 /app/templates/index.php:2924 +#: /app/templates/index.php:4779 /app/templates/index.php:5083 +#: /app/templates/index.php:5104 /app/templates/index.php:5193 +#: /app/templates/index.php:5271 /app/templates/index.php:5291 +#: /app/templates/index.php:5411 /app/templates/index.php:5435 +#: /app/templates/index.php:5471 /app/templates/index.php:5507 +#: /app/templates/index.php:5554 /app/templates/index.php:5645 +#: /app/templates/index.php:5679 /app/templates/index.php:5754 +#: /app/templates/index.php:5785 /app/templates/index.php:5951 +#: /app/templates/index.php:6148 /app/templates/index.php:6382 +#: /app/templates/index.php:6552 /app/templates/index.php:6640 +#: /app/templates/index.php:6769 /app/templates/index.php:6788 +#: /app/templates/index.php:6864 /app/templates/index.php:6894 +#: /app/templates/index.php:6925 /app/templates/index.php:6964 +#: /app/templates/index.php:6995 /app/templates/index.php:7091 +#: /app/templates/index.php:7147 /app/templates/index.php:7187 +#: /app/templates/index.php:7213 /app/templates/index.php:7251 +#: /app/templates/index.php:7293 /app/templates/index.php:7339 +#: /app/templates/index.php:7426 /app/templates/index.php:7497 +msgid "Cancel" +msgstr "Zrušit" + +#: /app/src/modules/categories/CategoriesModule.js:2009 +#: /app/src/modules/categories/CategoriesModule.js:2029 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to create budget adjustment" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/categories/CategoriesModule.js:1959 +#: /app/src/modules/categories/CategoriesModule.js:2023 msgid "" "Budget adjusted from {month}. You can now edit values for this month onwards." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1974 +#: /app/src/modules/categories/CategoriesModule.js:2038 msgid "Budget adjustment created." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1975 -#: /app/src/modules/transactions/TransactionsModule.js:4177 -#: /app/src/modules/transactions/TransactionsModule.js:4332 +#: /app/src/modules/categories/CategoriesModule.js:2039 +#: /app/src/modules/transactions/TransactionsModule.js:4228 +#: /app/src/modules/transactions/TransactionsModule.js:4383 #: /app/src/utils/notifications.js:73 msgid "Undo" msgstr "Zpět" -#: /app/src/modules/categories/CategoriesModule.js:2008 +#: /app/src/modules/categories/CategoriesModule.js:2072 msgid "Budget adjustment removed" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2011 +#: /app/src/modules/categories/CategoriesModule.js:2075 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to remove budget adjustment" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/categories/CategoriesModule.js:2337 +#: /app/src/modules/categories/CategoriesModule.js:2397 msgid "" "Envelope budgeting on: unspent budget carries to next month. Click to turn " "off." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2337 +#: /app/src/modules/categories/CategoriesModule.js:2397 msgid "Turn on envelope budgeting: unspent budget carries to next month" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2338 +#: /app/src/modules/categories/CategoriesModule.js:2398 #, fuzzy #| msgid "Budget" msgid "Envelope budgeting" msgstr "Rozpočet" -#: /app/src/modules/categories/CategoriesModule.js:2344 +#: /app/src/modules/categories/CategoriesModule.js:2405 #, fuzzy #| msgid "Category" msgid "Budget for {category}" msgstr "Kategorie" -#: /app/src/modules/categories/CategoriesModule.js:2350 +#: /app/src/modules/categories/CategoriesModule.js:2412 msgid "Auto-calculated from recurring bills/income. Enter a value to override." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2350 -#: /app/src/modules/pensions/PensionsModule.js:1034 +#: /app/src/modules/categories/CategoriesModule.js:2412 +#: /app/src/modules/pensions/PensionsModule.js:1108 msgid "auto" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2352 +#: /app/src/modules/categories/CategoriesModule.js:2414 msgid "{base} − {over} overspent = {available} available" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2353 +#: /app/src/modules/categories/CategoriesModule.js:2415 msgid "{base} + {carried} carried = {available} available" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2354 +#: /app/src/modules/categories/CategoriesModule.js:2416 msgid "(projected)" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2358 +#: /app/src/modules/categories/CategoriesModule.js:2420 #, fuzzy #| msgid "Category" msgid "Budget period for {category}" msgstr "Kategorie" -#: /app/src/modules/categories/CategoriesModule.js:2371 +#: /app/src/modules/categories/CategoriesModule.js:2433 #: /app/templates/index.php:2236 /app/templates/index.php:5139 msgid "Progress" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2378 +#: /app/src/modules/categories/CategoriesModule.js:2440 msgid "No budget set" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2452 +#: /app/src/modules/categories/CategoriesModule.js:2514 msgid "Envelope budgeting enabled — unspent budget now carries to next month" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2453 +#: /app/src/modules/categories/CategoriesModule.js:2515 msgid "Envelope budgeting disabled" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2456 +#: /app/src/modules/categories/CategoriesModule.js:2518 msgid "Failed to update envelope setting" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2565 +#: /app/src/modules/categories/CategoriesModule.js:2639 msgid "Budget updated" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2568 +#: /app/src/modules/categories/CategoriesModule.js:2642 msgid "Failed to update budget: {message}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2657 +#: /app/src/modules/categories/CategoriesModule.js:2731 msgid "Over-assigned: {income} in, {budgeted} budgeted" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2659 +#: /app/src/modules/categories/CategoriesModule.js:2733 msgid "{income} in, {budgeted} budgeted" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:403 -#: /app/src/modules/dashboard/DashboardModule.js:425 -#: /app/src/modules/dashboard/DashboardModule.js:517 +#: /app/src/modules/dashboard/DashboardModule.js:404 +#: /app/src/modules/dashboard/DashboardModule.js:426 +#: /app/src/modules/dashboard/DashboardModule.js:518 msgid "{percent}% vs last month" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:442 -#, javascript-format +#: /app/src/modules/dashboard/DashboardModule.js:443 +#, no-javascript-format msgid "{percent}% savings rate" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Great" msgstr "Skvělé" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Good" msgstr "Dobré" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Low" msgstr "Nízké" -#: /app/src/modules/dashboard/DashboardModule.js:616 -#: /app/src/modules/dashboard/DashboardModule.js:686 -msgid "Last 7 days" -msgstr "" - #: /app/src/modules/dashboard/DashboardModule.js:617 -#: /app/src/modules/dashboard/DashboardModule.js:689 -msgid "Last 30 days" +#: /app/src/modules/dashboard/DashboardModule.js:687 +msgid "Last 7 days" msgstr "" #: /app/src/modules/dashboard/DashboardModule.js:618 #: /app/src/modules/dashboard/DashboardModule.js:690 -msgid "Last 90 days" +msgid "Last 30 days" msgstr "" #: /app/src/modules/dashboard/DashboardModule.js:619 #: /app/src/modules/dashboard/DashboardModule.js:691 -msgid "Last 6 months" +msgid "Last 90 days" msgstr "" #: /app/src/modules/dashboard/DashboardModule.js:620 #: /app/src/modules/dashboard/DashboardModule.js:692 -msgid "Last year" +msgid "Last 6 months" msgstr "" #: /app/src/modules/dashboard/DashboardModule.js:621 -#: /app/src/modules/dashboard/DashboardModule.js:695 +#: /app/src/modules/dashboard/DashboardModule.js:693 +msgid "Last year" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:622 +#: /app/src/modules/dashboard/DashboardModule.js:696 msgid "Current budget period" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:703 #: /app/src/modules/dashboard/DashboardModule.js:704 +#: /app/src/modules/dashboard/DashboardModule.js:705 #: /app/templates/index.php:2597 msgid "Date Range" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:789 -#: /app/src/modules/dashboard/DashboardModule.js:791 +#: /app/src/modules/dashboard/DashboardModule.js:726 +msgid "Exclude shared bills" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:742 +msgid "Show bills overdue for more than a week" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:845 +#: /app/src/modules/dashboard/DashboardModule.js:847 #, fuzzy #| msgid "accounts" msgid "All accounts" msgstr "účty" -#: /app/src/modules/dashboard/DashboardModule.js:907 +#: /app/src/modules/dashboard/DashboardModule.js:966 msgid "%n category under budget" msgid_plural "%n categories under budget" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/dashboard/DashboardModule.js:933 +#: /app/src/modules/dashboard/DashboardModule.js:992 msgid "{onTrack}/{total} on track" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:964 +#: /app/src/modules/dashboard/DashboardModule.js:1023 msgid "Debt free by {date}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:990 +#: /app/src/modules/dashboard/DashboardModule.js:1049 msgid "Rates unavailable for {currencies}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:992 +#: /app/src/modules/dashboard/DashboardModule.js:1051 msgid "Converted to {currency} at current rates" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1037 -#: /app/src/modules/dashboard/DashboardModule.js:2247 +#: /app/src/modules/dashboard/DashboardModule.js:1096 +#: /app/src/modules/dashboard/DashboardModule.js:2410 #: /app/src/utils/formatters.js:262 msgid "Checking" msgstr "Kontroluje se" -#: /app/src/modules/dashboard/DashboardModule.js:1067 +#: /app/src/modules/dashboard/DashboardModule.js:1126 msgid "All accounts hidden" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1113 +#: /app/src/modules/dashboard/DashboardModule.js:1172 #, fuzzy #| msgid "accounts" msgid "No accounts" msgstr "účty" -#: /app/src/modules/dashboard/DashboardModule.js:1139 -#: /app/src/modules/rules/components/ActionBuilder.js:144 +#: /app/src/modules/dashboard/DashboardModule.js:1198 +#: /app/src/modules/rules/components/ActionBuilder.js:150 msgid "Move up" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1140 -#: /app/src/modules/rules/components/ActionBuilder.js:145 +#: /app/src/modules/dashboard/DashboardModule.js:1199 +#: /app/src/modules/rules/components/ActionBuilder.js:151 msgid "Move down" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1284 +#: /app/src/modules/dashboard/DashboardModule.js:1343 #: /app/src/modules/transactions/transactionRow.js:68 msgid "Split transaction" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1306 +#: /app/src/modules/dashboard/DashboardModule.js:1365 msgid "No recent transactions" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1388 +#: /app/src/modules/dashboard/DashboardModule.js:1447 msgid "No budget alerts. %n category is muted." msgid_plural "No budget alerts. %n categories are muted." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/dashboard/DashboardModule.js:1389 +#: /app/src/modules/dashboard/DashboardModule.js:1448 msgid "No budget alerts from the budgets you set." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1407 -#, javascript-format +#: /app/src/modules/dashboard/DashboardModule.js:1466 +#, no-javascript-format msgid "{percent}% over" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1408 +#: /app/src/modules/dashboard/DashboardModule.js:1467 msgid "{percent}% used" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1444 +#: /app/src/modules/dashboard/DashboardModule.js:1503 msgid "(from a bill)" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1480 +#: /app/src/modules/dashboard/DashboardModule.js:1539 msgid "No category has a budget yet." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1519 +#: /app/src/modules/dashboard/DashboardModule.js:1578 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to save the budget alert filter" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/dashboard/DashboardModule.js:1569 +#: /app/src/modules/dashboard/DashboardModule.js:1616 +#: /app/templates/index.php:1943 /app/templates/index.php:2244 +msgid "No categories yet" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:1690 msgid "Highest rate: {rate}% APR" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1600 +#: /app/src/modules/dashboard/DashboardModule.js:1721 #: /app/templates/index.php:770 /app/templates/index.php:4129 msgid "Total Debt" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1601 +#: /app/src/modules/dashboard/DashboardModule.js:1722 msgid "Debt Free" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1676 +#: /app/src/modules/dashboard/DashboardModule.js:1797 #, fuzzy #| msgid "Remaining" msgid "remaining" msgstr "Zbývá" -#: /app/src/modules/dashboard/DashboardModule.js:1679 +#: /app/src/modules/dashboard/DashboardModule.js:1800 msgid "paid off" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1707 +#: /app/src/modules/dashboard/DashboardModule.js:1828 msgid "Ahead of schedule" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1708 +#: /app/src/modules/dashboard/DashboardModule.js:1829 msgid "Behind schedule" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1754 -#: /app/src/modules/dashboard/DashboardModule.js:2494 +#: /app/src/modules/dashboard/DashboardModule.js:1914 +#: /app/src/modules/dashboard/DashboardModule.js:2657 msgid "Overdue by %n day" msgid_plural "Overdue by %n days" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/dashboard/DashboardModule.js:1757 -#: /app/src/modules/dashboard/DashboardModule.js:2497 +#: /app/src/modules/dashboard/DashboardModule.js:1917 +#: /app/src/modules/dashboard/DashboardModule.js:2660 +#: /app/src/modules/pensions/PensionsModule.js:33 msgid "Due today" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1760 -#: /app/src/modules/dashboard/DashboardModule.js:2500 +#: /app/src/modules/dashboard/DashboardModule.js:1920 +#: /app/src/modules/dashboard/DashboardModule.js:2663 msgid "Due in %n day" msgid_plural "Due in %n days" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/dashboard/DashboardModule.js:1762 +#: /app/src/modules/dashboard/DashboardModule.js:1922 msgid "Due {date}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1782 -#: /app/src/modules/dashboard/DashboardModule.js:1800 +#: /app/src/modules/dashboard/DashboardModule.js:1942 +#: /app/src/modules/dashboard/DashboardModule.js:1960 #: /app/templates/index.php:737 msgid "No budgets configured" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1889 +#: /app/src/modules/dashboard/DashboardModule.js:2052 #: /app/templates/index.php:748 /app/templates/index.php:2988 msgid "No savings goals yet" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1905 +#: /app/src/modules/dashboard/DashboardModule.js:2068 msgid "Target: {amount}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1911 +#: /app/src/modules/dashboard/DashboardModule.js:2074 msgid "{amount} saved" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1974 +#: /app/src/modules/dashboard/DashboardModule.js:2137 #: /app/src/modules/projects/ProjectsModule.js:78 msgid "{spent} of {total}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2010 -#: /app/src/modules/pensions/PensionsModule.js:159 +#: /app/src/modules/dashboard/DashboardModule.js:2173 +#: /app/src/modules/pensions/PensionsModule.js:182 msgid "Pension Income" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2017 -#: /app/src/modules/pensions/PensionsModule.js:166 +#: /app/src/modules/dashboard/DashboardModule.js:2180 +#: /app/src/modules/pensions/PensionsModule.js:189 msgid "%n pension" msgid_plural "%n pensions" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/dashboard/DashboardModule.js:2020 -#: /app/src/modules/pensions/PensionsModule.js:169 +#: /app/src/modules/dashboard/DashboardModule.js:2183 +#: /app/src/modules/pensions/PensionsModule.js:192 msgid "{amount}/yr income" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2060 +#: /app/src/modules/dashboard/DashboardModule.js:2223 msgid "{amount} ({percent}%) vs 30d ago" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2077 -#: /app/src/modules/dashboard/DashboardModule.js:2084 -#: /app/src/modules/dashboard/DashboardModule.js:2089 +#: /app/src/modules/dashboard/DashboardModule.js:2240 +#: /app/src/modules/dashboard/DashboardModule.js:2247 +#: /app/src/modules/dashboard/DashboardModule.js:2252 #: /app/templates/index.php:848 msgid "No spending data" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2123 -#: /app/src/modules/dashboard/DashboardModule.js:2231 +#: /app/src/modules/dashboard/DashboardModule.js:2286 +#: /app/src/modules/dashboard/DashboardModule.js:2394 #: /app/templates/index.php:857 /app/templates/index.php:884 msgid "No account data" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2156 +#: /app/src/modules/dashboard/DashboardModule.js:2319 #: /app/templates/index.php:866 msgid "No budget data" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2196 +#: /app/src/modules/dashboard/DashboardModule.js:2359 #: /app/templates/index.php:875 msgid "No savings goals" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2249 +#: /app/src/modules/dashboard/DashboardModule.js:2412 msgid "Credit Cards" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2250 +#: /app/src/modules/dashboard/DashboardModule.js:2413 msgid "Investments" msgstr "Investice" -#: /app/src/modules/dashboard/DashboardModule.js:2251 +#: /app/src/modules/dashboard/DashboardModule.js:2414 msgid "Loans" msgstr "Půjčky" -#: /app/src/modules/dashboard/DashboardModule.js:2259 +#: /app/src/modules/dashboard/DashboardModule.js:2422 msgid "%n account" msgid_plural "%n accounts" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/dashboard/DashboardModule.js:2271 +#: /app/src/modules/dashboard/DashboardModule.js:2434 #: /app/templates/index.php:893 msgid "No accounts to reconcile" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2284 +#: /app/src/modules/dashboard/DashboardModule.js:2447 msgid "All accounts reconciled" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2292 +#: /app/src/modules/dashboard/DashboardModule.js:2455 msgid "Up to date" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2308 +#: /app/src/modules/dashboard/DashboardModule.js:2471 msgid "No data available" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2347 +#: /app/src/modules/dashboard/DashboardModule.js:2510 #, fuzzy #| msgid "transactions" msgid "No large transactions" msgstr "transakce" -#: /app/src/modules/dashboard/DashboardModule.js:2371 +#: /app/src/modules/dashboard/DashboardModule.js:2534 msgid "No spending data for this period" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2390 +#: /app/src/modules/dashboard/DashboardModule.js:2553 msgid "Daily average" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2401 +#: /app/src/modules/dashboard/DashboardModule.js:2564 msgid "No pensions to project" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2406 +#: /app/src/modules/dashboard/DashboardModule.js:2569 msgid "" "Set your date of birth in your Nextcloud profile for an accurate horizon" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2412 +#: /app/src/modules/dashboard/DashboardModule.js:2575 msgid "Projected at retirement" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2416 +#: /app/src/modules/dashboard/DashboardModule.js:2579 msgid "Projected income / yr" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2428 +#: /app/src/modules/dashboard/DashboardModule.js:2591 msgid "No unmatched transfers" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2448 +#: /app/src/modules/dashboard/DashboardModule.js:2611 msgid "No category trends available" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2480 +#: /app/src/modules/dashboard/DashboardModule.js:2643 msgid "No bills due soon" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2546 -#: /app/src/modules/dashboard/DashboardModule.js:2552 +#: /app/src/modules/dashboard/DashboardModule.js:2718 msgid "No recurring income set up" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2573 -#: /app/src/modules/import/ImportModule.js:2624 +#: /app/src/modules/dashboard/DashboardModule.js:2733 +#, fuzzy +#| msgid "Monthly" +msgid "Monthly income" +msgstr "Měsíčně" + +#: /app/src/modules/dashboard/DashboardModule.js:2734 +msgid "{received} of {due} received this month" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:2738 +msgid "Income received this month" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:2757 +#: /app/src/modules/import/ImportModule.js:2633 msgid "No recent imports" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2599 +#: /app/src/modules/dashboard/DashboardModule.js:2783 msgid "No import rules configured" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2607 +#: /app/src/modules/dashboard/DashboardModule.js:2791 msgid "Active rules" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2611 +#: /app/src/modules/dashboard/DashboardModule.js:2795 msgid "Total rules" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2622 +#: /app/src/modules/dashboard/DashboardModule.js:2806 msgid "No spending data available" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2632 +#: /app/src/modules/dashboard/DashboardModule.js:2816 msgid "Per day" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2636 +#: /app/src/modules/dashboard/DashboardModule.js:2820 msgid "Projected monthly" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2651 +#: /app/src/modules/dashboard/DashboardModule.js:2835 #, fuzzy #| msgid "Uncategorized" msgid "Uncategorized transactions" msgstr "Nezařazeno" -#: /app/src/modules/dashboard/DashboardModule.js:2765 +#: /app/src/modules/dashboard/DashboardModule.js:2957 #: /app/src/modules/reports/ReportsModule.js:896 #, fuzzy #| msgid "Uncategorized" msgid "Click to view transactions" msgstr "Nezařazeno" -#: /app/src/modules/dashboard/DashboardModule.js:2791 +#: /app/src/modules/dashboard/DashboardModule.js:2982 +#, fuzzy +#| msgid "categories" +msgid "%n category hidden" +msgid_plural "%n categories hidden" +msgstr[0] "kategorie" +msgstr[1] "kategorie" +msgstr[2] "kategorie" + +#: /app/src/modules/dashboard/DashboardModule.js:2987 msgid "Total Spending" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2887 +#: /app/src/modules/dashboard/DashboardModule.js:3084 msgid "{month} (so far)" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2965 +#: /app/src/modules/dashboard/DashboardModule.js:3162 #: /app/templates/index.php:1194 msgid "Liabilities" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3058 +#: /app/src/modules/dashboard/DashboardModule.js:3255 msgid "Asset Value" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3081 +#: /app/src/modules/dashboard/DashboardModule.js:3278 msgid "Portfolio" msgstr "Portfolio" -#: /app/src/modules/dashboard/DashboardModule.js:3154 +#: /app/src/modules/dashboard/DashboardModule.js:3351 #: /app/templates/index.php:800 #, fuzzy #| msgid "Low" msgid "Now" msgstr "Nízké" -#: /app/src/modules/dashboard/DashboardModule.js:3301 +#: /app/src/modules/dashboard/DashboardModule.js:3498 msgid "just now" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3303 +#: /app/src/modules/dashboard/DashboardModule.js:3500 msgid "%n hour ago" msgid_plural "%n hours ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/dashboard/DashboardModule.js:3306 +#: /app/src/modules/dashboard/DashboardModule.js:3503 msgid "yesterday" msgstr "včera" -#: /app/src/modules/dashboard/DashboardModule.js:3308 +#: /app/src/modules/dashboard/DashboardModule.js:3505 msgid "%n day ago" msgid_plural "%n days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/dashboard/DashboardModule.js:3311 -#: /app/src/modules/dashboard/DashboardModule.js:3313 +#: /app/src/modules/dashboard/DashboardModule.js:3508 +#: /app/src/modules/dashboard/DashboardModule.js:3510 msgid "Snapshots recorded automatically daily" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3311 +#: /app/src/modules/dashboard/DashboardModule.js:3508 msgid "Last: {time}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3316 +#: /app/src/modules/dashboard/DashboardModule.js:3513 msgid "Record now" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3587 +#: /app/src/modules/dashboard/DashboardModule.js:3784 msgid "Net worth snapshot recorded" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3595 +#: /app/src/modules/dashboard/DashboardModule.js:3792 msgid "Failed to record snapshot" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3855 +#: /app/src/modules/dashboard/DashboardModule.js:4052 msgid "Failed to save dashboard layout" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3917 +#: /app/src/modules/dashboard/DashboardModule.js:4114 #: /app/templates/index.php:649 msgid "No net worth history yet" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3918 +#: /app/src/modules/dashboard/DashboardModule.js:4115 msgid "Snapshots are recorded automatically every day." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3932 +#: /app/src/modules/dashboard/DashboardModule.js:4129 #: /app/templates/index.php:673 msgid "No asset value history yet" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3933 +#: /app/src/modules/dashboard/DashboardModule.js:4130 #: /app/templates/index.php:674 msgid "Add snapshots to your assets to track their combined value over time." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3941 +#: /app/src/modules/dashboard/DashboardModule.js:4138 #: /app/templates/index.php:687 /app/templates/index.php:723 msgid "View All" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4789 +#: /app/src/modules/dashboard/DashboardModule.js:5016 msgid "Failed to save dashboard lock state" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4807 -#: /app/src/modules/dashboard/DashboardModule.js:4818 +#: /app/src/modules/dashboard/DashboardModule.js:5034 +#: /app/src/modules/dashboard/DashboardModule.js:5045 #: /app/templates/index.php:352 msgid "Unlock Dashboard" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4807 -#: /app/src/modules/dashboard/DashboardModule.js:4833 +#: /app/src/modules/dashboard/DashboardModule.js:5034 +#: /app/src/modules/dashboard/DashboardModule.js:5060 msgid "Lock Dashboard" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4819 +#: /app/src/modules/dashboard/DashboardModule.js:5046 #: /app/templates/index.php:329 msgid "Dashboard is locked. Click unlock to reorder tiles." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4834 +#: /app/src/modules/dashboard/DashboardModule.js:5062 +msgid "Use the arrows on each tile to reorder your dashboard" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:5063 msgid "Drag tiles to reorder your dashboard" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4879 +#: /app/src/modules/dashboard/DashboardModule.js:5108 msgid "Extra small" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4880 +#: /app/src/modules/dashboard/DashboardModule.js:5109 msgid "Small" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4881 +#: /app/src/modules/dashboard/DashboardModule.js:5110 msgid "Medium" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4882 +#: /app/src/modules/dashboard/DashboardModule.js:5111 msgid "Large" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4909 +#: /app/src/modules/dashboard/DashboardModule.js:5138 msgid "Move earlier" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4909 +#: /app/src/modules/dashboard/DashboardModule.js:5138 #, fuzzy #| msgid "accounts" msgid "Move later" msgstr "účty" -#: /app/src/modules/dashboard/DashboardModule.js:4937 -#: /app/src/modules/dashboard/DashboardModule.js:5031 -#: /app/templates/index.php:7437 +#: /app/src/modules/dashboard/DashboardModule.js:5166 +#: /app/src/modules/dashboard/DashboardModule.js:5263 +#: /app/templates/index.php:7438 #, fuzzy #| msgid "settings" msgid "Tile Settings" msgstr "nastavení" -#: /app/src/modules/dashboard/DashboardModule.js:4955 +#: /app/src/modules/dashboard/DashboardModule.js:5184 msgid "Remove tile" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4955 +#: /app/src/modules/dashboard/DashboardModule.js:5184 msgid "Hide tile" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5061 +#: /app/src/modules/dashboard/DashboardModule.js:5293 msgid "Look ahead" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5064 +#: /app/src/modules/dashboard/DashboardModule.js:5296 msgid "Next 30 days" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5065 +#: /app/src/modules/dashboard/DashboardModule.js:5297 msgid "Next 60 days" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5066 +#: /app/src/modules/dashboard/DashboardModule.js:5298 msgid "Next 90 days" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5075 +#: /app/src/modules/dashboard/DashboardModule.js:5307 msgid "Forecast horizon" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5078 +#: /app/src/modules/dashboard/DashboardModule.js:5310 msgid "Next 3 months" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5079 +#: /app/src/modules/dashboard/DashboardModule.js:5311 msgid "Next 6 months" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5080 +#: /app/src/modules/dashboard/DashboardModule.js:5312 msgid "Next 12 months" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5089 +#: /app/src/modules/dashboard/DashboardModule.js:5321 msgid "Years to compare" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5092 +#: /app/src/modules/dashboard/DashboardModule.js:5324 msgid "Last 2 years" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5093 +#: /app/src/modules/dashboard/DashboardModule.js:5325 msgid "Last 3 years" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5094 +#: /app/src/modules/dashboard/DashboardModule.js:5326 msgid "Last 5 years" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5125 +#: /app/src/modules/dashboard/DashboardModule.js:5357 #: /app/templates/index.php:3222 msgid "Exclude shared accounts" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5139 +#: /app/src/modules/dashboard/DashboardModule.js:5378 msgid "Show legend" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5154 +#: /app/src/modules/dashboard/DashboardModule.js:5393 msgid "Show top-level categories only" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5169 -#: /app/src/modules/dashboard/DashboardModule.js:5170 +#: /app/src/modules/dashboard/DashboardModule.js:5408 +#: /app/src/modules/dashboard/DashboardModule.js:5409 msgid "Chart Type" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5180 -#: /app/src/modules/dashboard/DashboardModule.js:5181 +#: /app/src/modules/dashboard/DashboardModule.js:5419 +#: /app/src/modules/dashboard/DashboardModule.js:5420 msgid "Rows to show" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5196 -#: /app/src/modules/dashboard/DashboardModule.js:5197 +#: /app/src/modules/dashboard/DashboardModule.js:5435 +#: /app/src/modules/dashboard/DashboardModule.js:5436 msgid "Display Format" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5209 +#: /app/src/modules/dashboard/DashboardModule.js:5448 msgid "Show change indicator" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5223 +#: /app/src/modules/dashboard/DashboardModule.js:5462 msgid "No settings available for this tile." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5230 +#: /app/src/modules/dashboard/DashboardModule.js:5469 msgid "Drag to reorder. Toggle visibility for each item." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5248 +#: /app/src/modules/dashboard/DashboardModule.js:5487 msgid "Only categories with a budget I set" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5250 +#: /app/src/modules/dashboard/DashboardModule.js:5489 msgid "Leaves out the budgets worked out from your bills and recurring income." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5251 +#: /app/src/modules/dashboard/DashboardModule.js:5490 msgid "Untick a category to stop it alerting, here and in notifications." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5487 +#: /app/src/modules/dashboard/DashboardModule.js:5510 +#, fuzzy +#| msgid "categories" +msgid "Categories to show" +msgstr "kategorie" + +#: /app/src/modules/dashboard/DashboardModule.js:5511 +msgid "" +"Untick a category to leave it off this tile, along with its subcategories. " +"Reports and totals still count it." +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:5741 msgid "All tiles are visible" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5493 +#: /app/src/modules/dashboard/DashboardModule.js:5747 msgid "Insights & Analytics" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5494 +#: /app/src/modules/dashboard/DashboardModule.js:5748 msgid "Budgeting" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5495 +#: /app/src/modules/dashboard/DashboardModule.js:5749 msgid "Forecasting" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5498 +#: /app/src/modules/dashboard/DashboardModule.js:5752 #: /app/templates/index.php:5736 msgid "Debts" msgstr "Dluhy" -#: /app/src/modules/dashboard/DashboardModule.js:5499 +#: /app/src/modules/dashboard/DashboardModule.js:5753 msgid "Goals" msgstr "Cíle" -#: /app/src/modules/dashboard/DashboardModule.js:5501 +#: /app/src/modules/dashboard/DashboardModule.js:5755 msgid "Alerts" msgstr "Výstrahy" -#: /app/src/modules/dashboard/DashboardModule.js:5502 +#: /app/src/modules/dashboard/DashboardModule.js:5756 msgid "Interactive" msgstr "Interaktivní" -#: /app/src/modules/dashboard/DashboardModule.js:5524 +#: /app/src/modules/dashboard/DashboardModule.js:5778 msgid "Hero" msgstr "Hrdina" -#: /app/src/modules/dashboard/DashboardModule.js:5533 -#: /app/src/modules/dashboard/DashboardModule.js:5567 +#: /app/src/modules/dashboard/DashboardModule.js:5787 +#: /app/src/modules/dashboard/DashboardModule.js:5821 msgid "Add {name}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5555 +#: /app/src/modules/dashboard/DashboardModule.js:5809 msgid "Add Another" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5629 +#: /app/src/modules/dashboard/DashboardModule.js:5883 msgid "Maximum of {max} instances reached" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5699 +#: /app/src/modules/dashboard/DashboardModule.js:5953 msgid "Tile added" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5737 +#: /app/src/modules/dashboard/DashboardModule.js:5991 msgid "Tile removed" msgstr "" @@ -8233,7 +8517,7 @@ msgid "Manual" msgstr "" #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:173 -#: /app/templates/index.php:4532 /app/templates/index.php:6412 +#: /app/templates/index.php:4532 /app/templates/index.php:6413 msgid "None" msgstr "" @@ -8483,7 +8767,7 @@ msgid "" msgstr "" #: /app/src/modules/help/HelpModule.js:52 /app/templates/index.php:287 -#: /app/templates/index.php:4960 /app/templates/index.php:7561 +#: /app/templates/index.php:4960 /app/templates/index.php:7562 msgid "Help & Docs" msgstr "" @@ -8830,7 +9114,7 @@ msgid "{matching} of {total} rows would be added as income" msgstr "" #: /app/src/modules/import/ImportModule.js:1935 -#, javascript-format +#, no-javascript-format msgid "" "but {percent}% of what is already in {account} is an expense. If that looks " "wrong, go back and map the column holding the transaction type before " @@ -8842,7 +9126,7 @@ msgid "{matching} of {total} rows would be added as an expense" msgstr "" #: /app/src/modules/import/ImportModule.js:1944 -#, javascript-format +#, no-javascript-format msgid "" "but {percent}% of what is already in {account} is income. If that looks " "wrong, go back and map the column holding the transaction type before " @@ -8978,191 +9262,184 @@ msgstr[2] "" msgid "Failed to import transactions: {message}" msgstr "" -#: /app/src/modules/import/ImportModule.js:2518 +#: /app/src/modules/import/ImportModule.js:2527 msgid "Auto-linked {count} transfer pairs" msgstr "" -#: /app/src/modules/import/ImportModule.js:2634 +#: /app/src/modules/import/ImportModule.js:2643 #: /app/src/modules/projects/ProjectsModule.js:95 msgid "{start} to {end}" msgstr "" -#: /app/src/modules/import/ImportModule.js:2648 +#: /app/src/modules/import/ImportModule.js:2657 msgid "0 Bytes" msgstr "" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "Bytes" msgstr "" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "KB" msgstr "" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "MB" msgstr "" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "GB" msgstr "" -#: /app/src/modules/income/IncomeModule.js:51 #: /app/src/modules/income/IncomeModule.js:54 +#: /app/src/modules/income/IncomeModule.js:57 msgid "Failed to load recurring income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:96 -#: /app/src/modules/transfers/TransfersModule.js:140 -#: /app/templates/index.php:1423 /app/templates/index.php:2974 -msgid "Completed" -msgstr "" - -#: /app/src/modules/income/IncomeModule.js:99 -#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 -#: /app/templates/index.php:2888 -msgid "Received" -msgstr "" - -#: /app/src/modules/income/IncomeModule.js:102 /app/templates/index.php:2887 -msgid "Expected Soon" -msgstr "" - -#: /app/src/modules/income/IncomeModule.js:136 -msgid "No date set" -msgstr "" - -#: /app/src/modules/income/IncomeModule.js:140 +#: /app/src/modules/income/IncomeModule.js:128 msgid "Auto-create enabled" msgstr "" -#: /app/src/modules/income/IncomeModule.js:140 +#: /app/src/modules/income/IncomeModule.js:128 msgid "Auto-create" msgstr "" -#: /app/src/modules/income/IncomeModule.js:145 +#: /app/src/modules/income/IncomeModule.js:133 msgid "Mark as received" msgstr "" -#: /app/src/modules/income/IncomeModule.js:147 +#: /app/src/modules/income/IncomeModule.js:135 msgid "Mark Received" msgstr "" -#: /app/src/modules/income/IncomeModule.js:156 +#: /app/src/modules/income/IncomeModule.js:144 msgid "Edit income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:159 +#: /app/src/modules/income/IncomeModule.js:147 msgid "Delete income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:349 +#: /app/src/modules/income/IncomeModule.js:324 msgid "Edit Recurring Income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:370 +#: /app/src/modules/income/IncomeModule.js:356 msgid "Add Recurring Income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:436 +#: /app/src/modules/income/IncomeModule.js:403 /app/templates/index.php:6698 +#, fuzzy +#| msgid "Monthly" +msgid "First payment date" +msgstr "Měsíčně" + +#: /app/src/modules/income/IncomeModule.js:406 +msgid "The date this income is expected. It can be in the past." +msgstr "" + +#: /app/src/modules/income/IncomeModule.js:407 /app/templates/index.php:6700 +msgid "Payments repeat from this date (optional)" +msgstr "" + +#: /app/src/modules/income/IncomeModule.js:432 msgid "Expected Day (1-7)" msgstr "" -#: /app/src/modules/income/IncomeModule.js:440 /app/templates/index.php:6691 +#: /app/src/modules/income/IncomeModule.js:436 /app/templates/index.php:6692 msgid "Expected Day" msgstr "" -#: /app/src/modules/income/IncomeModule.js:441 /app/templates/index.php:6693 +#: /app/src/modules/income/IncomeModule.js:437 /app/templates/index.php:6694 msgid "Day of the month when income is expected" msgstr "" -#: /app/src/modules/income/IncomeModule.js:454 -#: /app/src/modules/transfers/TransfersModule.js:789 -msgid "Follows the start date" +#: /app/src/modules/income/IncomeModule.js:498 +msgid "Choose the date this income is expected" msgstr "" -#: /app/src/modules/income/IncomeModule.js:520 +#: /app/src/modules/income/IncomeModule.js:534 msgid "Income source created successfully" msgstr "" -#: /app/src/modules/income/IncomeModule.js:520 +#: /app/src/modules/income/IncomeModule.js:534 msgid "Income source updated successfully" msgstr "" -#: /app/src/modules/income/IncomeModule.js:524 +#: /app/src/modules/income/IncomeModule.js:538 msgid "Failed to save income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:529 +#: /app/src/modules/income/IncomeModule.js:543 msgid "Are you sure you want to delete this recurring income?" msgstr "" -#: /app/src/modules/income/IncomeModule.js:536 +#: /app/src/modules/income/IncomeModule.js:550 msgid "Income source deleted successfully" msgstr "" -#: /app/src/modules/income/IncomeModule.js:540 +#: /app/src/modules/income/IncomeModule.js:554 msgid "Failed to delete income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:578 +#: /app/src/modules/income/IncomeModule.js:594 msgid "Income marked as received. Transaction created." msgstr "" -#: /app/src/modules/income/IncomeModule.js:579 +#: /app/src/modules/income/IncomeModule.js:595 msgid "Income marked as received." msgstr "" -#: /app/src/modules/income/IncomeModule.js:590 +#: /app/src/modules/income/IncomeModule.js:605 msgid "Failed to mark income as received" msgstr "" -#: /app/src/modules/income/IncomeModule.js:637 +#: /app/src/modules/income/IncomeModule.js:644 msgid "Skip this payment and advance to the next expected date?" msgstr "" -#: /app/src/modules/income/IncomeModule.js:644 -#: /app/src/modules/income/IncomeModule.js:667 +#: /app/src/modules/income/IncomeModule.js:651 +#: /app/src/modules/income/IncomeModule.js:674 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to skip income" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/income/IncomeModule.js:660 +#: /app/src/modules/income/IncomeModule.js:667 msgid "Payment skipped. Advanced to next expected date." msgstr "" -#: /app/src/modules/income/IncomeModule.js:703 +#: /app/src/modules/income/IncomeModule.js:710 msgid "No recurring income patterns found in your transactions" msgstr "" -#: /app/src/modules/income/IncomeModule.js:715 /app/templates/index.php:2835 +#: /app/src/modules/income/IncomeModule.js:722 /app/templates/index.php:2835 msgid "Detect Income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:736 +#: /app/src/modules/income/IncomeModule.js:744 msgid "%n occurrence" msgid_plural "%n occurrences" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/income/IncomeModule.js:737 +#: /app/src/modules/income/IncomeModule.js:745 msgid "Source: {source}" msgstr "" -#: /app/src/modules/income/IncomeModule.js:754 +#: /app/src/modules/income/IncomeModule.js:767 msgid "Please select at least one income source to add" msgstr "" -#: /app/src/modules/income/IncomeModule.js:767 +#: /app/src/modules/income/IncomeModule.js:780 msgid "%n income source added successfully" msgid_plural "%n income sources added successfully" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/income/IncomeModule.js:771 +#: /app/src/modules/income/IncomeModule.js:784 msgid "Failed to add selected income sources" msgstr "" @@ -9327,248 +9604,302 @@ msgstr "" msgid "Sample data cleared" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:37 -#: /app/src/modules/pensions/PensionsModule.js:40 +#: /app/src/modules/pensions/PensionsModule.js:26 +msgid "Paused" +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:30 +#: /app/src/modules/transfers/TransfersModule.js:144 +#: /app/src/utils/billDates.js:36 /app/src/utils/incomeStatus.js:52 +#: /app/templates/index.php:2662 /app/templates/index.php:2689 +msgid "Overdue" +msgstr "Po termínu" + +#: /app/src/modules/pensions/PensionsModule.js:60 +#: /app/src/modules/pensions/PensionsModule.js:63 msgid "Failed to load pensions" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:90 -#: /app/src/modules/pensions/PensionsModule.js:514 +#: /app/src/modules/pensions/PensionsModule.js:113 +#: /app/src/modules/pensions/PensionsModule.js:563 msgid "Workplace" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:91 -#: /app/src/modules/pensions/PensionsModule.js:515 +#: /app/src/modules/pensions/PensionsModule.js:114 +#: /app/src/modules/pensions/PensionsModule.js:564 msgid "Personal" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:92 -#: /app/src/modules/pensions/PensionsModule.js:516 +#: /app/src/modules/pensions/PensionsModule.js:115 +#: /app/src/modules/pensions/PensionsModule.js:565 #: /app/templates/index.php:5330 msgid "SIPP" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:93 -#: /app/src/modules/pensions/PensionsModule.js:517 +#: /app/src/modules/pensions/PensionsModule.js:116 +#: /app/src/modules/pensions/PensionsModule.js:566 #: /app/templates/index.php:5331 msgid "Defined Benefit" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:94 -#: /app/src/modules/pensions/PensionsModule.js:518 +#: /app/src/modules/pensions/PensionsModule.js:117 +#: /app/src/modules/pensions/PensionsModule.js:567 #: /app/templates/index.php:5332 msgid "State Pension" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:102 -#: /app/src/modules/pensions/PensionsModule.js:533 +#: /app/src/modules/pensions/PensionsModule.js:125 +#: /app/src/modules/pensions/PensionsModule.js:582 msgid "{amount}/year" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:114 +#: /app/src/modules/pensions/PensionsModule.js:137 msgid "{amount}/month" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:117 +#: /app/src/modules/pensions/PensionsModule.js:140 msgid "View details" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:158 +#: /app/src/modules/pensions/PensionsModule.js:181 msgid "{amount}/yr" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:192 +#: /app/src/modules/pensions/PensionsModule.js:215 msgid "" "Set your date of birth in your Nextcloud profile for accurate retirement " "projections." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:396 +#: /app/src/modules/pensions/PensionsModule.js:419 msgid "Edit Pension" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:418 +#: /app/src/modules/pensions/PensionsModule.js:441 #: /app/templates/index.php:3711 /app/templates/index.php:5308 msgid "Add Pension" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:468 +#: /app/src/modules/pensions/PensionsModule.js:515 msgid "Failed to save pension" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:474 +#: /app/src/modules/pensions/PensionsModule.js:521 msgid "Pension updated" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:474 +#: /app/src/modules/pensions/PensionsModule.js:521 msgid "Pension added" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:481 +#: /app/src/modules/pensions/PensionsModule.js:528 msgid "" "Are you sure you want to delete this pension? This action cannot be undone." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:494 +#: /app/src/modules/pensions/PensionsModule.js:529 +msgid "" +"Its balance updates, contributions and schedules are deleted with it. Any " +"bank transactions that paid into or out of it stay in your accounts, and " +"still count as money moved to or from a pension rather than spending or " +"income." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:543 msgid "Pension deleted" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:582 +#: /app/src/modules/pensions/PensionsModule.js:627 msgid "Balance history is unavailable." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:587 +#: /app/src/modules/pensions/PensionsModule.js:632 msgid "Add at least two balance updates to see history." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:639 -#: /app/src/modules/pensions/PensionsModule.js:655 +#: /app/src/modules/pensions/PensionsModule.js:684 +#: /app/src/modules/pensions/PensionsModule.js:700 msgid "Projection is unavailable." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:648 +#: /app/src/modules/pensions/PensionsModule.js:693 msgid "No projection available for this pension type." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:672 +#: /app/src/modules/pensions/PensionsModule.js:717 msgid "Projected value (today's money)" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:672 +#: /app/src/modules/pensions/PensionsModule.js:717 msgid "Projected value" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:683 +#: /app/src/modules/pensions/PensionsModule.js:728 +#: /app/src/modules/rules/components/ActionBuilder.js:206 msgid "Target" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:727 +#: /app/src/modules/pensions/PensionsModule.js:772 msgid "Projected {projected} of {target} target ({pct} there)" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:741 -#: /app/src/modules/pensions/PensionsModule.js:815 +#: /app/src/modules/pensions/PensionsModule.js:786 +#: /app/src/modules/pensions/PensionsModule.js:861 msgid "Activity is unavailable." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:746 +#: /app/src/modules/pensions/PensionsModule.js:792 msgid "No activity yet" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:753 +#: /app/src/modules/pensions/PensionsModule.js:799 #, fuzzy #| msgid "accounts" msgid "an account" msgstr "účty" -#: /app/src/modules/pensions/PensionsModule.js:764 +#: /app/src/modules/pensions/PensionsModule.js:810 msgid "Contribution from {account}" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:771 +#: /app/src/modules/pensions/PensionsModule.js:817 msgid "Withdrawal to {account}" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:772 +#: /app/src/modules/pensions/PensionsModule.js:818 msgid "Withdrawal" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:778 +#: /app/src/modules/pensions/PensionsModule.js:824 msgid "Balance Update" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:783 +#: /app/src/modules/pensions/PensionsModule.js:829 msgid "Contribution" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:791 +#: /app/src/modules/pensions/PensionsModule.js:837 msgid "Linked to a bank transaction" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:791 +#: /app/src/modules/pensions/PensionsModule.js:837 msgid "linked" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:823 +#: /app/src/modules/pensions/PensionsModule.js:869 msgid "Delete this balance update?" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:824 +#: /app/src/modules/pensions/PensionsModule.js:870 msgid "" -"Delete this entry? If it is linked to a bank transaction, that transaction " -"will be removed too." +"Delete this entry? A bank transaction the app booked for it is removed too; " +"one that came from a statement import or bank sync stays in its account." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:842 -#: /app/src/modules/pensions/PensionsModule.js:1099 +#: /app/src/modules/pensions/PensionsModule.js:873 +msgid "" +"Its bank transaction was reconciled against a bank statement. Deleting it " +"will make past reconciliations no longer match." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:892 +#: /app/src/modules/pensions/PensionsModule.js:1186 #, fuzzy #| msgid "Delete" msgid "Deleted" msgstr "Smazat" -#: /app/src/modules/pensions/PensionsModule.js:879 +#: /app/src/modules/pensions/PensionsModule.js:932 msgid "Failed to update balance" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:886 +#: /app/src/modules/pensions/PensionsModule.js:939 msgid "Balance updated" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:913 -#: /app/src/modules/pensions/PensionsModule.js:1055 +#: /app/src/modules/pensions/PensionsModule.js:969 +#: /app/src/modules/pensions/PensionsModule.js:1139 #: /app/templates/index.php:5461 /app/templates/index.php:5541 msgid "Not from a tracked account" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:938 +#: /app/src/modules/pensions/PensionsModule.js:997 msgid "Failed to log contribution" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:947 +#: /app/src/modules/pensions/PensionsModule.js:1006 msgid "Contribution logged" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:960 +#: /app/src/modules/pensions/PensionsModule.js:1019 #: /app/templates/index.php:5497 msgid "Not into a tracked account" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:992 +#: /app/src/modules/pensions/PensionsModule.js:1054 msgid "Withdrawal recorded" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1021 +#: /app/src/modules/pensions/PensionsModule.js:1093 msgid "No scheduled contributions" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1034 +#: /app/src/modules/pensions/PensionsModule.js:1108 msgid "manual" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1039 -msgid "Next: {date}" -msgstr "" +#: /app/src/modules/pensions/PensionsModule.js:1112 +#, fuzzy +#| msgid "accounts" +msgid "from {account}" +msgstr "účty" -#: /app/src/modules/pensions/PensionsModule.js:1042 +#: /app/src/modules/pensions/PensionsModule.js:1117 +#: /app/src/modules/pensions/PensionsModule.js:1223 msgid "Post now" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1081 +#: /app/src/modules/pensions/PensionsModule.js:1123 +msgid "Next: {date}" +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1168 msgid "Failed to save recurring contribution" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1085 +#: /app/src/modules/pensions/PensionsModule.js:1172 msgid "Recurring contribution saved" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1092 +#: /app/src/modules/pensions/PensionsModule.js:1179 msgid "Delete this scheduled contribution?" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1115 +#: /app/src/modules/pensions/PensionsModule.js:1221 +msgid "" +"Post the {date} contribution of {amount} from {account} now? It is recorded " +"with today's date." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1222 +msgid "" +"Post the {date} contribution of {amount} now? It is recorded with today's " +"date." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1233 msgid "Contribution posted" msgstr "" +#: /app/src/modules/pensions/PensionsModule.js:1249 +msgid "Contribution undone" +msgstr "" + +#: /app/src/modules/projects/ProjectsModule.js:86 +#: /app/src/utils/billDates.js:38 /app/src/utils/incomeStatus.js:55 +msgid "Upcoming" +msgstr "Nadcházející" + #: /app/src/modules/projects/ProjectsModule.js:88 /app/templates/index.php:3023 msgid "Finished" msgstr "" @@ -9589,81 +9920,81 @@ msgstr "" msgid "{amount} left" msgstr "účty" -#: /app/src/modules/projects/ProjectsModule.js:155 +#: /app/src/modules/projects/ProjectsModule.js:156 #, fuzzy #| msgid "accounts" msgid "Not counted in this project" msgstr "účty" -#: /app/src/modules/projects/ProjectsModule.js:170 +#: /app/src/modules/projects/ProjectsModule.js:171 #, fuzzy #| msgid "Category" msgid "Directly in {category}" msgstr "Kategorie" -#: /app/src/modules/projects/ProjectsModule.js:173 +#: /app/src/modules/projects/ProjectsModule.js:174 msgid "Unallocated" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:178 +#: /app/src/modules/projects/ProjectsModule.js:179 #, fuzzy #| msgid "categories" msgid "No subcategories or amounts yet" msgstr "kategorie" -#: /app/src/modules/projects/ProjectsModule.js:196 +#: /app/src/modules/projects/ProjectsModule.js:197 msgid "" "Delete the project \"{name}\"? Its categories and transactions are not " "changed." msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:204 +#: /app/src/modules/projects/ProjectsModule.js:205 #, fuzzy #| msgid "Balance" msgid "Project deleted" msgstr "Zůstatek" -#: /app/src/modules/projects/ProjectsModule.js:257 +#: /app/src/modules/projects/ProjectsModule.js:258 msgid "Edit Project" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:257 +#: /app/src/modules/projects/ProjectsModule.js:258 #: /app/templates/index.php:3013 /app/templates/index.php:3020 #: /app/templates/index.php:5154 msgid "New Project" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:265 +#: /app/src/modules/projects/ProjectsModule.js:266 msgid "Choose a category…" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:300 +#: /app/src/modules/projects/ProjectsModule.js:301 #, fuzzy #| msgid "Amount" msgid "No amount" msgstr "Množství" -#: /app/src/modules/projects/ProjectsModule.js:312 +#: /app/src/modules/projects/ProjectsModule.js:313 msgid "The subcategory amounts are {amount} over the total" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:313 +#: /app/src/modules/projects/ProjectsModule.js:314 #, fuzzy #| msgid "accounts" msgid "Unallocated: {amount}" msgstr "účty" -#: /app/src/modules/projects/ProjectsModule.js:333 +#: /app/src/modules/projects/ProjectsModule.js:334 msgid "Choose a category for the project" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:356 +#: /app/src/modules/projects/ProjectsModule.js:357 #, fuzzy #| msgid "Balance" msgid "Project saved" msgstr "Zůstatek" -#: /app/src/modules/projects/ProjectsModule.js:356 +#: /app/src/modules/projects/ProjectsModule.js:357 #, fuzzy #| msgid "Balance" msgid "Project created" @@ -9717,98 +10048,110 @@ msgstr "" msgid "No data for the selected period." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1105 +#: /app/src/modules/reports/ReportsModule.js:1106 msgid "" "You have accounts in more than one currency. Amounts are summed in their " "original currency without conversion." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1160 +#: /app/src/modules/reports/ReportsModule.js:1161 msgid "Net Cash Flow" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1301 /app/templates/index.php:3187 +#: /app/src/modules/reports/ReportsModule.js:1302 /app/templates/index.php:3187 #: /app/templates/index.php:3503 msgid "Money Flow" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1427 +#: /app/src/modules/reports/ReportsModule.js:1428 msgid "Failed to generate comparison" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1461 +#: /app/src/modules/reports/ReportsModule.js:1462 msgid "YTD" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1486 +#: /app/src/modules/reports/ReportsModule.js:1487 msgid "{monthName} - Year over Year Comparison" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1487 +#: /app/src/modules/reports/ReportsModule.js:1488 msgid "Annual Income & Expenses" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1564 +#: /app/src/modules/reports/ReportsModule.js:1565 msgid "Change" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1608 +#: /app/src/modules/reports/ReportsModule.js:1609 msgid "Report exported as {format}" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1811 +#: /app/src/modules/reports/ReportsModule.js:1812 msgid "Failed to generate bills calendar" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1839 +#: /app/src/modules/reports/ReportsModule.js:1840 msgid "Total Bills" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1911 +#: /app/src/modules/reports/ReportsModule.js:1909 +#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 +#: /app/src/utils/billDates.js:35 /app/templates/index.php:2690 +msgid "Paid" +msgstr "" + +#: /app/src/modules/reports/ReportsModule.js:1912 msgid "No payment recorded - the bill has moved on from this date" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1914 +#: /app/src/modules/reports/ReportsModule.js:1915 msgid "Due" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1919 -#: /app/src/modules/transactions/TransactionsModule.js:1988 +#: /app/src/modules/reports/ReportsModule.js:1920 +#: /app/src/modules/transactions/TransactionsModule.js:2016 #: /app/src/modules/transactions/transactionRow.js:55 -#: /app/src/modules/transfers/TransfersModule.js:473 +#: /app/src/modules/transfers/TransfersModule.js:447 #: /app/templates/index.php:5812 /app/templates/index.php:5818 msgid "Transfer" msgstr "Převod" -#: /app/src/modules/reports/ReportsModule.js:1937 +#: /app/src/modules/reports/ReportsModule.js:1938 msgid "Monthly Totals" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1956 +#: /app/src/modules/reports/ReportsModule.js:1962 +msgid "" +"The projected balance is only shown for your own accounts, not ones shared " +"with you." +msgstr "" + +#: /app/src/modules/reports/ReportsModule.js:1964 msgid "" "Pick an account above to see its projected balance for the rest of the year." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1959 +#: /app/src/modules/reports/ReportsModule.js:1967 msgid "The projected balance is only shown for the current year." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1977 +#: /app/src/modules/reports/ReportsModule.js:1985 msgid "Bills {bills}, transfers in {transfers}, income {income}" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1986 +#: /app/src/modules/reports/ReportsModule.js:1994 msgid "" "{account} today: {balance}. Each month carries on from the month before, " "less the bills and plus the transfers and recurring income still due." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1991 +#: /app/src/modules/reports/ReportsModule.js:1999 msgid "Lowest: {balance} in {month}." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:2027 -#: /app/src/modules/reports/ReportsModule.js:2029 +#: /app/src/modules/reports/ReportsModule.js:2035 +#: /app/src/modules/reports/ReportsModule.js:2037 msgid "%n bill" msgid_plural "%n bills" msgstr[0] "" @@ -9918,104 +10261,122 @@ msgid "NOT" msgstr "" #: /app/src/modules/rules/RulesModule.js:242 -#: /app/src/modules/rules/RulesModule.js:271 +#: /app/src/modules/rules/RulesModule.js:286 msgid "Category #{id}" msgstr "" #: /app/src/modules/rules/RulesModule.js:247 -#: /app/src/modules/rules/RulesModule.js:277 +#: /app/src/modules/rules/RulesModule.js:292 msgid "Vendor:" msgstr "" #: /app/src/modules/rules/RulesModule.js:250 -#: /app/src/modules/rules/RulesModule.js:281 +#, fuzzy +#| msgid "Description" +msgid "Set description" +msgstr "Popis" + +#: /app/src/modules/rules/RulesModule.js:253 +#: /app/src/modules/rules/RulesModule.js:296 msgid "Set notes" msgstr "" -#: /app/src/modules/rules/RulesModule.js:253 +#: /app/src/modules/rules/RulesModule.js:256 msgid "Set tags" msgstr "" -#: /app/src/modules/rules/RulesModule.js:256 +#: /app/src/modules/rules/RulesModule.js:259 #, fuzzy #| msgid "Type" msgid "Type:" msgstr "Typ" -#: /app/src/modules/rules/RulesModule.js:259 +#: /app/src/modules/rules/RulesModule.js:262 #, fuzzy #| msgid "accounts" msgid "Move account" msgstr "účty" -#: /app/src/modules/rules/RulesModule.js:262 +#: /app/src/modules/rules/RulesModule.js:265 msgid "Set reference" msgstr "" -#: /app/src/modules/rules/RulesModule.js:285 +#: /app/src/modules/rules/RulesModule.js:270 +msgid "Regular expression: {source} → {target}" +msgstr "" + +#: /app/src/modules/rules/RulesModule.js:274 +msgid "Case change on {field}" +msgstr "" + +#: /app/src/modules/rules/RulesModule.js:277 +msgid "Replace in {field}" +msgstr "" + +#: /app/src/modules/rules/RulesModule.js:300 msgid "No actions" msgstr "" -#: /app/src/modules/rules/RulesModule.js:413 -#: /app/src/modules/rules/RulesModule.js:432 +#: /app/src/modules/rules/RulesModule.js:428 +#: /app/src/modules/rules/RulesModule.js:447 msgid "rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:413 -#: /app/src/modules/rules/RulesModule.js:432 +#: /app/src/modules/rules/RulesModule.js:428 +#: /app/src/modules/rules/RulesModule.js:447 msgid "rules" msgstr "" -#: /app/src/modules/rules/RulesModule.js:413 +#: /app/src/modules/rules/RulesModule.js:428 #, fuzzy #| msgid "Interactive" msgid "active" msgstr "Interaktivní" -#: /app/src/modules/rules/RulesModule.js:414 +#: /app/src/modules/rules/RulesModule.js:429 msgid "Run all rules in this group" msgstr "" -#: /app/src/modules/rules/RulesModule.js:414 +#: /app/src/modules/rules/RulesModule.js:429 msgid "Run Group" msgstr "" -#: /app/src/modules/rules/RulesModule.js:431 +#: /app/src/modules/rules/RulesModule.js:446 msgid "Ungrouped" msgstr "" -#: /app/src/modules/rules/RulesModule.js:722 +#: /app/src/modules/rules/RulesModule.js:737 msgid "This rule has been upgraded to the new format with advanced features" msgstr "" -#: /app/src/modules/rules/RulesModule.js:725 +#: /app/src/modules/rules/RulesModule.js:740 msgid "Failed to upgrade rule format" msgstr "" -#: /app/src/modules/rules/RulesModule.js:741 +#: /app/src/modules/rules/RulesModule.js:756 msgid "Edit Rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:769 /app/templates/index.php:2756 +#: /app/src/modules/rules/RulesModule.js:784 /app/templates/index.php:2756 msgid "Add Rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:874 -#: /app/src/modules/rules/RulesModule.js:1225 +#: /app/src/modules/rules/RulesModule.js:889 +#: /app/src/modules/rules/RulesModule.js:1240 msgid "Error: CriteriaBuilder not initialized" msgstr "" -#: /app/src/modules/rules/RulesModule.js:880 -#: /app/src/modules/rules/RulesModule.js:1064 -#: /app/src/modules/rules/RulesModule.js:1230 +#: /app/src/modules/rules/RulesModule.js:895 +#: /app/src/modules/rules/RulesModule.js:1079 +#: /app/src/modules/rules/RulesModule.js:1245 msgid "Invalid criteria: {errors}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:895 +#: /app/src/modules/rules/RulesModule.js:910 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:508 #: /app/src/modules/sharing/SharingModule.js:32 -#: /app/src/modules/transactions/TransactionsModule.js:1289 -#: /app/src/modules/transactions/TransactionsModule.js:4767 +#: /app/src/modules/transactions/TransactionsModule.js:1315 +#: /app/src/modules/transactions/TransactionsModule.js:4818 #: /app/src/utils/loading.js:33 /app/templates/index.php:902 #: /app/templates/index.php:912 /app/templates/index.php:921 #: /app/templates/index.php:930 /app/templates/index.php:939 @@ -10026,224 +10387,224 @@ msgstr "" msgid "Loading..." msgstr "" -#: /app/src/modules/rules/RulesModule.js:914 +#: /app/src/modules/rules/RulesModule.js:929 msgid "Failed to preview rule: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:918 /app/templates/index.php:6548 +#: /app/src/modules/rules/RulesModule.js:933 /app/templates/index.php:6549 msgid "Preview Matches" msgstr "" -#: /app/src/modules/rules/RulesModule.js:938 -#: /app/src/modules/rules/RulesModule.js:1140 /app/templates/index.php:6521 +#: /app/src/modules/rules/RulesModule.js:953 +#: /app/src/modules/rules/RulesModule.js:1155 /app/templates/index.php:6522 msgid "Current Category" msgstr "" -#: /app/src/modules/rules/RulesModule.js:956 +#: /app/src/modules/rules/RulesModule.js:971 msgid "No matching transactions found" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1002 /app/templates/quick-add.php:160 +#: /app/src/modules/rules/RulesModule.js:1017 /app/templates/quick-add.php:160 msgid "Saving..." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1010 +#: /app/src/modules/rules/RulesModule.js:1025 msgid "Failed to save rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1014 -#: /app/src/modules/rules/RulesModule.js:1680 +#: /app/src/modules/rules/RulesModule.js:1029 +#: /app/src/modules/rules/RulesModule.js:1695 msgid "Running..." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1028 -#: /app/src/modules/rules/RulesModule.js:1695 +#: /app/src/modules/rules/RulesModule.js:1043 +#: /app/src/modules/rules/RulesModule.js:1710 msgid "Rule applied: %n transaction updated" msgid_plural "Rule applied: %n transactions updated" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/rules/RulesModule.js:1034 -#: /app/src/modules/rules/RulesModule.js:1152 -#: /app/src/modules/rules/RulesModule.js:1700 -#: /app/src/modules/rules/RulesModule.js:1739 +#: /app/src/modules/rules/RulesModule.js:1049 +#: /app/src/modules/rules/RulesModule.js:1167 +#: /app/src/modules/rules/RulesModule.js:1715 +#: /app/src/modules/rules/RulesModule.js:1754 msgid "No transactions were updated" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1039 -#: /app/src/modules/rules/RulesModule.js:1704 +#: /app/src/modules/rules/RulesModule.js:1054 +#: /app/src/modules/rules/RulesModule.js:1719 msgid "Failed to run rule: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1042 /app/templates/index.php:6549 +#: /app/src/modules/rules/RulesModule.js:1057 /app/templates/index.php:6550 msgid "Run Rule Now" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1059 +#: /app/src/modules/rules/RulesModule.js:1074 msgid "CriteriaBuilder not initialized" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1071 +#: /app/src/modules/rules/RulesModule.js:1086 msgid "ActionBuilder not initialized" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1076 -#: /app/src/modules/rules/RulesModule.js:1241 +#: /app/src/modules/rules/RulesModule.js:1091 +#: /app/src/modules/rules/RulesModule.js:1256 msgid "Invalid actions: {errors}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1145 +#: /app/src/modules/rules/RulesModule.js:1160 msgid "{count} updated" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1200 +#: /app/src/modules/rules/RulesModule.js:1215 msgid "Rule updated successfully" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1200 +#: /app/src/modules/rules/RulesModule.js:1215 msgid "Rule created successfully" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1209 +#: /app/src/modules/rules/RulesModule.js:1224 msgid "Failed to save rule: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1236 +#: /app/src/modules/rules/RulesModule.js:1251 msgid "Error: ActionBuilder not initialized" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1324 +#: /app/src/modules/rules/RulesModule.js:1339 msgid "You have no rules to export." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1346 +#: /app/src/modules/rules/RulesModule.js:1361 msgid "Exported %n rule" msgid_plural "Exported %n rules" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/rules/RulesModule.js:1372 +#: /app/src/modules/rules/RulesModule.js:1387 msgid "No rules found in that file." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1390 +#: /app/src/modules/rules/RulesModule.js:1405 msgid "" "No rules could be imported. They may reference categories or accounts that " "don't exist here." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1392 +#: /app/src/modules/rules/RulesModule.js:1407 msgid "" "Imported {imported}; {failed} could not be imported (they may reference " "categories or accounts that don't exist here)." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1394 +#: /app/src/modules/rules/RulesModule.js:1409 msgid "Imported %n rule" msgid_plural "Imported %n rules" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/rules/RulesModule.js:1458 +#: /app/src/modules/rules/RulesModule.js:1473 msgid "Invalid JSON: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1462 +#: /app/src/modules/rules/RulesModule.js:1477 msgid "Rule JSON must be a single object." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1509 +#: /app/src/modules/rules/RulesModule.js:1524 msgid "" "This JSON could not be loaded into the builder. Fix the structure, or save " "directly from JSON." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1587 +#: /app/src/modules/rules/RulesModule.js:1602 msgid "Rule JSON copied to clipboard" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1592 +#: /app/src/modules/rules/RulesModule.js:1607 msgid "Could not copy automatically — the text is selected, press Ctrl+C" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1602 +#: /app/src/modules/rules/RulesModule.js:1617 msgid "Failed to load rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1607 +#: /app/src/modules/rules/RulesModule.js:1622 msgid "Are you sure you want to delete this rule?" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1612 +#: /app/src/modules/rules/RulesModule.js:1627 msgid "Rule deleted successfully" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1616 +#: /app/src/modules/rules/RulesModule.js:1631 msgid "Failed to delete rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1644 +#: /app/src/modules/rules/RulesModule.js:1659 msgid "Rule enabled" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1644 +#: /app/src/modules/rules/RulesModule.js:1659 msgid "Rule disabled" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1647 +#: /app/src/modules/rules/RulesModule.js:1662 msgid "Failed to update rule: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1664 +#: /app/src/modules/rules/RulesModule.js:1679 msgid "Run rule \"{name}\" on matching transactions?" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1707 /app/templates/index.php:6638 +#: /app/src/modules/rules/RulesModule.js:1722 /app/templates/index.php:6639 msgid "Run" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1714 +#: /app/src/modules/rules/RulesModule.js:1729 msgid "No active rules in this group" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1718 +#: /app/src/modules/rules/RulesModule.js:1733 msgid "Run {count} active rules in group \"{name}\"?" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1734 +#: /app/src/modules/rules/RulesModule.js:1749 msgid "Group applied: %n transaction updated" msgid_plural "Group applied: %n transactions updated" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/rules/RulesModule.js:1743 +#: /app/src/modules/rules/RulesModule.js:1758 msgid "Failed to run group rules: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1805 +#: /app/src/modules/rules/RulesModule.js:1820 msgid "" "Apply rules to matching transactions? This will modify the selected " "transactions." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1814 +#: /app/src/modules/rules/RulesModule.js:1829 msgid "Applying..." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1832 +#: /app/src/modules/rules/RulesModule.js:1847 msgid "Rules applied: {success} updated, {skipped} skipped, {failed} failed" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1841 +#: /app/src/modules/rules/RulesModule.js:1856 msgid "Failed to apply rules" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1844 /app/templates/index.php:2743 -#: /app/templates/index.php:6617 +#: /app/src/modules/rules/RulesModule.js:1859 /app/templates/index.php:2743 +#: /app/templates/index.php:6618 msgid "Apply Rules" msgstr "" @@ -10253,265 +10614,381 @@ msgid "+ Add Action" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:91 -#: /app/src/modules/rules/components/ActionBuilder.js:124 +#: /app/src/modules/rules/components/ActionBuilder.js:127 msgid "Set Category" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:92 -#: /app/src/modules/rules/components/ActionBuilder.js:125 +#: /app/src/modules/rules/components/ActionBuilder.js:128 msgid "Set Vendor" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:93 -#: /app/src/modules/rules/components/ActionBuilder.js:126 +#: /app/src/modules/rules/components/ActionBuilder.js:129 #, fuzzy #| msgid "Description" msgid "Set Description" msgstr "Popis" #: /app/src/modules/rules/components/ActionBuilder.js:94 -#: /app/src/modules/rules/components/ActionBuilder.js:127 +#: /app/src/modules/rules/components/ActionBuilder.js:130 msgid "Set Notes" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:95 -#: /app/src/modules/rules/components/ActionBuilder.js:128 +#: /app/src/modules/rules/components/ActionBuilder.js:131 msgid "Add Tags" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:96 -#: /app/src/modules/rules/components/ActionBuilder.js:129 +#: /app/src/modules/rules/components/ActionBuilder.js:132 msgid "Set Account" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:97 -#: /app/src/modules/rules/components/ActionBuilder.js:130 +#: /app/src/modules/rules/components/ActionBuilder.js:133 msgid "Set Transaction Type" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:98 -#: /app/src/modules/rules/components/ActionBuilder.js:131 +#: /app/src/modules/rules/components/ActionBuilder.js:134 msgid "Set Reference" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:99 -#: /app/src/modules/rules/components/ActionBuilder.js:132 -msgid "Exclude from Forecast" +#: /app/src/modules/rules/components/ActionBuilder.js:135 +msgid "Regex Replace" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:100 -#: /app/src/modules/rules/components/ActionBuilder.js:133 +#: /app/src/modules/rules/components/ActionBuilder.js:136 +msgid "Change Case" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:101 +#: /app/src/modules/rules/components/ActionBuilder.js:137 +msgid "Replace Text" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:102 +#: /app/src/modules/rules/components/ActionBuilder.js:138 +msgid "Exclude from Forecast" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:103 +#: /app/src/modules/rules/components/ActionBuilder.js:139 msgid "Auto-Link as Transfer" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:104 +#: /app/src/modules/rules/components/ActionBuilder.js:107 msgid "Stop processing after this rule" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:105 +#: /app/src/modules/rules/components/ActionBuilder.js:108 msgid "If checked, no rules with lower priority will run if this rule matches" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:116 +#: /app/src/modules/rules/components/ActionBuilder.js:119 msgid "No actions yet. Use the dropdown below to add actions." msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:146 +#: /app/src/modules/rules/components/ActionBuilder.js:152 msgid "Remove action" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:179 +#: /app/src/modules/rules/components/ActionBuilder.js:191 msgid "Unknown action type" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:187 -#: /app/src/modules/rules/components/ActionBuilder.js:188 -msgid "Category:" -msgstr "" - -#: /app/src/modules/rules/components/ActionBuilder.js:189 -msgid "-- Select Category --" +#: /app/src/modules/rules/components/ActionBuilder.js:199 +#: /app/src/modules/rules/components/CriteriaBuilder.js:187 +msgid "Field" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:194 -#: /app/src/modules/rules/components/ActionBuilder.js:195 -#: /app/src/modules/rules/components/ActionBuilder.js:211 #: /app/src/modules/rules/components/ActionBuilder.js:212 -#: /app/src/modules/rules/components/ActionBuilder.js:228 -#: /app/src/modules/rules/components/ActionBuilder.js:229 -#: /app/src/modules/rules/components/ActionBuilder.js:245 -#: /app/src/modules/rules/components/ActionBuilder.js:246 -#: /app/src/modules/rules/components/ActionBuilder.js:286 -#: /app/src/modules/rules/components/ActionBuilder.js:287 -#: /app/src/modules/rules/components/ActionBuilder.js:342 -#: /app/src/modules/rules/components/ActionBuilder.js:343 -msgid "Behavior:" +msgid "Behavior" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:196 #: /app/src/modules/rules/components/ActionBuilder.js:213 -#: /app/src/modules/rules/components/ActionBuilder.js:230 -#: /app/src/modules/rules/components/ActionBuilder.js:344 +#: /app/src/modules/rules/components/ActionBuilder.js:287 +#: /app/src/modules/rules/components/ActionBuilder.js:304 +#: /app/src/modules/rules/components/ActionBuilder.js:321 +#: /app/src/modules/rules/components/ActionBuilder.js:435 msgid "Always set" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:197 #: /app/src/modules/rules/components/ActionBuilder.js:214 -#: /app/src/modules/rules/components/ActionBuilder.js:231 -#: /app/src/modules/rules/components/ActionBuilder.js:345 +#: /app/src/modules/rules/components/ActionBuilder.js:288 +#: /app/src/modules/rules/components/ActionBuilder.js:305 +#: /app/src/modules/rules/components/ActionBuilder.js:322 +#: /app/src/modules/rules/components/ActionBuilder.js:436 msgid "Only if empty" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:206 -#: /app/src/modules/rules/components/ActionBuilder.js:207 +#: /app/src/modules/rules/components/ActionBuilder.js:218 +#: /app/templates/index.php:6458 +msgid "Pattern" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:219 +msgid "Pattern: /\\d+/" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:220 +#, fuzzy +#| msgid "Monthly" +msgid "Replacement" +msgstr "Měsíčně" + +#: /app/src/modules/rules/components/ActionBuilder.js:221 +msgid "Replacement: e.g., X or $1" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:230 +#: /app/src/modules/rules/components/ActionBuilder.js:231 +#: /app/src/modules/rules/components/ActionBuilder.js:254 +#: /app/src/modules/rules/components/ActionBuilder.js:255 +msgid "Field:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:239 +#: /app/src/modules/rules/components/ActionBuilder.js:240 +msgid "Mode:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:241 +msgid "Uppercase" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:242 +msgid "Lowercase" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:243 +msgid "Title Case" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:244 +msgid "Sentence case" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:261 +#: /app/src/modules/rules/components/ActionBuilder.js:262 +msgid "Find:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:263 +msgid "e.g., ACME" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:266 +#: /app/src/modules/rules/components/ActionBuilder.js:267 +msgid "Replace:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:268 +msgid "e.g., Amazon" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:278 +#: /app/src/modules/rules/components/ActionBuilder.js:279 +msgid "Category:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:280 +msgid "-- Select Category --" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:285 +#: /app/src/modules/rules/components/ActionBuilder.js:286 +#: /app/src/modules/rules/components/ActionBuilder.js:302 +#: /app/src/modules/rules/components/ActionBuilder.js:303 +#: /app/src/modules/rules/components/ActionBuilder.js:319 +#: /app/src/modules/rules/components/ActionBuilder.js:320 +#: /app/src/modules/rules/components/ActionBuilder.js:336 +#: /app/src/modules/rules/components/ActionBuilder.js:337 +#: /app/src/modules/rules/components/ActionBuilder.js:377 +#: /app/src/modules/rules/components/ActionBuilder.js:378 +#: /app/src/modules/rules/components/ActionBuilder.js:433 +#: /app/src/modules/rules/components/ActionBuilder.js:434 +msgid "Behavior:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:297 +#: /app/src/modules/rules/components/ActionBuilder.js:298 msgid "Vendor Name:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:208 +#: /app/src/modules/rules/components/ActionBuilder.js:299 msgid "e.g., Amazon, Starbucks" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:223 -#: /app/src/modules/rules/components/ActionBuilder.js:224 -#: /app/src/modules/transactions/TransactionsModule.js:3726 -#: /app/templates/index.php:7103 +#: /app/src/modules/rules/components/ActionBuilder.js:314 +#: /app/src/modules/rules/components/ActionBuilder.js:315 +#: /app/src/modules/transactions/TransactionsModule.js:3777 +#: /app/templates/index.php:7104 msgid "Description:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:225 +#: /app/src/modules/rules/components/ActionBuilder.js:316 msgid "e.g., Grocery purchase, Salary" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:240 -#: /app/src/modules/rules/components/ActionBuilder.js:241 +#: /app/src/modules/rules/components/ActionBuilder.js:331 +#: /app/src/modules/rules/components/ActionBuilder.js:332 msgid "Notes Text:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:242 +#: /app/src/modules/rules/components/ActionBuilder.js:333 msgid "Text to add to transaction notes" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:247 +#: /app/src/modules/rules/components/ActionBuilder.js:338 msgid "Replace notes" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:248 +#: /app/src/modules/rules/components/ActionBuilder.js:339 msgid "Append to notes" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:253 -#: /app/src/modules/rules/components/ActionBuilder.js:254 +#: /app/src/modules/rules/components/ActionBuilder.js:344 +#: /app/src/modules/rules/components/ActionBuilder.js:345 msgid "Separator:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:255 +#: /app/src/modules/rules/components/ActionBuilder.js:346 msgid "e.g., | or -" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:268 +#: /app/src/modules/rules/components/ActionBuilder.js:359 msgid "Tags to Add:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:270 +#: /app/src/modules/rules/components/ActionBuilder.js:361 msgid "No tag sets available" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:288 +#: /app/src/modules/rules/components/ActionBuilder.js:379 msgid "Merge with existing tags" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:289 +#: /app/src/modules/rules/components/ActionBuilder.js:380 msgid "Replace all tags" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:300 -#: /app/src/modules/rules/components/ActionBuilder.js:301 +#: /app/src/modules/rules/components/ActionBuilder.js:391 +#: /app/src/modules/rules/components/ActionBuilder.js:392 msgid "Account:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:302 +#: /app/src/modules/rules/components/ActionBuilder.js:393 msgid "-- Select Account --" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:309 +#: /app/src/modules/rules/components/ActionBuilder.js:400 msgid "This will reassign the transaction to a different account" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:317 +#: /app/src/modules/rules/components/ActionBuilder.js:408 msgid "Transaction Type:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:337 -#: /app/src/modules/rules/components/ActionBuilder.js:338 +#: /app/src/modules/rules/components/ActionBuilder.js:428 +#: /app/src/modules/rules/components/ActionBuilder.js:429 msgid "Reference Value:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:339 +#: /app/src/modules/rules/components/ActionBuilder.js:430 msgid "e.g., CHECK-1234, AUTO" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:355 -#: /app/src/modules/rules/components/ActionBuilder.js:356 +#: /app/src/modules/rules/components/ActionBuilder.js:446 +#: /app/src/modules/rules/components/ActionBuilder.js:447 msgid "Forecast:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:357 +#: /app/src/modules/rules/components/ActionBuilder.js:448 msgid "Exclude from forecast" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:358 +#: /app/src/modules/rules/components/ActionBuilder.js:449 msgid "Include in forecast" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:362 +#: /app/src/modules/rules/components/ActionBuilder.js:453 msgid "" "Extraordinary one-time amounts are left out of the forecast averages (they " "still affect your real balance)." msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:370 +#: /app/src/modules/rules/components/ActionBuilder.js:461 msgid "" "After import, automatically find and link a matching transaction from " "another account as a transfer pair. Matches by amount, opposite type, and " "date proximity (within 3 days)." msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:529 +#: /app/src/modules/rules/components/ActionBuilder.js:649 msgid "Action {number}: Missing type" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:536 +#: /app/src/modules/rules/components/ActionBuilder.js:656 msgid "Action {number}: Category not selected" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:541 +#: /app/src/modules/rules/components/ActionBuilder.js:661 msgid "Action {number}: Vendor name is empty" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:546 +#: /app/src/modules/rules/components/ActionBuilder.js:666 msgid "Action {number}: Description is empty" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:551 +#: /app/src/modules/rules/components/ActionBuilder.js:671 msgid "Action {number}: Notes text is empty" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:556 +#: /app/src/modules/rules/components/ActionBuilder.js:676 msgid "Action {number}: No tags selected" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:561 +#: /app/src/modules/rules/components/ActionBuilder.js:681 msgid "Action {number}: Account not selected" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:566 +#: /app/src/modules/rules/components/ActionBuilder.js:686 msgid "Action {number}: Invalid transaction type" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:571 +#: /app/src/modules/rules/components/ActionBuilder.js:691 msgid "Action {number}: Reference value is empty" msgstr "" +#: /app/src/modules/rules/components/ActionBuilder.js:696 +msgid "Action {number}: Regex field is invalid" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:699 +msgid "Action {number}: Regex target field is invalid" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:702 +msgid "Action {number}: Regex pattern is empty" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:707 +#: /app/src/modules/rules/components/ActionBuilder.js:715 +msgid "Action {number}: Text field is invalid" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:710 +msgid "Action {number}: Case mode is invalid" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:718 +msgid "Action {number}: Replace text target is empty" +msgstr "" + #: /app/src/modules/rules/components/CriteriaBuilder.js:155 msgid "How conditions combine" msgstr "" @@ -10536,10 +11013,6 @@ msgstr "" msgid "+ Add Group" msgstr "" -#: /app/src/modules/rules/components/CriteriaBuilder.js:187 -msgid "Field" -msgstr "" - #: /app/src/modules/rules/components/CriteriaBuilder.js:191 #: /app/templates/index.php:2432 msgid "Transaction Type" @@ -10555,7 +11028,7 @@ msgid "Import Source" msgstr "" #: /app/src/modules/rules/components/CriteriaBuilder.js:199 -#: /app/templates/index.php:6445 +#: /app/templates/index.php:6446 msgid "Match Type" msgstr "" @@ -10655,16 +11128,12 @@ msgstr "" msgid "Condition at {path} has no pattern value" msgstr "" -#: /app/src/modules/rules/components/CriteriaBuilder.js:546 -msgid "Condition at {path} has invalid regex pattern: {error}" -msgstr "" - -#: /app/src/modules/rules/components/CriteriaBuilder.js:557 +#: /app/src/modules/rules/components/CriteriaBuilder.js:551 msgid "" "Condition at {path} 'between' pattern must have 'min' and 'max' properties" msgstr "" -#: /app/src/modules/rules/components/CriteriaBuilder.js:560 +#: /app/src/modules/rules/components/CriteriaBuilder.js:554 msgid "Condition at {path} 'between' pattern must be valid JSON with min/max" msgstr "" @@ -10673,92 +11142,92 @@ msgstr "" msgid "Failed to load savings goals" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:104 +#: /app/src/modules/savings/SavingsModule.js:106 msgid "Target date passed" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:106 +#: /app/src/modules/savings/SavingsModule.js:108 msgid "Target date: Today" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:108 +#: /app/src/modules/savings/SavingsModule.js:110 msgid "%n day left" msgid_plural "%n days left" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/savings/SavingsModule.js:110 +#: /app/src/modules/savings/SavingsModule.js:112 msgid "Target: {date}" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:116 +#: /app/src/modules/savings/SavingsModule.js:118 msgid "Goal reached!" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:118 +#: /app/src/modules/savings/SavingsModule.js:120 msgid "Auto-tracked" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:120 +#: /app/src/modules/savings/SavingsModule.js:122 msgid "+ Add money" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:154 +#: /app/src/modules/savings/SavingsModule.js:156 msgid "of {amount}" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:250 +#: /app/src/modules/savings/SavingsModule.js:252 msgid "Auto-calculated from tag" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:266 /app/templates/index.php:5237 +#: /app/src/modules/savings/SavingsModule.js:268 /app/templates/index.php:5237 msgid "No linked account" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:288 /app/templates/index.php:5245 +#: /app/src/modules/savings/SavingsModule.js:290 /app/templates/index.php:5245 msgid "No linked tag" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:347 +#: /app/src/modules/savings/SavingsModule.js:349 msgid "Edit Savings Goal" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:347 /app/templates/index.php:5202 +#: /app/src/modules/savings/SavingsModule.js:349 /app/templates/index.php:5202 msgid "Add Savings Goal" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:423 -#: /app/src/modules/savings/SavingsModule.js:437 +#: /app/src/modules/savings/SavingsModule.js:425 +#: /app/src/modules/savings/SavingsModule.js:439 msgid "Failed to save goal" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:433 +#: /app/src/modules/savings/SavingsModule.js:435 msgid "Goal updated" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:433 +#: /app/src/modules/savings/SavingsModule.js:435 msgid "Goal created" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:449 +#: /app/src/modules/savings/SavingsModule.js:451 msgid "Are you sure you want to delete this savings goal?" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:456 +#: /app/src/modules/savings/SavingsModule.js:458 msgid "Goal deleted" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:470 -#: /app/src/modules/savings/SavingsModule.js:496 +#: /app/src/modules/savings/SavingsModule.js:472 +#: /app/src/modules/savings/SavingsModule.js:498 msgid "This goal is auto-tracked via a tag" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:510 +#: /app/src/modules/savings/SavingsModule.js:512 msgid "Added {amount} to goal" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:514 +#: /app/src/modules/savings/SavingsModule.js:516 msgid "Failed to add money to goal" msgstr "" @@ -10907,7 +11376,7 @@ msgid "Edit Contact" msgstr "" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:268 -#: /app/templates/index.php:4202 /app/templates/index.php:7221 +#: /app/templates/index.php:4202 /app/templates/index.php:7222 msgid "Add Contact" msgstr "" @@ -10938,7 +11407,7 @@ msgid "Failed to load contact details" msgstr "" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:433 -#: /app/templates/index.php:7371 +#: /app/templates/index.php:7372 msgid "No shared expenses" msgstr "" @@ -10955,10 +11424,15 @@ msgid "Open" msgstr "" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:468 -#: /app/templates/index.php:7377 +#: /app/templates/index.php:7378 msgid "No settlements yet" msgstr "" +#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 +#: /app/src/utils/incomeStatus.js:54 /app/templates/index.php:2888 +msgid "Received" +msgstr "" + #: /app/src/modules/shared-expenses/SharedExpensesModule.js:518 msgid "No unsettled expenses" msgstr "" @@ -11143,7 +11617,7 @@ msgid "Budgets shared with you by other users." msgstr "" #: /app/src/modules/sharing/SharingModule.js:155 -#: /app/src/modules/transactions/TransactionsModule.js:1616 +#: /app/src/modules/transactions/TransactionsModule.js:1642 msgid "Leave" msgstr "" @@ -11151,86 +11625,100 @@ msgstr "" msgid "Failed to load configuration" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:270 /app/templates/index.php:2831 +#: /app/src/modules/sharing/SharingModule.js:270 +msgid "Read & Write, plus deleting them." +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:273 +msgid "" +"Read & Write, plus the type, parent, subcategories, budget and report " +"settings. Only you can delete." +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:275 /app/templates/index.php:2831 msgid "Recurring Income" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:273 /app/templates/index.php:4769 +#: /app/src/modules/sharing/SharingModule.js:278 /app/templates/index.php:4769 msgid "Import Rules" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:289 +#: /app/src/modules/sharing/SharingModule.js:294 msgid "" "Automatically share new items of this type at the permission selected here" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:291 +#: /app/src/modules/sharing/SharingModule.js:296 msgid "Auto-share new" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:293 -#: /app/src/modules/sharing/SharingModule.js:339 /app/templates/index.php:1922 +#: /app/src/modules/sharing/SharingModule.js:298 +#: /app/src/modules/sharing/SharingModule.js:345 /app/templates/index.php:1922 msgid "Select All" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:295 +#: /app/src/modules/sharing/SharingModule.js:300 msgid "Read only" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:296 +#: /app/src/modules/sharing/SharingModule.js:301 msgid "Read & Write" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:321 +#: /app/src/modules/sharing/SharingModule.js:302 +msgid "Full control" +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:327 msgid "Save Configuration" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:339 -#: /app/src/modules/transactions/TransactionsModule.js:5212 +#: /app/src/modules/sharing/SharingModule.js:345 +#: /app/src/modules/transactions/TransactionsModule.js:5263 msgid "Deselect All" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:387 +#: /app/src/modules/sharing/SharingModule.js:393 msgid "Failed to save some sections: {types}" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:389 +#: /app/src/modules/sharing/SharingModule.js:395 msgid "Share configuration saved" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:396 +#: /app/src/modules/sharing/SharingModule.js:402 msgid "Please enter a username" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:402 +#: /app/src/modules/sharing/SharingModule.js:408 msgid "Invitation sent to {user}" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:404 +#: /app/src/modules/sharing/SharingModule.js:410 msgid "Failed to share budget" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:410 +#: /app/src/modules/sharing/SharingModule.js:416 msgid "Share accepted — reloading budget data" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:419 +#: /app/src/modules/sharing/SharingModule.js:425 msgid "Share declined" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:425 +#: /app/src/modules/sharing/SharingModule.js:431 msgid "Are you sure? The user will lose access to your budget." msgstr "" -#: /app/src/modules/sharing/SharingModule.js:428 +#: /app/src/modules/sharing/SharingModule.js:434 msgid "Share revoked" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:435 +#: /app/src/modules/sharing/SharingModule.js:441 msgid "Are you sure you want to leave this shared budget?" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:438 +#: /app/src/modules/sharing/SharingModule.js:444 msgid "Left shared budget — reloading your data" msgstr "" @@ -11257,18 +11745,18 @@ msgstr "" #: /app/src/modules/tagsets/TagSetsModule.js:82 #: /app/src/modules/tagsets/TagSetsModule.js:386 #: /app/src/modules/tagsets/TagSetsModule.js:717 /app/templates/index.php:5078 -#: /app/templates/index.php:6953 +#: /app/templates/index.php:6954 msgid "Hidden" msgstr "" -#: /app/src/modules/tagsets/TagSetsModule.js:180 /app/templates/index.php:6933 +#: /app/src/modules/tagsets/TagSetsModule.js:180 /app/templates/index.php:6934 msgid "Edit Tag" msgstr "" #: /app/src/modules/tagsets/TagSetsModule.js:188 #: /app/src/modules/tagsets/TagSetsModule.js:726 /app/templates/index.php:2094 -#: /app/templates/index.php:5060 /app/templates/index.php:6902 -#: /app/templates/index.php:6923 +#: /app/templates/index.php:5060 /app/templates/index.php:6903 +#: /app/templates/index.php:6924 msgid "Add Tag" msgstr "" @@ -11308,8 +11796,8 @@ msgstr "" msgid "Tag Sets" msgstr "" -#: /app/src/modules/tagsets/TagSetsModule.js:356 /app/templates/index.php:6872 -#: /app/templates/index.php:6892 +#: /app/src/modules/tagsets/TagSetsModule.js:356 /app/templates/index.php:6873 +#: /app/templates/index.php:6893 msgid "Add Tag Set" msgstr "" @@ -11393,7 +11881,7 @@ msgstr "" msgid "No tag sets yet." msgstr "" -#: /app/src/modules/tagsets/TagSetsModule.js:729 /app/templates/index.php:6972 +#: /app/src/modules/tagsets/TagSetsModule.js:729 /app/templates/index.php:6973 msgid "Edit Tag Set" msgstr "" @@ -11417,41 +11905,47 @@ msgstr "" msgid "Tag updated successfully" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:480 +#: /app/src/modules/transactions/TransactionsModule.js:365 +msgid "" +"This transaction is scheduled, so it is not on a statement yet and cannot be " +"ticked." +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:502 msgid "{category} + {count} subcategory" msgid_plural "{category} + {count} subcategories" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:937 +#: /app/src/modules/transactions/TransactionsModule.js:963 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to select all matching transactions" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/transactions/TransactionsModule.js:984 +#: /app/src/modules/transactions/TransactionsModule.js:1010 msgid "All {total} transactions matching the current filter are selected." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:985 +#: /app/src/modules/transactions/TransactionsModule.js:1011 msgid "Clear selection" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1000 +#: /app/src/modules/transactions/TransactionsModule.js:1026 msgid "All %n transaction on this page is selected." msgid_plural "All %n transactions on this page are selected." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1001 +#: /app/src/modules/transactions/TransactionsModule.js:1027 #, fuzzy #| msgid "Uncategorized" msgid "Select all {total} matching transactions" msgstr "Nezařazeno" -#: /app/src/modules/transactions/TransactionsModule.js:1061 +#: /app/src/modules/transactions/TransactionsModule.js:1087 msgid "" "Are you sure you want to delete %n transaction? This action cannot be undone." msgid_plural "" @@ -11461,7 +11955,7 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1064 +#: /app/src/modules/transactions/TransactionsModule.js:1090 msgid "" "%n of these was auto-generated from bill payments. Deleting real payments " "will cause your balance to diverge from your bank statement." @@ -11472,106 +11966,106 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1080 +#: /app/src/modules/transactions/TransactionsModule.js:1106 msgid "Successfully deleted %n transaction" msgid_plural "Successfully deleted %n transactions" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1088 -#: /app/src/modules/transactions/TransactionsModule.js:5347 +#: /app/src/modules/transactions/TransactionsModule.js:1114 +#: /app/src/modules/transactions/TransactionsModule.js:5398 msgid "Failed to delete %n transaction" msgid_plural "Failed to delete %n transactions" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1101 +#: /app/src/modules/transactions/TransactionsModule.js:1127 msgid "Are you sure you want to mark %n transaction as reconciled?" msgid_plural "Are you sure you want to mark %n transactions as reconciled?" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1115 +#: /app/src/modules/transactions/TransactionsModule.js:1141 msgid "Successfully reconciled %n transaction" msgid_plural "Successfully reconciled %n transactions" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1123 +#: /app/src/modules/transactions/TransactionsModule.js:1149 msgid "Failed to reconcile %n transaction" msgid_plural "Failed to reconcile %n transactions" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1127 +#: /app/src/modules/transactions/TransactionsModule.js:1153 msgid "Failed to reconcile transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1136 +#: /app/src/modules/transactions/TransactionsModule.js:1162 msgid "Are you sure you want to mark %n transaction as unreconciled?" msgid_plural "Are you sure you want to mark %n transactions as unreconciled?" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1150 +#: /app/src/modules/transactions/TransactionsModule.js:1176 msgid "Successfully unreconciled %n transaction" msgid_plural "Successfully unreconciled %n transactions" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1158 +#: /app/src/modules/transactions/TransactionsModule.js:1184 msgid "Failed to unreconcile %n transaction" msgid_plural "Failed to unreconcile %n transactions" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1162 +#: /app/src/modules/transactions/TransactionsModule.js:1188 msgid "Failed to unreconcile transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1182 -#: /app/templates/index.php:7161 +#: /app/src/modules/transactions/TransactionsModule.js:1208 +#: /app/templates/index.php:7162 msgid "Don't change" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1214 +#: /app/src/modules/transactions/TransactionsModule.js:1240 msgid "Please fill in at least one field to update" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1218 +#: /app/src/modules/transactions/TransactionsModule.js:1244 msgid "Are you sure you want to update %n transaction?" msgid_plural "Are you sure you want to update %n transactions?" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1232 +#: /app/src/modules/transactions/TransactionsModule.js:1258 msgid "Successfully updated %n transaction" msgid_plural "Successfully updated %n transactions" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1243 +#: /app/src/modules/transactions/TransactionsModule.js:1269 msgid "Failed to update %n transaction" msgid_plural "Failed to update %n transactions" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1247 +#: /app/src/modules/transactions/TransactionsModule.js:1273 msgid "Failed to update transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1283 +#: /app/src/modules/transactions/TransactionsModule.js:1309 msgid "" "Add or remove tags on %n selected transaction. Tags you leave unchecked are " "not touched." @@ -11582,11 +12076,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1349 +#: /app/src/modules/transactions/TransactionsModule.js:1375 msgid "applies to {count} of {total}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1365 +#: /app/src/modules/transactions/TransactionsModule.js:1391 msgid "%n selected transaction is in a category these tags do not cover." msgid_plural "" "%n selected transactions are in categories these tags do not cover." @@ -11594,18 +12088,18 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1397 +#: /app/src/modules/transactions/TransactionsModule.js:1423 msgid "Please select at least one tag to add or remove" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1411 -#: /app/src/modules/transactions/TransactionsModule.js:1435 +#: /app/src/modules/transactions/TransactionsModule.js:1437 +#: /app/src/modules/transactions/TransactionsModule.js:1461 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to update tags" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/transactions/TransactionsModule.js:1431 +#: /app/src/modules/transactions/TransactionsModule.js:1457 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to update tags on %n transaction" @@ -11614,7 +12108,7 @@ msgstr[0] "Nepodařilo se získat účty" msgstr[1] "Nepodařilo se získat účty" msgstr[2] "Nepodařilo se získat účty" -#: /app/src/modules/transactions/TransactionsModule.js:1449 +#: /app/src/modules/transactions/TransactionsModule.js:1475 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Updated tags on %n transaction" @@ -11623,46 +12117,46 @@ msgstr[0] "Nepodařilo se získat účty" msgstr[1] "Nepodařilo se získat účty" msgstr[2] "Nepodařilo se získat účty" -#: /app/src/modules/transactions/TransactionsModule.js:1457 +#: /app/src/modules/transactions/TransactionsModule.js:1483 msgid "{tag} applied to {count} of them" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1490 +#: /app/src/modules/transactions/TransactionsModule.js:1516 msgid "Server error ({status}) — check the Nextcloud logs" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1501 +#: /app/src/modules/transactions/TransactionsModule.js:1527 msgid "Please fill in all reconciliation fields" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1514 +#: /app/src/modules/transactions/TransactionsModule.js:1540 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to start reconciliation" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/transactions/TransactionsModule.js:1518 +#: /app/src/modules/transactions/TransactionsModule.js:1544 msgid "A reconciliation is already in progress for this account. Resume it?" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1527 +#: /app/src/modules/transactions/TransactionsModule.js:1553 msgid "Failed to start reconciliation: {message}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1568 +#: /app/src/modules/transactions/TransactionsModule.js:1594 msgid "Reconciliation started — tick the transactions on your statement" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1596 -#: /app/src/modules/transfers/TransfersModule.js:492 +#: /app/src/modules/transactions/TransactionsModule.js:1622 +#: /app/src/modules/transfers/TransfersModule.js:466 msgid "Statement balance" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1600 +#: /app/src/modules/transactions/TransactionsModule.js:1626 msgid "Starting balance" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1601 +#: /app/src/modules/transactions/TransactionsModule.js:1627 msgid "" "Where the account stood before this statement: the balance at your last " "reconciliation, or — the first time — the account’s opening balance plus " @@ -11670,90 +12164,90 @@ msgid "" "opening balance." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1604 +#: /app/src/modules/transactions/TransactionsModule.js:1630 msgid "Ticked ({count})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1608 +#: /app/src/modules/transactions/TransactionsModule.js:1634 msgid "Difference" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1613 +#: /app/src/modules/transactions/TransactionsModule.js:1639 msgid "Finish" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1614 +#: /app/src/modules/transactions/TransactionsModule.js:1640 msgid "Tick %n transaction up to {date}" msgid_plural "Tick all %n transactions up to {date}" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1615 +#: /app/src/modules/transactions/TransactionsModule.js:1641 msgid "Create {amount} adjustment" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1616 +#: /app/src/modules/transactions/TransactionsModule.js:1642 msgid "Keep the session and come back later" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1617 +#: /app/src/modules/transactions/TransactionsModule.js:1643 #, fuzzy #| msgid "Cancel" msgid "Cancel session" msgstr "Zrušit" -#: /app/src/modules/transactions/TransactionsModule.js:1646 +#: /app/src/modules/transactions/TransactionsModule.js:1672 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to tick transactions" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/transactions/TransactionsModule.js:1656 +#: /app/src/modules/transactions/TransactionsModule.js:1682 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to tick transactions: {message}" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/transactions/TransactionsModule.js:1707 +#: /app/src/modules/transactions/TransactionsModule.js:1733 msgid "Failed to update reconciliation" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1718 +#: /app/src/modules/transactions/TransactionsModule.js:1744 msgid "Failed to update reconciliation: {message}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1764 +#: /app/src/modules/transactions/TransactionsModule.js:1790 msgid "A reconciliation is in progress for this account (statement of {date})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1765 +#: /app/src/modules/transactions/TransactionsModule.js:1791 msgid "Resume" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1811 +#: /app/src/modules/transactions/TransactionsModule.js:1837 msgid "" "Cancel this reconciliation? Ticked transactions will be released (nothing is " "marked reconciled)." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1819 +#: /app/src/modules/transactions/TransactionsModule.js:1845 msgid "Failed to cancel" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1822 +#: /app/src/modules/transactions/TransactionsModule.js:1848 msgid "Reconciliation cancelled" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1824 +#: /app/src/modules/transactions/TransactionsModule.js:1850 msgid "Failed to cancel reconciliation: {message}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1846 +#: /app/src/modules/transactions/TransactionsModule.js:1872 msgid "Reconciliation completed — {count} transactions marked as reconciled" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1849 +#: /app/src/modules/transactions/TransactionsModule.js:1875 msgid "%n older uncleared transaction was not ticked and remains unreconciled" msgid_plural "" "%n older uncleared transactions were not ticked and remain unreconciled" @@ -11761,513 +12255,531 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:1854 +#: /app/src/modules/transactions/TransactionsModule.js:1880 msgid "Failed to complete reconciliation: {error}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1871 +#: /app/src/modules/transactions/TransactionsModule.js:1899 msgid "Reconciliation Adjustment" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1872 +#: /app/src/modules/transactions/TransactionsModule.js:1900 msgid "Adjustment to match statement balance of {amount}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1874 +#: /app/src/modules/transactions/TransactionsModule.js:1902 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to create adjustment" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/transactions/TransactionsModule.js:1887 +#: /app/src/modules/transactions/TransactionsModule.js:1915 msgid "Adjustment transaction created" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1892 +#: /app/src/modules/transactions/TransactionsModule.js:1920 msgid "Failed to create adjustment: {message}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1916 +#: /app/src/modules/transactions/TransactionsModule.js:1944 #: /app/templates/index.php:5833 msgid "Choose an account" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1937 -#: /app/src/modules/transfers/TransfersModule.js:515 -#: /app/src/modules/transfers/TransfersModule.js:527 +#: /app/src/modules/transactions/TransactionsModule.js:1965 +#: /app/src/modules/transfers/TransfersModule.js:492 +#: /app/src/modules/transfers/TransfersModule.js:504 #: /app/templates/index.php:2519 /app/templates/quick-add.php:24 msgid "Select account..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1974 +#: /app/src/modules/transactions/TransactionsModule.js:2002 #: /app/src/modules/transactions/transactionRow.js:211 #: /app/src/modules/transactions/transactionRow.js:293 #: /app/src/modules/transactions/transactionRow.js:294 msgid "Edit transaction" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1975 +#: /app/src/modules/transactions/TransactionsModule.js:2003 #: /app/templates/index.php:5794 #, fuzzy #| msgid "transactions" msgid "New transaction" msgstr "transakce" -#: /app/src/modules/transactions/TransactionsModule.js:2232 -#: /app/src/modules/transactions/TransactionsModule.js:2255 +#: /app/src/modules/transactions/TransactionsModule.js:2277 +#: /app/src/modules/transactions/TransactionsModule.js:2299 msgid "Failed to load transaction" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2359 -#: /app/src/modules/transactions/TransactionsModule.js:2370 +#: /app/src/modules/transactions/TransactionsModule.js:2403 +#: /app/src/modules/transactions/TransactionsModule.js:2414 msgid "The receipt could not be read" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2400 +#: /app/src/modules/transactions/TransactionsModule.js:2444 msgid "date" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2404 +#: /app/src/modules/transactions/TransactionsModule.js:2448 #, fuzzy #| msgid "Amount" msgid "amount" msgstr "Množství" -#: /app/src/modules/transactions/TransactionsModule.js:2407 +#: /app/src/modules/transactions/TransactionsModule.js:2451 #, fuzzy #| msgid "Description" msgid "description" msgstr "Popis" -#: /app/src/modules/transactions/TransactionsModule.js:2408 +#: /app/src/modules/transactions/TransactionsModule.js:2452 msgid "vendor" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2414 +#: /app/src/modules/transactions/TransactionsModule.js:2458 #, fuzzy #| msgid "Category" msgid "category" msgstr "Kategorie" -#: /app/src/modules/transactions/TransactionsModule.js:2509 +#: /app/src/modules/transactions/TransactionsModule.js:2553 msgid "Savings / discount" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2514 +#: /app/src/modules/transactions/TransactionsModule.js:2558 msgid "VAT / tax" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2553 +#: /app/src/modules/transactions/TransactionsModule.js:2597 msgid "Split into {count} lines from the receipt. Set a category on each." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2564 +#: /app/src/modules/transactions/TransactionsModule.js:2608 msgid "Filled in: {fields}. Check them before saving." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2565 +#: /app/src/modules/transactions/TransactionsModule.js:2609 msgid "" "Nothing was filled in — the fields already had values. Clear one and scan " "again to use the receipt." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2569 +#: /app/src/modules/transactions/TransactionsModule.js:2613 msgid "Read {count} items from the receipt." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2572 +#: /app/src/modules/transactions/TransactionsModule.js:2616 msgid "The items do not add up to the total — worth a look." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2575 +#: /app/src/modules/transactions/TransactionsModule.js:2619 msgid "Receipt currency: {currency}." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2577 +#: /app/src/modules/transactions/TransactionsModule.js:2621 msgid "The photo will be attached when you save." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2595 +#: /app/src/modules/transactions/TransactionsModule.js:2639 msgid "" "These items cannot be split individually: they do not add up to the total, " "so the parts would not balance." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2604 +#: /app/src/modules/transactions/TransactionsModule.js:2648 msgid "Split into {count} lines" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2606 +#: /app/src/modules/transactions/TransactionsModule.js:2650 msgid "the savings as a negative line" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2607 +#: /app/src/modules/transactions/TransactionsModule.js:2651 msgid "the tax as its own line" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2609 +#: /app/src/modules/transactions/TransactionsModule.js:2653 msgid " and " msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2609 +#: /app/src/modules/transactions/TransactionsModule.js:2653 msgid "One line per item, plus {extras}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2610 +#: /app/src/modules/transactions/TransactionsModule.js:2654 msgid "One line per item on the receipt" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2660 +#: /app/src/modules/transactions/TransactionsModule.js:2704 msgid "Select receipt" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2698 +#: /app/src/modules/transactions/TransactionsModule.js:2742 msgid "No receipts yet — they are attached when you save." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2706 +#: /app/src/modules/transactions/TransactionsModule.js:2750 msgid "on save" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2707 -#: /app/src/modules/transactions/TransactionsModule.js:2763 +#: /app/src/modules/transactions/TransactionsModule.js:2751 +#: /app/src/modules/transactions/TransactionsModule.js:2807 msgid "Remove attachment" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2755 +#: /app/src/modules/transactions/TransactionsModule.js:2799 msgid "Receipt" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2757 +#: /app/src/modules/transactions/TransactionsModule.js:2801 msgid "The file no longer exists in your Files" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2765 +#: /app/src/modules/transactions/TransactionsModule.js:2809 msgid "No receipts attached" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2844 -#: /app/src/modules/transactions/TransactionsModule.js:5038 +#: /app/src/modules/transactions/TransactionsModule.js:2888 +#: /app/src/modules/transactions/TransactionsModule.js:5089 msgid "" "This transaction was reconciled against a bank statement. Changing its " "amount, type, account or date will make past reconciliations no longer " "match. Continue?" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2861 +#: /app/src/modules/transactions/TransactionsModule.js:2905 msgid "Please select destination account" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2865 +#: /app/src/modules/transactions/TransactionsModule.js:2909 msgid "Cannot transfer to same account" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2918 +#: /app/src/modules/transactions/TransactionsModule.js:2962 msgid "Transfer created successfully" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3014 +#: /app/src/modules/transactions/TransactionsModule.js:3058 msgid "The transaction was saved, but {count} receipt(s) could not be attached" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3018 -#: /app/src/modules/transactions/TransactionsModule.js:5093 +#: /app/src/modules/transactions/TransactionsModule.js:3062 +#: /app/src/modules/transactions/TransactionsModule.js:5144 msgid "Transaction updated" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3018 +#: /app/src/modules/transactions/TransactionsModule.js:3062 msgid "Transaction created" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3201 +#: /app/src/modules/transactions/TransactionsModule.js:3245 msgid "Remove" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3239 +#: /app/src/modules/transactions/TransactionsModule.js:3283 msgid "Fully allocated" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3284 #, fuzzy #| msgid "Remaining" msgid "Remaining: {amount}" msgstr "Zbývá" -#: /app/src/modules/transactions/TransactionsModule.js:3265 +#: /app/src/modules/transactions/TransactionsModule.js:3309 msgid "Auto-calculated from the transaction total minus the other splits" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3268 +#: /app/src/modules/transactions/TransactionsModule.js:3312 msgid "Amount (remaining)" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3322 +#: /app/src/modules/transactions/TransactionsModule.js:3366 msgid "A split needs at least two parts with an amount." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3328 +#: /app/src/modules/transactions/TransactionsModule.js:3372 msgid "Split amounts must add up to the transaction total ({total})." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3399 +#: /app/src/modules/transactions/TransactionsModule.js:3443 msgid "The transaction was saved, but not split: {reason}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3400 +#: /app/src/modules/transactions/TransactionsModule.js:3444 msgid "The transaction was saved, but its splits could not be stored" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3406 -#: /app/src/modules/transactions/TransactionsModule.js:3421 +#: /app/src/modules/transactions/TransactionsModule.js:3450 +#: /app/src/modules/transactions/TransactionsModule.js:3472 msgid "Are you sure you want to delete this transaction?" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3415 +#: /app/src/modules/transactions/TransactionsModule.js:3459 msgid "This will decrease the account balance by {amount}." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3416 +#: /app/src/modules/transactions/TransactionsModule.js:3460 msgid "This will increase the account balance by {amount}." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3419 +#: /app/src/modules/transactions/TransactionsModule.js:3467 +msgid "" +"This is the upcoming payment of a bill, not money that has moved. Deleting " +"it removes the scheduled entry until the bill is next paid; the bill itself " +"stays, and the account balance does not change. Are you sure?" +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:3468 +msgid "" +"This transaction is scheduled and not in the account balance yet, so the " +"balance does not change. Are you sure you want to delete it?" +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:3470 msgid "This transaction was auto-generated from a bill payment." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3419 +#: /app/src/modules/transactions/TransactionsModule.js:3470 msgid "" "If this is a real payment, deleting it will cause your balance to diverge " "from your bank statement. Are you sure?" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3426 +#: /app/src/modules/transactions/TransactionsModule.js:3477 msgid "" "This transaction was reconciled against a bank statement. Deleting it will " "make past reconciliations no longer match." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3430 +#: /app/src/modules/transactions/TransactionsModule.js:3481 msgid "" "This transaction funds a pension contribution. Deleting it will unlink it " "from that contribution (the contribution itself is kept)." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3441 -#: /app/src/modules/transactions/TransactionsModule.js:3464 +#: /app/src/modules/transactions/TransactionsModule.js:3492 +#: /app/src/modules/transactions/TransactionsModule.js:3515 msgid "Failed to delete transaction" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3451 +#: /app/src/modules/transactions/TransactionsModule.js:3502 msgid "Transaction deleted" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3545 +#: /app/src/modules/transactions/TransactionsModule.js:3596 msgid "Amount ({currency})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3546 +#: /app/src/modules/transactions/TransactionsModule.js:3597 msgid "Destination Amount ({currency})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3722 -#: /app/templates/index.php:7111 +#: /app/src/modules/transactions/TransactionsModule.js:3773 +#: /app/templates/index.php:7112 msgid "Date:" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3730 +#: /app/src/modules/transactions/TransactionsModule.js:3781 msgid "Total Amount:" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3960 +#: /app/src/modules/transactions/TransactionsModule.js:4011 msgid "Date window (days):" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3965 +#: /app/src/modules/transactions/TransactionsModule.js:4016 msgid "" "Matches must be within this many days of each other. Use 0 for exact date " "match." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3968 +#: /app/src/modules/transactions/TransactionsModule.js:4019 msgid "Matching mode:" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3973 +#: /app/src/modules/transactions/TransactionsModule.js:4024 msgid "Auto-link exact matches" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3974 +#: /app/src/modules/transactions/TransactionsModule.js:4025 msgid "Single-match pairs linked automatically. Multi-match shown for review." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3980 +#: /app/src/modules/transactions/TransactionsModule.js:4031 msgid "Review all matches" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3981 +#: /app/src/modules/transactions/TransactionsModule.js:4032 msgid "All candidates shown for your confirmation before linking." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4013 -#: /app/templates/index.php:7049 +#: /app/src/modules/transactions/TransactionsModule.js:4064 +#: /app/templates/index.php:7050 msgid "Scanning for matching transactions..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4024 -#: /app/templates/index.php:7082 +#: /app/src/modules/transactions/TransactionsModule.js:4075 +#: /app/templates/index.php:7083 msgid "No matching transactions found." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4039 +#: /app/src/modules/transactions/TransactionsModule.js:4090 msgid "Failed to scan for matches. Please try again." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4059 +#: /app/src/modules/transactions/TransactionsModule.js:4110 msgid "Linking %n exact match pair..." msgid_plural "Linking %n exact match pairs..." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:4127 +#: /app/src/modules/transactions/TransactionsModule.js:4178 msgid "Exact Matches" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4128 +#: /app/src/modules/transactions/TransactionsModule.js:4179 msgid "" "These transactions have exactly one match. Uncheck any you don't want to " "link." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4254 +#: /app/src/modules/transactions/TransactionsModule.js:4305 msgid "Select a match (%n option):" msgid_plural "Select a match (%n options):" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:4258 +#: /app/src/modules/transactions/TransactionsModule.js:4309 msgid "Link Selected" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4286 +#: /app/src/modules/transactions/TransactionsModule.js:4337 msgid "No matches selected" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4293 +#: /app/src/modules/transactions/TransactionsModule.js:4344 msgid "Linking..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4300 +#: /app/src/modules/transactions/TransactionsModule.js:4351 msgid "Linked %n pair" msgid_plural "Linked %n pairs" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:4302 +#: /app/src/modules/transactions/TransactionsModule.js:4353 msgid "%n failed" msgid_plural "%n failed" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:4314 +#: /app/src/modules/transactions/TransactionsModule.js:4365 msgid "Linked Pairs" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4315 +#: /app/src/modules/transactions/TransactionsModule.js:4366 msgid "These transactions have been linked. Click Undo to unlink a pair." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4352 -#: /app/templates/index.php:7089 +#: /app/src/modules/transactions/TransactionsModule.js:4403 +#: /app/templates/index.php:7090 msgid "Confirm Selected" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4379 +#: /app/src/modules/transactions/TransactionsModule.js:4430 msgid "Match undone" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4381 +#: /app/src/modules/transactions/TransactionsModule.js:4432 msgid "Failed to undo match" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4390 +#: /app/src/modules/transactions/TransactionsModule.js:4441 msgid "Please select a match first" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4418 +#: /app/src/modules/transactions/TransactionsModule.js:4469 msgid "Transactions linked" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4560 +#: /app/src/modules/transactions/TransactionsModule.js:4611 msgid "Enter description..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4592 -#: /app/src/utils/userPicker.js:66 /app/templates/index.php:7231 +#: /app/src/modules/transactions/TransactionsModule.js:4643 +#: /app/src/utils/userPicker.js:66 /app/templates/index.php:7232 msgid "Type to search..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4625 +#: /app/src/modules/transactions/TransactionsModule.js:4676 msgid "No categories found" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4779 +#: /app/src/modules/transactions/TransactionsModule.js:4830 msgid "No tags" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4935 +#: /app/src/modules/transactions/TransactionsModule.js:4986 msgid "Error loading tags" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5146 +#: /app/src/modules/transactions/TransactionsModule.js:5197 msgid "Find Duplicate Transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5152 +#: /app/src/modules/transactions/TransactionsModule.js:5203 msgid "Scanning for duplicates..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5188 +#: /app/src/modules/transactions/TransactionsModule.js:5239 msgid "No duplicate transactions found." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5198 +#: /app/src/modules/transactions/TransactionsModule.js:5249 msgid "Failed to scan for duplicates. Please try again." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5207 +#: /app/src/modules/transactions/TransactionsModule.js:5258 msgid "" "Found {groupCount} group(s) with {duplicateCount} suspected duplicate(s). " "The oldest transaction in each group is kept by default. Review and adjust " "the selection, then delete the checked items." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5210 -#: /app/src/modules/transactions/TransactionsModule.js:5355 +#: /app/src/modules/transactions/TransactionsModule.js:5261 +#: /app/src/modules/transactions/TransactionsModule.js:5406 #: /app/templates/index.php:1932 msgid "Delete Selected" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5236 +#: /app/src/modules/transactions/TransactionsModule.js:5276 +#: /app/src/utils/matchingDialog.js:48 +msgid "(no description)" +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:5287 msgid "keep" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5237 +#: /app/src/modules/transactions/TransactionsModule.js:5288 msgid "bill" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5239 +#: /app/src/modules/transactions/TransactionsModule.js:5290 msgid "scheduled" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5240 +#: /app/src/modules/transactions/TransactionsModule.js:5291 msgid "pending" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5301 +#: /app/src/modules/transactions/TransactionsModule.js:5352 msgid "Delete %n suspected duplicate transaction? This cannot be undone." msgid_plural "" "Delete %n suspected duplicate transactions? This cannot be undone." @@ -12275,7 +12787,7 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:5303 +#: /app/src/modules/transactions/TransactionsModule.js:5354 msgid "" "%n of these was generated from bill payments. Make sure they are truly " "duplicates before deleting." @@ -12286,18 +12798,18 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:5319 +#: /app/src/modules/transactions/TransactionsModule.js:5370 msgid "Deleted %n duplicate transaction" msgid_plural "Deleted %n duplicate transactions" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transactions/TransactionsModule.js:5342 +#: /app/src/modules/transactions/TransactionsModule.js:5393 msgid "All duplicates have been resolved." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5351 +#: /app/src/modules/transactions/TransactionsModule.js:5402 msgid "Failed to delete duplicates" msgstr "" @@ -12383,233 +12895,258 @@ msgstr "" msgid "More actions" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:55 -#: /app/src/modules/transfers/TransfersModule.js:68 +#: /app/src/modules/transfers/TransfersModule.js:58 +#: /app/src/modules/transfers/TransfersModule.js:73 msgid "Failed to load transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:82 +#: /app/src/modules/transfers/TransfersModule.js:87 msgid "Recurring Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:84 +#: /app/src/modules/transfers/TransfersModule.js:89 msgid "Detect recurring transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:86 -#: /app/src/modules/transfers/TransfersModule.js:1264 +#: /app/src/modules/transfers/TransfersModule.js:91 +#: /app/src/modules/transfers/TransfersModule.js:1259 #, fuzzy #| msgid "Transfer" msgid "Find Transfers" msgstr "Převod" -#: /app/src/modules/transfers/TransfersModule.js:88 +#: /app/src/modules/transfers/TransfersModule.js:93 msgid "Add new transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:90 -#: /app/src/modules/transfers/TransfersModule.js:459 -#: /app/src/modules/transfers/TransfersModule.js:609 +#: /app/src/modules/transfers/TransfersModule.js:95 +#: /app/src/modules/transfers/TransfersModule.js:433 +#: /app/src/modules/transfers/TransfersModule.js:594 msgid "Add Transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:103 +#: /app/src/modules/transfers/TransfersModule.js:108 msgid "Active Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:112 +#: /app/src/modules/transfers/TransfersModule.js:117 #: /app/templates/index.php:2653 msgid "Due This Month" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:121 +#: /app/src/modules/transfers/TransfersModule.js:126 #: /app/templates/index.php:2671 /app/templates/index.php:2861 msgid "Monthly Total" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:130 +#: /app/src/modules/transfers/TransfersModule.js:135 msgid "Completed This Month" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:137 +#: /app/src/modules/transfers/TransfersModule.js:142 msgid "All Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:152 +#: /app/src/modules/transfers/TransfersModule.js:143 +#: /app/src/utils/billDates.js:37 /app/templates/index.php:2688 +msgid "Due Soon" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:145 +#: /app/src/utils/incomeStatus.js:43 /app/templates/index.php:1423 +#: /app/templates/index.php:2974 +msgid "Completed" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:157 msgid "No recurring transfers yet" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:153 +#: /app/src/modules/transfers/TransfersModule.js:158 msgid "" "Set up automatic transfers between your accounts to automate savings or bill " "payments." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:156 +#: /app/src/modules/transfers/TransfersModule.js:161 msgid "Add Your First Transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:164 +#: /app/src/modules/transfers/TransfersModule.js:169 msgid "Detected Recurring Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:167 +#: /app/src/modules/transfers/TransfersModule.js:172 msgid "" "These recurring transactions may be transfers between your accounts. Select " "the ones to add and choose the destination account." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:170 +#: /app/src/modules/transfers/TransfersModule.js:175 msgid "Add Selected as Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:382 +#: /app/src/modules/transfers/TransfersModule.js:368 msgid "Edit transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:385 +#: /app/src/modules/transfers/TransfersModule.js:371 msgid "Delete transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:459 +#: /app/src/modules/transfers/TransfersModule.js:433 msgid "Edit Transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:477 +#: /app/src/modules/transfers/TransfersModule.js:451 msgid "e.g., Monthly Savings" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:489 +#: /app/src/modules/transfers/TransfersModule.js:463 #, fuzzy #| msgid "Account" msgid "Amount type" msgstr "Účet" -#: /app/src/modules/transfers/TransfersModule.js:491 +#: /app/src/modules/transfers/TransfersModule.js:465 #, fuzzy #| msgid "accounts" msgid "Fixed amount" msgstr "účty" -#: /app/src/modules/transfers/TransfersModule.js:493 +#: /app/src/modules/transfers/TransfersModule.js:467 #, fuzzy #| msgid "Balance" msgid "Current balance" msgstr "Zůstatek" -#: /app/src/modules/transfers/TransfersModule.js:494 +#: /app/src/modules/transfers/TransfersModule.js:468 #, fuzzy #| msgid "Monthly" msgid "Minimum payment" msgstr "Měsíčně" -#: /app/src/modules/transfers/TransfersModule.js:513 +#: /app/src/modules/transfers/TransfersModule.js:485 +#: /app/templates/index.php:6196 +msgid "Custom" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:490 msgid "From Account" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:525 +#: /app/src/modules/transfers/TransfersModule.js:502 #: /app/templates/index.php:5837 msgid "To Account" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:537 -#: /app/src/modules/transfers/TransfersModule.js:777 -msgid "Day of Month (1-31)" +#: /app/src/modules/transfers/TransfersModule.js:514 +#: /app/src/modules/transfers/TransfersModule.js:769 +msgid "Day of Month (1-31)" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:516 +msgid "e.g., 15" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:522 +#: /app/templates/index.php:6227 +msgid "Due Month" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:539 -msgid "e.g., 15" +#: /app/src/modules/transfers/TransfersModule.js:526 +msgid "The month the cycle starts from" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:554 +#: /app/src/modules/transfers/TransfersModule.js:539 #: /app/templates/index.php:712 /app/templates/index.php:734 #: /app/templates/index.php:5233 /app/templates/index.php:5852 -#: /app/templates/index.php:5969 /app/templates/index.php:6803 +#: /app/templates/index.php:5969 /app/templates/index.php:6804 msgid "Details" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:556 +#: /app/src/modules/transfers/TransfersModule.js:541 msgid "Transaction Description Pattern (Optional)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:558 +#: /app/src/modules/transfers/TransfersModule.js:543 msgid "e.g., Savings Transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:560 +#: /app/src/modules/transfers/TransfersModule.js:545 msgid "Used to match imported transactions" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:569 +#: /app/src/modules/transfers/TransfersModule.js:554 msgid "Category for created transactions (optional)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:577 +#: /app/src/modules/transfers/TransfersModule.js:562 msgid "Optional notes..." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:584 +#: /app/src/modules/transfers/TransfersModule.js:569 msgid "Also create transactions now" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:586 +#: /app/src/modules/transfers/TransfersModule.js:571 msgid "Creates paired debit/credit transactions immediately" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:590 -#: /app/templates/index.php:6339 +#: /app/src/modules/transfers/TransfersModule.js:575 +#: /app/templates/index.php:6340 msgid "Transaction Date" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:592 -#: /app/templates/index.php:6341 +#: /app/src/modules/transfers/TransfersModule.js:577 +#: /app/templates/index.php:6342 msgid "Leave empty to use next due date" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:599 +#: /app/src/modules/transfers/TransfersModule.js:584 msgid "Enable auto-pay (automatically create transactions when due)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:609 +#: /app/src/modules/transfers/TransfersModule.js:594 msgid "Update Transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:667 +#: /app/src/modules/transfers/TransfersModule.js:652 msgid "" "Pays what was owed at the due date. Later charges roll to the next payment" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:668 +#: /app/src/modules/transfers/TransfersModule.js:653 msgid "Pays everything owed on the card at payment time" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:669 +#: /app/src/modules/transfers/TransfersModule.js:654 msgid "Pays the card's minimum payment, never more than is owed" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:682 +#: /app/src/modules/transfers/TransfersModule.js:667 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Resolved from the card at each payment" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/transfers/TransfersModule.js:766 +#: /app/src/modules/transfers/TransfersModule.js:758 msgid "The date this transfer is due. It can be in the past." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:778 +#: /app/src/modules/transfers/TransfersModule.js:770 msgid "Day of the month when the transfer is due" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:796 +#: /app/src/modules/transfers/TransfersModule.js:788 msgid "The transfer repeats from this date (optional)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:797 +#: /app/src/modules/transfers/TransfersModule.js:789 msgid "Transfer only occurs on or after this date (optional)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:819 +#: /app/src/modules/transfers/TransfersModule.js:816 msgid "Please enter the date the transfer is due" msgstr "" @@ -12621,133 +13158,139 @@ msgstr "" msgid "Please select a destination account" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:882 -#: /app/src/modules/transfers/TransfersModule.js:895 +#: /app/src/modules/transfers/TransfersModule.js:887 +#: /app/src/modules/transfers/TransfersModule.js:900 msgid "Failed to save transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:886 +#: /app/src/modules/transfers/TransfersModule.js:891 msgid "Transfer updated" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:886 +#: /app/src/modules/transfers/TransfersModule.js:891 msgid "Transfer added" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:901 +#: /app/src/modules/transfers/TransfersModule.js:906 msgid "Are you sure you want to delete this transfer?" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:908 -#: /app/src/modules/transfers/TransfersModule.js:918 +#: /app/src/modules/transfers/TransfersModule.js:913 +#: /app/src/modules/transfers/TransfersModule.js:923 msgid "Failed to delete transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:911 +#: /app/src/modules/transfers/TransfersModule.js:916 msgid "Transfer deleted" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:932 -#: /app/src/modules/transfers/TransfersModule.js:944 +#: /app/src/modules/transfers/TransfersModule.js:937 +#: /app/src/modules/transfers/TransfersModule.js:949 msgid "Failed to update transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:936 +#: /app/src/modules/transfers/TransfersModule.js:941 msgid "Transfer deactivated" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:936 +#: /app/src/modules/transfers/TransfersModule.js:941 msgid "Transfer activated" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:964 -#: /app/src/modules/transfers/TransfersModule.js:974 +#: /app/src/modules/transfers/TransfersModule.js:990 +#: /app/src/modules/transfers/TransfersModule.js:1006 msgid "Failed to mark transfer as paid" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:967 +#: /app/src/modules/transfers/TransfersModule.js:996 +msgid "" +"The transfer was marked as paid, but no transactions were recorded. Check " +"both accounts, or add the transfer manually." +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:998 msgid "Transfer marked as paid" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:995 -#: /app/src/modules/transfers/TransfersModule.js:1014 +#: /app/src/modules/transfers/TransfersModule.js:1027 +#: /app/src/modules/transfers/TransfersModule.js:1046 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to skip transfer" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/transfers/TransfersModule.js:1062 -#: /app/src/modules/transfers/TransfersModule.js:1071 +#: /app/src/modules/transfers/TransfersModule.js:1093 +#: /app/src/modules/transfers/TransfersModule.js:1103 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to mark transfer as unpaid" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/transfers/TransfersModule.js:1068 +#: /app/src/modules/transfers/TransfersModule.js:1100 msgid "Payment reverted — the transfer is marked as unpaid." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1078 +#: /app/src/modules/transfers/TransfersModule.js:1110 #, fuzzy #| msgid "Monthly" msgid "Statement" msgstr "Měsíčně" -#: /app/src/modules/transfers/TransfersModule.js:1079 +#: /app/src/modules/transfers/TransfersModule.js:1111 #, fuzzy #| msgid "Balance" msgid "Full balance" msgstr "Zůstatek" -#: /app/src/modules/transfers/TransfersModule.js:1080 +#: /app/src/modules/transfers/TransfersModule.js:1112 msgid "Minimum" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1083 +#: /app/src/modules/transfers/TransfersModule.js:1115 msgid "Amount is resolved from the card at each payment" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1261 +#: /app/src/modules/transfers/TransfersModule.js:1256 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Failed to detect recurring transfers" msgstr "Nepodařilo se získat účty" -#: /app/src/modules/transfers/TransfersModule.js:1294 +#: /app/src/modules/transfers/TransfersModule.js:1289 #, fuzzy #| msgid "accounts" msgid "From: {account}" msgstr "účty" -#: /app/src/modules/transfers/TransfersModule.js:1297 -#: /app/src/modules/transfers/TransfersModule.js:1298 +#: /app/src/modules/transfers/TransfersModule.js:1292 +#: /app/src/modules/transfers/TransfersModule.js:1293 msgid "To:" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1299 +#: /app/src/modules/transfers/TransfersModule.js:1294 msgid "— Select destination —" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1316 +#: /app/src/modules/transfers/TransfersModule.js:1325 msgid "Please select at least one transfer to add" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1327 +#: /app/src/modules/transfers/TransfersModule.js:1336 msgid "Please select a destination account for all selected transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1333 +#: /app/src/modules/transfers/TransfersModule.js:1342 msgid "Source and destination accounts must be different" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1350 +#: /app/src/modules/transfers/TransfersModule.js:1359 msgid "%n transfer added successfully" msgid_plural "%n transfers added successfully" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: /app/src/modules/transfers/TransfersModule.js:1353 +#: /app/src/modules/transfers/TransfersModule.js:1362 msgid "Failed to add selected transfers" msgstr "" @@ -12755,11 +13298,11 @@ msgstr "" msgid "{name} (closed)" msgstr "" -#: /app/src/utils/billDates.js:29 +#: /app/src/utils/billDates.js:95 msgid "Paid {paidDate}, next due {dueDate}" msgstr "" -#: /app/src/utils/billDates.js:34 +#: /app/src/utils/billDates.js:100 msgid "Paid {date}" msgstr "" @@ -12799,10 +13342,113 @@ msgstr "" msgid "Week of {date}" msgstr "" +#: /app/src/utils/incomeStatus.js:35 +msgid "Received {date}" +msgstr "" + +#: /app/src/utils/incomeStatus.js:39 +msgid "No date set" +msgstr "" + +#: /app/src/utils/incomeStatus.js:43 /app/templates/index.php:2792 +#, fuzzy +#| msgid "Interactive" +msgid "Inactive" +msgstr "Interaktivní" + +#: /app/src/utils/incomeStatus.js:53 /app/templates/index.php:2887 +msgid "Expected Soon" +msgstr "" + +#: /app/src/utils/incomeStatus.js:59 +msgid "Received {receivedDate}, next expected {expectedDate}" +msgstr "" + #: /app/src/utils/loading.js:84 msgid "Retry" msgstr "" +#: /app/src/utils/matchingDialog.js:33 +#, fuzzy +#| msgid "accounts" +msgid "Exact amount" +msgstr "účty" + +#: /app/src/utils/matchingDialog.js:34 +msgid "Similar amount (±5%)" +msgstr "" + +#: /app/src/utils/matchingDialog.js:35 +msgid "Approximate amount (±20%)" +msgstr "" + +#: /app/src/utils/matchingDialog.js:36 +msgid "Vendor matches" +msgstr "" + +#: /app/src/utils/matchingDialog.js:37 +msgid "Vendor partially matches" +msgstr "" + +#: /app/src/utils/matchingDialog.js:38 +#, fuzzy +#| msgid "Description" +msgid "Description matches" +msgstr "Popis" + +#: /app/src/utils/matchingDialog.js:39 +msgid "Description partially matches" +msgstr "" + +#: /app/src/utils/matchingDialog.js:40 +msgid "Same day" +msgstr "" + +#: /app/src/utils/matchingDialog.js:41 +msgid "±1 day" +msgstr "" + +#: /app/src/utils/matchingDialog.js:42 +msgid "±3 days" +msgstr "" + +#: /app/src/utils/matchingDialog.js:43 +msgid "±7 days" +msgstr "" + +#: /app/src/utils/matchingDialog.js:61 +msgid "Strong match" +msgstr "" + +#: /app/src/utils/matchingDialog.js:73 +msgid "Existing Transaction Found" +msgstr "" + +#: /app/src/utils/matchingDialog.js:77 +msgid "" +"We found existing transactions that may already represent this bill payment " +"({billName}, {amount}). Would you like to link one instead of creating a new " +"transaction?" +msgstr "" + +#: /app/src/utils/matchingDialog.js:78 +msgid "" +"Whichever you choose, the bill is marked as paid and moves on to its next " +"due date." +msgstr "" + +#: /app/src/utils/matchingDialog.js:85 +msgid "Create a new transaction instead" +msgstr "" + +#: /app/src/utils/matchingDialog.js:91 +msgid "Don't create any transaction (just mark as paid)" +msgstr "" + +#: /app/src/utils/matchingDialog.js:92 +msgid "Your account balance will NOT reflect this payment." +msgstr "" + #: /app/src/utils/multiselect.js:32 msgid "Select column(s)..." msgstr "" @@ -12833,7 +13479,7 @@ msgstr "" msgid "Tools & Settings" msgstr "" -#: /app/templates/index.php:217 /app/templates/index.php:7554 +#: /app/templates/index.php:217 /app/templates/index.php:7555 msgid "Help" msgstr "" @@ -13188,7 +13834,7 @@ msgid "Filters" msgstr "" #: /app/templates/index.php:1458 /app/templates/index.php:1615 -#: /app/templates/index.php:6564 +#: /app/templates/index.php:6565 msgid "Filter Transactions" msgstr "" @@ -13201,12 +13847,12 @@ msgid "Cleared" msgstr "" #: /app/templates/index.php:1489 /app/templates/index.php:1662 -#: /app/templates/index.php:6575 +#: /app/templates/index.php:6576 msgid "From Date" msgstr "" #: /app/templates/index.php:1494 /app/templates/index.php:1667 -#: /app/templates/index.php:6580 +#: /app/templates/index.php:6581 msgid "To Date" msgstr "" @@ -13239,7 +13885,7 @@ msgid "Save Preset" msgstr "" #: /app/templates/index.php:1544 /app/templates/index.php:1854 -#: /app/templates/index.php:2805 /app/templates/index.php:6471 +#: /app/templates/index.php:2805 /app/templates/index.php:6472 msgid "Actions" msgstr "" @@ -13357,7 +14003,7 @@ msgstr "" msgid "250 per page" msgstr "" -#: /app/templates/index.php:1824 /app/templates/index.php:7315 +#: /app/templates/index.php:1824 /app/templates/index.php:7316 msgid "Select all" msgstr "" @@ -13393,10 +14039,6 @@ msgstr "" msgid "Recolor" msgstr "" -#: /app/templates/index.php:1943 /app/templates/index.php:2244 -msgid "No categories yet" -msgstr "" - #: /app/templates/index.php:1944 msgid "" "Create your first category to start organizing your transactions, or use our " @@ -13892,12 +14534,6 @@ msgstr "" msgid "Search rules" msgstr "" -#: /app/templates/index.php:2792 -#, fuzzy -#| msgid "Interactive" -msgid "Inactive" -msgstr "Interaktivní" - #: /app/templates/index.php:2801 msgid "Pri" msgstr "" @@ -14124,9 +14760,9 @@ msgstr "" #: /app/templates/index.php:3175 /app/templates/index.php:5084 #: /app/templates/index.php:5105 /app/templates/index.php:5192 #: /app/templates/index.php:5555 /app/templates/index.php:5950 -#: /app/templates/index.php:6147 /app/templates/index.php:6380 -#: /app/templates/index.php:6550 /app/templates/index.php:6767 -#: /app/templates/index.php:6862 /app/templates/index.php:7249 +#: /app/templates/index.php:6147 /app/templates/index.php:6381 +#: /app/templates/index.php:6551 /app/templates/index.php:6768 +#: /app/templates/index.php:6863 /app/templates/index.php:7250 msgid "Save" msgstr "" @@ -14369,7 +15005,7 @@ msgid "Edit pension" msgstr "" #: /app/templates/index.php:3817 /app/templates/index.php:4859 -#: /app/templates/index.php:5338 /app/templates/index.php:7457 +#: /app/templates/index.php:5338 /app/templates/index.php:7458 msgid "Provider" msgstr "" @@ -14840,7 +15476,7 @@ msgstr "" msgid "Space ( )" msgstr "" -#: /app/templates/index.php:4538 /app/templates/index.php:6513 +#: /app/templates/index.php:4538 /app/templates/index.php:6514 msgid "Preview:" msgstr "" @@ -14957,7 +15593,7 @@ msgstr "" msgid "CSV" msgstr "" -#: /app/templates/index.php:4689 /app/templates/index.php:6397 +#: /app/templates/index.php:4689 /app/templates/index.php:6398 msgid "JSON" msgstr "" @@ -15264,7 +15900,7 @@ msgstr "" msgid "Open docs site" msgstr "" -#: /app/templates/index.php:4973 /app/templates/index.php:7562 +#: /app/templates/index.php:4973 /app/templates/index.php:7563 msgid "Report an Issue" msgstr "" @@ -15337,8 +15973,8 @@ msgstr "" msgid "Copy to Clipboard" msgstr "" -#: /app/templates/index.php:5065 /app/templates/index.php:6911 -#: /app/templates/index.php:6943 +#: /app/templates/index.php:5065 /app/templates/index.php:6912 +#: /app/templates/index.php:6944 msgid "Tag Name" msgstr "" @@ -15347,8 +15983,8 @@ msgid "e.g., Business, Vacation, Groceries" msgstr "" #: /app/templates/index.php:5069 /app/templates/index.php:5254 -#: /app/templates/index.php:6826 /app/templates/index.php:6915 -#: /app/templates/index.php:6947 +#: /app/templates/index.php:6827 /app/templates/index.php:6916 +#: /app/templates/index.php:6948 msgid "Color" msgstr "" @@ -15356,7 +15992,7 @@ msgstr "" msgid "Color (hex code)" msgstr "" -#: /app/templates/index.php:5080 /app/templates/index.php:6955 +#: /app/templates/index.php:5080 /app/templates/index.php:6956 msgid "" "Stop offering this tag when tagging new transactions. Transactions that " "already have it keep it." @@ -15893,10 +16529,10 @@ msgid "Save transaction" msgstr "" #: /app/templates/index.php:5951 /app/templates/index.php:6148 -#: /app/templates/index.php:6381 /app/templates/index.php:6551 -#: /app/templates/index.php:6768 /app/templates/index.php:6787 -#: /app/templates/index.php:6863 /app/templates/index.php:7146 -#: /app/templates/index.php:7186 /app/templates/index.php:7212 +#: /app/templates/index.php:6382 /app/templates/index.php:6552 +#: /app/templates/index.php:6769 /app/templates/index.php:6788 +#: /app/templates/index.php:6864 /app/templates/index.php:7147 +#: /app/templates/index.php:7187 /app/templates/index.php:7213 msgid "Cancel and close dialog" msgstr "" @@ -16057,11 +16693,11 @@ msgstr "" msgid "Name of the vendor or recurring bill" msgstr "" -#: /app/templates/index.php:6175 /app/templates/index.php:6659 +#: /app/templates/index.php:6175 /app/templates/index.php:6660 msgid "Transaction description (optional)" msgstr "" -#: /app/templates/index.php:6176 /app/templates/index.php:6660 +#: /app/templates/index.php:6176 /app/templates/index.php:6661 msgid "Used as the description when transactions are auto-generated" msgstr "" @@ -16069,10 +16705,6 @@ msgstr "" msgid "Expected bill amount" msgstr "" -#: /app/templates/index.php:6196 -msgid "Custom" -msgstr "" - #: /app/templates/index.php:6198 msgid "How often this bill is due" msgstr "" @@ -16085,11 +16717,7 @@ msgstr "" msgid "Select which months this bill occurs" msgstr "" -#: /app/templates/index.php:6227 -msgid "Due Month" -msgstr "" - -#: /app/templates/index.php:6229 /app/templates/index.php:6705 +#: /app/templates/index.php:6229 /app/templates/index.php:6706 msgid "Select month..." msgstr "" @@ -16119,7 +16747,7 @@ msgstr "" msgid "Account used to pay this bill (optional)" msgstr "" -#: /app/templates/index.php:6280 /app/templates/index.php:6747 +#: /app/templates/index.php:6280 /app/templates/index.php:6748 msgid "Auto-detect Pattern" msgstr "" @@ -16133,11 +16761,11 @@ msgid "" "date) automatically mark the bill as paid" msgstr "" -#: /app/templates/index.php:6287 /app/templates/index.php:6754 +#: /app/templates/index.php:6287 /app/templates/index.php:6755 msgid "Additional notes..." msgstr "" -#: /app/templates/index.php:6288 /app/templates/index.php:6755 +#: /app/templates/index.php:6288 /app/templates/index.php:6756 msgid "Any additional notes (optional)" msgstr "" @@ -16147,888 +16775,874 @@ msgstr "" msgid "Schedule" msgstr "Naplánováno" -#: /app/templates/index.php:6304 +#: /app/templates/index.php:6305 msgid "End Date" msgstr "" -#: /app/templates/index.php:6306 +#: /app/templates/index.php:6307 msgid "Bill will automatically stop after this date (optional)" msgstr "" -#: /app/templates/index.php:6310 +#: /app/templates/index.php:6311 msgid "Remaining Payments" msgstr "" -#: /app/templates/index.php:6311 +#: /app/templates/index.php:6312 msgid "e.g., 10" msgstr "" -#: /app/templates/index.php:6312 +#: /app/templates/index.php:6313 msgid "Number of payments left before bill auto-deactivates (optional)" msgstr "" -#: /app/templates/index.php:6316 +#: /app/templates/index.php:6317 msgid "Reminder" msgstr "" -#: /app/templates/index.php:6318 +#: /app/templates/index.php:6319 msgid "No reminder" msgstr "" -#: /app/templates/index.php:6319 +#: /app/templates/index.php:6320 msgid "On due date" msgstr "" -#: /app/templates/index.php:6320 +#: /app/templates/index.php:6321 msgid "1 day before" msgstr "" -#: /app/templates/index.php:6321 +#: /app/templates/index.php:6322 msgid "2 days before" msgstr "" -#: /app/templates/index.php:6322 +#: /app/templates/index.php:6323 msgid "3 days before" msgstr "" -#: /app/templates/index.php:6323 +#: /app/templates/index.php:6324 msgid "5 days before" msgstr "" -#: /app/templates/index.php:6324 +#: /app/templates/index.php:6325 msgid "1 week before" msgstr "" -#: /app/templates/index.php:6325 +#: /app/templates/index.php:6326 msgid "2 weeks before" msgstr "" -#: /app/templates/index.php:6327 +#: /app/templates/index.php:6328 msgid "Receive a notification before bill is due" msgstr "" -#: /app/templates/index.php:6333 +#: /app/templates/index.php:6334 msgid "Create future transaction for this bill" msgstr "" -#: /app/templates/index.php:6335 +#: /app/templates/index.php:6336 msgid "" "Keeps a scheduled transaction for the next due date so the upcoming payment " "shows in the transaction list and forecasts. Untick to never pre-create " "transactions for this bill." msgstr "" -#: /app/templates/index.php:6347 +#: /app/templates/index.php:6348 msgid "Auto-pay when due" msgstr "" -#: /app/templates/index.php:6349 +#: /app/templates/index.php:6350 msgid "" "Automatically mark this bill as paid when due date arrives (requires account)" msgstr "" -#: /app/templates/index.php:6355 /app/templates/index.php:6761 +#: /app/templates/index.php:6356 /app/templates/index.php:6762 msgid "Exclude from forecast (extraordinary)" msgstr "" -#: /app/templates/index.php:6357 +#: /app/templates/index.php:6358 msgid "Transactions generated by this bill are left out of forecast averages." msgstr "" -#: /app/templates/index.php:6362 +#: /app/templates/index.php:6363 msgid "Auto-pay failed!" msgstr "" -#: /app/templates/index.php:6362 +#: /app/templates/index.php:6363 msgid "" "Auto-pay has been disabled. Please check the bill details and re-enable if " "needed." msgstr "" -#: /app/templates/index.php:6373 /app/templates/index.php:7133 +#: /app/templates/index.php:6374 /app/templates/index.php:7134 msgid "Add Split" msgstr "" -#: /app/templates/index.php:6380 +#: /app/templates/index.php:6381 msgid "Save bill" msgstr "" -#: /app/templates/index.php:6390 +#: /app/templates/index.php:6391 msgid "Add/Edit Rule" msgstr "" -#: /app/templates/index.php:6395 +#: /app/templates/index.php:6396 msgid "Rule editor view" msgstr "" -#: /app/templates/index.php:6396 +#: /app/templates/index.php:6397 msgid "Builder" msgstr "" -#: /app/templates/index.php:6405 +#: /app/templates/index.php:6406 msgid "Rule Name" msgstr "" -#: /app/templates/index.php:6406 +#: /app/templates/index.php:6407 msgid "e.g., Amazon Purchases, Grocery Stores" msgstr "" -#: /app/templates/index.php:6407 +#: /app/templates/index.php:6408 msgid "A descriptive name for this rule" msgstr "" -#: /app/templates/index.php:6411 +#: /app/templates/index.php:6412 msgid "Group" msgstr "" -#: /app/templates/index.php:6414 +#: /app/templates/index.php:6415 msgid "Optional" msgstr "" -#: /app/templates/index.php:6418 +#: /app/templates/index.php:6419 msgid "Priority" msgstr "" -#: /app/templates/index.php:6427 +#: /app/templates/index.php:6428 msgid "Matching Criteria" msgstr "" -#: /app/templates/index.php:6428 +#: /app/templates/index.php:6429 msgid "Define when this rule should apply to a transaction" msgstr "" -#: /app/templates/index.php:6433 +#: /app/templates/index.php:6434 msgid "Match Field" msgstr "" -#: /app/templates/index.php:6441 +#: /app/templates/index.php:6442 msgid "Which transaction field to match against" msgstr "" -#: /app/templates/index.php:6447 +#: /app/templates/index.php:6448 msgid "Contains" msgstr "" -#: /app/templates/index.php:6448 +#: /app/templates/index.php:6449 msgid "Exact Match" msgstr "" -#: /app/templates/index.php:6449 +#: /app/templates/index.php:6450 msgid "Starts With" msgstr "" -#: /app/templates/index.php:6450 +#: /app/templates/index.php:6451 msgid "Ends With" msgstr "" -#: /app/templates/index.php:6451 +#: /app/templates/index.php:6452 msgid "Regex" msgstr "" -#: /app/templates/index.php:6453 +#: /app/templates/index.php:6454 msgid "How to match the pattern" msgstr "" -#: /app/templates/index.php:6457 -msgid "Pattern" -msgstr "" - -#: /app/templates/index.php:6458 +#: /app/templates/index.php:6459 msgid "e.g., AMAZON, grocery|supermarket" msgstr "" -#: /app/templates/index.php:6459 +#: /app/templates/index.php:6460 msgid "Text or pattern to match (case-insensitive)" msgstr "" -#: /app/templates/index.php:6472 +#: /app/templates/index.php:6473 msgid "What to do when a transaction matches these criteria" msgstr "" -#: /app/templates/index.php:6484 +#: /app/templates/index.php:6485 msgid "Only active rules are applied" msgstr "" -#: /app/templates/index.php:6490 +#: /app/templates/index.php:6491 msgid "Apply during import" msgstr "" -#: /app/templates/index.php:6492 +#: /app/templates/index.php:6493 msgid "Auto-apply when importing transactions" msgstr "" -#: /app/templates/index.php:6501 +#: /app/templates/index.php:6502 msgid "Rule JSON" msgstr "" -#: /app/templates/index.php:6503 +#: /app/templates/index.php:6504 msgid "" "The raw rule structure. Edit or paste JSON here — it is checked when you " "save. Copy it to move a rule between instances (category and account IDs are " "instance-specific and may need adjusting)." msgstr "" -#: /app/templates/index.php:6507 +#: /app/templates/index.php:6508 msgid "Copy JSON" msgstr "" -#: /app/templates/index.php:6513 +#: /app/templates/index.php:6514 msgid "matching transactions" msgstr "" -#: /app/templates/index.php:6513 +#: /app/templates/index.php:6514 msgid "showing first 50" msgstr "" -#: /app/templates/index.php:6534 /app/templates/index.php:6603 +#: /app/templates/index.php:6535 /app/templates/index.php:6604 msgid "Updated" msgstr "" -#: /app/templates/index.php:6538 /app/templates/index.php:6607 +#: /app/templates/index.php:6539 /app/templates/index.php:6608 msgid "Skipped" msgstr "" -#: /app/templates/index.php:6542 /app/templates/index.php:6611 +#: /app/templates/index.php:6543 /app/templates/index.php:6612 msgid "Failed" msgstr "" -#: /app/templates/index.php:6548 +#: /app/templates/index.php:6549 msgid "Preview matching transactions" msgstr "" -#: /app/templates/index.php:6549 +#: /app/templates/index.php:6550 msgid "Apply rule to uncategorized transactions now" msgstr "" -#: /app/templates/index.php:6550 +#: /app/templates/index.php:6551 msgid "Save rule" msgstr "" -#: /app/templates/index.php:6560 +#: /app/templates/index.php:6561 msgid "Apply Rules to Transactions" msgstr "" -#: /app/templates/index.php:6589 /app/templates/index.php:6633 +#: /app/templates/index.php:6590 /app/templates/index.php:6634 msgid "Only apply to uncategorized transactions" msgstr "" -#: /app/templates/index.php:6591 +#: /app/templates/index.php:6592 msgid "" "When enabled, rules will only be applied to transactions that don't have a " "category assigned" msgstr "" -#: /app/templates/index.php:6626 +#: /app/templates/index.php:6627 msgid "Run Rule" msgstr "" -#: /app/templates/index.php:6647 +#: /app/templates/index.php:6648 msgid "Add/Edit Recurring Income" msgstr "" -#: /app/templates/index.php:6652 +#: /app/templates/index.php:6653 msgid "Income Name" msgstr "" -#: /app/templates/index.php:6653 +#: /app/templates/index.php:6654 msgid "e.g., Salary, Dividends, Rental Income" msgstr "" -#: /app/templates/index.php:6654 +#: /app/templates/index.php:6655 msgid "Name of the recurring income" msgstr "" -#: /app/templates/index.php:6664 +#: /app/templates/index.php:6665 msgid "Expected Amount" msgstr "" -#: /app/templates/index.php:6666 +#: /app/templates/index.php:6667 msgid "Expected amount each period" msgstr "" -#: /app/templates/index.php:6671 +#: /app/templates/index.php:6672 msgid "e.g., Employer Name, Company" msgstr "" -#: /app/templates/index.php:6672 +#: /app/templates/index.php:6673 msgid "Who pays this income (optional)" msgstr "" -#: /app/templates/index.php:6687 +#: /app/templates/index.php:6688 msgid "How often you receive this income" msgstr "" -#: /app/templates/index.php:6697 -#, fuzzy -#| msgid "Monthly" -msgid "First payment date" -msgstr "Měsíčně" - -#: /app/templates/index.php:6699 -msgid "Payments repeat from this date (optional)" -msgstr "" - -#: /app/templates/index.php:6703 +#: /app/templates/index.php:6704 msgid "Expected Month" msgstr "" -#: /app/templates/index.php:6719 +#: /app/templates/index.php:6720 msgid "Month when yearly income is expected" msgstr "" -#: /app/templates/index.php:6727 +#: /app/templates/index.php:6728 msgid "Categorize this income (optional)" msgstr "" -#: /app/templates/index.php:6731 +#: /app/templates/index.php:6732 msgid "Receive To Account" msgstr "" -#: /app/templates/index.php:6735 +#: /app/templates/index.php:6736 msgid "Account where income is received (optional)" msgstr "" -#: /app/templates/index.php:6741 +#: /app/templates/index.php:6742 msgid "Auto-create transaction when due" msgstr "" -#: /app/templates/index.php:6743 +#: /app/templates/index.php:6744 msgid "" "Automatically create a transaction when the expected date arrives (requires " "account)" msgstr "" -#: /app/templates/index.php:6748 +#: /app/templates/index.php:6749 msgid "e.g., PAYROLL, DIVIDEND" msgstr "" -#: /app/templates/index.php:6749 +#: /app/templates/index.php:6750 msgid "Pattern to match in transaction descriptions for auto-linking" msgstr "" -#: /app/templates/index.php:6763 +#: /app/templates/index.php:6764 msgid "" "Transactions generated by this income are left out of forecast averages." msgstr "" -#: /app/templates/index.php:6767 +#: /app/templates/index.php:6768 msgid "Save income" msgstr "" -#: /app/templates/index.php:6778 +#: /app/templates/index.php:6779 #, fuzzy #| msgid "categories" msgid "Import Categories" msgstr "kategorie" -#: /app/templates/index.php:6783 +#: /app/templates/index.php:6784 msgid "" "Categories that already exist are left unchanged; anything missing is " "created underneath them." msgstr "" -#: /app/templates/index.php:6794 +#: /app/templates/index.php:6795 msgid "Add/Edit Category" msgstr "" -#: /app/templates/index.php:6805 +#: /app/templates/index.php:6806 msgid "Category Name" msgstr "" -#: /app/templates/index.php:6818 +#: /app/templates/index.php:6819 msgid "Parent Category" msgstr "" -#: /app/templates/index.php:6822 +#: /app/templates/index.php:6823 msgid "Make this a subcategory (optional)" msgstr "" -#: /app/templates/index.php:6828 +#: /app/templates/index.php:6829 msgid "Color for charts and display" msgstr "" -#: /app/templates/index.php:6836 +#: /app/templates/index.php:6837 msgid "Options" msgstr "" -#: /app/templates/index.php:6840 +#: /app/templates/index.php:6841 msgid "Exclude from reports" msgstr "" -#: /app/templates/index.php:6842 +#: /app/templates/index.php:6843 msgid "" "Transactions in this category will not count toward budgets, spending " "reports, or dashboard totals." msgstr "" -#: /app/templates/index.php:6848 +#: /app/templates/index.php:6849 msgid "Exclude from budgeting" msgstr "" -#: /app/templates/index.php:6850 +#: /app/templates/index.php:6851 msgid "" "For spending you track but never budget against. The category keeps counting " "in reports, the dashboard and every total — it just drops out of the Budget " "page, budget alerts and the budget report, along with its subcategories." msgstr "" -#: /app/templates/index.php:6862 +#: /app/templates/index.php:6863 msgid "Save category" msgstr "" -#: /app/templates/index.php:6880 /app/templates/index.php:6981 +#: /app/templates/index.php:6881 /app/templates/index.php:6982 msgid "Tag Set Name" msgstr "" -#: /app/templates/index.php:6881 /app/templates/index.php:6982 +#: /app/templates/index.php:6882 /app/templates/index.php:6983 msgid "e.g., Activity, Equipment, Location" msgstr "" -#: /app/templates/index.php:6885 /app/templates/index.php:6986 +#: /app/templates/index.php:6886 /app/templates/index.php:6987 msgid "Optional description" msgstr "" -#: /app/templates/index.php:6912 /app/templates/index.php:6944 +#: /app/templates/index.php:6913 /app/templates/index.php:6945 msgid "e.g., Fishing, Rods, Online" msgstr "" -#: /app/templates/index.php:6962 /app/templates/index.php:6993 +#: /app/templates/index.php:6963 /app/templates/index.php:6994 msgid "Save Changes" msgstr "" -#: /app/templates/index.php:7003 +#: /app/templates/index.php:7004 msgid "Find Transfer Matches" msgstr "" -#: /app/templates/index.php:7005 +#: /app/templates/index.php:7006 msgid "Source Transaction" msgstr "" -#: /app/templates/index.php:7016 +#: /app/templates/index.php:7017 msgid "Searching for matches..." msgstr "" -#: /app/templates/index.php:7019 +#: /app/templates/index.php:7020 msgid "No matching transactions found within the date range." msgstr "" -#: /app/templates/index.php:7020 +#: /app/templates/index.php:7021 msgid "" "Matches must have the same amount, opposite type (income/expense), and be " "within 3 days." msgstr "" -#: /app/templates/index.php:7025 +#: /app/templates/index.php:7026 msgid "No match? Create the other side" msgstr "" -#: /app/templates/index.php:7026 +#: /app/templates/index.php:7027 msgid "" "Creates the opposite transaction in the account you pick and links the pair " "as a transfer. Useful when the other account has nothing to import (e.g. a " "loan account)." msgstr "" -#: /app/templates/index.php:7028 +#: /app/templates/index.php:7029 #, fuzzy #| msgid "accounts" msgid "Counterpart account" msgstr "účty" -#: /app/templates/index.php:7029 +#: /app/templates/index.php:7030 msgid "Create and link" msgstr "" -#: /app/templates/index.php:7033 /app/templates/index.php:7090 +#: /app/templates/index.php:7034 /app/templates/index.php:7091 msgid "Close dialog" msgstr "" -#: /app/templates/index.php:7041 +#: /app/templates/index.php:7042 msgid "Match Transfers" msgstr "" -#: /app/templates/index.php:7058 +#: /app/templates/index.php:7059 msgid "Matched Pairs" msgstr "" -#: /app/templates/index.php:7062 +#: /app/templates/index.php:7063 msgid "Need Review" msgstr "" -#: /app/templates/index.php:7068 +#: /app/templates/index.php:7069 msgid "Auto-Matched Pairs" msgstr "" -#: /app/templates/index.php:7069 +#: /app/templates/index.php:7070 msgid "" "These transactions were automatically linked. Click Undo to unlink a pair." msgstr "" -#: /app/templates/index.php:7075 +#: /app/templates/index.php:7076 msgid "Needs Manual Review" msgstr "" -#: /app/templates/index.php:7076 +#: /app/templates/index.php:7077 msgid "" "These transactions have multiple potential matches. Select the correct match " "for each." msgstr "" -#: /app/templates/index.php:7083 +#: /app/templates/index.php:7084 msgid "" "Matches require: same amount, same currency, opposite type (income/expense), " "different accounts, within your configured date window." msgstr "" -#: /app/templates/index.php:7088 +#: /app/templates/index.php:7089 msgid "Scan for Matches" msgstr "" -#: /app/templates/index.php:7107 +#: /app/templates/index.php:7108 msgid "Amount:" msgstr "" -#: /app/templates/index.php:7138 +#: /app/templates/index.php:7139 msgid "Remaining to allocate:" msgstr "" -#: /app/templates/index.php:7143 +#: /app/templates/index.php:7144 msgid "Unsplit Transaction" msgstr "" -#: /app/templates/index.php:7145 +#: /app/templates/index.php:7146 msgid "Save Splits" msgstr "" -#: /app/templates/index.php:7155 +#: /app/templates/index.php:7156 msgid "Bulk Edit Transactions" msgstr "" -#: /app/templates/index.php:7156 +#: /app/templates/index.php:7157 msgid "Edit fields for" msgstr "" -#: /app/templates/index.php:7156 +#: /app/templates/index.php:7157 msgid "selected transactions. Leave fields empty to keep existing values." msgstr "" -#: /app/templates/index.php:7157 +#: /app/templates/index.php:7158 msgid "Bulk edit form" msgstr "" -#: /app/templates/index.php:7163 +#: /app/templates/index.php:7164 msgid "Update category for all selected transactions (optional)" msgstr "" -#: /app/templates/index.php:7169 +#: /app/templates/index.php:7170 msgid "Update vendor name for all selected transactions (optional)" msgstr "" -#: /app/templates/index.php:7175 +#: /app/templates/index.php:7176 msgid "Update reference number for all selected transactions (optional)" msgstr "" -#: /app/templates/index.php:7181 +#: /app/templates/index.php:7182 msgid "Update notes for all selected transactions (optional)" msgstr "" -#: /app/templates/index.php:7185 +#: /app/templates/index.php:7186 msgid "Update selected transactions" msgstr "" -#: /app/templates/index.php:7185 +#: /app/templates/index.php:7186 msgid "Update Transactions" msgstr "" -#: /app/templates/index.php:7195 +#: /app/templates/index.php:7196 msgid "Bulk Edit Tags" msgstr "" -#: /app/templates/index.php:7197 +#: /app/templates/index.php:7198 msgid "Bulk tag form" msgstr "" -#: /app/templates/index.php:7199 +#: /app/templates/index.php:7200 msgid "Add these tags" msgstr "" -#: /app/templates/index.php:7204 +#: /app/templates/index.php:7205 msgid "Remove these tags" msgstr "" -#: /app/templates/index.php:7211 +#: /app/templates/index.php:7212 #, fuzzy #| msgid "Failed to retrieve accounts" msgid "Apply tag changes to selected transactions" msgstr "Nepodařilo se získat účty" -#: /app/templates/index.php:7211 +#: /app/templates/index.php:7212 msgid "Apply Tags" msgstr "" -#: /app/templates/index.php:7222 +#: /app/templates/index.php:7223 msgid "Contact form" msgstr "" -#: /app/templates/index.php:7230 +#: /app/templates/index.php:7231 msgid "Nextcloud User" msgstr "" -#: /app/templates/index.php:7232 +#: /app/templates/index.php:7233 msgid "" "Type a name, user ID or email to link a Nextcloud user, or leave it empty " "for someone without an account" msgstr "" -#: /app/templates/index.php:7237 +#: /app/templates/index.php:7238 msgid "e.g., John, Roommate, Partner" msgstr "" -#: /app/templates/index.php:7241 +#: /app/templates/index.php:7242 msgid "Email" msgstr "" -#: /app/templates/index.php:7242 +#: /app/templates/index.php:7243 msgid "Optional email address" msgstr "" -#: /app/templates/index.php:7259 +#: /app/templates/index.php:7260 msgid "Share Expense" msgstr "" -#: /app/templates/index.php:7260 +#: /app/templates/index.php:7261 msgid "Share expense form" msgstr "" -#: /app/templates/index.php:7270 +#: /app/templates/index.php:7271 msgid "Split Method" msgstr "" -#: /app/templates/index.php:7272 +#: /app/templates/index.php:7273 msgid "Equally" msgstr "" -#: /app/templates/index.php:7273 +#: /app/templates/index.php:7274 msgid "By percentage" msgstr "" -#: /app/templates/index.php:7274 +#: /app/templates/index.php:7275 #, fuzzy #| msgid "Amount" msgid "By amount" msgstr "Množství" -#: /app/templates/index.php:7279 +#: /app/templates/index.php:7280 msgid "Split between" msgstr "" -#: /app/templates/index.php:7287 +#: /app/templates/index.php:7288 msgid "Optional notes about this split" msgstr "" -#: /app/templates/index.php:7291 +#: /app/templates/index.php:7292 msgid "Save Split" msgstr "" -#: /app/templates/index.php:7301 +#: /app/templates/index.php:7302 msgid "Settle Expenses" msgstr "" -#: /app/templates/index.php:7302 +#: /app/templates/index.php:7303 msgid "Settlement form" msgstr "" -#: /app/templates/index.php:7311 +#: /app/templates/index.php:7312 msgid "Select expenses to settle" msgstr "" -#: /app/templates/index.php:7333 /app/templates/quick-add.php:66 +#: /app/templates/index.php:7334 /app/templates/quick-add.php:66 msgid "Optional notes" msgstr "" -#: /app/templates/index.php:7337 +#: /app/templates/index.php:7338 msgid "Settle Selected" msgstr "" -#: /app/templates/index.php:7347 +#: /app/templates/index.php:7348 msgid "Contact Details" msgstr "" -#: /app/templates/index.php:7354 +#: /app/templates/index.php:7355 msgid "Balance:" msgstr "" -#: /app/templates/index.php:7360 +#: /app/templates/index.php:7361 msgid "Settle All" msgstr "" -#: /app/templates/index.php:7361 +#: /app/templates/index.php:7362 msgid "Record Payment" msgstr "" -#: /app/templates/index.php:7366 +#: /app/templates/index.php:7367 msgid "Settlement History" msgstr "" -#: /app/templates/index.php:7392 +#: /app/templates/index.php:7393 msgid "Confirm Factory Reset" msgstr "" -#: /app/templates/index.php:7396 +#: /app/templates/index.php:7397 msgid "WARNING: This action cannot be undone!" msgstr "" -#: /app/templates/index.php:7397 +#: /app/templates/index.php:7398 msgid "A factory reset will permanently delete ALL of your data including:" msgstr "" -#: /app/templates/index.php:7399 +#: /app/templates/index.php:7400 msgid "All accounts and their balances" msgstr "" -#: /app/templates/index.php:7400 +#: /app/templates/index.php:7401 msgid "All transactions and transaction history" msgstr "" -#: /app/templates/index.php:7401 +#: /app/templates/index.php:7402 msgid "All bills and recurring income" msgstr "" -#: /app/templates/index.php:7402 +#: /app/templates/index.php:7403 msgid "All categories and budget settings" msgstr "" -#: /app/templates/index.php:7403 +#: /app/templates/index.php:7404 msgid "All savings goals and pension accounts" msgstr "" -#: /app/templates/index.php:7404 +#: /app/templates/index.php:7405 msgid "All import rules and settings" msgstr "" -#: /app/templates/index.php:7405 +#: /app/templates/index.php:7406 msgid "All shared expenses and contacts" msgstr "" -#: /app/templates/index.php:7407 +#: /app/templates/index.php:7408 msgid "Only audit logs will be preserved for compliance purposes." msgstr "" -#: /app/templates/index.php:7408 +#: /app/templates/index.php:7409 msgid "You will need to set up everything from scratch after this operation." msgstr "" -#: /app/templates/index.php:7413 +#: /app/templates/index.php:7414 msgid "Type DELETE to confirm:" msgstr "" -#: /app/templates/index.php:7418 +#: /app/templates/index.php:7419 msgid "Type DELETE to confirm" msgstr "" -#: /app/templates/index.php:7421 +#: /app/templates/index.php:7422 msgid "You must type DELETE (all caps) exactly to proceed" msgstr "" -#: /app/templates/index.php:7450 /app/templates/index.php:7454 +#: /app/templates/index.php:7451 /app/templates/index.php:7455 msgid "Add Bank Connection" msgstr "" -#: /app/templates/index.php:7459 +#: /app/templates/index.php:7460 msgid "Select a provider..." msgstr "" -#: /app/templates/index.php:7460 +#: /app/templates/index.php:7461 msgid "GoCardless (UK/Europe)" msgstr "" -#: /app/templates/index.php:7461 +#: /app/templates/index.php:7462 msgid "SimpleFIN Bridge (US)" msgstr "" -#: /app/templates/index.php:7466 +#: /app/templates/index.php:7467 msgid "Connection Name" msgstr "" -#: /app/templates/index.php:7467 +#: /app/templates/index.php:7468 msgid "e.g. My Bank" msgstr "" -#: /app/templates/index.php:7473 +#: /app/templates/index.php:7474 msgid "Setup Token" msgstr "" -#: /app/templates/index.php:7474 +#: /app/templates/index.php:7475 msgid "Paste your SimpleFIN setup token" msgstr "" -#: /app/templates/index.php:7475 +#: /app/templates/index.php:7476 msgid "Get a token from beta-bridge.simplefin.org" msgstr "" -#: /app/templates/index.php:7482 +#: /app/templates/index.php:7483 msgid "Secret ID" msgstr "" -#: /app/templates/index.php:7483 +#: /app/templates/index.php:7484 msgid "Your GoCardless Secret ID" msgstr "" -#: /app/templates/index.php:7486 +#: /app/templates/index.php:7487 msgid "Secret Key" msgstr "" -#: /app/templates/index.php:7487 +#: /app/templates/index.php:7488 msgid "Your GoCardless Secret Key" msgstr "" -#: /app/templates/index.php:7489 +#: /app/templates/index.php:7490 msgid "Get API keys from bankaccountdata.gocardless.com" msgstr "" -#: /app/templates/index.php:7502 +#: /app/templates/index.php:7503 msgid "Select Your Bank" msgstr "" -#: /app/templates/index.php:7505 +#: /app/templates/index.php:7506 #, fuzzy #| msgid "Amount" msgid "Country" msgstr "Množství" -#: /app/templates/index.php:7510 +#: /app/templates/index.php:7511 msgid "Search banks..." msgstr "" -#: /app/templates/index.php:7510 +#: /app/templates/index.php:7511 msgid "Search banks" msgstr "" -#: /app/templates/index.php:7514 +#: /app/templates/index.php:7515 msgid "Loading banks..." msgstr "" -#: /app/templates/index.php:7523 +#: /app/templates/index.php:7524 msgid "Back" msgstr "" -#: /app/templates/index.php:7529 +#: /app/templates/index.php:7530 msgid "Authorize with Your Bank" msgstr "" -#: /app/templates/index.php:7532 +#: /app/templates/index.php:7533 msgid "A new window has been opened for you to authorize access at your bank." msgstr "" -#: /app/templates/index.php:7533 +#: /app/templates/index.php:7534 msgid "Once you have completed the authorization, click the button below." msgstr "" -#: /app/templates/index.php:7535 +#: /app/templates/index.php:7536 msgid "If the window did not open, " msgstr "" -#: /app/templates/index.php:7536 +#: /app/templates/index.php:7537 msgid "click here to authorize" msgstr "" diff --git a/budget/translationfiles/de/budget.po b/budget/translationfiles/de/budget.po index 3879832e7..d30a40d66 100644 --- a/budget/translationfiles/de/budget.po +++ b/budget/translationfiles/de/budget.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Nextcloud 3.14159\n" "Report-Msgid-Bugs-To: translations\\@example.com\n" -"POT-Creation-Date: 2026-09-23 22:02+0000\n" -"PO-Revision-Date: 2026-09-24 16:38+0000\n" +"POT-Creation-Date: 2026-10-03 01:04+0000\n" +"PO-Revision-Date: 2026-10-02 22:28+0000\n" "Last-Translator: SGiersch \n" "Language-Team: German \n" @@ -17,32 +17,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2026.10.dev0\n" +"X-Generator: Weblate 2026.10\n" -#: /app/lib/Controller/AccountController.php:82 -#: /app/lib/Controller/ApiV1AccountController.php:56 +#: /app/lib/Controller/AccountController.php:80 +#: /app/lib/Controller/ApiV1AccountController.php:57 msgid "Failed to retrieve accounts" msgstr "Konten konnten nicht abgerufen werden" -#: /app/lib/Controller/AccountController.php:92 -#: /app/lib/Controller/AccountController.php:659 -#: /app/lib/Controller/ApiV1TransactionController.php:380 +#: /app/lib/Controller/AccountController.php:90 +#: /app/lib/Controller/AccountController.php:657 +#: /app/lib/Controller/ApiV1TransactionController.php:458 msgid "Account not found" msgstr "Konto nicht gefunden" -#: /app/lib/Controller/AccountController.php:105 -#: /app/lib/Controller/AccountController.php:640 -#: /app/lib/Controller/AccountController.php:680 -#: /app/lib/Controller/AccountController.php:752 -#: /app/lib/Controller/AccountController.php:769 -#: /app/lib/Controller/AccountController.php:821 -#: /app/lib/Controller/AccountController.php:835 -#: /app/lib/Controller/AccountController.php:899 +#: /app/lib/Controller/AccountController.php:103 +#: /app/lib/Controller/AccountController.php:638 +#: /app/lib/Controller/AccountController.php:678 +#: /app/lib/Controller/AccountController.php:750 +#: /app/lib/Controller/AccountController.php:767 +#: /app/lib/Controller/AccountController.php:780 +#: /app/lib/Controller/AccountController.php:832 +#: /app/lib/Controller/AccountController.php:846 +#: /app/lib/Controller/AccountController.php:910 #: /app/lib/Service/Export/TransactionCsvExporter.php:32 #: /app/lib/Service/Report/ReportExporter.php:255 #: /app/lib/Service/Report/ReportExporter.php:468 -#: /app/src/modules/dashboard/DashboardModule.js:5109 -#: /app/src/modules/dashboard/DashboardModule.js:5110 +#: /app/src/modules/dashboard/DashboardModule.js:5341 +#: /app/src/modules/dashboard/DashboardModule.js:5342 #: /app/src/modules/rules/components/CriteriaBuilder.js:195 #: /app/templates/index.php:508 /app/templates/index.php:524 #: /app/templates/index.php:593 /app/templates/index.php:615 @@ -53,156 +54,157 @@ msgstr "Konto nicht gefunden" #: /app/templates/index.php:2452 /app/templates/index.php:2595 #: /app/templates/index.php:3215 /app/templates/index.php:3323 #: /app/templates/index.php:3615 /app/templates/index.php:5831 -#: /app/templates/index.php:6568 /app/templates/quick-add.php:22 +#: /app/templates/index.php:6569 /app/templates/quick-add.php:22 msgid "Account" msgstr "Konto" -#: /app/lib/Controller/AccountController.php:119 +#: /app/lib/Controller/AccountController.php:117 msgid "Invalid JSON data or empty request" msgstr "Ungültige JSON-Daten oder leere Anfrage" -#: /app/lib/Controller/AccountController.php:131 +#: /app/lib/Controller/AccountController.php:129 msgid "Account type is required and cannot be empty" msgstr "Die Kontoart ist erforderlich und darf nicht leer sein" -#: /app/lib/Controller/AccountController.php:137 -#: /app/lib/Controller/AccountController.php:314 +#: /app/lib/Controller/AccountController.php:135 +#: /app/lib/Controller/AccountController.php:312 #, php-format msgid "Invalid account type: %1$s" msgstr "Ungültiger Kontoart: %1$s" -#: /app/lib/Controller/AccountController.php:144 -#: /app/lib/Controller/AccountController.php:323 +#: /app/lib/Controller/AccountController.php:142 +#: /app/lib/Controller/AccountController.php:321 #, php-format msgid "Invalid currency: %1$s" msgstr "Ungültige Währung: %1$s" -#: /app/lib/Controller/AccountController.php:150 +#: /app/lib/Controller/AccountController.php:148 #: /app/src/modules/accounts/AccountsModule.js:27 /app/templates/index.php:1107 #: /app/templates/index.php:6020 msgid "Institution" msgstr "Finanzinstitut" -#: /app/lib/Controller/AccountController.php:159 +#: /app/lib/Controller/AccountController.php:157 msgid "Account holder name" msgstr "Kontoinhaber" -#: /app/lib/Controller/AccountController.php:202 -#: /app/lib/Controller/AccountController.php:441 +#: /app/lib/Controller/AccountController.php:200 +#: /app/lib/Controller/AccountController.php:439 msgid "Statement day must be between 1 and 31" msgstr "Der Abrechnungstag muss zwischen 1 und 31 liegen" -#: /app/lib/Controller/AccountController.php:219 -#: /app/lib/Controller/AccountController.php:352 +#: /app/lib/Controller/AccountController.php:217 +#: /app/lib/Controller/AccountController.php:350 #, php-format msgid "Invalid routing number: %1$s" msgstr "Ungültige Routingnummer: %1$s" -#: /app/lib/Controller/AccountController.php:227 -#: /app/lib/Controller/AccountController.php:365 +#: /app/lib/Controller/AccountController.php:225 +#: /app/lib/Controller/AccountController.php:363 #, php-format msgid "Invalid sort code: %1$s" msgstr "Ungültige Bankleitzahl: %1$s" -#: /app/lib/Controller/AccountController.php:235 -#: /app/lib/Controller/AccountController.php:378 +#: /app/lib/Controller/AccountController.php:233 +#: /app/lib/Controller/AccountController.php:376 #, php-format msgid "Invalid IBAN: %1$s" msgstr "Ungültige IBAN: %1$s" -#: /app/lib/Controller/AccountController.php:243 -#: /app/lib/Controller/AccountController.php:391 +#: /app/lib/Controller/AccountController.php:241 +#: /app/lib/Controller/AccountController.php:389 #, php-format msgid "Invalid SWIFT/BIC: %1$s" msgstr "Ungültiger SWIFT/BIC: %1$s" -#: /app/lib/Controller/AccountController.php:280 +#: /app/lib/Controller/AccountController.php:278 msgid "Failed to create account" msgstr "Konto konnte nicht erstellt werden" -#: /app/lib/Controller/AccountController.php:296 -#: /app/lib/Controller/BillController.php:1045 -#: /app/lib/Controller/BillController.php:1063 -#: /app/lib/Controller/RecurringIncomeController.php:477 +#: /app/lib/Controller/AccountController.php:294 +#: /app/lib/Controller/BillController.php:1106 +#: /app/lib/Controller/BillController.php:1124 +#: /app/lib/Controller/BillController.php:1130 +#: /app/lib/Controller/RecurringIncomeController.php:513 +#: /app/lib/Controller/RecurringIncomeController.php:519 msgid "Invalid request data" msgstr "Ungültige Anfragedaten" -#: /app/lib/Controller/AccountController.php:483 -#: /app/lib/Controller/BillController.php:728 -#: /app/lib/Controller/CategoryController.php:319 -#: /app/lib/Controller/ImportRuleController.php:332 +#: /app/lib/Controller/AccountController.php:481 +#: /app/lib/Controller/BillController.php:758 +#: /app/lib/Controller/CategoryController.php:353 +#: /app/lib/Controller/CategoryController.php:449 +#: /app/lib/Controller/ImportRuleController.php:340 #: /app/lib/Controller/ImportTemplateController.php:152 #: /app/lib/Controller/TagSetController.php:186 #: /app/lib/Controller/TagSetController.php:308 #: /app/lib/Controller/TagSetController.php:412 -#: /app/lib/Controller/TransactionController.php:486 +#: /app/lib/Controller/TransactionController.php:489 msgid "No valid fields to update" msgstr "Keine gültigen Felder zum Aktualisieren" -#: /app/lib/Controller/AccountController.php:515 +#: /app/lib/Controller/AccountController.php:513 msgid "Failed to update account" msgstr "Konto konnte nicht aktualisiert werden" -#: /app/lib/Controller/AccountController.php:534 +#: /app/lib/Controller/AccountController.php:532 msgid "No account IDs provided" msgstr "Keine Konto-IDs angegeben" -#: /app/lib/Controller/AccountController.php:569 +#: /app/lib/Controller/AccountController.php:567 #: /app/src/modules/accounts/AccountsModule.js:699 msgid "Failed to delete accounts" msgstr "Konten konnten nicht gelöscht werden" -#: /app/lib/Controller/AccountController.php:580 -#, fuzzy -#| msgid "Only the goal owner can delete it" +#: /app/lib/Controller/AccountController.php:578 msgid "Only the account owner can delete an account" -msgstr "Nur der Eigentümer des Ziels kann das löschen" +msgstr "Nur der Eigentümer des Kontos kann das Konto löschen" -#: /app/lib/Controller/AccountController.php:642 -#: /app/src/modules/accounts/AccountsModule.js:2985 +#: /app/lib/Controller/AccountController.php:640 +#: /app/src/modules/accounts/AccountsModule.js:2991 msgid "Failed to delete account" msgstr "Fehler beim Löschen des Kontos" -#: /app/lib/Controller/AccountController.php:666 +#: /app/lib/Controller/AccountController.php:664 msgid "This account has no sensitive banking data to reveal" msgstr "" "Dieses Konto hat keine sensiblen Bankdaten, die angezeigt werden können" -#: /app/lib/Controller/AccountController.php:692 +#: /app/lib/Controller/AccountController.php:690 msgid "Failed to retrieve account summary" msgstr "Kontozusammenfassung konnte nicht abgerufen werden" -#: /app/lib/Controller/AccountController.php:782 +#: /app/lib/Controller/AccountController.php:793 msgid "Failed to reconcile account" msgstr "Kontenabgleich fehlgeschlagen" -#: /app/lib/Controller/AccountController.php:797 +#: /app/lib/Controller/AccountController.php:808 msgid "Too many transactions (max 500)" msgstr "Zu viele Transaktionen (max. 500)" -#: /app/lib/Controller/AccountController.php:804 -#: /app/src/modules/transactions/TransactionsModule.js:1841 +#: /app/lib/Controller/AccountController.php:815 +#: /app/src/modules/transactions/TransactionsModule.js:1867 msgid "Failed to complete reconciliation" msgstr "Abgleich konnte nicht abgeschlossen werden" -#: /app/lib/Controller/AccountController.php:853 +#: /app/lib/Controller/AccountController.php:864 msgid "Interest rate must be between 0 and 999.9999" msgstr "Der Zinssatz muss zwischen 0 und 999,9999" -#: /app/lib/Controller/AccountController.php:858 -#: /app/src/modules/accounts/AccountsModule.js:1432 +#: /app/lib/Controller/AccountController.php:869 +#: /app/src/modules/accounts/AccountsModule.js:1435 msgid "Invalid compounding frequency" msgstr "Ungültiges Zinsintervall" -#: /app/lib/Controller/AccountController.php:862 +#: /app/lib/Controller/AccountController.php:873 msgid "Invalid date format. Use YYYY-MM-DD" msgstr "Ungültiges Datumsformat. Verwende YYYY-MM-DD" -#: /app/lib/Controller/AccountController.php:868 +#: /app/lib/Controller/AccountController.php:879 msgid "Failed to add interest rate" msgstr "Zinssatz konnte nicht hinzugefügt werden" -#: /app/lib/Controller/AccountController.php:883 +#: /app/lib/Controller/AccountController.php:894 msgid "Failed to delete interest rate" msgstr "Zinssatz konnte nicht gelöscht werden" @@ -241,19 +243,39 @@ msgstr "Budgetstatus wurde nicht abgerufen" msgid "Failed to retrieve budget summary" msgstr "Budgetzusammenfassung konnte nicht abgerufen werden" +#: /app/lib/Controller/ApiV1BillController.php:62 +#: /app/lib/Controller/BillController.php:1005 +msgid "Failed to retrieve upcoming bills" +msgstr "Anstehende Rechnungen konnten nicht abgefragt werden" + +#: /app/lib/Controller/ApiV1BudgetController.php:59 +#: /app/lib/Controller/CategoryController.php:415 +#: /app/lib/Controller/CategoryController.php:674 +#: /app/lib/Controller/CategoryController.php:696 +#: /app/lib/Controller/CategoryController.php:726 +#: /app/lib/Controller/CategoryController.php:765 +#: /app/lib/Controller/CategoryController.php:782 +msgid "Invalid month format. Use YYYY-MM" +msgstr "Ungültiges Monatsformat. Verwende YYYY-MM" + +#: /app/lib/Controller/ApiV1BudgetController.php:71 +#: /app/lib/Controller/CategoryController.php:750 +msgid "Failed to retrieve effective budgets" +msgstr "Gültige Budgets konnten nicht abgerufen werden" + #: /app/lib/Controller/ApiV1CategoryController.php:62 -#: /app/lib/Controller/CategoryController.php:183 -#: /app/lib/Controller/CategoryController.php:254 +#: /app/lib/Controller/CategoryController.php:188 +#: /app/lib/Controller/CategoryController.php:280 msgid "Invalid category type. Must be income or expense" msgstr "Ungültiger Kategorietyp. Muss Einkommen oder Ausgaben sein" #: /app/lib/Controller/ApiV1CategoryController.php:81 -#: /app/lib/Controller/CategoryController.php:92 +#: /app/lib/Controller/CategoryController.php:97 msgid "Failed to retrieve categories" msgstr "Kategorien konnten nicht abgefragt werden" #: /app/lib/Controller/ApiV1ReceiptController.php:73 -#: /app/lib/Controller/ApiV1TransactionController.php:651 +#: /app/lib/Controller/ApiV1TransactionController.php:731 #: /app/lib/Controller/AttachmentController.php:91 #: /app/lib/Controller/ImportController.php:111 #: /app/lib/Controller/MigrationController.php:83 @@ -287,39 +309,41 @@ msgstr "" "Der Beleg konnte nicht gelesen werden – die Texterkennung ist " "fehlgeschlagen. Versuche es erneut oder erfasse die Transaktion manuell" -#: /app/lib/Controller/ApiV1TransactionController.php:98 +#: /app/lib/Controller/ApiV1TransactionController.php:102 msgid "Invalid date. Use the YYYY-MM-DD format" msgstr "Ungültiges Datum. Verwende das Format YYYY-MM-DD" -#: /app/lib/Controller/ApiV1TransactionController.php:130 -#: /app/lib/Controller/ApiV1TransactionController.php:167 -#: /app/lib/Controller/TransactionController.php:126 -#: /app/lib/Controller/TransactionController.php:181 +#: /app/lib/Controller/ApiV1TransactionController.php:138 +#: /app/lib/Controller/ApiV1TransactionController.php:179 +#: /app/lib/Controller/TransactionController.php:129 +#: /app/lib/Controller/TransactionController.php:184 msgid "Failed to retrieve transactions" msgstr "Abruf der Buchungen fehlgeschlagen" -#: /app/lib/Controller/ApiV1TransactionController.php:180 +#: /app/lib/Controller/ApiV1TransactionController.php:193 +#: /app/lib/Controller/ApiV1TransactionController.php:210 msgid "Failed to retrieve transaction" msgstr "Abruf der Buchung fehlgeschlagen" -#: /app/lib/Controller/ApiV1TransactionController.php:228 +#: /app/lib/Controller/ApiV1TransactionController.php:306 msgid "Amount must be a number" msgstr "Betrag muss eine Zahl sein" -#: /app/lib/Controller/ApiV1TransactionController.php:233 +#: /app/lib/Controller/ApiV1TransactionController.php:311 msgid "An account is required" msgstr "Ein Konto ist erforderlich" -#: /app/lib/Controller/ApiV1TransactionController.php:238 +#: /app/lib/Controller/ApiV1TransactionController.php:316 #: /app/lib/Controller/AssetController.php:326 -#: /app/lib/Controller/PensionController.php:356 -#: /app/lib/Controller/PensionController.php:428 -#: /app/lib/Controller/PensionController.php:477 -#: /app/lib/Controller/TransactionController.php:310 -#: /app/lib/Controller/TransactionController.php:417 -#: /app/lib/Service/Export/TransactionCsvExporter.php:28 /app/src/main.js:3554 -#: /app/src/modules/rules/RulesModule.js:935 -#: /app/src/modules/rules/RulesModule.js:1137 +#: /app/lib/Controller/PensionController.php:358 +#: /app/lib/Controller/PensionController.php:430 +#: /app/lib/Controller/PensionController.php:481 +#: /app/lib/Controller/TransactionController.php:313 +#: /app/lib/Controller/TransactionController.php:420 +#: /app/lib/Service/Export/TransactionCsvExporter.php:28 /app/src/main.js:3588 +#: /app/src/modules/income/IncomeModule.js:403 +#: /app/src/modules/rules/RulesModule.js:950 +#: /app/src/modules/rules/RulesModule.js:1152 #: /app/src/modules/rules/components/CriteriaBuilder.js:194 #: /app/templates/index.php:1033 /app/templates/index.php:1533 #: /app/templates/index.php:1773 /app/templates/index.php:1827 @@ -327,47 +351,47 @@ msgstr "Ein Konto ist erforderlich" #: /app/templates/index.php:2594 /app/templates/index.php:5430 #: /app/templates/index.php:5455 /app/templates/index.php:5491 #: /app/templates/index.php:5669 /app/templates/index.php:5843 -#: /app/templates/index.php:6518 /app/templates/index.php:7327 +#: /app/templates/index.php:6519 /app/templates/index.php:7328 #: /app/templates/quick-add.php:17 msgid "Date" msgstr "Datum" -#: /app/lib/Controller/ApiV1TransactionController.php:258 -#: /app/lib/Controller/TransactionController.php:318 -#: /app/lib/Controller/TransactionController.php:428 +#: /app/lib/Controller/ApiV1TransactionController.php:336 +#: /app/lib/Controller/TransactionController.php:321 +#: /app/lib/Controller/TransactionController.php:431 msgid "Invalid transaction type. Must be credit or debit" msgstr "Ungültiger Buchungstyp. Dieser muss Kredit oder Debit sein" -#: /app/lib/Controller/ApiV1TransactionController.php:270 +#: /app/lib/Controller/ApiV1TransactionController.php:348 msgid "Idempotency key too long (64 characters maximum)" msgstr "Idempotenzschlüssel ist zu lang (maximal 64 Zeichen)" -#: /app/lib/Controller/ApiV1TransactionController.php:348 -#: /app/lib/Controller/ApiV1TransactionController.php:498 +#: /app/lib/Controller/ApiV1TransactionController.php:426 +#: /app/lib/Controller/ApiV1TransactionController.php:578 msgid "The transaction was recorded, but the photo could not be attached" msgstr "" "Die Transaktion wurde erfasst, aber das Foto konnte nicht angehängt werden" -#: /app/lib/Controller/ApiV1TransactionController.php:374 +#: /app/lib/Controller/ApiV1TransactionController.php:452 msgid "The transaction was recorded, but it could not be split" msgstr "Die Transaktion wurde erfasst, konnte aber nicht aufgeteilt werden" -#: /app/lib/Controller/ApiV1TransactionController.php:384 -#: /app/lib/Controller/TransactionController.php:379 +#: /app/lib/Controller/ApiV1TransactionController.php:462 +#: /app/lib/Controller/TransactionController.php:382 msgid "Failed to create transaction" msgstr "Erstellen der Buchung fehlgeschlagen" -#: /app/lib/Controller/ApiV1TransactionController.php:463 +#: /app/lib/Controller/ApiV1TransactionController.php:541 msgid "This idempotency key was already used for a different transaction" msgstr "" "Dieser Idempotenzschlüssel wurde bereits für eine andere Transaktion " "verwendet" -#: /app/lib/Controller/ApiV1TransactionController.php:472 +#: /app/lib/Controller/ApiV1TransactionController.php:550 msgid "This request is still being processed. Try again shortly" msgstr "Diese Anfrage wird noch verarbeitet. Versuche es in Kürze erneut" -#: /app/lib/Controller/ApiV1TransactionController.php:545 +#: /app/lib/Controller/ApiV1TransactionController.php:625 msgid "" "splits must be an array of {\"amount\", \"category_id\", \"description\"} " "objects" @@ -375,31 +399,31 @@ msgstr "" "splits muss ein Array aus Objekten mit den Feldern {\"amount\", " "\"category_id\", \"description\"} sein" -#: /app/lib/Controller/ApiV1TransactionController.php:566 +#: /app/lib/Controller/ApiV1TransactionController.php:646 msgid "Failed to split the transaction" msgstr "Die Transaktion konnte nicht aufgeteilt werden" -#: /app/lib/Controller/ApiV1TransactionController.php:638 +#: /app/lib/Controller/ApiV1TransactionController.php:718 #: /app/lib/Controller/AttachmentController.php:46 #: /app/lib/Controller/AttachmentController.php:59 -#: /app/src/modules/transactions/TransactionsModule.js:2775 +#: /app/src/modules/transactions/TransactionsModule.js:2819 msgid "Failed to load attachments" msgstr "Anhänge konnten nicht geladen werden" -#: /app/lib/Controller/ApiV1TransactionController.php:663 +#: /app/lib/Controller/ApiV1TransactionController.php:743 #: /app/lib/Controller/AttachmentController.php:101 -#: /app/src/modules/transactions/TransactionsModule.js:2786 -#: /app/src/modules/transactions/TransactionsModule.js:2791 +#: /app/src/modules/transactions/TransactionsModule.js:2830 +#: /app/src/modules/transactions/TransactionsModule.js:2835 msgid "Failed to upload receipt" msgstr "Beleg konnte nicht hochgeladen werden" -#: /app/lib/Controller/ApiV1TransactionController.php:669 +#: /app/lib/Controller/ApiV1TransactionController.php:749 #: /app/lib/Controller/AttachmentController.php:57 #: /app/lib/Controller/AttachmentController.php:72 -#: /app/lib/Controller/AttachmentController.php:97 /app/src/main.js:3292 -#: /app/src/main.js:3530 -#: /app/src/modules/transactions/TransactionsModule.js:3591 -#: /app/src/modules/transactions/TransactionsModule.js:3698 +#: /app/lib/Controller/AttachmentController.php:97 /app/src/main.js:3326 +#: /app/src/main.js:3564 +#: /app/src/modules/transactions/TransactionsModule.js:3642 +#: /app/src/modules/transactions/TransactionsModule.js:3749 msgid "Transaction not found" msgstr "Buchung nicht gefunden" @@ -416,9 +440,9 @@ msgstr "Anlage" #: /app/lib/Controller/AssetController.php:310 #: /app/lib/Controller/PensionController.php:114 #: /app/lib/Controller/PensionController.php:215 -#: /app/lib/Controller/PensionController.php:340 -#: /app/lib/Controller/PensionController.php:407 -#: /app/lib/Controller/TransactionController.php:996 +#: /app/lib/Controller/PensionController.php:342 +#: /app/lib/Controller/PensionController.php:409 +#: /app/lib/Controller/TransactionController.php:1016 msgid "Invalid JSON data" msgstr "Ungültige JSON-Daten" @@ -481,7 +505,7 @@ msgid "Failed to delete asset" msgstr "Vermögenswert konnte nicht gelöscht werden" #: /app/lib/Controller/AssetController.php:297 -#: /app/lib/Controller/PensionController.php:326 +#: /app/lib/Controller/PensionController.php:328 msgid "Failed to retrieve snapshots" msgstr "Schnappschüsse konnten nicht abgerufen werden" @@ -494,17 +518,17 @@ msgid "Value cannot be negative" msgstr "Der Wert kann nicht negativ sein" #: /app/lib/Controller/AssetController.php:334 -#: /app/lib/Controller/PensionController.php:364 +#: /app/lib/Controller/PensionController.php:366 msgid "Failed to create snapshot" msgstr "Fehler beim Erstellen der Momentaufnahme" #: /app/lib/Controller/AssetController.php:345 -#: /app/lib/Controller/PensionController.php:375 +#: /app/lib/Controller/PensionController.php:377 msgid "Snapshot deleted successfully" msgstr "Momentaufnahme erfolgreich gelöscht" #: /app/lib/Controller/AssetController.php:347 -#: /app/lib/Controller/PensionController.php:377 +#: /app/lib/Controller/PensionController.php:379 msgid "Failed to delete snapshot" msgstr "Momentaufnahme konnte nicht gelöscht werden" @@ -529,8 +553,8 @@ msgid "File not found" msgstr "Datei nicht gefunden" #: /app/lib/Controller/AttachmentController.php:78 -#: /app/src/modules/transactions/TransactionsModule.js:2801 -#: /app/src/modules/transactions/TransactionsModule.js:2806 +#: /app/src/modules/transactions/TransactionsModule.js:2845 +#: /app/src/modules/transactions/TransactionsModule.js:2850 msgid "Failed to attach file" msgstr "Datei konnte nicht angehängt werden" @@ -543,7 +567,7 @@ msgid "Attachment not found" msgstr "Anhang nicht gefunden" #: /app/lib/Controller/AttachmentController.php:118 -#: /app/src/modules/transactions/TransactionsModule.js:2816 +#: /app/src/modules/transactions/TransactionsModule.js:2860 msgid "Failed to remove attachment" msgstr "Anhang konnte nicht entfernt werden" @@ -621,112 +645,117 @@ msgstr "Die ID des Finanzinstituts ist erforderlich" msgid "Failed to re-authorize" msgstr "Erneute Autorisierung fehlgeschlagen" -#: /app/lib/Controller/BillController.php:98 +#: /app/lib/Controller/BillController.php:107 msgid "Failed to retrieve bills" msgstr "Rechnungen konnten nicht abgerufen werden" -#: /app/lib/Controller/BillController.php:121 -#: /app/lib/Controller/BillController.php:136 -#: /app/lib/Controller/BillController.php:758 -#: /app/lib/Controller/BillController.php:1162 -#: /app/lib/Controller/BillController.php:1268 /app/templates/index.php:3649 +#: /app/lib/Controller/BillController.php:148 +#: /app/lib/Controller/BillController.php:164 +#: /app/lib/Controller/BillController.php:800 +#: /app/lib/Controller/BillController.php:1288 +#: /app/lib/Controller/BillController.php:1394 /app/templates/index.php:3649 #: /app/templates/index.php:6166 msgid "Bill" msgstr "Rechnung" -#: /app/lib/Controller/BillController.php:121 -#: /app/lib/Controller/CategoryController.php:381 -#: /app/lib/Controller/CategoryController.php:475 -#: /app/lib/Controller/CategoryController.php:493 -#: /app/lib/Controller/CategoryController.php:512 -#: /app/lib/Controller/GoalsController.php:87 -#: /app/lib/Controller/GoalsController.php:316 -#: /app/lib/Controller/GoalsController.php:344 -#: /app/lib/Controller/GoalsController.php:363 -#: /app/lib/Controller/ImportRuleController.php:90 -#: /app/lib/Controller/ProjectController.php:186 -#: /app/lib/Controller/RecurringIncomeController.php:89 +#: /app/lib/Controller/BillController.php:148 +#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:514 +#: /app/lib/Controller/CategoryController.php:618 +#: /app/lib/Controller/CategoryController.php:636 +#: /app/lib/Controller/CategoryController.php:655 +#: /app/lib/Controller/GoalsController.php:92 +#: /app/lib/Controller/GoalsController.php:322 +#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:370 +#: /app/lib/Controller/ImportRuleController.php:91 +#: /app/lib/Controller/ProjectController.php:188 +#: /app/lib/Controller/RecurringIncomeController.php:93 #: /app/lib/Traits/ApiErrorHandlerTrait.php:211 #, php-format msgid "%1$s not found" msgstr "%1$s nicht gefunden" -#: /app/lib/Controller/BillController.php:189 -#: /app/lib/Controller/BillController.php:622 -#: /app/lib/Service/BillService.php:86 +#: /app/lib/Controller/BillController.php:217 +#: /app/lib/Controller/BillController.php:652 +#: /app/lib/Service/BillService.php:167 msgid "Invalid amount type" msgstr "Ungültiger Betragstyp" -#: /app/lib/Controller/BillController.php:194 +#: /app/lib/Controller/BillController.php:222 msgid "Name and amount are required" msgstr "Name und Betrag sind erforderlich" -#: /app/lib/Controller/BillController.php:238 -#: /app/lib/Controller/BillController.php:707 -#: /app/lib/Service/BillService.php:403 /app/lib/Service/BillService.php:513 +#: /app/lib/Controller/BillController.php:266 +#: /app/lib/Controller/BillController.php:737 +#: /app/lib/Service/BillService.php:625 /app/lib/Service/BillService.php:751 msgid "Auto-pay requires an account to be set" msgstr "Automatische Zahlung erfordert ein Konto" -#: /app/lib/Controller/BillController.php:246 -#: /app/lib/Controller/BillController.php:641 -#: /app/lib/Service/BillService.php:408 +#: /app/lib/Controller/BillController.php:274 +#: /app/lib/Controller/BillController.php:671 +#: /app/lib/Service/BillService.php:630 msgid "Transfer requires a destination account" msgstr "Umbuchung erfordert ein Zielkonto" -#: /app/lib/Controller/BillController.php:254 -#: /app/lib/Controller/BillController.php:669 -#: /app/lib/Service/BillService.php:413 +#: /app/lib/Controller/BillController.php:282 +#: /app/lib/Controller/BillController.php:699 +#: /app/lib/Service/BillService.php:635 #: /app/src/modules/transfers/TransfersModule.js:848 msgid "Cannot transfer to the same account" msgstr "Die Umbuchung kann nicht auf das selbe Konto erfolgen" -#: /app/lib/Controller/BillController.php:277 -#: /app/lib/Controller/BillController.php:432 +#: /app/lib/Controller/BillController.php:305 +#: /app/lib/Controller/BillController.php:461 +#: /app/lib/Controller/BillController.php:1188 msgid "Due day must be between 1 and 31" msgstr "Das Fälligkeitsdatum muss zwischen dem 1. und dem 31. liegen" -#: /app/lib/Controller/BillController.php:282 -#: /app/lib/Controller/BillController.php:444 +#: /app/lib/Controller/BillController.php:310 +#: /app/lib/Controller/BillController.php:473 +#: /app/lib/Controller/BillController.php:1191 msgid "Due month must be between 1 and 12" msgstr "Der Monat muss zwischen 1 und 12 liegen" -#: /app/lib/Controller/BillController.php:305 -#: /app/lib/Controller/BillController.php:497 +#: /app/lib/Controller/BillController.php:333 +#: /app/lib/Controller/BillController.php:527 msgid "Reminder days must be between 0 and 30" msgstr "Der Erinnerungszeitraum muss zwischen 0 und 30 liegen" -#: /app/lib/Controller/BillController.php:318 +#: /app/lib/Controller/BillController.php:346 msgid "Transaction date" msgstr "Buchungsdatum" -#: /app/lib/Controller/BillController.php:326 -#: /app/lib/Controller/BillController.php:539 -#: /app/lib/Controller/RecurringIncomeController.php:199 -#: /app/lib/Controller/RecurringIncomeController.php:311 +#: /app/lib/Controller/BillController.php:354 +#: /app/lib/Controller/BillController.php:569 +#: /app/lib/Controller/BillController.php:1195 +#: /app/lib/Controller/RecurringIncomeController.php:205 +#: /app/lib/Controller/RecurringIncomeController.php:317 +#: /app/lib/Controller/RecurringIncomeController.php:584 #: /app/templates/index.php:3208 /app/templates/index.php:5171 msgid "Start date" msgstr "Startdatum" -#: /app/lib/Controller/BillController.php:336 -#: /app/lib/Controller/BillController.php:550 /app/templates/index.php:3210 +#: /app/lib/Controller/BillController.php:364 +#: /app/lib/Controller/BillController.php:580 /app/templates/index.php:3210 msgid "End date" msgstr "Enddatum" -#: /app/lib/Controller/BillController.php:346 +#: /app/lib/Controller/BillController.php:374 msgid "Start date must be before the end date" msgstr "Das Startdatum muss vor dem Enddatum liegen" -#: /app/lib/Controller/BillController.php:351 -#: /app/lib/Controller/BillController.php:563 +#: /app/lib/Controller/BillController.php:379 +#: /app/lib/Controller/BillController.php:593 msgid "Remaining payments must be at least 1" msgstr "Die verbleibenden Zahlungen müssen mindesten 1 betragen" -#: /app/lib/Controller/BillController.php:392 -#: /app/src/modules/bills/BillsModule.js:234 +#: /app/lib/Controller/BillController.php:421 +#: /app/src/modules/bills/BillsModule.js:243 msgid "Failed to create bill" msgstr "Rechnung konnte nicht erstellt werden" -#: /app/lib/Controller/BillController.php:602 +#: /app/lib/Controller/BillController.php:632 msgid "" "The new amount does not match the bill's split template. Update the splits " "together with the amount." @@ -734,129 +763,134 @@ msgstr "" "Der neue Betrag entspricht nicht der Aufteilungsvorlage dieser Rechnung. " "Passe die Aufteilung gemeinsam mit dem Betrag an." -#: /app/lib/Controller/BillController.php:743 +#: /app/lib/Controller/BillController.php:781 msgid "Failed to update bill" msgstr "Rechnung konnte nicht aktualisiert werden" -#: /app/lib/Controller/BillController.php:771 +#: /app/lib/Controller/BillController.php:795 +#: /app/lib/Controller/GoalsController.php:331 +#: /app/lib/Controller/ProjectController.php:164 +#: /app/lib/Controller/RecurringIncomeController.php:362 +msgid "Deleting a shared item needs Full control from its owner" +msgstr "" +"Zum Löschen eines geteilten Elements ist die Berechtigung „Vollzugriff“ des " +"Eigentümers erforderlich" + +#: /app/lib/Controller/BillController.php:813 msgid "Failed to find matching transactions" msgstr "Passende Transaktionen konnten nicht gefunden werden" -#: /app/lib/Controller/BillController.php:784 +#: /app/lib/Controller/BillController.php:826 msgid "Failed to check for unrecorded payments" msgstr "Es konnte nicht nach nicht erfassten Zahlungen gesucht werden" -#: /app/lib/Controller/BillController.php:801 -#: /app/src/modules/bills/BillsModule.js:164 +#: /app/lib/Controller/BillController.php:843 +#: /app/src/modules/bills/BillsModule.js:168 msgid "Failed to record the payment" msgstr "Die Zahlung konnte nicht erfasst werden" -#: /app/lib/Controller/BillController.php:820 -#: /app/src/modules/bills/BillsModule.js:153 +#: /app/lib/Controller/BillController.php:862 +#: /app/src/modules/bills/BillsModule.js:157 msgid "Failed to dismiss the payment" msgstr "Die Zahlung konnte nicht verworfen werden" -#: /app/lib/Controller/BillController.php:843 -#: /app/src/modules/bills/BillsModule.js:1248 +#: /app/lib/Controller/BillController.php:892 +#: /app/src/modules/bills/BillsModule.js:1271 msgid "Failed to mark bill as paid" msgstr "Rechnung konnte nicht als bezahlt markiert werden" -#: /app/lib/Controller/BillController.php:880 +#: /app/lib/Controller/BillController.php:918 msgid "Failed to undo mark as paid" msgstr "Die Kennzeichnung \"bezahlt\" konnte nicht entfernt werden" -#: /app/lib/Controller/BillController.php:899 -#: /app/src/modules/bills/BillsModule.js:1501 -#: /app/src/modules/bills/BillsModule.js:1508 +#: /app/lib/Controller/BillController.php:939 +#: /app/src/modules/bills/BillsModule.js:1405 +#: /app/src/modules/bills/BillsModule.js:1413 msgid "Failed to mark bill as unpaid" msgstr "Die Rechnung konnte nicht als unbezahlt markiert werden" -#: /app/lib/Controller/BillController.php:916 -#: /app/src/modules/bills/BillsModule.js:1542 +#: /app/lib/Controller/BillController.php:967 +#: /app/src/modules/bills/BillsModule.js:1447 msgid "Failed to skip bill payment" msgstr "Rechnungszahlung konnte nicht übersprungen werden" -#: /app/lib/Controller/BillController.php:932 +#: /app/lib/Controller/BillController.php:983 msgid "Missing previous due date" msgstr "Vorheriger Stichtag fehlt" -#: /app/lib/Controller/BillController.php:938 +#: /app/lib/Controller/BillController.php:991 msgid "Failed to undo skip" msgstr "Überspringen könnte nicht rückgängig gemacht werden" -#: /app/lib/Controller/BillController.php:952 -msgid "Failed to retrieve upcoming bills" -msgstr "Anstehende Rechnungen konnten nicht abgefragt werden" - -#: /app/lib/Controller/BillController.php:966 +#: /app/lib/Controller/BillController.php:1019 msgid "Failed to retrieve bills due this month" msgstr "" "Rechnungen, die diesen Monat fällig sind, konnten nicht ermittelt werden" -#: /app/lib/Controller/BillController.php:980 +#: /app/lib/Controller/BillController.php:1033 msgid "Failed to retrieve overdue bills" msgstr "Überfällige Rechnungen konnten nicht abgefragt werden" -#: /app/lib/Controller/BillController.php:993 +#: /app/lib/Controller/BillController.php:1052 msgid "Failed to retrieve bill summary" msgstr "Rechnungszusammenfassung konnte nicht abgefragt werden" -#: /app/lib/Controller/BillController.php:1006 +#: /app/lib/Controller/BillController.php:1065 msgid "Failed to retrieve bill status" msgstr "Status der Rechnung konnte nicht abgefragt werden" -#: /app/lib/Controller/BillController.php:1019 -#: /app/src/modules/bills/BillsModule.js:1586 +#: /app/lib/Controller/BillController.php:1080 +#: /app/src/modules/bills/BillsModule.js:1491 msgid "Failed to detect recurring bills" msgstr "Wiederkehrende Rechnungen konnten nicht ermittelt werden" -#: /app/lib/Controller/BillController.php:1033 +#: /app/lib/Controller/BillController.php:1094 msgid "Failed to load bill suggestions" msgstr "Rechnungsvorschläge konnten nicht geladen werden" -#: /app/lib/Controller/BillController.php:1050 -#: /app/src/modules/bills/BillsModule.js:253 +#: /app/lib/Controller/BillController.php:1111 +#: /app/src/modules/bills/BillsModule.js:262 msgid "Failed to dismiss suggestion" msgstr "Vorschlag konnte nicht verworfen werden" -#: /app/lib/Controller/BillController.php:1082 +#: /app/lib/Controller/BillController.php:1156 msgid "Failed to create bills from detected patterns" msgstr "Erstellen von Rechnungen aus erkannten Mustern schlug fehl" -#: /app/lib/Controller/BillController.php:1097 -#: /app/lib/Controller/BillController.php:1130 +#: /app/lib/Controller/BillController.php:1223 +#: /app/lib/Controller/BillController.php:1256 msgid "Invalid year" msgstr "Ungültiges Jahr" -#: /app/lib/Controller/BillController.php:1112 +#: /app/lib/Controller/BillController.php:1238 msgid "Failed to generate annual overview" msgstr "Jahresüberblick konnte nicht generiert werden" -#: /app/lib/Controller/BillController.php:1153 +#: /app/lib/Controller/BillController.php:1279 msgid "Failed to export bills calendar" msgstr "Export des Rechnungskalender schlug fehl" -#: /app/lib/Controller/BillController.php:1162 -#: /app/lib/Controller/BillController.php:1269 +#: /app/lib/Controller/BillController.php:1288 +#: /app/lib/Controller/BillController.php:1395 #: /app/lib/Service/Export/TransactionCsvExporter.php:34 #: /app/lib/Service/Report/ReportExporter.php:279 #: /app/lib/Service/Report/ReportExporter.php:337 #: /app/lib/Service/Report/ReportExporter.php:378 #: /app/lib/Service/Report/ReportExporter.php:495 #: /app/lib/Service/Report/ReportExporter.php:572 -#: /app/lib/Service/Report/ReportExporter.php:615 /app/src/main.js:3622 -#: /app/src/main.js:3623 /app/src/modules/bills/BillsModule.js:965 -#: /app/src/modules/rules/RulesModule.js:937 -#: /app/src/modules/rules/RulesModule.js:1139 +#: /app/lib/Service/Report/ReportExporter.php:615 /app/src/main.js:3656 +#: /app/src/main.js:3657 /app/src/modules/bills/BillsModule.js:971 +#: /app/src/modules/rules/RulesModule.js:952 +#: /app/src/modules/rules/RulesModule.js:1154 #: /app/src/modules/rules/components/CriteriaBuilder.js:190 -#: /app/src/modules/transactions/TransactionsModule.js:2040 -#: /app/src/modules/transactions/TransactionsModule.js:3183 -#: /app/src/modules/transactions/TransactionsModule.js:3184 -#: /app/src/modules/transactions/TransactionsModule.js:3268 -#: /app/src/modules/transactions/TransactionsModule.js:3553 -#: /app/src/modules/transactions/TransactionsModule.js:3787 -#: /app/src/modules/transactions/TransactionsModule.js:3788 -#: /app/src/modules/transfers/TransfersModule.js:482 +#: /app/src/modules/transactions/TransactionsModule.js:2068 +#: /app/src/modules/transactions/TransactionsModule.js:3227 +#: /app/src/modules/transactions/TransactionsModule.js:3228 +#: /app/src/modules/transactions/TransactionsModule.js:3312 +#: /app/src/modules/transactions/TransactionsModule.js:3604 +#: /app/src/modules/transactions/TransactionsModule.js:3838 +#: /app/src/modules/transactions/TransactionsModule.js:3839 +#: /app/src/modules/transfers/TransfersModule.js:456 #: /app/templates/index.php:1051 /app/templates/index.php:1541 #: /app/templates/index.php:1793 /app/templates/index.php:1846 #: /app/templates/index.php:2400 /app/templates/index.php:2561 @@ -864,140 +898,146 @@ msgstr "Export des Rechnungskalender schlug fehl" #: /app/templates/index.php:3412 /app/templates/index.php:3433 #: /app/templates/index.php:5451 /app/templates/index.php:5487 #: /app/templates/index.php:5523 /app/templates/index.php:5822 -#: /app/templates/index.php:6180 /app/templates/index.php:6439 -#: /app/templates/index.php:6520 /app/templates/index.php:7119 +#: /app/templates/index.php:6180 /app/templates/index.php:6440 +#: /app/templates/index.php:6521 /app/templates/index.php:7120 #: /app/templates/quick-add.php:40 msgid "Amount" msgstr "Betrag" -#: /app/lib/Controller/BillController.php:1162 -#: /app/src/modules/transfers/TransfersModule.js:500 +#: /app/lib/Controller/BillController.php:1288 +#: /app/src/modules/transfers/TransfersModule.js:474 #: /app/templates/index.php:5527 /app/templates/index.php:6186 -#: /app/templates/index.php:6676 +#: /app/templates/index.php:6677 msgid "Frequency" msgstr "Häufigkeit" -#: /app/lib/Controller/BillController.php:1166 +#: /app/lib/Controller/BillController.php:1292 msgid "Annual Total" msgstr "Jahressumme" -#: /app/lib/Controller/BillController.php:1190 -#: /app/lib/Controller/BillController.php:1294 +#: /app/lib/Controller/BillController.php:1316 +#: /app/lib/Controller/BillController.php:1420 #: /app/lib/Service/Report/ReportExporter.php:298 #: /app/lib/Service/Report/ReportExporter.php:348 #: /app/lib/Service/Report/ReportExporter.php:421 #: /app/lib/Service/Report/ReportExporter.php:513 #: /app/lib/Service/Report/ReportExporter.php:584 #: /app/lib/Service/Report/ReportExporter.php:659 -#: /app/src/modules/categories/CategoriesModule.js:2355 -#: /app/src/modules/reports/ReportsModule.js:1853 /app/templates/index.php:7321 +#: /app/src/modules/categories/CategoriesModule.js:2417 +#: /app/src/modules/reports/ReportsModule.js:1854 /app/templates/index.php:7322 msgid "Total" msgstr "Summe" -#: /app/lib/Controller/BillController.php:1230 -#: /app/src/modules/dashboard/DashboardModule.js:3162 -#: /app/src/modules/reports/ReportsModule.js:1998 -#, fuzzy -#| msgid "Projected Balance" +#: /app/lib/Controller/BillController.php:1356 +#: /app/src/modules/dashboard/DashboardModule.js:3359 +#: /app/src/modules/reports/ReportsModule.js:2006 msgid "Projected balance" -msgstr "Prognostizierter Saldo" +msgstr "Prognostizierter Kontostand" -#: /app/lib/Controller/BillController.php:1245 +#: /app/lib/Controller/BillController.php:1371 #, php-format msgid "Bills Calendar %s" msgstr "Rechnungskalender %s" -#: /app/lib/Controller/BillController.php:1273 +#: /app/lib/Controller/BillController.php:1399 msgid "Annual" msgstr "Jährlich" -#: /app/lib/Controller/BillController.php:1351 +#: /app/lib/Controller/BillController.php:1482 +msgid "" +"This account belongs to someone else, who cannot see one of the split " +"categories. Split with categories shared with them, or pay from one of your " +"own accounts." +msgstr "" + +#: /app/lib/Controller/BillController.php:1500 msgid "Split template must have at least 2 splits" msgstr "Die Aufteilungsvorlage muss mindestens 2 Aufteilungen enthalten" -#: /app/lib/Controller/BillController.php:1359 +#: /app/lib/Controller/BillController.php:1508 msgid "Each split must have a positive amount" msgstr "Jeder Split muss einen positiven Betrag haben" -#: /app/lib/Controller/BillController.php:1365 +#: /app/lib/Controller/BillController.php:1514 msgid "Split amounts must equal the bill amount" msgstr "Die Summe der Aufteilungen muss dem Rechnungsbetrag entsprechen" -#: /app/lib/Controller/BillController.php:1377 +#: /app/lib/Controller/BillController.php:1526 msgid "Invalid JSON in custom recurrence pattern" msgstr "" "Ungültiges JSON in benutzerdefiniertem Muster zur Erkennung von " "wiederkehrenden Ereignissen" -#: /app/lib/Controller/BillController.php:1384 +#: /app/lib/Controller/BillController.php:1533 msgid "Custom recurrence pattern must be a JSON object" msgstr "" "Muster zur Erkennung von wiederkehrenden Ereignissen muss ein JSON-Objekt " "sein" -#: /app/lib/Controller/BillController.php:1393 +#: /app/lib/Controller/BillController.php:1542 msgid "Months must be an array" msgstr "„Monate“ muss eine Liste bzw. ein Array sein" -#: /app/lib/Controller/BillController.php:1400 +#: /app/lib/Controller/BillController.php:1549 msgid "At least one month must be specified" msgstr "Es muss mindestens ein Monat angegeben werden" -#: /app/lib/Controller/BillController.php:1408 +#: /app/lib/Controller/BillController.php:1557 msgid "Each month must be a number between 1 and 12" msgstr "Jeder Monat muss eine Zahl zwischen 1 und 12 sein" -#: /app/lib/Controller/BillController.php:1421 +#: /app/lib/Controller/BillController.php:1570 msgid "Dates must be an array" msgstr "„Daten“ muss eine Liste bzw. ein Array sein" -#: /app/lib/Controller/BillController.php:1428 +#: /app/lib/Controller/BillController.php:1577 msgid "At least one date must be specified" msgstr "Es muss mindestens ein Datum angegeben werden" -#: /app/lib/Controller/BillController.php:1436 +#: /app/lib/Controller/BillController.php:1585 msgid "Each date must have \"month\" and \"day\" fields" msgstr "Jedes Datum braucht einen Tag und einen Monat" -#: /app/lib/Controller/BillController.php:1443 +#: /app/lib/Controller/BillController.php:1592 msgid "Month must be a number between 1 and 12" msgstr "„Monat“ muss eine Zahl zwischen 1 und 12 sein" -#: /app/lib/Controller/BillController.php:1450 +#: /app/lib/Controller/BillController.php:1599 msgid "Day must be a number between 1 and 31" msgstr "„Tag“ muss eine Zahl zwischen 1 und 31 sein" -#: /app/lib/Controller/BillController.php:1460 +#: /app/lib/Controller/BillController.php:1609 msgid "Custom pattern must contain either \"months\" or \"dates\" field" msgstr "" "Das benutzerdefinierte Muster muss entweder ein „Monate“-Feld oder „Daten“-" "Feld enthalten" #: /app/lib/Controller/CalendarFeedController.php:94 -#: /app/src/modules/bills/BillsModule.js:1164 +#: /app/src/modules/bills/BillsModule.js:1187 msgid "Failed to get calendar feed" msgstr "Kalender-Feed konnte nicht abgerufen werden" #: /app/lib/Controller/CalendarFeedController.php:108 -#: /app/src/modules/bills/BillsModule.js:1210 +#: /app/src/modules/bills/BillsModule.js:1233 msgid "Failed to regenerate calendar feed token" msgstr "Token für den Kalender-Feed konnte nicht neu erstellt werden" -#: /app/lib/Controller/CategoryController.php:129 +#: /app/lib/Controller/CategoryController.php:134 msgid "Failed to retrieve category tree" msgstr "Der Kategorien-Baum konnte nicht abgefragt werden" -#: /app/lib/Controller/CategoryController.php:141 +#: /app/lib/Controller/CategoryController.php:146 msgid "Failed to retrieve transaction counts" msgstr "Die Anzahl an Buchungen konnte nicht ermittelt werden" -#: /app/lib/Controller/CategoryController.php:153 -#: /app/lib/Controller/CategoryController.php:381 -#: /app/lib/Controller/CategoryController.php:475 -#: /app/lib/Controller/CategoryController.php:493 -#: /app/lib/Controller/CategoryController.php:499 -#: /app/lib/Controller/CategoryController.php:512 -#: /app/lib/Controller/CategoryController.php:519 +#: /app/lib/Controller/CategoryController.php:158 +#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:514 +#: /app/lib/Controller/CategoryController.php:618 +#: /app/lib/Controller/CategoryController.php:636 +#: /app/lib/Controller/CategoryController.php:642 +#: /app/lib/Controller/CategoryController.php:655 +#: /app/lib/Controller/CategoryController.php:662 #: /app/lib/Controller/YearOverYearController.php:287 #: /app/lib/Controller/YearOverYearController.php:389 #: /app/lib/Service/Export/TransactionCsvExporter.php:31 @@ -1008,15 +1048,15 @@ msgstr "Die Anzahl an Buchungen konnte nicht ermittelt werden" #: /app/lib/Service/Report/ReportExporter.php:614 #: /app/lib/Service/Report/ReportExporter.php:639 #: /app/lib/Service/Report/ReportExporter.php:676 -#: /app/lib/Service/Report/ReportExporter.php:722 /app/src/main.js:3627 -#: /app/src/main.js:3628 /app/src/modules/dashboard/DashboardModule.js:2164 -#: /app/src/modules/reports/ReportsModule.js:1114 -#: /app/src/modules/reports/ReportsModule.js:1562 -#: /app/src/modules/transactions/TransactionsModule.js:3188 -#: /app/src/modules/transactions/TransactionsModule.js:3189 -#: /app/src/modules/transactions/TransactionsModule.js:3792 -#: /app/src/modules/transactions/TransactionsModule.js:3793 -#: /app/src/modules/transfers/TransfersModule.js:564 +#: /app/lib/Service/Report/ReportExporter.php:722 /app/src/main.js:3661 +#: /app/src/main.js:3662 /app/src/modules/dashboard/DashboardModule.js:2327 +#: /app/src/modules/reports/ReportsModule.js:1115 +#: /app/src/modules/reports/ReportsModule.js:1563 +#: /app/src/modules/transactions/TransactionsModule.js:3232 +#: /app/src/modules/transactions/TransactionsModule.js:3233 +#: /app/src/modules/transactions/TransactionsModule.js:3843 +#: /app/src/modules/transactions/TransactionsModule.js:3844 +#: /app/src/modules/transfers/TransfersModule.js:549 #: /app/templates/index.php:1059 /app/templates/index.php:1461 #: /app/templates/index.php:1539 /app/templates/index.php:1625 #: /app/templates/index.php:1785 /app/templates/index.php:1839 @@ -1025,102 +1065,110 @@ msgstr "Die Anzahl an Buchungen konnte nicht ermittelt werden" #: /app/templates/index.php:3366 /app/templates/index.php:3411 #: /app/templates/index.php:3580 /app/templates/index.php:5161 #: /app/templates/index.php:5862 /app/templates/index.php:6253 -#: /app/templates/index.php:6723 /app/templates/index.php:7118 -#: /app/templates/index.php:7159 /app/templates/quick-add.php:55 +#: /app/templates/index.php:6724 /app/templates/index.php:7119 +#: /app/templates/index.php:7160 /app/templates/quick-add.php:55 msgid "Category" msgstr "Kategorie" -#: /app/lib/Controller/CategoryController.php:281 +#: /app/lib/Controller/CategoryController.php:307 msgid "Invalid budget period. Must be monthly, weekly, yearly, or quarterly" msgstr "" "Ungültige Budgetperiode. Muss monatlich, wöchentlich, jährlich oder " "vierteljährlich sein" -#: /app/lib/Controller/CategoryController.php:326 -#: /app/src/modules/categories/CategoriesModule.js:1389 +#: /app/lib/Controller/CategoryController.php:360 +#: /app/src/modules/categories/CategoriesModule.js:1411 msgid "Failed to update category" msgstr "Kategorie konnte nicht aktualisiert werden" -#: /app/lib/Controller/CategoryController.php:352 +#: /app/lib/Controller/CategoryController.php:388 +msgid "A category can only be moved under another category with the same owner" +msgstr "" +"Eine Kategorie kann nur unter eine andere Kategorie mit demselben Eigentümer " +"verschoben werden" + +#: /app/lib/Controller/CategoryController.php:397 +msgid "Only the owner can add subcategories to a shared category" +msgstr "" +"Nur der Eigentümer kann Unterkategorien zu einer geteilten Kategorie " +"hinzufügen" + +#: /app/lib/Controller/CategoryController.php:418 +#: /app/lib/Controller/CategoryController.php:788 +msgid "Invalid budget period" +msgstr "Ungültiger Budgetzeitraum" + +#: /app/lib/Controller/CategoryController.php:431 +#: /app/src/modules/categories/CategoriesModule.js:2386 +msgid "Only the owner can change the budget of a shared category" +msgstr "Nur der Eigentümer kann das Budget einer geteilten Kategorie ändern" + +#: /app/lib/Controller/CategoryController.php:477 msgid "Invalid position" msgstr "Ungültige Position" -#: /app/lib/Controller/CategoryController.php:360 +#: /app/lib/Controller/CategoryController.php:488 msgid "Shared categories cannot be nested" msgstr "Geteilte Kategorien können nicht verschachtelt werden" -#: /app/lib/Controller/CategoryController.php:366 -#: /app/lib/Controller/CategoryController.php:368 -#: /app/src/modules/categories/CategoriesModule.js:611 -#: /app/src/modules/categories/CategoriesModule.js:620 +#: /app/lib/Controller/CategoryController.php:499 +#: /app/lib/Controller/CategoryController.php:501 +#: /app/src/modules/categories/CategoriesModule.js:617 +#: /app/src/modules/categories/CategoriesModule.js:626 msgid "Failed to reorder category" msgstr "Kategorie konnte nicht neu angeordnet werden" -#: /app/lib/Controller/CategoryController.php:390 +#: /app/lib/Controller/CategoryController.php:533 +#: /app/lib/Service/CategoryService.php:324 msgid "Only the category owner can delete it" msgstr "Nur der Eigentümer der Kategorie kann das löschen" -#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:567 msgid "Failed to load report preferences" msgstr "Berichtseinstellungen konnten nicht geladen werden" -#: /app/lib/Controller/CategoryController.php:440 +#: /app/lib/Controller/CategoryController.php:583 #: /app/lib/Service/GranularShareService.php:146 msgid "Category not found" msgstr "Kategorie nicht gefunden" -#: /app/lib/Controller/CategoryController.php:445 -#: /app/src/modules/categories/CategoriesModule.js:441 +#: /app/lib/Controller/CategoryController.php:588 +#: /app/src/modules/categories/CategoriesModule.js:444 msgid "Failed to update report preference" msgstr "Berichtseinstellung konnte nicht aktualisiert werden" -#: /app/lib/Controller/CategoryController.php:462 -#: /app/lib/Controller/CategoryController.php:480 +#: /app/lib/Controller/CategoryController.php:605 +#: /app/lib/Controller/CategoryController.php:623 msgid "Failed to retrieve category spending" msgstr "Die Ausgabenkategorie konnte nicht abgerufen werden" -#: /app/lib/Controller/CategoryController.php:531 -#: /app/lib/Controller/CategoryController.php:553 -#: /app/lib/Controller/CategoryController.php:583 -#: /app/lib/Controller/CategoryController.php:631 -msgid "Invalid month format. Use YYYY-MM" -msgstr "Ungültiges Monatsformat. Verwende YYYY-MM" - -#: /app/lib/Controller/CategoryController.php:559 +#: /app/lib/Controller/CategoryController.php:702 msgid "Failed to delete budget snapshot" msgstr "Budget-Momentaufnahme konnte nicht gelöscht werden" -#: /app/lib/Controller/CategoryController.php:572 +#: /app/lib/Controller/CategoryController.php:715 msgid "Failed to retrieve snapshot months" msgstr "Momentaufnahmen für den Monat konnten nicht abgerufen werden" -#: /app/lib/Controller/CategoryController.php:604 -msgid "Failed to retrieve effective budgets" -msgstr "Gültige Budgets konnten nicht abgerufen werden" - -#: /app/lib/Controller/CategoryController.php:619 +#: /app/lib/Controller/CategoryController.php:770 msgid "Failed to retrieve recurring budgets" msgstr "Wiederkehrende Budgets konnten nicht abgerufen werden" -#: /app/lib/Controller/CategoryController.php:637 -msgid "Invalid budget period" -msgstr "Ungültiger Budgetzeitraum" - #: /app/lib/Controller/CategoryTransferController.php:64 -#: /app/src/modules/categories/CategoriesModule.js:1587 -#: /app/src/modules/categories/CategoriesModule.js:1599 +#: /app/src/modules/categories/CategoriesModule.js:1627 +#: /app/src/modules/categories/CategoriesModule.js:1639 msgid "Failed to export categories" msgstr "Kategorien konnten nicht exportiert werden" #: /app/lib/Controller/CategoryTransferController.php:89 -#: /app/src/modules/categories/CategoriesModule.js:1623 -#: /app/src/modules/categories/CategoriesModule.js:1629 +#: /app/src/modules/categories/CategoriesModule.js:1663 +#: /app/src/modules/categories/CategoriesModule.js:1669 msgid "Failed to read the category file" msgstr "Die Kategoriedatei konnte nicht gelesen werden" #: /app/lib/Controller/CategoryTransferController.php:109 -#: /app/src/modules/categories/CategoriesModule.js:1697 -#: /app/src/modules/categories/CategoriesModule.js:1705 +#: /app/src/modules/categories/CategoriesModule.js:1737 +#: /app/src/modules/categories/CategoriesModule.js:1745 msgid "Failed to import categories" msgstr "Kategorien konnten nicht importiert werden" @@ -1151,8 +1199,8 @@ msgstr "Fehler bei der Berechnung des Tilgungsplans" msgid "Failed to get debt progress" msgstr "Fortschritt bei der Schuldentilgung konnte nicht abgerufen werden" -#: /app/lib/Controller/DebtController.php:166 /app/src/main.js:3094 -#: /app/src/main.js:3099 +#: /app/lib/Controller/DebtController.php:166 /app/src/main.js:3128 +#: /app/src/main.js:3133 msgid "Failed to compare strategies" msgstr "Fehler beim Vergleich der Strategien" @@ -1281,75 +1329,71 @@ msgstr "Aktuelle Prognose konnte nicht abgerufen werden" msgid "Failed to export forecast" msgstr "Prognose konnte nicht exportiert werden" -#: /app/lib/Controller/GoalsController.php:75 +#: /app/lib/Controller/GoalsController.php:80 msgid "Failed to retrieve goals" msgstr "Fehler beim Laden der Ziele" -#: /app/lib/Controller/GoalsController.php:87 -#: /app/lib/Controller/GoalsController.php:99 -#: /app/lib/Controller/GoalsController.php:316 -#: /app/lib/Controller/GoalsController.php:344 -#: /app/lib/Controller/GoalsController.php:363 /app/templates/index.php:5209 +#: /app/lib/Controller/GoalsController.php:92 +#: /app/lib/Controller/GoalsController.php:105 +#: /app/lib/Controller/GoalsController.php:322 +#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:370 /app/templates/index.php:5209 #: /app/templates/index.php:5281 msgid "Goal" msgstr "Ziel" -#: /app/lib/Controller/GoalsController.php:137 -#: /app/lib/Controller/GoalsController.php:236 +#: /app/lib/Controller/GoalsController.php:143 +#: /app/lib/Controller/GoalsController.php:242 msgid "Target date" msgstr "Fälligkeitsdatum" -#: /app/lib/Controller/GoalsController.php:147 -#: /app/lib/Controller/GoalsController.php:244 +#: /app/lib/Controller/GoalsController.php:153 +#: /app/lib/Controller/GoalsController.php:250 msgid "Target amount must be greater than zero" msgstr "Der Zielbetrag muss größer als null sein" -#: /app/lib/Controller/GoalsController.php:152 -#: /app/lib/Controller/GoalsController.php:249 +#: /app/lib/Controller/GoalsController.php:158 +#: /app/lib/Controller/GoalsController.php:255 msgid "Target months must be greater than zero" msgstr "Die Zielmonate müssen größer als null sein" -#: /app/lib/Controller/GoalsController.php:157 -#: /app/lib/Controller/GoalsController.php:254 +#: /app/lib/Controller/GoalsController.php:163 +#: /app/lib/Controller/GoalsController.php:260 msgid "Current amount cannot be negative" msgstr "Der aktuelle Betrag darf nicht negativ sein" -#: /app/lib/Controller/GoalsController.php:162 -#: /app/lib/Controller/GoalsController.php:259 +#: /app/lib/Controller/GoalsController.php:168 +#: /app/lib/Controller/GoalsController.php:265 msgid "Invalid tag ID" msgstr "Ungültige Schlagwort ID" -#: /app/lib/Controller/GoalsController.php:167 -#: /app/lib/Controller/GoalsController.php:264 +#: /app/lib/Controller/GoalsController.php:173 +#: /app/lib/Controller/GoalsController.php:270 msgid "Invalid account ID" msgstr "Ungültige Konto-ID" -#: /app/lib/Controller/GoalsController.php:193 +#: /app/lib/Controller/GoalsController.php:199 msgid "Failed to create goal" msgstr "Fehler beim Anlegen des Ziels" -#: /app/lib/Controller/GoalsController.php:303 +#: /app/lib/Controller/GoalsController.php:309 msgid "Failed to update goal" msgstr "Ziel konnte nicht aktualisiert werden" -#: /app/lib/Controller/GoalsController.php:324 -msgid "Only the goal owner can delete it" -msgstr "Nur der Eigentümer des Ziels kann das löschen" - -#: /app/lib/Controller/GoalsController.php:330 +#: /app/lib/Controller/GoalsController.php:337 msgid "Goal deleted successfully" msgstr "Ziel erfolgreich gelöscht" -#: /app/lib/Controller/GoalsController.php:332 -#: /app/src/modules/savings/SavingsModule.js:460 +#: /app/lib/Controller/GoalsController.php:339 +#: /app/src/modules/savings/SavingsModule.js:462 msgid "Failed to delete goal" msgstr "Fehler beim Löschen des Ziels" -#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:358 msgid "Failed to retrieve goal progress" msgstr "Fehler beim Laden des Zielverlaufs" -#: /app/lib/Controller/GoalsController.php:370 +#: /app/lib/Controller/GoalsController.php:377 msgid "Failed to retrieve goal forecast" msgstr "Fehler beim Laden der Zielprognose" @@ -1403,83 +1447,83 @@ msgstr "Fehler bei der Dateiprüfung" msgid "Failed to execute import" msgstr "Fehler beim Ausführen des Imports" -#: /app/lib/Controller/ImportRuleController.php:66 +#: /app/lib/Controller/ImportRuleController.php:67 msgid "Failed to retrieve import rules" msgstr "Fehler beim Abrufen der Importregeln" -#: /app/lib/Controller/ImportRuleController.php:78 +#: /app/lib/Controller/ImportRuleController.php:79 msgid "Failed to retrieve rule groups" msgstr "Regelgruppen konnten nicht abgerufen werden" -#: /app/lib/Controller/ImportRuleController.php:90 -#: /app/lib/Controller/ImportRuleController.php:103 -#: /app/lib/Controller/ImportRuleController.php:357 -#: /app/lib/Controller/ImportRuleController.php:373 +#: /app/lib/Controller/ImportRuleController.php:91 +#: /app/lib/Controller/ImportRuleController.php:104 +#: /app/lib/Controller/ImportRuleController.php:367 +#: /app/lib/Controller/ImportRuleController.php:383 msgid "Import rule" msgstr "Importregel" -#: /app/lib/Controller/ImportRuleController.php:138 +#: /app/lib/Controller/ImportRuleController.php:139 msgid "Criteria required for v2 rules" msgstr "Kriterien benötigt für v2-Regeln" -#: /app/lib/Controller/ImportRuleController.php:144 +#: /app/lib/Controller/ImportRuleController.php:145 msgid "Pattern, field, and matchType required for v1 rules" msgstr "Muster, Feld und Vergleichstyp benötigt für v1-Regeln" -#: /app/lib/Controller/ImportRuleController.php:156 -#: /app/lib/Controller/ImportRuleController.php:260 +#: /app/lib/Controller/ImportRuleController.php:157 +#: /app/lib/Controller/ImportRuleController.php:267 #, php-format msgid "Invalid field. Must be one of: %1$s" msgstr "Ungültiges Feld. Muss eines der folgenden sein: %1$s" -#: /app/lib/Controller/ImportRuleController.php:161 -#: /app/lib/Controller/ImportRuleController.php:268 +#: /app/lib/Controller/ImportRuleController.php:162 +#: /app/lib/Controller/ImportRuleController.php:275 #, php-format msgid "Invalid match type. Must be one of: %1$s" msgstr "Ungültiger Vergleichstyp. Muss einer der folgenden sein: %1$s" -#: /app/lib/Controller/ImportRuleController.php:167 -#: /app/lib/Controller/ImportRuleController.php:276 +#: /app/lib/Controller/ImportRuleController.php:169 +#: /app/lib/Controller/ImportRuleController.php:284 msgid "Invalid regex pattern" msgstr "Ungültiger regex Ausdruck" -#: /app/lib/Controller/ImportRuleController.php:208 +#: /app/lib/Controller/ImportRuleController.php:215 msgid "Failed to create import rule" msgstr "Fehler beim Erstellen der Importregel" -#: /app/lib/Controller/ImportRuleController.php:343 +#: /app/lib/Controller/ImportRuleController.php:353 msgid "Failed to update import rule" msgstr "Fehler beim Aktualisieren der Importregel" -#: /app/lib/Controller/ImportRuleController.php:365 +#: /app/lib/Controller/ImportRuleController.php:375 msgid "Only the rule owner can delete it" msgstr "Nur der Eigentümer der Regel kann sie löschen" -#: /app/lib/Controller/ImportRuleController.php:385 +#: /app/lib/Controller/ImportRuleController.php:395 msgid "Failed to test import rules" msgstr "Fehler beim Testen der Importregeln" -#: /app/lib/Controller/ImportRuleController.php:411 +#: /app/lib/Controller/ImportRuleController.php:421 msgid "Failed to preview rule application" msgstr "Vorschau der Regelanwendung konnte nicht erstellt werden" -#: /app/lib/Controller/ImportRuleController.php:439 +#: /app/lib/Controller/ImportRuleController.php:449 msgid "Failed to test rule against transactions" msgstr "Regel konnte nicht mit Buchungen getestet werden" -#: /app/lib/Controller/ImportRuleController.php:466 +#: /app/lib/Controller/ImportRuleController.php:476 msgid "Failed to apply rules to transactions" msgstr "Fehler beim Anwenden der Regeln auf Buchungen" -#: /app/lib/Controller/ImportRuleController.php:480 +#: /app/lib/Controller/ImportRuleController.php:490 msgid "Failed to migrate import rule" msgstr "Importregel konnte nicht migriert werden" -#: /app/lib/Controller/ImportRuleController.php:497 +#: /app/lib/Controller/ImportRuleController.php:507 msgid "Failed to migrate import rules" msgstr "Fehler bei der Migration der Importregeln" -#: /app/lib/Controller/ImportRuleController.php:513 +#: /app/lib/Controller/ImportRuleController.php:523 #: /app/lib/Traits/InputValidationTrait.php:108 msgid "Validation failed" msgstr "Validierung fehlgeschlagen" @@ -1534,17 +1578,13 @@ msgid "Snapshot" msgstr "Momentaufnahme" #: /app/lib/Controller/OnboardingController.php:48 -#, fuzzy -#| msgid "Failed to load tag sets" msgid "Failed to load the getting started checklist" -msgstr "Fehler beim Laden der Schlagwortgruppen" +msgstr "Die Checkliste für den Einstieg konnte nicht geladen werden" #: /app/lib/Controller/OnboardingController.php:63 #: /app/src/modules/onboarding/OnboardingModule.js:359 -#, fuzzy -#| msgid "Failed to retrieve budget alerts" msgid "Failed to hide the getting started checklist" -msgstr "Budgetwarnungen wurden nicht abgerufen" +msgstr "Die Checkliste für den Einstieg konnte nicht ausgeblendet werden" #: /app/lib/Controller/OnboardingController.php:78 msgid "Sample data can only be added to an empty budget." @@ -1553,10 +1593,8 @@ msgstr "Beispieldaten können nur zu einem leeren Budget hinzugefügt werden." #: /app/lib/Controller/OnboardingController.php:87 #: /app/src/modules/onboarding/OnboardingModule.js:371 #: /app/src/modules/onboarding/OnboardingModule.js:377 -#, fuzzy -#| msgid "Failed to load tag sets" msgid "Failed to add the sample data" -msgstr "Fehler beim Laden der Schlagwortgruppen" +msgstr "Die Beispieldaten konnten nicht hinzugefügt werden" #: /app/lib/Controller/OnboardingController.php:103 msgid "" @@ -1573,22 +1611,18 @@ msgstr "Es sind keine Beispieldaten geladen." #: /app/lib/Controller/OnboardingController.php:117 #: /app/src/modules/onboarding/OnboardingModule.js:401 #: /app/src/modules/onboarding/OnboardingModule.js:408 -#, fuzzy -#| msgid "Failed to load tag sets" msgid "Failed to clear the sample data" -msgstr "Fehler beim Laden der Schlagwortgruppen" +msgstr "Die Beispieldaten konnten nicht gelöscht werden" -#: /app/lib/Controller/PageController.php:155 +#: /app/lib/Controller/PageController.php:201 #: /app/src/config/dashboardWidgets.js:91 /app/templates/index.php:1025 #: /app/templates/quick-add.php:9 msgid "Quick Add Transaction" msgstr "Buchung schnell erfassen" -#: /app/lib/Controller/PageController.php:156 /app/templates/quick-add.php:98 -#, fuzzy -#| msgid "Quick Add Transaction" +#: /app/lib/Controller/PageController.php:202 /app/templates/quick-add.php:98 msgid "Quick Add" -msgstr "Buchung schnell erfassen" +msgstr "Schnelle Buchung" #: /app/lib/Controller/PensionController.php:88 msgid "Failed to retrieve pensions" @@ -1645,227 +1679,202 @@ msgstr "Der Prognosezielwert darf nicht negativ sein" msgid "Failed to create pension" msgstr "Rente konnte nicht erstellt werden" -#: /app/lib/Controller/PensionController.php:297 +#: /app/lib/Controller/PensionController.php:299 msgid "Failed to update pension" msgstr "Rente konnte nicht aktualisiert werden" -#: /app/lib/Controller/PensionController.php:308 +#: /app/lib/Controller/PensionController.php:310 msgid "Pension deleted successfully" msgstr "Rente erfolgreich gelöscht" -#: /app/lib/Controller/PensionController.php:310 -#: /app/src/modules/pensions/PensionsModule.js:488 +#: /app/lib/Controller/PensionController.php:312 +#: /app/src/modules/pensions/PensionsModule.js:537 msgid "Failed to delete pension" msgstr "Rente konnte nicht gelöscht werden" -#: /app/lib/Controller/PensionController.php:347 +#: /app/lib/Controller/PensionController.php:349 msgid "Balance and date are required" msgstr "Kontostand und Datum sind erforderlich" -#: /app/lib/Controller/PensionController.php:352 +#: /app/lib/Controller/PensionController.php:354 msgid "Balance cannot be negative" msgstr "Der Kontostand darf nicht negativ sein" -#: /app/lib/Controller/PensionController.php:393 +#: /app/lib/Controller/PensionController.php:395 msgid "Failed to retrieve contributions" msgstr "Beiträge konnten nicht abgerufen werden" -#: /app/lib/Controller/PensionController.php:419 -#: /app/lib/Controller/PensionController.php:471 +#: /app/lib/Controller/PensionController.php:421 +#: /app/lib/Controller/PensionController.php:475 msgid "Amount and date are required" msgstr "Betrag und Datum sind erforderlich" -#: /app/lib/Controller/PensionController.php:424 -#: /app/lib/Controller/PensionController.php:474 -#: /app/lib/Controller/PensionController.php:583 +#: /app/lib/Controller/PensionController.php:426 +#: /app/lib/Controller/PensionController.php:478 +#: /app/lib/Controller/PensionController.php:589 msgid "Amount must be greater than zero" msgstr "Der Betrag muss größer als null sein" -#: /app/lib/Controller/PensionController.php:449 +#: /app/lib/Controller/PensionController.php:453 msgid "Failed to create contribution" msgstr "Beitrag konnte nicht erstellt werden" -#: /app/lib/Controller/PensionController.php:497 -#: /app/src/modules/pensions/PensionsModule.js:984 +#: /app/lib/Controller/PensionController.php:503 +#: /app/src/modules/pensions/PensionsModule.js:1046 msgid "Failed to record withdrawal" msgstr "Auszahlung konnte nicht erfasst werden" -#: /app/lib/Controller/PensionController.php:508 +#: /app/lib/Controller/PensionController.php:514 msgid "Contribution deleted successfully" msgstr "Beitrag erfolgreich gelöscht" -#: /app/lib/Controller/PensionController.php:510 +#: /app/lib/Controller/PensionController.php:516 msgid "Failed to delete contribution" msgstr "Beitrag konnte nicht gelöscht werden" -#: /app/lib/Controller/PensionController.php:528 +#: /app/lib/Controller/PensionController.php:534 msgid "Failed to retrieve balance history" msgstr "Kontostandsverlauf konnte nicht abgerufen werden" -#: /app/lib/Controller/PensionController.php:542 +#: /app/lib/Controller/PensionController.php:548 msgid "Failed to retrieve pension activity" msgstr "Altersvorsorgeaktivitäten konnten nicht abgerufen werden" -#: /app/lib/Controller/PensionController.php:558 +#: /app/lib/Controller/PensionController.php:564 msgid "Failed to retrieve recurring contributions" msgstr "Wiederkehrende Beiträge konnten nicht abgerufen werden" -#: /app/lib/Controller/PensionController.php:580 +#: /app/lib/Controller/PensionController.php:586 msgid "Amount, frequency and next date are required" msgstr "Betrag, Häufigkeit und nächster Termin sind erforderlich" -#: /app/lib/Controller/PensionController.php:586 +#: /app/lib/Controller/PensionController.php:592 msgid "Next date" msgstr "Nächster Termin" -#: /app/lib/Controller/PensionController.php:611 +#: /app/lib/Controller/PensionController.php:619 msgid "Failed to create recurring contribution" msgstr "Wiederkehrender Beitrag konnte nicht erstellt werden" -#: /app/lib/Controller/PensionController.php:625 +#: /app/lib/Controller/PensionController.php:635 msgid "Failed to update recurring contribution" msgstr "Wiederkehrender Beitrag konnte nicht aktualisiert werden" -#: /app/lib/Controller/PensionController.php:636 +#: /app/lib/Controller/PensionController.php:646 msgid "Recurring contribution deleted" msgstr "Wiederkehrender Beitrag gelöscht" -#: /app/lib/Controller/PensionController.php:638 -#, fuzzy -#| msgid "Failed to delete contribution" +#: /app/lib/Controller/PensionController.php:648 msgid "Failed to delete recurring contribution" -msgstr "Beitrag konnte nicht gelöscht werden" +msgstr "Wiederkehrender Beitrag konnte nicht gelöscht werden" -#: /app/lib/Controller/PensionController.php:653 -#: /app/src/modules/pensions/PensionsModule.js:1109 -#, fuzzy -#| msgid "Failed to log contribution" +#: /app/lib/Controller/PensionController.php:672 +#: /app/src/modules/pensions/PensionsModule.js:1230 msgid "Failed to post contribution" -msgstr "Beitrag konnte nicht protokolliert werden" +msgstr "Beitrag konnte nicht verbucht werden" + +#: /app/lib/Controller/PensionController.php:690 +#: /app/src/modules/pensions/PensionsModule.js:1246 +#, fuzzy +#| msgid "Failed to delete contribution" +msgid "Failed to undo the contribution" +msgstr "Beitrag konnte nicht gelöscht werden" -#: /app/lib/Controller/PensionController.php:669 +#: /app/lib/Controller/PensionController.php:706 msgid "Failed to retrieve pension summary" msgstr "Rentenzusammenfassung konnte nicht abgerufen werden" -#: /app/lib/Controller/PensionController.php:682 +#: /app/lib/Controller/PensionController.php:719 msgid "Failed to retrieve pension projection" msgstr "Rentenprognose konnte nicht abgerufen werden" -#: /app/lib/Controller/PensionController.php:695 +#: /app/lib/Controller/PensionController.php:732 msgid "Failed to retrieve combined pension projection" msgstr "Kombinierte Rentenprognose konnte nicht abgerufen werden" #: /app/lib/Controller/ProjectController.php:62 #: /app/src/modules/projects/ProjectsModule.js:39 #: /app/src/modules/projects/ProjectsModule.js:42 -#, fuzzy -#| msgid "Failed to load rules" msgid "Failed to load projects" -msgstr "Fehler beim Laden der Regeln" +msgstr "Projekte konnten nicht geladen werden" #: /app/lib/Controller/ProjectController.php:81 #: /app/src/modules/projects/ProjectsModule.js:121 -#, fuzzy -#| msgid "Failed to load tag sets" msgid "Failed to load the project" -msgstr "Fehler beim Laden der Schlagwortgruppen" +msgstr "Das Projekt konnte nicht geladen werden" #: /app/lib/Controller/ProjectController.php:107 #: /app/lib/Controller/ProjectController.php:147 -#: /app/lib/Controller/ProjectController.php:203 -#: /app/src/modules/projects/ProjectsModule.js:353 -#: /app/src/modules/projects/ProjectsModule.js:363 -#, fuzzy -#| msgid "Failed to save splits" +#: /app/lib/Controller/ProjectController.php:205 +#: /app/src/modules/projects/ProjectsModule.js:354 +#: /app/src/modules/projects/ProjectsModule.js:364 msgid "Failed to save the project" -msgstr "Fehler beim Speichern der Aufteilungen" +msgstr "Das Projekt konnte nicht gespeichert werden" -#: /app/lib/Controller/ProjectController.php:163 -#, fuzzy -#| msgid "Only the goal owner can delete it" -msgid "Only the owner can delete this project" -msgstr "Nur der Eigentümer des Ziels kann das löschen" - -#: /app/lib/Controller/ProjectController.php:172 -#: /app/src/modules/projects/ProjectsModule.js:201 -#: /app/src/modules/projects/ProjectsModule.js:207 -#, fuzzy -#| msgid "Failed to delete tag set" +#: /app/lib/Controller/ProjectController.php:173 +#: /app/src/modules/projects/ProjectsModule.js:202 +#: /app/src/modules/projects/ProjectsModule.js:208 msgid "Failed to delete the project" -msgstr "Fehler beim löschen der Schlagwort Gruppe" +msgstr "Das Projekt konnte nicht gelöscht werden" -#: /app/lib/Controller/ProjectController.php:186 -#, fuzzy -#| msgid "Projected Value" +#: /app/lib/Controller/ProjectController.php:188 msgid "Project" -msgstr "Prognostizierter Wert" +msgstr "Projekt" -#: /app/lib/Controller/ProjectController.php:193 -#: /app/src/modules/projects/ProjectsModule.js:332 -#, fuzzy -#| msgid "Please enter a date" +#: /app/lib/Controller/ProjectController.php:195 +#: /app/src/modules/projects/ProjectsModule.js:333 msgid "Enter a name for the project" -msgstr "Bitte wähle ein Datum" +msgstr "Gib einen Namen für das Projekt ein" -#: /app/lib/Controller/ProjectController.php:194 -#: /app/src/modules/projects/ProjectsModule.js:334 -#, fuzzy -#| msgid "Target amount must be greater than zero" +#: /app/lib/Controller/ProjectController.php:196 +#: /app/src/modules/projects/ProjectsModule.js:335 msgid "The total must be more than zero" -msgstr "Der Zielbetrag muss größer als null sein" +msgstr "Die Gesamtsumme muss größer als null sein" -#: /app/lib/Controller/ProjectController.php:195 +#: /app/lib/Controller/ProjectController.php:197 msgid "Choose one of your own expense categories" msgstr "Wähle eine deiner eigenen Ausgabenkategorien aus" -#: /app/lib/Controller/ProjectController.php:196 -#: /app/src/modules/projects/ProjectsModule.js:335 +#: /app/lib/Controller/ProjectController.php:198 +#: /app/src/modules/projects/ProjectsModule.js:336 msgid "Enter a start date for the project" msgstr "Gib ein Startdatum für das Projekt ein" -#: /app/lib/Controller/ProjectController.php:197 -#: /app/src/modules/projects/ProjectsModule.js:336 +#: /app/lib/Controller/ProjectController.php:199 +#: /app/src/modules/projects/ProjectsModule.js:337 msgid "The end date cannot be before the start date" msgstr "Das Enddatum darf nicht vor dem Startdatum liegen" -#: /app/lib/Controller/ProjectController.php:198 -#, fuzzy -#| msgid "Target amount must be greater than zero" +#: /app/lib/Controller/ProjectController.php:200 msgid "Every subcategory amount must be more than zero" -msgstr "Der Zielbetrag muss größer als null sein" +msgstr "Der Betrag jeder Unterkategorie muss größer als null sein" -#: /app/lib/Controller/ProjectController.php:199 +#: /app/lib/Controller/ProjectController.php:201 msgid "Amounts can only go to subcategories of the project category" msgstr "" "Beträge können nur Unterkategorien der Projektkategorie zugewiesen werden" -#: /app/lib/Controller/ProjectController.php:200 -#, fuzzy -#| msgid "Each person can only be in a split once" +#: /app/lib/Controller/ProjectController.php:202 msgid "Each subcategory can only have one amount" -msgstr "Jede Person kann nur einmal in einer Aufteilung enthalten sein" +msgstr "Jede Unterkategorie kann nur einen Betrag haben" -#: /app/lib/Controller/ProjectController.php:201 +#: /app/lib/Controller/ProjectController.php:203 msgid "A subcategory and one of its own subcategories cannot both have amounts" msgstr "" "Einer Unterkategorie und einer ihrer eigenen Unterkategorien können nicht " "gleichzeitig Beträge zugewiesen werden" -#: /app/lib/Controller/ProjectController.php:202 -#: /app/src/modules/projects/ProjectsModule.js:338 -#, fuzzy -#| msgid "Failed to create transaction" +#: /app/lib/Controller/ProjectController.php:204 +#: /app/src/modules/projects/ProjectsModule.js:339 msgid "The subcategory amounts add up to more than the total" -msgstr "Erstellen der Buchung fehlgeschlagen" +msgstr "" +"Die Beträge der Unterkategorien ergeben zusammen mehr als die Gesamtsumme" #: /app/lib/Controller/ReceiptScanController.php:92 -#, fuzzy -#| msgid "" -#| "No total could be read from this receipt. Enter the transaction manually" msgid "No total could be read from this receipt. Enter the details manually" msgstr "" -"Auf diesem Beleg konnte kein Gesamtbetrag erkannt werden. Erfasse die " -"Transaktion manuell" +"Auf diesem Beleg konnte keine Gesamtsumme erkannt werden. Gib die Angaben " +"manuell ein" #: /app/lib/Controller/ReceiptScanController.php:104 msgid "The receipt scanning quota is used up. Try again later" @@ -1874,94 +1883,87 @@ msgstr "" "erneut" #: /app/lib/Controller/ReceiptScanController.php:109 -#, fuzzy -#| msgid "" -#| "The receipt could not be read — the OCR provider failed. Try again, or " -#| "enter the transaction manually" msgid "" "The receipt could not be read. Try a clearer photo, or enter the details " "manually" msgstr "" -"Der Beleg konnte nicht gelesen werden – die Texterkennung ist " -"fehlgeschlagen. Versuche es erneut oder erfasse die Transaktion manuell" +"Der Beleg konnte nicht gelesen werden. Versuche es mit einem schärferen Foto " +"oder gib die Angaben manuell ein" #: /app/lib/Controller/ReconciliationController.php:58 msgid "Failed to load reconciliation session" msgstr "Abgleichssitzung konnte nicht geladen werden" #: /app/lib/Controller/ReconciliationController.php:73 -#, fuzzy -#| msgid "A pending share already exists for this user" msgid "A reconciliation is already in progress for this account" -msgstr "Es existiert bereits eine ausstehende Aktie für diesen Benutzer" +msgstr "Für dieses Konto ist bereits ein Kontenabgleich aktiv" #: /app/lib/Controller/ReconciliationController.php:159 -#, fuzzy -#| msgid "Failed to load configuration" msgid "Failed to load reconciliation history" -msgstr "Fehler beim Laden der Konfiguration" +msgstr "Der Kontenabgleichsverlauf konnte nicht geladen werden" -#: /app/lib/Controller/RecurringIncomeController.php:76 +#: /app/lib/Controller/RecurringIncomeController.php:80 msgid "Failed to retrieve recurring income" msgstr "Laufende Einnahmen konnten nicht abgerufen werden" -#: /app/lib/Controller/RecurringIncomeController.php:89 -#: /app/lib/Controller/RecurringIncomeController.php:103 -#: /app/lib/Controller/RecurringIncomeController.php:339 -#: /app/lib/Controller/RecurringIncomeController.php:354 -#: /app/lib/Controller/RecurringIncomeController.php:411 -#: /app/lib/Controller/RecurringIncomeController.php:428 -#: /app/lib/Controller/RecurringIncomeController.php:450 -#: /app/lib/Service/AccountClosureService.php:81 +#: /app/lib/Controller/RecurringIncomeController.php:93 +#: /app/lib/Controller/RecurringIncomeController.php:109 +#: /app/lib/Controller/RecurringIncomeController.php:348 +#: /app/lib/Controller/RecurringIncomeController.php:367 +#: /app/lib/Controller/RecurringIncomeController.php:430 +#: /app/lib/Controller/RecurringIncomeController.php:447 +#: /app/lib/Controller/RecurringIncomeController.php:464 +#: /app/lib/Controller/RecurringIncomeController.php:486 +#: /app/lib/Service/AccountClosureService.php:82 msgid "Recurring income" msgstr "Laufende Einnahme" -#: /app/lib/Controller/RecurringIncomeController.php:171 -#: /app/lib/Controller/RecurringIncomeController.php:297 +#: /app/lib/Controller/RecurringIncomeController.php:177 +#: /app/lib/Controller/RecurringIncomeController.php:303 +#: /app/lib/Controller/RecurringIncomeController.php:577 msgid "Expected day must be between 1 and 31" msgstr "Erwartender Tag muss zwischen 1 und 31 sein" -#: /app/lib/Controller/RecurringIncomeController.php:176 -#: /app/lib/Controller/RecurringIncomeController.php:304 +#: /app/lib/Controller/RecurringIncomeController.php:182 +#: /app/lib/Controller/RecurringIncomeController.php:310 +#: /app/lib/Controller/RecurringIncomeController.php:580 msgid "Expected month must be between 1 and 12" msgstr "Erwartender Monat muss zwischen 1 und 12 sein" -#: /app/lib/Controller/RecurringIncomeController.php:236 +#: /app/lib/Controller/RecurringIncomeController.php:242 msgid "Failed to create recurring income" msgstr "Laufende Einnahme konnte nicht erstellt werden" -#: /app/lib/Controller/RecurringIncomeController.php:264 -#, fuzzy -#| msgid "Not provided" +#: /app/lib/Controller/RecurringIncomeController.php:270 msgid "No data provided" -msgstr "Nicht angegeben" +msgstr "Keine Daten angegeben" -#: /app/lib/Controller/RecurringIncomeController.php:352 +#: /app/lib/Controller/RecurringIncomeController.php:365 msgid "Recurring income deleted" msgstr "Laufende Einnahme entfernt" -#: /app/lib/Controller/RecurringIncomeController.php:367 +#: /app/lib/Controller/RecurringIncomeController.php:380 msgid "Failed to retrieve upcoming income" msgstr "Bevorstehende Einnahme konnte nicht abgerufen werden" -#: /app/lib/Controller/RecurringIncomeController.php:380 +#: /app/lib/Controller/RecurringIncomeController.php:393 msgid "Failed to retrieve expected income" msgstr "Erwartete Einnahme konnte nicht abgerufen werden" -#: /app/lib/Controller/RecurringIncomeController.php:393 +#: /app/lib/Controller/RecurringIncomeController.php:406 msgid "Failed to retrieve income summary" msgstr "Einnahmenübersicht konnte nicht abgerufen werden" -#: /app/lib/Controller/RecurringIncomeController.php:442 +#: /app/lib/Controller/RecurringIncomeController.php:478 msgid "Previous expected date" msgstr "Vorheriges erwartetes Datum" -#: /app/lib/Controller/RecurringIncomeController.php:463 -#: /app/src/modules/income/IncomeModule.js:712 +#: /app/lib/Controller/RecurringIncomeController.php:499 +#: /app/src/modules/income/IncomeModule.js:719 msgid "Failed to detect recurring income" msgstr "Laufende Einnahme konnte nicht gefunden werden" -#: /app/lib/Controller/RecurringIncomeController.php:496 +#: /app/lib/Controller/RecurringIncomeController.php:545 msgid "Failed to create recurring income from detected patterns" msgstr "Laufende Einnahme konnte nicht aus erkanntem Muster erstellt werden" @@ -1978,13 +1980,11 @@ msgid "Failed to generate income report" msgstr "Einnahmenbericht konnte nicht generiert werden" #: /app/lib/Controller/ReportController.php:185 -#, fuzzy -#| msgid "Failed to generate income report" msgid "Failed to generate income and expenses report" -msgstr "Einnahmenbericht konnte nicht generiert werden" +msgstr "Der Einnahmen- und Ausgabenbericht konnte nicht erstellt werden" #: /app/lib/Controller/ReportController.php:226 -#: /app/src/modules/reports/ReportsModule.js:1611 +#: /app/src/modules/reports/ReportsModule.js:1612 msgid "Failed to export report" msgstr "Bericht konnte nicht exportiert werden" @@ -2021,37 +2021,27 @@ msgid "Failed to generate tag set breakdown" msgstr "Fehler beim Erstellen der Aufschlüsselung der Schlagwort Gruppe" #: /app/lib/Controller/ReportController.php:556 -#, fuzzy -#| msgid "Failed to generate comparison report" msgid "Failed to generate category monthly report" -msgstr "Vergleichsbericht konnte nicht generiert werden" +msgstr "Der monatliche Kategorienbericht konnte nicht erstellt werden" #: /app/lib/Controller/SavedReportController.php:48 -#, fuzzy -#| msgid "Failed to load tag sets" msgid "Failed to load saved reports" -msgstr "Fehler beim Laden der Schlagwortgruppen" +msgstr "Gespeicherte Berichte konnten nicht geladen werden" #: /app/lib/Controller/SavedReportController.php:63 #: /app/src/modules/reports/ReportsModule.js:381 #: /app/src/modules/reports/ReportsModule.js:387 -#, fuzzy -#| msgid "Failed to save rule" msgid "Failed to save report" -msgstr "Fehler beim Speichern der Regel" +msgstr "Der Bericht konnte nicht gespeichert werden" #: /app/lib/Controller/SavedReportController.php:79 -#, fuzzy -#| msgid "Failed to update share" msgid "Failed to update saved report" -msgstr "Fehler beim Aktualisieren des Anteils" +msgstr "Der gespeicherte Bericht konnte nicht aktualisiert werden" #: /app/lib/Controller/SavedReportController.php:93 #: /app/src/modules/reports/ReportsModule.js:411 -#, fuzzy -#| msgid "Failed to delete share" msgid "Failed to delete saved report" -msgstr "Fehler beim Löschen des Anteils" +msgstr "Der gespeicherte Bericht konnte nicht gelöscht werden" #: /app/lib/Controller/SettingController.php:103 msgid "Failed to retrieve settings" @@ -2068,10 +2058,9 @@ msgstr "Einstellung konnten nicht abgerufen werden" #: /app/lib/Controller/SettingController.php:158 #: /app/lib/Controller/SettingController.php:212 -#, fuzzy, php-format -#| msgid "Invalid sort code: %1$s" +#, php-format msgid "Invalid receipts folder: %1$s" -msgstr "Ungültige Bankleitzahl: %1$s" +msgstr "Ungültiger Belegordner: %1$s" #: /app/lib/Controller/SettingController.php:183 msgid "Settings updated successfully" @@ -2119,57 +2108,57 @@ msgid "Monday" msgstr "Montag" #: /app/lib/Controller/SettingController.php:321 -#: /app/src/modules/bills/BillsModule.js:331 -#: /app/src/modules/categories/CategoriesModule.js:2360 -#: /app/src/modules/income/IncomeModule.js:110 -#: /app/src/modules/transfers/TransfersModule.js:330 -#: /app/src/modules/transfers/TransfersModule.js:503 -#: /app/src/modules/transfers/TransfersModule.js:1103 +#: /app/src/modules/bills/BillsModule.js:319 +#: /app/src/modules/categories/CategoriesModule.js:2422 +#: /app/src/modules/income/IncomeModule.js:98 +#: /app/src/modules/transfers/TransfersModule.js:316 +#: /app/src/modules/transfers/TransfersModule.js:478 +#: /app/src/modules/transfers/TransfersModule.js:1120 #: /app/templates/index.php:4435 /app/templates/index.php:4594 -#: /app/templates/index.php:6188 /app/templates/index.php:6678 +#: /app/templates/index.php:6188 /app/templates/index.php:6679 msgid "Weekly" msgstr "Wöchentlich" #: /app/lib/Controller/SettingController.php:322 -#: /app/src/modules/accounts/AccountsModule.js:1368 -#: /app/src/modules/bills/BillsModule.js:334 -#: /app/src/modules/categories/CategoriesModule.js:2359 -#: /app/src/modules/income/IncomeModule.js:113 -#: /app/src/modules/pensions/PensionsModule.js:1026 -#: /app/src/modules/transfers/TransfersModule.js:333 -#: /app/src/modules/transfers/TransfersModule.js:506 -#: /app/src/modules/transfers/TransfersModule.js:1106 +#: /app/src/modules/accounts/AccountsModule.js:1371 +#: /app/src/modules/bills/BillsModule.js:322 +#: /app/src/modules/categories/CategoriesModule.js:2421 +#: /app/src/modules/income/IncomeModule.js:101 +#: /app/src/modules/pensions/PensionsModule.js:1098 +#: /app/src/modules/transfers/TransfersModule.js:319 +#: /app/src/modules/transfers/TransfersModule.js:481 +#: /app/src/modules/transfers/TransfersModule.js:1123 #: /app/templates/index.php:4436 /app/templates/index.php:4595 #: /app/templates/index.php:5529 /app/templates/index.php:6088 -#: /app/templates/index.php:6191 /app/templates/index.php:6681 +#: /app/templates/index.php:6191 /app/templates/index.php:6682 msgid "Monthly" msgstr "Monatlich" #: /app/lib/Controller/SettingController.php:323 -#: /app/src/modules/bills/BillsModule.js:335 -#: /app/src/modules/categories/CategoriesModule.js:2361 -#: /app/src/modules/income/IncomeModule.js:114 -#: /app/src/modules/pensions/PensionsModule.js:1027 -#: /app/src/modules/transfers/TransfersModule.js:334 -#: /app/src/modules/transfers/TransfersModule.js:507 -#: /app/src/modules/transfers/TransfersModule.js:1107 +#: /app/src/modules/bills/BillsModule.js:323 +#: /app/src/modules/categories/CategoriesModule.js:2423 +#: /app/src/modules/income/IncomeModule.js:102 +#: /app/src/modules/pensions/PensionsModule.js:1099 +#: /app/src/modules/transfers/TransfersModule.js:320 +#: /app/src/modules/transfers/TransfersModule.js:482 +#: /app/src/modules/transfers/TransfersModule.js:1124 #: /app/templates/index.php:4437 /app/templates/index.php:5530 -#: /app/templates/index.php:6192 /app/templates/index.php:6682 +#: /app/templates/index.php:6192 /app/templates/index.php:6683 msgid "Quarterly" msgstr "Vierteljährlich" #: /app/lib/Controller/SettingController.php:324 -#: /app/src/modules/accounts/AccountsModule.js:1369 -#: /app/src/modules/bills/BillsModule.js:337 -#: /app/src/modules/categories/CategoriesModule.js:2362 -#: /app/src/modules/income/IncomeModule.js:116 -#: /app/src/modules/pensions/PensionsModule.js:1028 -#: /app/src/modules/transfers/TransfersModule.js:336 -#: /app/src/modules/transfers/TransfersModule.js:508 -#: /app/src/modules/transfers/TransfersModule.js:1109 +#: /app/src/modules/accounts/AccountsModule.js:1372 +#: /app/src/modules/bills/BillsModule.js:325 +#: /app/src/modules/categories/CategoriesModule.js:2424 +#: /app/src/modules/income/IncomeModule.js:104 +#: /app/src/modules/pensions/PensionsModule.js:1100 +#: /app/src/modules/transfers/TransfersModule.js:322 +#: /app/src/modules/transfers/TransfersModule.js:484 +#: /app/src/modules/transfers/TransfersModule.js:1126 #: /app/templates/index.php:4438 /app/templates/index.php:5531 #: /app/templates/index.php:6089 /app/templates/index.php:6194 -#: /app/templates/index.php:6684 +#: /app/templates/index.php:6685 msgid "Yearly" msgstr "Jährlich" @@ -2178,16 +2167,12 @@ msgid "Budget app initialized successfully" msgstr "Initialisierung der Budget App erfolgreich" #: /app/lib/Controller/SetupController.php:70 -#, fuzzy -#| msgid "Failed to share budget" msgid "Failed to initialize budget app" -msgstr "Fehler beim Teilen des Budgets" +msgstr "Die Budget-App konnte nicht initialisiert werden" #: /app/lib/Controller/SetupController.php:88 -#, fuzzy -#| msgid "Failed to get auth status" msgid "Failed to get setup status" -msgstr "Der Authentifizierungsstatus konnte nicht ermittelt werden" +msgstr "Der Einrichtungsstatus konnte nicht abgerufen werden" #: /app/lib/Controller/SetupController.php:102 #, php-format @@ -2219,14 +2204,14 @@ msgstr "" "Factory-Reset erfordert den Parameter confirmed=true. Dadurch werden ALLE " "Daten dauerhaft gelöscht." -#: /app/lib/Controller/SetupController.php:158 /app/src/main.js:2144 +#: /app/lib/Controller/SetupController.php:158 /app/src/main.js:2177 #: /app/src/modules/settings/SettingsModule.js:605 msgid "Factory reset completed successfully. All data has been deleted." msgstr "" "Zurücksetzen auf Werkseinstellungen erfolgreich beendet. Alle Daten wurden " "gelöscht." -#: /app/lib/Controller/SetupController.php:162 /app/src/main.js:2137 +#: /app/lib/Controller/SetupController.php:162 /app/src/main.js:2170 #: /app/src/modules/settings/SettingsModule.js:598 msgid "Factory reset failed" msgstr "Zurücksetzen auf Werkseinstellung fehlgeschlagen" @@ -2237,7 +2222,7 @@ msgstr "Zurücksetzen auf Werkseinstellung fehlgeschlagen" msgid "Balance recalculation failed" msgstr "Neuberechnung Saldo fehlgeschlagen: %1$s" -#: /app/lib/Controller/SetupController.php:201 /app/src/main.js:1739 +#: /app/lib/Controller/SetupController.php:201 /app/src/main.js:1742 #, fuzzy #| msgid "Download failed" msgid "Diagnosis failed" @@ -2255,83 +2240,83 @@ msgstr "Keine Kategorien gefunden" msgid "No valid repair categories specified" msgstr "Keine gültigen Wertepaare angegeben" -#: /app/lib/Controller/SetupController.php:256 /app/src/main.js:2004 +#: /app/lib/Controller/SetupController.php:264 /app/src/main.js:2037 #, fuzzy #| msgid "Export failed" msgid "Repair failed" msgstr "Export fehlgeschlagen" -#: /app/lib/Controller/SetupController.php:371 +#: /app/lib/Controller/SetupController.php:379 #, fuzzy #| msgid "Failed to get settlements" msgid "Failed to get system info" msgstr "Abrechnungen konnten nicht abgerufen werden" -#: /app/lib/Controller/ShareController.php:58 -#: /app/lib/Controller/ShareController.php:72 +#: /app/lib/Controller/ShareController.php:61 +#: /app/lib/Controller/ShareController.php:75 msgid "Failed to retrieve shares" msgstr "Abruf der Aktien fehlgeschlagen" -#: /app/lib/Controller/ShareController.php:86 +#: /app/lib/Controller/ShareController.php:89 msgid "Failed to retrieve pending shares" msgstr "Abruf wartender Aktien fehlgeschlagen" -#: /app/lib/Controller/ShareController.php:103 +#: /app/lib/Controller/ShareController.php:106 msgid "Failed to create share" msgstr "Erstellung Aktie fehlgeschlagen" -#: /app/lib/Controller/ShareController.php:119 -#: /app/lib/Controller/ShareController.php:137 -#: /app/lib/Controller/ShareController.php:155 -#: /app/lib/Controller/ShareController.php:173 -#: /app/lib/Controller/ShareController.php:198 -#: /app/lib/Controller/ShareController.php:232 +#: /app/lib/Controller/ShareController.php:122 +#: /app/lib/Controller/ShareController.php:140 +#: /app/lib/Controller/ShareController.php:160 +#: /app/lib/Controller/ShareController.php:179 +#: /app/lib/Controller/ShareController.php:204 +#: /app/lib/Controller/ShareController.php:241 msgid "Share" msgstr "Aktie" -#: /app/lib/Controller/ShareController.php:121 -#: /app/src/modules/sharing/SharingModule.js:413 +#: /app/lib/Controller/ShareController.php:124 +#: /app/src/modules/sharing/SharingModule.js:419 msgid "Failed to accept share" msgstr "Annehmen Aktie fehlgeschlagen" -#: /app/lib/Controller/ShareController.php:139 -#: /app/src/modules/sharing/SharingModule.js:421 +#: /app/lib/Controller/ShareController.php:142 +#: /app/src/modules/sharing/SharingModule.js:427 msgid "Failed to decline share" msgstr "Ablehnen Aktie fehlgeschlagen" -#: /app/lib/Controller/ShareController.php:157 -#: /app/src/modules/sharing/SharingModule.js:431 +#: /app/lib/Controller/ShareController.php:162 +#: /app/src/modules/sharing/SharingModule.js:437 msgid "Failed to revoke share" msgstr "Widerruf Aktie fehlgeschlagen" -#: /app/lib/Controller/ShareController.php:175 -#: /app/src/modules/sharing/SharingModule.js:441 +#: /app/lib/Controller/ShareController.php:181 +#: /app/src/modules/sharing/SharingModule.js:447 msgid "Failed to leave share" msgstr "Aktie verlassen fehlgeschlagen" -#: /app/lib/Controller/ShareController.php:192 +#: /app/lib/Controller/ShareController.php:198 msgid "Share not found" msgstr "Aktie nicht gefunden" -#: /app/lib/Controller/ShareController.php:200 +#: /app/lib/Controller/ShareController.php:206 msgid "Failed to retrieve share configuration" msgstr "Konfiguration Aktie konnte nicht abgerufen werden" -#: /app/lib/Controller/ShareController.php:216 +#: /app/lib/Controller/ShareController.php:222 msgid "Invalid entity IDs" msgstr "Entitäts-ID ungültig" -#: /app/lib/Controller/ShareController.php:234 +#: /app/lib/Controller/ShareController.php:243 msgid "Failed to update share configuration" msgstr "Aktualisieren Aktieneinstellung fehlgeschlagen" -#: /app/lib/Controller/ShareController.php:255 +#: /app/lib/Controller/ShareController.php:264 #, fuzzy #| msgid "Failed to retrieve share configuration" msgid "Failed to retrieve auto-share configuration" msgstr "Konfiguration Aktie konnte nicht abgerufen werden" -#: /app/lib/Controller/ShareController.php:274 +#: /app/lib/Controller/ShareController.php:283 #, fuzzy #| msgid "Failed to update share configuration" msgid "Failed to update auto-share configuration" @@ -2405,20 +2390,16 @@ msgid "Every split needs an amount" msgstr "Für jede Aufteilung muss ein Betrag angegeben werden" #: /app/lib/Controller/SharedExpenseController.php:386 -#, fuzzy -#| msgid "Failed to create transaction" msgid "The splits add up to more than the transaction" -msgstr "Erstellen der Buchung fehlgeschlagen" +msgstr "Die Teilbeträge ergeben zusammen mehr als die Transaktion" #: /app/lib/Controller/SharedExpenseController.php:387 #: /app/lib/Controller/SharedExpenseController.php:401 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:851 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:899 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:917 -#, fuzzy -#| msgid "Failed to save splits" msgid "Failed to save the split" -msgstr "Fehler beim Speichern der Aufteilungen" +msgstr "Die Aufteilung konnte nicht gespeichert werden" #: /app/lib/Controller/SharedExpenseController.php:392 #, fuzzy @@ -2548,140 +2529,138 @@ msgstr "Fehler beim update des globalen Schlagwortes" msgid "Failed to delete global tag" msgstr "Fehler beim löschen des globalen Schlagwortes" -#: /app/lib/Controller/TransactionController.php:248 -#: /app/src/modules/accounts/AccountsModule.js:3451 -#: /app/src/modules/transactions/TransactionsModule.js:957 +#: /app/lib/Controller/TransactionController.php:251 +#: /app/src/modules/accounts/AccountsModule.js:3461 +#: /app/src/modules/transactions/TransactionsModule.js:983 #, fuzzy #| msgid "Failed to search transactions" msgid "Failed to export transactions" msgstr "Suchen von Buchungen fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:281 -#: /app/lib/Controller/TransactionController.php:536 -#: /app/lib/Controller/TransactionController.php:608 -#: /app/lib/Controller/TransactionController.php:639 -#: /app/lib/Controller/TransactionController.php:667 -#: /app/lib/Controller/TransactionController.php:922 -#: /app/lib/Controller/TransactionController.php:964 -#: /app/lib/Controller/TransactionController.php:981 -#: /app/lib/Controller/TransactionController.php:1026 /app/src/main.js:1895 -#: /app/src/modules/dashboard/DashboardModule.js:1328 +#: /app/lib/Controller/TransactionController.php:284 +#: /app/lib/Controller/TransactionController.php:539 +#: /app/lib/Controller/TransactionController.php:614 +#: /app/lib/Controller/TransactionController.php:645 +#: /app/lib/Controller/TransactionController.php:673 +#: /app/lib/Controller/TransactionController.php:942 +#: /app/lib/Controller/TransactionController.php:984 +#: /app/lib/Controller/TransactionController.php:1001 +#: /app/lib/Controller/TransactionController.php:1046 /app/src/main.js:1922 +#: /app/src/modules/dashboard/DashboardModule.js:1387 #: /app/templates/index.php:5803 msgid "Transaction" msgstr "Buchung" -#: /app/lib/Controller/TransactionController.php:480 +#: /app/lib/Controller/TransactionController.php:483 #, fuzzy #| msgid "Invalid status. Must be cleared or scheduled" msgid "Invalid status. Must be cleared, scheduled or pending" msgstr "Ungültiger Status. Dieser Muss geklärt oder geplant sein" -#: /app/lib/Controller/TransactionController.php:511 -#: /app/src/modules/transactions/TransactionsModule.js:5096 +#: /app/lib/Controller/TransactionController.php:514 +#: /app/src/modules/transactions/TransactionsModule.js:5147 msgid "Failed to update transaction" msgstr "Aktualisierung der Buchung fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:548 +#: /app/lib/Controller/TransactionController.php:551 msgid "Failed to search transactions" msgstr "Suchen von Buchungen fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:560 +#: /app/lib/Controller/TransactionController.php:563 msgid "Failed to retrieve uncategorized transactions" msgstr "Abruf unkategorisierter Buchungen fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:573 +#: /app/lib/Controller/TransactionController.php:576 msgid "Failed to categorize transactions" msgstr "Buchungen kategorisieren fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:689 /app/src/main.js:3518 -#: /app/src/modules/transactions/TransactionsModule.js:3690 +#: /app/lib/Controller/TransactionController.php:698 /app/src/main.js:3552 +#: /app/src/modules/transactions/TransactionsModule.js:3741 msgid "Failed to unlink transaction" msgstr "Aufheben der Buchungsvernüpfung fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:706 +#: /app/lib/Controller/TransactionController.php:726 msgid "Failed to bulk match transactions" msgstr "Massenabgleich von Buchungen fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:721 +#: /app/lib/Controller/TransactionController.php:741 msgid "Failed to scan for matches" msgstr "Suche nach Übereinstimmungen fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:737 +#: /app/lib/Controller/TransactionController.php:757 msgid "No valid pairs provided" msgstr "Keine gültigen Wertepaare angegeben" -#: /app/lib/Controller/TransactionController.php:743 +#: /app/lib/Controller/TransactionController.php:763 msgid "Failed to bulk link transactions" msgstr "Fehler beim Verknüpfen mehrerer Buchungen" -#: /app/lib/Controller/TransactionController.php:756 -#: /app/lib/Controller/TransactionController.php:775 -#: /app/lib/Controller/TransactionController.php:794 -#: /app/lib/Controller/TransactionController.php:865 -#: /app/lib/Controller/TransactionController.php:898 +#: /app/lib/Controller/TransactionController.php:776 +#: /app/lib/Controller/TransactionController.php:795 +#: /app/lib/Controller/TransactionController.php:814 +#: /app/lib/Controller/TransactionController.php:885 +#: /app/lib/Controller/TransactionController.php:918 msgid "No transaction IDs provided" msgstr "Keine Buchungs-ID bereitgestellt" -#: /app/lib/Controller/TransactionController.php:762 -#: /app/src/modules/transactions/TransactionsModule.js:1092 +#: /app/lib/Controller/TransactionController.php:782 +#: /app/src/modules/transactions/TransactionsModule.js:1118 msgid "Failed to delete transactions" msgstr "Buchungen löschen fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:781 +#: /app/lib/Controller/TransactionController.php:801 msgid "Failed to update reconcile status" msgstr "Aktualisierung des Statusabgleich fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:798 +#: /app/lib/Controller/TransactionController.php:818 msgid "No update fields provided" msgstr "Keine Aktualisierungsfelder bereitgestellt" -#: /app/lib/Controller/TransactionController.php:806 +#: /app/lib/Controller/TransactionController.php:826 #, php-format msgid "Invalid fields: %1$s" msgstr "Ungültige Felder: %1$s" -#: /app/lib/Controller/TransactionController.php:847 +#: /app/lib/Controller/TransactionController.php:867 msgid "Failed to bulk edit transactions" msgstr "Massenbearbeitung der Buchungen fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:869 +#: /app/lib/Controller/TransactionController.php:889 #, fuzzy #| msgid "Not provided" msgid "No tags provided" msgstr "Nicht angegeben" -#: /app/lib/Controller/TransactionController.php:881 +#: /app/lib/Controller/TransactionController.php:901 #, fuzzy #| msgid "Failed to update transactions" msgid "Failed to update transaction tags" msgstr "Fehler beim Aktualisieren der Buchungen" -#: /app/lib/Controller/TransactionController.php:908 -#, fuzzy -#| msgid "Failed to load tag sets" +#: /app/lib/Controller/TransactionController.php:928 msgid "Failed to load tag options" -msgstr "Fehler beim Laden der Schlagwortgruppen" +msgstr "Tag-Optionen konnten nicht geladen werden" -#: /app/lib/Controller/TransactionController.php:937 +#: /app/lib/Controller/TransactionController.php:957 msgid "Invalid splits data" msgstr "Aufteilungsdaten ungültig" -#: /app/lib/Controller/TransactionController.php:952 +#: /app/lib/Controller/TransactionController.php:972 #, php-format msgid "Split %1$s: amount is required" msgstr "Aufteilung %1$s: Betrag ist notwendig" -#: /app/lib/Controller/TransactionController.php:955 +#: /app/lib/Controller/TransactionController.php:975 #, fuzzy, php-format #| msgid "Split %1$s: amount must be positive" msgid "Split %1$s: amount cannot be zero" msgstr "Aufteilung %1$s: Betrag muss positiv sein" -#: /app/lib/Controller/TransactionController.php:1004 -#: /app/src/modules/bills/BillsModule.js:364 -#: /app/src/modules/dashboard/DashboardModule.js:1284 -#: /app/src/modules/rules/RulesModule.js:986 -#: /app/src/modules/transactions/TransactionsModule.js:5249 +#: /app/lib/Controller/TransactionController.php:1024 +#: /app/src/modules/bills/BillsModule.js:353 +#: /app/src/modules/dashboard/DashboardModule.js:1343 +#: /app/src/modules/rules/RulesModule.js:1001 +#: /app/src/modules/transactions/TransactionsModule.js:5300 #: /app/src/modules/transactions/transactionRow.js:68 #: /app/src/modules/transactions/transactionRow.js:182 #: /app/src/modules/transactions/transactionRow.js:224 @@ -2689,15 +2668,15 @@ msgstr "Aufteilung %1$s: Betrag muss positiv sein" msgid "Split" msgstr "Aufteilung" -#: /app/lib/Controller/TransactionController.php:1052 +#: /app/lib/Controller/TransactionController.php:1072 msgid "Failed to set transaction tags" msgstr "Buchungs-Tags konnten nicht gesetzt werden" -#: /app/lib/Controller/TransactionController.php:1067 +#: /app/lib/Controller/TransactionController.php:1087 msgid "Failed to clear transaction tags" msgstr "Löschen Buchungsmarkierung fehlgeschlagen" -#: /app/lib/Controller/TransactionController.php:1085 +#: /app/lib/Controller/TransactionController.php:1105 msgid "Failed to find duplicates" msgstr "Duplikate finden fehlgeschlagen" @@ -2729,7 +2708,7 @@ msgstr "Vergleich über das gesamte Jahr" #: /app/lib/Controller/YearOverYearController.php:238 #: /app/lib/Service/Report/ReportExporter.php:306 -#: /app/lib/Service/Report/ReportExporter.php:543 /app/src/main.js:2736 +#: /app/lib/Service/Report/ReportExporter.php:543 /app/src/main.js:2770 #: /app/templates/index.php:3486 /app/templates/index.php:3535 msgid "Month" msgstr "Monat" @@ -2754,28 +2733,28 @@ msgstr "Jahr" #: /app/lib/Service/Report/ReportExporter.php:544 #: /app/lib/Service/Report/ReportExporter.php:594 #: /app/src/core/KeyboardShortcuts.js:354 -#: /app/src/modules/categories/CategoriesModule.js:763 -#: /app/src/modules/categories/CategoriesModule.js:905 -#: /app/src/modules/categories/CategoriesModule.js:1675 -#: /app/src/modules/dashboard/DashboardModule.js:2329 -#: /app/src/modules/dashboard/DashboardModule.js:2857 -#: /app/src/modules/dashboard/DashboardModule.js:3182 -#: /app/src/modules/dashboard/DashboardModule.js:3245 -#: /app/src/modules/dashboard/DashboardModule.js:5497 +#: /app/src/modules/categories/CategoriesModule.js:771 +#: /app/src/modules/categories/CategoriesModule.js:913 +#: /app/src/modules/categories/CategoriesModule.js:1715 +#: /app/src/modules/dashboard/DashboardModule.js:2492 +#: /app/src/modules/dashboard/DashboardModule.js:3054 +#: /app/src/modules/dashboard/DashboardModule.js:3379 +#: /app/src/modules/dashboard/DashboardModule.js:3442 +#: /app/src/modules/dashboard/DashboardModule.js:5751 #: /app/src/modules/help/HelpModule.js:33 #: /app/src/modules/reports/ReportsModule.js:751 -#: /app/src/modules/reports/ReportsModule.js:1144 -#: /app/src/modules/reports/ReportsModule.js:1450 -#: /app/src/modules/reports/ReportsModule.js:1466 -#: /app/src/modules/reports/ReportsModule.js:1511 -#: /app/src/modules/rules/components/ActionBuilder.js:327 +#: /app/src/modules/reports/ReportsModule.js:1145 +#: /app/src/modules/reports/ReportsModule.js:1451 +#: /app/src/modules/reports/ReportsModule.js:1467 +#: /app/src/modules/reports/ReportsModule.js:1512 +#: /app/src/modules/rules/components/ActionBuilder.js:418 #: /app/src/modules/rules/components/CriteriaBuilder.js:218 #: /app/templates/index.php:103 /app/templates/index.php:1047 #: /app/templates/index.php:1472 /app/templates/index.php:1636 #: /app/templates/index.php:1878 /app/templates/index.php:2224 #: /app/templates/index.php:3324 /app/templates/index.php:3342 #: /app/templates/index.php:3487 /app/templates/index.php:5811 -#: /app/templates/index.php:5817 /app/templates/index.php:6813 +#: /app/templates/index.php:5817 /app/templates/index.php:6814 #: /app/templates/quick-add.php:35 msgid "Income" msgstr "Einkommen" @@ -2788,24 +2767,24 @@ msgstr "Einkommen" #: /app/lib/Service/Report/ReportExporter.php:470 #: /app/lib/Service/Report/ReportExporter.php:545 #: /app/lib/Service/Report/ReportExporter.php:596 -#: /app/src/modules/dashboard/DashboardModule.js:2334 -#: /app/src/modules/dashboard/DashboardModule.js:2866 -#: /app/src/modules/dashboard/DashboardModule.js:3183 -#: /app/src/modules/dashboard/DashboardModule.js:3252 +#: /app/src/modules/dashboard/DashboardModule.js:2497 +#: /app/src/modules/dashboard/DashboardModule.js:3063 +#: /app/src/modules/dashboard/DashboardModule.js:3380 +#: /app/src/modules/dashboard/DashboardModule.js:3449 #: /app/src/modules/reports/ReportsModule.js:758 -#: /app/src/modules/reports/ReportsModule.js:1152 -#: /app/src/modules/reports/ReportsModule.js:1453 -#: /app/src/modules/reports/ReportsModule.js:1470 -#: /app/src/modules/reports/ReportsModule.js:1518 /app/templates/index.php:1875 +#: /app/src/modules/reports/ReportsModule.js:1153 +#: /app/src/modules/reports/ReportsModule.js:1454 +#: /app/src/modules/reports/ReportsModule.js:1471 +#: /app/src/modules/reports/ReportsModule.js:1519 /app/templates/index.php:1875 #: /app/templates/index.php:2221 /app/templates/index.php:3325 #: /app/templates/index.php:3360 /app/templates/index.php:3488 msgid "Expenses" msgstr "Ausgaben" #: /app/lib/Controller/YearOverYearController.php:250 -#: /app/src/modules/dashboard/DashboardModule.js:1038 -#: /app/src/modules/dashboard/DashboardModule.js:2248 -#: /app/src/modules/reports/ReportsModule.js:1474 +#: /app/src/modules/dashboard/DashboardModule.js:1097 +#: /app/src/modules/dashboard/DashboardModule.js:2411 +#: /app/src/modules/reports/ReportsModule.js:1475 #: /app/src/utils/formatters.js:263 msgid "Savings" msgstr "Ersparnisse" @@ -2818,7 +2797,7 @@ msgstr "Ersparnisse" #: /app/lib/Service/Report/ReportExporter.php:573 #: /app/lib/Service/Report/ReportExporter.php:616 #: /app/src/core/KeyboardShortcuts.js:350 -#: /app/src/modules/dashboard/DashboardModule.js:5496 +#: /app/src/modules/dashboard/DashboardModule.js:5750 #: /app/src/modules/help/HelpModule.js:29 /app/templates/index.php:63 #: /app/templates/index.php:1422 /app/templates/index.php:1572 #: /app/templates/index.php:2002 /app/templates/index.php:2596 @@ -2850,17 +2829,17 @@ msgstr "Ändern" #: /app/lib/Controller/YearOverYearController.php:295 #: /app/lib/Controller/YearOverYearController.php:403 #: /app/lib/Service/Report/ReportExporter.php:224 -#: /app/lib/Service/Report/ReportExporter.php:229 /app/src/main.js:2304 -#: /app/src/main.js:2307 /app/src/main.js:3353 -#: /app/src/modules/accounts/AccountsModule.js:3348 -#: /app/src/modules/dashboard/DashboardModule.js:2357 -#: /app/src/modules/dashboard/DashboardModule.js:2435 -#: /app/src/modules/dashboard/DashboardModule.js:2578 -#: /app/src/modules/dashboard/DashboardModule.js:2717 +#: /app/lib/Service/Report/ReportExporter.php:229 /app/src/main.js:2337 +#: /app/src/main.js:2340 /app/src/main.js:3387 +#: /app/src/modules/accounts/AccountsModule.js:3358 +#: /app/src/modules/dashboard/DashboardModule.js:2520 +#: /app/src/modules/dashboard/DashboardModule.js:2598 +#: /app/src/modules/dashboard/DashboardModule.js:2762 +#: /app/src/modules/dashboard/DashboardModule.js:2909 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:175 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:784 -#: /app/src/modules/transactions/TransactionsModule.js:3652 -#: /app/src/modules/transfers/TransfersModule.js:1281 +#: /app/src/modules/transactions/TransactionsModule.js:3703 +#: /app/src/modules/transfers/TransfersModule.js:1276 msgid "Unknown" msgstr "Unbekannt" @@ -2883,7 +2862,7 @@ msgid "Budget: Overview" msgstr "Budgetzeitraum" #: /app/lib/Dashboard/BudgetOverviewWidget.php:79 -#: /app/src/modules/dashboard/DashboardModule.js:1020 +#: /app/src/modules/dashboard/DashboardModule.js:1079 msgid "No accounts yet" msgstr "Noch keine Konten" @@ -2939,32 +2918,32 @@ msgstr[1] "%n Warnungen" msgid "Attention" msgstr "Aktionen" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:42 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:44 msgid "Budget: Upcoming bills" msgstr "Budget: Fällige Zahlungen" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:78 -#: /app/src/modules/dashboard/DashboardModule.js:1739 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:80 +#: /app/src/modules/dashboard/DashboardModule.js:1899 #: /app/templates/index.php:726 msgid "No upcoming bills" msgstr "Keine fällige Zahlungen" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:87 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:89 #, fuzzy #| msgid "All Bills" msgid "All bills" msgstr "Alle Rechnungen" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:116 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:120 msgid "overdue" msgstr "überfällig" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:119 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:123 #: /app/lib/Notification/Notifier.php:57 msgid "due today" msgstr "Heute fällig" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:122 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:126 #, fuzzy #| msgid "Due in %n day" #| msgid_plural "Due in %n days" @@ -2973,14 +2952,14 @@ msgid_plural "due in %n days" msgstr[0] "Fällig in %n Tag" msgstr[1] "Fällig in %n Tagen" -#: /app/lib/Notification/Notifier.php:31 /app/lib/Service/DigestService.php:150 +#: /app/lib/Notification/Notifier.php:31 /app/lib/Service/DigestService.php:171 #: /app/specialAppInfoFakeDummyForL10nScript.php:2 #: /app/src/core/KeyboardShortcuts.js:353 -#: /app/src/modules/categories/CategoriesModule.js:926 -#: /app/src/modules/categories/CategoriesModule.js:2341 -#: /app/src/modules/dashboard/DashboardModule.js:2165 +#: /app/src/modules/categories/CategoriesModule.js:934 +#: /app/src/modules/categories/CategoriesModule.js:2402 +#: /app/src/modules/dashboard/DashboardModule.js:2328 #: /app/src/modules/help/HelpModule.js:32 -#: /app/src/modules/projects/ProjectsModule.js:145 /app/templates/index.php:93 +#: /app/src/modules/projects/ProjectsModule.js:146 /app/templates/index.php:93 #: /app/templates/index.php:2147 /app/templates/index.php:2232 #: /app/templates/index.php:5136 msgid "Budget" @@ -3066,10 +3045,22 @@ msgstr "" "werden. Grund: {reason}" #: /app/lib/Notification/Notifier.php:329 +#, fuzzy +#| msgid "Monthly Contribution" +msgid "Scheduled contribution stopped: {pension}" +msgstr "Monatlicher Beitrag" + +#: /app/lib/Notification/Notifier.php:341 +msgid "" +"The {amount} contribution to {pension} could not be posted, so auto-post has " +"been turned off. Reason: {reason}" +msgstr "" + +#: /app/lib/Notification/Notifier.php:374 msgid "{user} shared their budget with you" msgstr "{user} hat sein Budget mit dir geteilt" -#: /app/lib/Notification/Notifier.php:341 +#: /app/lib/Notification/Notifier.php:386 msgid "" "{user} has invited you to view their budget. Open Budget to accept or " "decline." @@ -3077,44 +3068,54 @@ msgstr "" "Der Benutzer {user} hat Dich eingeladen, sein Budget anzuschauen. Öffne das " "Budget um zu akzeptieren oder lehne ab." -#: /app/lib/Notification/Notifier.php:364 -#: /app/lib/Service/DigestService.php:127 +#: /app/lib/Notification/Notifier.php:409 +#: /app/lib/Service/DigestService.php:148 msgid "Your monthly budget digest" msgstr "Deine monatliche Budgetübersicht" -#: /app/lib/Notification/Notifier.php:365 -#: /app/lib/Service/DigestService.php:126 +#: /app/lib/Notification/Notifier.php:410 +#: /app/lib/Service/DigestService.php:147 msgid "Your weekly budget digest" msgstr "Deine wöchentliche Budgetübersicht" -#: /app/lib/Notification/Notifier.php:385 -msgid "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " -"and one category is spending unusually." -msgid_plural "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " -"and {anomalies} categories are spending unusually." -msgstr[0] "" -"Einnahme {income}, Ausgabe {expenses} ({net} netto). {bills} Rechnung ist " -"demnächst fällig und in einer Kategorie sind die Ausgaben ungewöhnlich hoch." -msgstr[1] "" -"Einnahmen {income}, Ausgaben {expenses} ({net} netto). {bills} Rechnungen " -"sind demnächst fällig und in einer Kategorie sind die Ausgaben ungewöhnlich " -"hoch." - -#. TRANSLATORS: {income}, {expenses}, {net}, {bills} are placeholders — do NOT translate them. Keep all {placeholder} names exactly as-is. -#: /app/lib/Notification/Notifier.php:391 -msgid "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon." +#. TRANSLATORS: {income}, {expenses}, {net} are placeholders — do NOT translate them. Keep all {placeholder} names exactly as-is. +#: /app/lib/Notification/Notifier.php:425 +#, fuzzy +#| msgid "" +#| "Income {income}, spending {expenses} ({net} net). {bills} bills due soon." +msgid "Income {income}, spending {expenses} ({net} net)." msgstr "" "Einnahmen: {income}, Ausgaben: {expenses} ({net} Saldo). {bills} Rechnungen " "sind bald fällig." -#: /app/lib/Notification/Notifier.php:409 +#. TRANSLATORS: {bills} is a placeholder (the number of bills) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:427 +#, fuzzy +#| msgid "Bills Due Soon" +msgid "{bills} bill due soon." +msgid_plural "{bills} bills due soon." +msgstr[0] "Bald fällige Rechnungen" +msgstr[1] "Bald fällige Rechnungen" + +#. TRANSLATORS: {overdue} is a placeholder (the number of bills) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:433 +msgid "{overdue} bill is overdue." +msgid_plural "{overdue} bills are overdue." +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: {anomalies} is a placeholder (the number of categories) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:440 +msgid "One category is spending unusually." +msgid_plural "{anomalies} categories are spending unusually." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Notification/Notifier.php:459 msgid "Unusual spending in {category}" msgstr "Auffällige Ausgaben in {category}" -#: /app/lib/Notification/Notifier.php:417 +#: /app/lib/Notification/Notifier.php:467 #, php-format msgid "" "{category} spending is {percent}%% above your typical level — {amount} so " @@ -3123,33 +3124,33 @@ msgstr "" "Die Ausgaben für „{category}“ liegen {percent} %% über deinem üblichen " "Niveau – bisher {amount} in diesem Monat." -#: /app/lib/Notification/Notifier.php:438 +#: /app/lib/Notification/Notifier.php:488 msgid "Your Budget report for {month} is ready" msgstr "Dein Budgetbericht für {month} ist verfügbar" -#: /app/lib/Notification/Notifier.php:446 +#: /app/lib/Notification/Notifier.php:496 msgid "{file} was saved to your Files." msgstr "{file} wurde in deinen Dateien gespeichert." -#: /app/lib/Notification/Notifier.php:471 +#: /app/lib/Notification/Notifier.php:521 msgid "{user} added a receipt to your budget" msgstr "{user} hat deinem Budget einen Beleg hinzugefügt" -#: /app/lib/Notification/Notifier.php:483 +#: /app/lib/Notification/Notifier.php:533 msgid "{file} was saved to your Files for {transaction}." msgstr "{file} wurde für {transaction} in deinen Dateien gespeichert." #. TRANSLATORS: {category} is replaced with the category name. Do NOT translate {category} — keep it exactly as-is. -#: /app/lib/Notification/Notifier.php:510 +#: /app/lib/Notification/Notifier.php:560 msgid "Approaching your {category} budget" msgstr "Dein Budget für {category} ist fast ausgeschöpft" #. TRANSLATORS: {category} is replaced with the category name. Do NOT translate {category} — keep it exactly as-is. -#: /app/lib/Notification/Notifier.php:513 +#: /app/lib/Notification/Notifier.php:563 msgid "{category} is over budget" msgstr "{category} liegt über dem Budget" -#: /app/lib/Notification/Notifier.php:525 +#: /app/lib/Notification/Notifier.php:575 #, php-format msgid "" "You have spent {spent} of your {budget} budget ({percent}%% of the limit)." @@ -3157,13 +3158,13 @@ msgstr "" "Du hast {spent} von deinem Budget von {budget} ausgegeben ({percent}%% des " "Limits)." -#: /app/lib/Notification/Notifier.php:544 +#: /app/lib/Notification/Notifier.php:594 #, fuzzy #| msgid "Current balance cannot be negative" msgid "Your balance is forecast to go negative" msgstr "Aktueller Kontostand kann nicht negativ sein" -#: /app/lib/Notification/Notifier.php:548 +#: /app/lib/Notification/Notifier.php:598 msgid "Your projected balance falls to {balance} in {month}." msgstr "Dein prognostizierter Kontostand fällt im {month} auf {balance}." @@ -3173,7 +3174,7 @@ msgstr "Dein prognostizierter Kontostand fällt im {month} auf {balance}." msgid "Budget transactions" msgstr "Buchung editieren" -#: /app/lib/Service/AccountClosureService.php:62 +#: /app/lib/Service/AccountClosureService.php:63 #, php-format msgid "" "This account still has a balance of %1$s. Record the closing withdrawal, or " @@ -3183,7 +3184,7 @@ msgstr "" "Auszahlung oder passe den Eröffnungssaldo so an, dass der Kontostand null " "beträgt. Anschließend kannst du das Konto schließen." -#: /app/lib/Service/AccountClosureService.php:69 +#: /app/lib/Service/AccountClosureService.php:70 #, fuzzy #| msgid "" #| "Are you sure you want to delete this account? This action cannot be " @@ -3195,41 +3196,41 @@ msgstr "" "Möchtest du dieses Konto wirklich löschen? Diese Aktion kann nicht " "rückgängig gemacht werden." -#: /app/lib/Service/AccountClosureService.php:79 +#: /app/lib/Service/AccountClosureService.php:80 #: /app/lib/Service/Bill/BillIcsService.php:54 #: /app/src/core/KeyboardShortcuts.js:355 -#: /app/src/modules/dashboard/DashboardModule.js:5500 +#: /app/src/modules/dashboard/DashboardModule.js:5754 #: /app/src/modules/help/HelpModule.js:34 -#: /app/src/modules/sharing/SharingModule.js:269 /app/templates/index.php:113 +#: /app/src/modules/sharing/SharingModule.js:274 /app/templates/index.php:113 #: /app/templates/index.php:2610 /app/templates/index.php:4765 msgid "Bills" msgstr "Rechnungen" -#: /app/lib/Service/AccountClosureService.php:80 +#: /app/lib/Service/AccountClosureService.php:81 #: /app/src/core/KeyboardShortcuts.js:356 #: /app/src/modules/help/HelpModule.js:35 /app/templates/index.php:123 msgid "Transfers" msgstr "Umbuchungen" -#: /app/lib/Service/AccountClosureService.php:82 +#: /app/lib/Service/AccountClosureService.php:83 #, fuzzy #| msgid "Log Contribution" msgid "Pension contributions" msgstr "Beitrag protokollieren" -#: /app/lib/Service/AccountClosureService.php:83 +#: /app/lib/Service/AccountClosureService.php:84 #, fuzzy #| msgid "Bank Sync" msgid "Bank sync" msgstr "Banksynchronisierung" -#: /app/lib/Service/AccountClosureService.php:84 +#: /app/lib/Service/AccountClosureService.php:85 #, fuzzy #| msgid "Import rule" msgid "Import rules" msgstr "Importregel" -#: /app/lib/Service/AccountClosureService.php:92 +#: /app/lib/Service/AccountClosureService.php:93 #, php-format msgid "" "This account is still used by %1$s. Reassign or deactivate them, then close " @@ -3238,12 +3239,12 @@ msgstr "" "Dieses Konto wird noch von %1$s verwendet. Weise diese einem anderen Konto " "zu oder deaktiviere sie und schließe anschließend das Konto." -#: /app/lib/Service/AccountClosureService.php:174 +#: /app/lib/Service/AccountClosureService.php:218 #, php-format msgid "Pension #%1$s" msgstr "Altersvorsorge #%1$s" -#: /app/lib/Service/AccountService.php:128 +#: /app/lib/Service/AccountService.php:134 msgid "" "Cannot delete account with existing transactions. Please delete all " "transactions first." @@ -3251,13 +3252,13 @@ msgstr "" "Konto mit existierenden Buchungen kann nicht gelöscht werden. Bitte lösche " "zuerst alle Buchungen." -#: /app/lib/Service/AccountService.php:282 +#: /app/lib/Service/AccountService.php:295 msgid "This page is out of date. Please reload it before editing this account." msgstr "" "Diese Seite ist nicht mehr aktuell. Bitte lade sie neu, bevor du dieses " "Konto bearbeitest." -#: /app/lib/Service/BankSync/BankSyncService.php:184 +#: /app/lib/Service/BankSync/BankSyncService.php:186 msgid "" "No accounts are enabled for sync. Open Account Mappings to enable and map " "your accounts." @@ -3265,7 +3266,7 @@ msgstr "" "Für die Synchronisierung sind keine Konten aktiviert. Öffne die " "Kontozuordnungen, um deine Konten zu aktivieren und zuzuordnen." -#: /app/lib/Service/BankSync/BankSyncService.php:196 +#: /app/lib/Service/BankSync/BankSyncService.php:198 #, php-format msgid "" "Found %1$s account(s). Please open Account Mappings to enable and map them, " @@ -3274,38 +3275,56 @@ msgstr "" "%1$s Konten gefunden. Öffne die Kontozuordnungen, aktiviere die Konten und " "ordne sie zu. Starte anschließend die Synchronisierung erneut." -#: /app/lib/Service/BankSync/BankSyncService.php:425 +#: /app/lib/Service/BankSync/BankSyncService.php:473 #, php-format msgid "Sync completed with %1$s error(s)" msgstr "Synchronisierung abgeschlossen, %1$s Fehler" -#: /app/lib/Service/Bill/BillIcsService.php:141 +#: /app/lib/Service/Bill/BillIcsService.php:142 #, php-format msgid "Bill due: %1$s" msgstr "Rechnung fällig: %1$s" -#: /app/lib/Service/BillService.php:92 +#: /app/lib/Service/BillService.php:126 #, fuzzy -#| msgid "Transfer requires a destination account" -msgid "This amount type requires a transfer with a destination account" -msgstr "Umbuchung erfordert ein Zielkonto" +#| msgid "" +#| "The account linked to this bill no longer exists. Edit the bill and " +#| "choose an account." +msgid "" +"This bill uses an account you can no longer change. Edit the bill and choose " +"another account." +msgstr "" +"Das mit dieser Rechnung verknüpfte Konto existiert nicht mehr. Bearbeite die " +"Rechnung und wähle ein Konto aus." + +#: /app/lib/Service/BillService.php:173 +#, fuzzy +#| msgid "Transfer requires a destination account" +msgid "This amount type requires a transfer with a destination account" +msgstr "Umbuchung erfordert ein Zielkonto" -#: /app/lib/Service/BillService.php:96 +#: /app/lib/Service/BillService.php:177 msgid "This amount type is only available for transfers to a credit card" msgstr "" "Dieser Betragstyp ist nur für Umbuchungen auf eine Kreditkarte verfügbar" -#: /app/lib/Service/BillService.php:221 /app/lib/Service/BillService.php:262 +#: /app/lib/Service/BillService.php:192 +msgid "" +"The card has no minimum payment set. Set one on the card, or choose another " +"amount." +msgstr "" + +#: /app/lib/Service/BillService.php:328 /app/lib/Service/BillService.php:384 #, fuzzy #| msgid "Transfer marked as paid" msgid "This bill has never been marked as paid" msgstr "Umbuchung wurde als bezahlt markiert" -#: /app/lib/Service/BillService.php:224 +#: /app/lib/Service/BillService.php:331 msgid "Assign an account to the bill first" msgstr "Weise der Rechnung zuerst ein Konto zu" -#: /app/lib/Service/BillService.php:233 +#: /app/lib/Service/BillService.php:341 msgid "" "The account linked to this bill no longer exists. Edit the bill and choose " "an account." @@ -3313,48 +3332,125 @@ msgstr "" "Das mit dieser Rechnung verknüpfte Konto existiert nicht mehr. Bearbeite die " "Rechnung und wähle ein Konto aus." -#: /app/lib/Service/BillService.php:242 +#: /app/lib/Service/BillService.php:346 #, fuzzy #| msgid "A category with this name already exists at this level" msgid "A transaction for this payment already exists" msgstr "Eine Kategorie mit diesem Namen existiert bereits in dieser Ebene" -#: /app/lib/Service/BillService.php:1060 /app/lib/Service/BillService.php:1074 +#: /app/lib/Service/BillService.php:691 /app/lib/Service/BillService.php:798 +#, fuzzy +#| msgid "{count} one-time bills deactivated" +msgid "A one-time bill needs its due date" +msgstr "{count} einmalige Rechnungen deaktiviert" + +#: /app/lib/Service/BillService.php:1004 +#, fuzzy +#| msgid "Transfer marked as paid" +msgid "This bill has nothing left to pay" +msgstr "Umbuchung wurde als bezahlt markiert" + +#: /app/lib/Service/BillService.php:1010 +#: /app/lib/Service/RecurringIncomeService.php:261 +#, fuzzy +#| msgid "" +#| "Your session has expired, so categories could not be loaded. Reload the " +#| "page to restore them." +msgid "This payment was already recorded. Reload the page to see the next one." +msgstr "" +"Deine Sitzung ist abgelaufen. Daher konnten die Kategorien nicht geladen " +"werden. Lade die Seite neu, um sie wiederherzustellen." + +#: /app/lib/Service/BillService.php:1056 +#, fuzzy +#| msgid "Create future transaction for this bill" +msgid "That transaction can't pay this bill" +msgstr "Erstelle zukünftige Buchung für diese Rechnung" + +#: /app/lib/Service/BillService.php:1096 +#, fuzzy +#| msgid "Transactions linked as transfer" +msgid "That transaction already pays another bill" +msgstr "Buchung als Transfer verknüpft" + +#: /app/lib/Service/BillService.php:1356 /app/lib/Service/BillService.php:1370 #, fuzzy #| msgid "Transfer marked as paid" msgid "This bill has no recorded payment to undo" msgstr "Umbuchung wurde als bezahlt markiert" -#: /app/lib/Service/BillService.php:1102 +#: /app/lib/Service/BillService.php:1379 +msgid "" +"This payment has been reconciled against a bank statement. Marking the bill " +"unpaid deletes it, so the account will no longer match that statement." +msgstr "" + +#: /app/lib/Service/BillService.php:1408 msgid "Cannot skip a one-time bill" msgstr "Einmalige Rechnung kann nicht übersprungen werden" -#: /app/lib/Service/BillService.php:1106 +#: /app/lib/Service/BillService.php:1412 msgid "Cannot skip an inactive bill" msgstr "Ruhende Rechnung kann nicht übersprungen werden" -#: /app/lib/Service/BillService.php:1525 +#: /app/lib/Service/BillService.php:1715 +#: /app/lib/Service/RecurringIncomeService.php:692 +#: /app/src/modules/accounts/AccountsModule.js:25 +#: /app/src/modules/transfers/TransfersModule.js:449 +#: /app/templates/index.php:1104 /app/templates/index.php:2802 +#: /app/templates/index.php:5157 /app/templates/index.php:5583 +#: /app/templates/index.php:7237 +msgid "Name" +msgstr "Name" + +#: /app/lib/Service/BillService.php:1715 +#: /app/lib/Service/RecurringIncomeService.php:692 +#: /app/lib/Service/ValidationService.php:74 +#: /app/lib/Service/ValidationService.php:187 +#: /app/lib/Service/ValidationService.php:206 +#, php-format +msgid "%1$s is required" +msgstr "%1$s wird benötigt" + +#: /app/lib/Service/BillService.php:2007 msgid "Auto-pay is not enabled for this bill" msgstr "Automatische Zahlung ist für diese Rechnung nicht eingeschaltet" -#: /app/lib/Service/BillService.php:1538 +#: /app/lib/Service/BillService.php:2020 msgid "Bill has no account associated" msgstr "Rechnung ist keinem Konto zugewiesen" -#: /app/lib/Service/BillService.php:1548 +#: /app/lib/Service/BillService.php:2037 +msgid "The payment could not be recorded" +msgstr "" + +#: /app/lib/Service/BillService.php:2042 msgid "Bill auto-paid successfully" msgstr "Rechnung wurde automatisch bezahlt" -#: /app/lib/Service/CategoryService.php:149 -#: /app/lib/Service/CategoryService.php:189 +#: /app/lib/Service/CategoryService.php:154 +#: /app/lib/Service/CategoryService.php:201 msgid "A category with this name already exists at this level" msgstr "Eine Kategorie mit diesem Namen existiert bereits in dieser Ebene" -#: /app/lib/Service/CategoryService.php:179 +#: /app/lib/Service/CategoryService.php:186 msgid "Category cannot be its own parent" msgstr "Die Kategorie kann nicht sich selbst übergeordnet sein" -#: /app/lib/Service/CategoryService.php:215 +#: /app/lib/Service/CategoryService.php:192 +#: /app/lib/Service/CategoryService.php:348 +#, fuzzy +#| msgid "Category cannot be its own parent" +msgid "A category cannot be nested inside itself" +msgstr "Die Kategorie kann nicht sich selbst übergeordnet sein" + +#: /app/lib/Service/CategoryService.php:216 +#, fuzzy +#| msgid "Category not found" +msgid "Parent category not found" +msgstr "Kategorie nicht gefunden" + +#: /app/lib/Service/CategoryService.php:242 #, fuzzy #| msgid "" #| "Cannot delete account with existing transactions. Please delete all " @@ -3366,13 +3462,19 @@ msgstr "" "Konto mit existierenden Buchungen kann nicht gelöscht werden. Bitte lösche " "zuerst alle Buchungen." -#: /app/lib/Service/CategoryService.php:279 +#: /app/lib/Service/CategoryService.php:327 #, fuzzy -#| msgid "Category cannot be its own parent" -msgid "A category cannot be nested inside itself" -msgstr "Die Kategorie kann nicht sich selbst übergeordnet sein" +#| msgid "Only the category owner can delete it" +msgid "This category has subcategories, so only its owner can delete it" +msgstr "Nur der Eigentümer der Kategorie kann das löschen" + +#: /app/lib/Service/CategoryService.php:330 +msgid "This category has transactions, so only its owner can delete it" +msgstr "" +"Diese Kategorie enthält Transaktionen. Daher kann sie nur vom Eigentümer " +"gelöscht werden" -#: /app/lib/Service/CategoryService.php:360 +#: /app/lib/Service/CategoryService.php:429 #, php-format msgid "" "This category is used by the project \"%1$s\". Change or delete the project " @@ -3381,13 +3483,11 @@ msgstr "" "Diese Kategorie wird vom Projekt „%1$s“ verwendet. Ändere oder lösche zuerst " "das Projekt." -#: /app/lib/Service/CategoryService.php:638 -#, fuzzy -#| msgid "A pending share already exists for this user" +#: /app/lib/Service/CategoryService.php:707 msgid "A budget adjustment already exists for this month" -msgstr "Es existiert bereits eine ausstehende Aktie für diesen Benutzer" +msgstr "Für diesen Monat gibt es bereits eine Budgetanpassung" -#: /app/lib/Service/CategoryService.php:714 +#: /app/lib/Service/CategoryService.php:783 msgid "No budget snapshot found for this category and month" msgstr "Für diese Kategorie und diesen Monat sind keine Budgetdaten verfügbar" @@ -3461,49 +3561,63 @@ msgstr "" msgid "\"%1$s\": the budget \"%2$s\" is not a number and was ignored" msgstr "\"%1$s\": Das Budget \"%2$s\" ist keine Zahl und wurde ignoriert" -#: /app/lib/Service/DigestService.php:132 +#: /app/lib/Service/DigestService.php:153 #, php-format msgid "Income %1$s, spending %2$s (%3$s net)." msgstr "Einnahmen: %1$s, Ausgaben: %2$s (Saldo: %3$s)." -#: /app/lib/Service/DigestService.php:140 +#: /app/lib/Service/DigestService.php:161 #, php-format msgid "%1$s of %2$s spent (%3$s%%) across %4$s budgeted categories." msgstr "" "%1$s von %2$s ausgegeben (%3$s %%), verteilt auf %4$s budgetierte Kategorien." -#: /app/lib/Service/DigestService.php:148 +#: /app/lib/Service/DigestService.php:169 msgid "%n category is over budget." msgid_plural "%n categories are over budget." msgstr[0] "%n Kategorie ist über dem Budget." msgstr[1] "%n Kategorien sind über dem Budget." -#: /app/lib/Service/DigestService.php:158 +#: /app/lib/Service/DigestService.php:180 +#, fuzzy +#| msgid "Read only" +msgid "and %n more" +msgid_plural "and %n more" +msgstr[0] "Lesezugriff" +msgstr[1] "Lesezugriff" + +#: /app/lib/Service/DigestService.php:185 +#, fuzzy +#| msgid "Overdue bill: {bill}" +msgid "Overdue bills" +msgstr "Überfällige Rechnung: {bill}" + +#: /app/lib/Service/DigestService.php:188 #, fuzzy #| msgid "Upcoming Bills" msgid "Upcoming bills" msgstr "Fällige Zahlungen" -#: /app/lib/Service/DigestService.php:163 +#: /app/lib/Service/DigestService.php:193 #, php-format msgid "%1$s is %2$s%% above your typical spending (%3$s so far this month)." msgstr "" "Die Ausgaben für %1$s liegen %2$s %% über deinem üblichen Niveau (%3$s " "bisher in diesem Monat)." -#: /app/lib/Service/DigestService.php:168 +#: /app/lib/Service/DigestService.php:198 #, fuzzy #| msgid "Total Spending" msgid "Unusual spending" msgstr "Gesamtausgaben" -#: /app/lib/Service/DigestService.php:173 +#: /app/lib/Service/DigestService.php:203 #, fuzzy #| msgid "Savings Goals" msgid "Savings goals" msgstr "Sparziele" -#: /app/lib/Service/DigestService.php:179 +#: /app/lib/Service/DigestService.php:209 msgid "Budget found %n possible recurring bill you are not tracking yet." msgid_plural "" "Budget found %n possible recurring bills you are not tracking yet." @@ -3514,32 +3628,40 @@ msgstr[1] "" "Budget hat %n mögliche wiederkehrende Zahlungen gefunden, die du noch nicht " "verfolgst." -#: /app/lib/Service/Export/TransactionCsvExporter.php:29 /app/src/main.js:3558 -#: /app/src/main.js:3634 /app/src/main.js:3635 -#: /app/src/modules/rules/RulesModule.js:936 -#: /app/src/modules/rules/RulesModule.js:1138 +#: /app/lib/Service/Export/TransactionCsvExporter.php:29 /app/src/main.js:3592 +#: /app/src/main.js:3668 /app/src/main.js:3669 +#: /app/src/modules/rules/RulesModule.js:951 +#: /app/src/modules/rules/RulesModule.js:1153 +#: /app/src/modules/rules/components/ActionBuilder.js:200 +#: /app/src/modules/rules/components/ActionBuilder.js:207 +#: /app/src/modules/rules/components/ActionBuilder.js:232 +#: /app/src/modules/rules/components/ActionBuilder.js:256 #: /app/src/modules/rules/components/CriteriaBuilder.js:188 -#: /app/src/modules/transactions/TransactionsModule.js:3195 -#: /app/src/modules/transactions/TransactionsModule.js:3196 -#: /app/src/modules/transactions/TransactionsModule.js:3799 -#: /app/src/modules/transactions/TransactionsModule.js:3800 +#: /app/src/modules/transactions/TransactionsModule.js:3239 +#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3850 +#: /app/src/modules/transactions/TransactionsModule.js:3851 #: /app/templates/index.php:1055 /app/templates/index.php:1056 #: /app/templates/index.php:1536 /app/templates/index.php:1777 #: /app/templates/index.php:1831 /app/templates/index.php:2422 #: /app/templates/index.php:2559 /app/templates/index.php:5600 #: /app/templates/index.php:5854 /app/templates/index.php:6174 -#: /app/templates/index.php:6435 /app/templates/index.php:6519 -#: /app/templates/index.php:6658 /app/templates/index.php:6884 -#: /app/templates/index.php:6985 /app/templates/quick-add.php:45 +#: /app/templates/index.php:6436 /app/templates/index.php:6520 +#: /app/templates/index.php:6659 /app/templates/index.php:6885 +#: /app/templates/index.php:6986 /app/templates/quick-add.php:45 msgid "Description" msgstr "Beschreibung" #: /app/lib/Service/Export/TransactionCsvExporter.php:30 +#: /app/src/modules/rules/components/ActionBuilder.js:201 +#: /app/src/modules/rules/components/ActionBuilder.js:208 +#: /app/src/modules/rules/components/ActionBuilder.js:233 +#: /app/src/modules/rules/components/ActionBuilder.js:257 #: /app/src/modules/rules/components/CriteriaBuilder.js:189 #: /app/templates/index.php:1538 /app/templates/index.php:1781 #: /app/templates/index.php:1835 /app/templates/index.php:3432 -#: /app/templates/index.php:5858 /app/templates/index.php:6436 -#: /app/templates/index.php:7167 /app/templates/quick-add.php:50 +#: /app/templates/index.php:5858 /app/templates/index.php:6437 +#: /app/templates/index.php:7168 /app/templates/quick-add.php:50 msgid "Vendor" msgstr "Empfänger" @@ -3547,7 +3669,7 @@ msgstr "Empfänger" #: /app/lib/Service/Report/ReportExporter.php:236 /app/templates/index.php:1043 #: /app/templates/index.php:1469 /app/templates/index.php:1633 #: /app/templates/index.php:3813 /app/templates/index.php:5589 -#: /app/templates/index.php:5805 /app/templates/index.php:6810 +#: /app/templates/index.php:5805 /app/templates/index.php:6811 #: /app/templates/quick-add.php:32 msgid "Type" msgstr "Typ" @@ -3561,19 +3683,27 @@ msgstr "Währung" #: /app/lib/Service/Export/TransactionCsvExporter.php:36 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:171 +#: /app/src/modules/rules/components/ActionBuilder.js:202 +#: /app/src/modules/rules/components/ActionBuilder.js:209 +#: /app/src/modules/rules/components/ActionBuilder.js:234 +#: /app/src/modules/rules/components/ActionBuilder.js:258 #: /app/src/modules/rules/components/CriteriaBuilder.js:192 -#: /app/templates/index.php:6437 /app/templates/index.php:7173 +#: /app/templates/index.php:6438 /app/templates/index.php:7174 msgid "Reference" msgstr "Referenz" #: /app/lib/Service/Export/TransactionCsvExporter.php:37 +#: /app/src/modules/rules/components/ActionBuilder.js:203 +#: /app/src/modules/rules/components/ActionBuilder.js:210 +#: /app/src/modules/rules/components/ActionBuilder.js:235 +#: /app/src/modules/rules/components/ActionBuilder.js:259 #: /app/src/modules/rules/components/CriteriaBuilder.js:193 -#: /app/src/modules/transfers/TransfersModule.js:575 +#: /app/src/modules/transfers/TransfersModule.js:560 #: /app/templates/index.php:2427 /app/templates/index.php:2560 #: /app/templates/index.php:5262 /app/templates/index.php:5922 -#: /app/templates/index.php:6286 /app/templates/index.php:6438 -#: /app/templates/index.php:6753 /app/templates/index.php:7179 -#: /app/templates/index.php:7286 /app/templates/index.php:7332 +#: /app/templates/index.php:6286 /app/templates/index.php:6439 +#: /app/templates/index.php:6754 /app/templates/index.php:7180 +#: /app/templates/index.php:7287 /app/templates/index.php:7333 #: /app/templates/quick-add.php:65 msgid "Notes" msgstr "Notizen" @@ -3593,33 +3723,33 @@ msgid "Split of" msgstr "Aufteilung" #: /app/lib/Service/Export/TransactionCsvExporter.php:144 -#: /app/src/modules/categories/CategoriesModule.js:763 -#: /app/src/modules/categories/CategoriesModule.js:1675 -#: /app/src/modules/rules/components/ActionBuilder.js:322 +#: /app/src/modules/categories/CategoriesModule.js:771 +#: /app/src/modules/categories/CategoriesModule.js:1715 +#: /app/src/modules/rules/components/ActionBuilder.js:413 #: /app/src/modules/rules/components/CriteriaBuilder.js:217 #: /app/templates/index.php:1046 /app/templates/index.php:1473 #: /app/templates/index.php:1637 /app/templates/index.php:5810 -#: /app/templates/index.php:5816 /app/templates/index.php:6812 +#: /app/templates/index.php:5816 /app/templates/index.php:6813 #: /app/templates/quick-add.php:34 msgid "Expense" msgstr "Ausgabe" -#: /app/lib/Service/GranularShareService.php:330 +#: /app/lib/Service/GranularShareService.php:377 #, php-format msgid "Invalid entity type: %1$s" msgstr "Ungültiger Einheitentyp: %1$s" -#: /app/lib/Service/GranularShareService.php:335 +#: /app/lib/Service/GranularShareService.php:382 #, php-format msgid "Invalid permission: %1$s" msgstr "Ungültige Berechtigung: %1$s" -#: /app/lib/Service/GranularShareService.php:341 +#: /app/lib/Service/GranularShareService.php:388 #: /app/lib/Service/ShareService.php:195 msgid "You are not the owner of this share" msgstr "Du bist nicht Besitzer dieser Aktie" -#: /app/lib/Service/GranularShareService.php:348 +#: /app/lib/Service/GranularShareService.php:395 msgid "Some entities do not belong to you" msgstr "Einige Einheiten gehören nicht Dir" @@ -3693,48 +3823,48 @@ msgstr "" "Die Datei scheint kein camt.053-Kontoauszug zu sein. Es werden nur XML-" "Dateien im ISO-20022-Format camt.053/camt.052 unterstützt." -#: /app/lib/Service/ImportService.php:137 +#: /app/lib/Service/ImportService.php:139 #, php-format msgid "Failed to process upload: %1$s" msgstr "Verarbeitung des Uploads %1$s fehlgeschlagen" -#: /app/lib/Service/ImportService.php:381 -#: /app/lib/Service/ImportService.php:390 +#: /app/lib/Service/ImportService.php:383 +#: /app/lib/Service/ImportService.php:392 msgid "Import file not found" msgstr "Importdatei nicht gefunden" -#: /app/lib/Service/ImportService.php:749 -#: /app/lib/Service/ImportService.php:1324 +#: /app/lib/Service/ImportService.php:751 +#: /app/lib/Service/ImportService.php:1346 msgid "Account ID is required for single-account imports" msgstr "Eine Konto-ID wird für Einzelkontenimporte benötigt" -#: /app/lib/Service/ImportService.php:834 -#: /app/lib/Service/ImportService.php:1412 +#: /app/lib/Service/ImportService.php:836 +#: /app/lib/Service/ImportService.php:1434 msgid "This row has no account, and no account was chosen for the import" msgstr "" "Diese Zeile enthält kein Konto und für den Import wurde kein Konto ausgewählt" -#: /app/lib/Service/ImportService.php:1170 +#: /app/lib/Service/ImportService.php:1172 #, php-format msgid "Destination account %1$s not found" msgstr "Zielkonto %1$s wurde nicht gefunden" -#: /app/lib/Service/ImportService.php:1269 +#: /app/lib/Service/ImportService.php:1271 #, php-format msgid "Failed to recalculate balance for account %1$s" msgstr "Der Kontostand von Konto %1$s konnte nicht neu berechnet werden" -#: /app/lib/Service/ImportService.php:1413 +#: /app/lib/Service/ImportService.php:1435 #, php-format msgid "Could not resolve account: %1$s" msgstr "Konto konnte nicht ermittelt werden: %1$s" -#: /app/lib/Service/ImportService.php:2220 +#: /app/lib/Service/ImportService.php:2262 #, php-format msgid "The %1$s format reads CSV files only" msgstr "Das Format %1$s unterstützt nur CSV-Dateien" -#: /app/lib/Service/ImportService.php:2244 +#: /app/lib/Service/ImportService.php:2286 #, php-format msgid "This file does not look like a %1$s export. Columns missing: %2$s" msgstr "Diese Datei scheint kein %1$s-Export zu sein. Fehlende Spalten: %2$s" @@ -3764,7 +3894,39 @@ msgstr "" "Konvertieren der Rate fehlgeschlagen: kein Wechselkurs für Basiswährung %1$s " "verfügbar" -#: /app/lib/Service/MigrationService.php:558 +#: /app/lib/Service/MigrationService.php:397 +msgid "" +"%n item you shared could not be matched to the restored data, so it is no " +"longer shared. Share it again in Settings if you still want to." +msgid_plural "" +"%n items you shared could not be matched to the restored data, so they are " +"no longer shared. Share them again in Settings if you still want to." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Service/MigrationService.php:404 +msgid "" +"%n bill or transfer lost its account in the restore: the account is not in " +"this backup, or not shared with you any more. Its auto-pay is off; edit it " +"to choose an account." +msgid_plural "" +"%n bills or transfers lost their account in the restore: the account is not " +"in this backup, or not shared with you any more. Their auto-pay is off; edit " +"them to choose an account." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Service/MigrationService.php:411 +msgid "" +"%n item of someone you share with used an account, category or bill that did " +"not come back in this restore, and has been unlinked from it." +msgid_plural "" +"%n items of people you share with used an account, category or bill that did " +"not come back in this restore, and have been unlinked from it." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Service/MigrationService.php:643 #, php-format msgid "" "This backup cannot be imported: %1$s is larger than %2$s MB when unpacked" @@ -3772,7 +3934,7 @@ msgstr "" "Dieses Backup kann nicht importiert werden: %1$s ist im entpackten Zustand " "größer als %2$s MB" -#: /app/lib/Service/MigrationService.php:559 +#: /app/lib/Service/MigrationService.php:644 #, php-format msgid "" "This backup cannot be imported: its files add up to more than %1$s MB when " @@ -3781,6 +3943,66 @@ msgstr "" "Dieses Backup kann nicht importiert werden: Die enthaltenen Dateien sind im " "entpackten Zustand insgesamt größer als %1$s MB" +#: /app/lib/Service/PensionRecurringService.php:235 +#, fuzzy +#| msgid "Failed to create contribution" +msgid "This scheduled contribution is paused" +msgstr "Beitrag konnte nicht erstellt werden" + +#: /app/lib/Service/PensionRecurringService.php:238 +#, fuzzy +#| msgid "" +#| "Your session has expired, so categories could not be loaded. Reload the " +#| "page to restore them." +msgid "" +"This contribution was already posted. Reload the page to see the next one." +msgstr "" +"Deine Sitzung ist abgelaufen. Daher konnten die Kategorien nicht geladen " +"werden. Lade die Seite neu, um sie wiederherzustellen." + +#: /app/lib/Service/PensionRecurringService.php:270 +#, fuzzy +#| msgid "Failed to create contribution" +msgid "This scheduled contribution has no post to undo" +msgstr "Beitrag konnte nicht erstellt werden" + +#: /app/lib/Service/PensionRecurringService.php:376 +#, php-format +msgid "" +"%1$s is a defined benefit or state pension, which takes no contributions" +msgstr "" + +#: /app/lib/Service/PensionRecurringService.php:385 +msgid "" +"Choose how often the contribution is made: weekly, every two weeks, monthly, " +"quarterly, every six months or yearly" +msgstr "" + +#: /app/lib/Service/PensionService.php:148 +msgid "" +"Delete this pension's scheduled contributions before making it a defined " +"benefit or state pension" +msgstr "" + +#: /app/lib/Service/PensionService.php:431 +#, fuzzy +#| msgid "" +#| "The account linked to this bill no longer exists. Edit the bill and " +#| "choose an account." +msgid "" +"The account for this contribution no longer exists or is no longer shared " +"with you" +msgstr "" +"Das mit dieser Rechnung verknüpfte Konto existiert nicht mehr. Bearbeite die " +"Rechnung und wähle ein Konto aus." + +#: /app/lib/Service/PensionService.php:434 +#, php-format +msgid "" +"%1$s is shared with you read-only, so pension money cannot be paid into or " +"out of it" +msgstr "" + #: /app/lib/Service/ReconciliationService.php:68 #: /app/lib/Service/ReconciliationService.php:99 #, fuzzy @@ -3803,19 +4025,59 @@ msgstr "" msgid "No reconciliation in progress for this account" msgstr "Für dieses Konto wird derzeit kein Abgleich durchgeführt" -#: /app/lib/Service/RecurringIncomeService.php:285 +#: /app/lib/Service/RecurringIncomeService.php:211 +#, fuzzy +#| msgid "No account selected for adjustment" +msgid "No account set for income" +msgstr "Kein Konto für die Korrekturbuchung ausgewählt" + +#: /app/lib/Service/RecurringIncomeService.php:258 +#, fuzzy +#| msgid "Transfer marked as paid" +msgid "This income has no payment to receive" +msgstr "Umbuchung wurde als bezahlt markiert" + +#: /app/lib/Service/RecurringIncomeService.php:305 +#, fuzzy +#| msgid "Transfer marked as paid" +msgid "This income has no recorded receipt to undo" +msgstr "Umbuchung wurde als bezahlt markiert" + +#: /app/lib/Service/RecurringIncomeService.php:410 +#, fuzzy +#| msgid "Recurring income deleted" +msgid "Recurring income cannot use a custom schedule" +msgstr "Laufende Einnahme entfernt" + +#: /app/lib/Service/RecurringIncomeService.php:413 +msgid "A one-time income needs the date it is expected" +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:426 +#, fuzzy +#| msgid "" +#| "The account linked to this bill no longer exists. Edit the bill and " +#| "choose an account." +msgid "" +"This income uses an account you can no longer change. Edit it and choose " +"another account." +msgstr "" +"Das mit dieser Rechnung verknüpfte Konto existiert nicht mehr. Bearbeite die " +"Rechnung und wähle ein Konto aus." + +#: /app/lib/Service/RecurringIncomeService.php:452 #, fuzzy #| msgid "Cannot skip a one-time bill" msgid "Cannot skip a one-time income" msgstr "Einmalige Rechnung kann nicht übersprungen werden" -#: /app/lib/Service/RecurringIncomeService.php:288 +#: /app/lib/Service/RecurringIncomeService.php:455 #, fuzzy #| msgid "Cannot skip an inactive bill" msgid "Cannot skip an inactive income" msgstr "Ruhende Rechnung kann nicht übersprungen werden" -#: /app/lib/Service/RecurringIncomeService.php:293 +#: /app/lib/Service/RecurringIncomeService.php:460 #, fuzzy #| msgid "Transfer marked as paid" msgid "This income has no expected date to skip" @@ -3844,7 +4106,7 @@ msgstr "Apr" #: /app/lib/Service/Report/MonthNames.php:25 #: /app/lib/Service/Report/MonthNames.php:46 /app/templates/index.php:3541 #: /app/templates/index.php:3654 /app/templates/index.php:6208 -#: /app/templates/index.php:6234 /app/templates/index.php:6710 +#: /app/templates/index.php:6234 /app/templates/index.php:6711 msgid "May" msgstr "Mai" @@ -3884,57 +4146,57 @@ msgid "Dec" msgstr "Dez" #: /app/lib/Service/Report/MonthNames.php:42 /app/templates/index.php:3537 -#: /app/templates/index.php:6230 /app/templates/index.php:6706 +#: /app/templates/index.php:6230 /app/templates/index.php:6707 msgid "January" msgstr "Januar" #: /app/lib/Service/Report/MonthNames.php:43 /app/templates/index.php:3538 -#: /app/templates/index.php:6231 /app/templates/index.php:6707 +#: /app/templates/index.php:6231 /app/templates/index.php:6708 msgid "February" msgstr "Februar" #: /app/lib/Service/Report/MonthNames.php:44 /app/templates/index.php:3539 -#: /app/templates/index.php:6232 /app/templates/index.php:6708 +#: /app/templates/index.php:6232 /app/templates/index.php:6709 msgid "March" msgstr "März" #: /app/lib/Service/Report/MonthNames.php:45 /app/templates/index.php:3540 -#: /app/templates/index.php:6233 /app/templates/index.php:6709 +#: /app/templates/index.php:6233 /app/templates/index.php:6710 msgid "April" msgstr "April" #: /app/lib/Service/Report/MonthNames.php:47 /app/templates/index.php:3542 -#: /app/templates/index.php:6235 /app/templates/index.php:6711 +#: /app/templates/index.php:6235 /app/templates/index.php:6712 msgid "June" msgstr "Juni" #: /app/lib/Service/Report/MonthNames.php:48 /app/templates/index.php:3543 -#: /app/templates/index.php:6236 /app/templates/index.php:6712 +#: /app/templates/index.php:6236 /app/templates/index.php:6713 msgid "July" msgstr "July" #: /app/lib/Service/Report/MonthNames.php:49 /app/templates/index.php:3544 -#: /app/templates/index.php:6237 /app/templates/index.php:6713 +#: /app/templates/index.php:6237 /app/templates/index.php:6714 msgid "August" msgstr "August" #: /app/lib/Service/Report/MonthNames.php:50 /app/templates/index.php:3545 -#: /app/templates/index.php:6238 /app/templates/index.php:6714 +#: /app/templates/index.php:6238 /app/templates/index.php:6715 msgid "September" msgstr "September" #: /app/lib/Service/Report/MonthNames.php:51 /app/templates/index.php:3546 -#: /app/templates/index.php:6239 /app/templates/index.php:6715 +#: /app/templates/index.php:6239 /app/templates/index.php:6716 msgid "October" msgstr "Oktober" #: /app/lib/Service/Report/MonthNames.php:52 /app/templates/index.php:3547 -#: /app/templates/index.php:6240 /app/templates/index.php:6716 +#: /app/templates/index.php:6240 /app/templates/index.php:6717 msgid "November" msgstr "November" #: /app/lib/Service/Report/MonthNames.php:53 /app/templates/index.php:3548 -#: /app/templates/index.php:6241 /app/templates/index.php:6717 +#: /app/templates/index.php:6241 /app/templates/index.php:6718 msgid "December" msgstr "Dezember" @@ -3994,7 +4256,7 @@ msgid "Net Income" msgstr "Nettoeinkommen" #: /app/lib/Service/Report/ReportExporter.php:209 -#: /app/src/modules/dashboard/DashboardModule.js:1709 +#: /app/src/modules/dashboard/DashboardModule.js:1830 msgid "On track" msgstr "Im Plan" @@ -4047,7 +4309,7 @@ msgstr "Gesamtausgaben" #: /app/lib/Service/Report/ReportExporter.php:241 #: /app/lib/Service/Report/ReportExporter.php:439 -#: /app/src/modules/accounts/AccountsModule.js:2707 +#: /app/src/modules/accounts/AccountsModule.js:2713 #: /app/templates/index.php:1259 /app/templates/index.php:3070 #: /app/templates/index.php:3825 /app/templates/index.php:5356 #: /app/templates/index.php:5426 @@ -4066,10 +4328,10 @@ msgstr "Zurück" #: /app/src/modules/accounts/AccountsModule.js:30 #: /app/src/modules/accounts/AccountsModule.js:510 #: /app/src/modules/accounts/AccountsModule.js:511 -#: /app/src/modules/dashboard/DashboardModule.js:2941 -#: /app/src/modules/dashboard/DashboardModule.js:3176 +#: /app/src/modules/dashboard/DashboardModule.js:3138 +#: /app/src/modules/dashboard/DashboardModule.js:3373 #: /app/src/modules/forecast/ForecastModule.js:310 -#: /app/src/modules/pensions/PensionsModule.js:606 +#: /app/src/modules/pensions/PensionsModule.js:651 #: /app/templates/index.php:1105 /app/templates/index.php:1543 #: /app/templates/index.php:1797 /app/templates/index.php:1849 #: /app/templates/index.php:3327 @@ -4122,12 +4384,12 @@ msgid "Average Monthly Net" msgstr "Durchschnittliches Monatseinkommen" #: /app/lib/Service/Report/ReportExporter.php:337 -#: /app/lib/Service/Report/ReportExporter.php:571 /app/templates/index.php:6670 +#: /app/lib/Service/Report/ReportExporter.php:571 /app/templates/index.php:6671 msgid "Source" msgstr "Bezugsquelle" #: /app/lib/Service/Report/ReportExporter.php:357 -#: /app/src/modules/categories/CategoriesModule.js:2357 +#: /app/src/modules/categories/CategoriesModule.js:2419 #: /app/templates/index.php:597 /app/templates/index.php:2034 #: /app/templates/index.php:2233 /app/templates/index.php:3195 msgid "Period" @@ -4146,18 +4408,18 @@ msgstr "Budget" #: /app/lib/Service/Report/ReportExporter.php:402 #: /app/lib/Service/Report/ReportExporter.php:641 -#: /app/src/modules/categories/CategoriesModule.js:2365 -#: /app/src/modules/dashboard/DashboardModule.js:2166 -#: /app/src/modules/projects/ProjectsModule.js:146 +#: /app/src/modules/categories/CategoriesModule.js:2427 +#: /app/src/modules/dashboard/DashboardModule.js:2329 +#: /app/src/modules/projects/ProjectsModule.js:147 #: /app/templates/index.php:2234 /app/templates/index.php:5137 msgid "Spent" msgstr "Ausgegeben" #: /app/lib/Service/Report/ReportExporter.php:403 #: /app/lib/Service/Report/ReportExporter.php:642 -#: /app/src/modules/categories/CategoriesModule.js:2368 -#: /app/src/modules/dashboard/DashboardModule.js:2167 -#: /app/src/modules/projects/ProjectsModule.js:147 +#: /app/src/modules/categories/CategoriesModule.js:2430 +#: /app/src/modules/dashboard/DashboardModule.js:2330 +#: /app/src/modules/projects/ProjectsModule.js:148 #: /app/templates/index.php:2202 /app/templates/index.php:2235 #: /app/templates/index.php:5138 msgid "Remaining" @@ -4191,13 +4453,13 @@ msgstr "Monatliche Aufschlüsselung" #: /app/lib/Service/Report/ReportExporter.php:680 #: /app/lib/Service/Report/ReportExporter.php:726 -#: /app/src/modules/reports/ReportsModule.js:1116 +#: /app/src/modules/reports/ReportsModule.js:1117 msgid "Overall" msgstr "Gesamt" #: /app/lib/Service/Report/ReportExporter.php:693 #: /app/lib/Service/Report/ReportExporter.php:739 -#: /app/src/modules/reports/ReportsModule.js:1099 +#: /app/src/modules/reports/ReportsModule.js:1100 #, fuzzy #| msgid "Net Worth" msgid "Net total" @@ -4209,6 +4471,28 @@ msgstr "Reinvermögen" msgid "Category Income & Expenses by Month" msgstr "Einnahmen & Ausgaben nach Jahr" +#: /app/lib/Service/Report/ReportExporter.php:749 +#: /app/src/config/dashboardWidgets.js:26 /app/src/main.js:1924 +#: /app/src/main.js:3663 /app/src/modules/accounts/AccountsModule.js:1870 +#: /app/src/modules/categories/CategoriesModule.js:831 +#: /app/src/modules/dashboard/DashboardModule.js:1312 +#: /app/src/modules/import/ImportModule.js:189 +#: /app/src/modules/import/ImportModule.js:2032 +#: /app/src/modules/reports/ReportsModule.js:1089 +#: /app/src/modules/rules/RulesModule.js:1006 +#: /app/src/modules/transactions/TransactionsModule.js:532 +#: /app/src/modules/transactions/TransactionsModule.js:1209 +#: /app/src/modules/transactions/TransactionsModule.js:3234 +#: /app/src/modules/transactions/TransactionsModule.js:3845 +#: /app/src/modules/transactions/TransactionsModule.js:4692 +#: /app/src/modules/transactions/transactionRow.js:122 +#: /app/src/modules/transactions/transactionRow.js:183 +#: /app/src/modules/transactions/transactionRow.js:225 +#: /app/templates/index.php:539 /app/templates/index.php:1464 +#: /app/templates/index.php:1628 /app/templates/quick-add.php:57 +msgid "Uncategorized" +msgstr "Unkategorisiert" + #: /app/lib/Service/Report/ScheduledReportService.php:76 #: /app/lib/Service/Report/ScheduledReportService.php:77 #, php-format @@ -4223,10 +4507,8 @@ msgstr "" #: /app/lib/Service/SavedReportService.php:75 #: /app/src/modules/reports/ReportsModule.js:374 -#, fuzzy -#| msgid "Please enter a date" msgid "Please enter a name for the report" -msgstr "Bitte wähle ein Datum" +msgstr "Bitte gib einen Namen für den Bericht ein" #: /app/lib/Service/SavedReportService.php:81 #, fuzzy @@ -4311,13 +4593,6 @@ msgstr "Du bist nicht der Empfänger dieser Aktie" msgid "This share is not pending" msgstr "Diese Aktie ist nicht ausstehend" -#: /app/lib/Service/ValidationService.php:74 -#: /app/lib/Service/ValidationService.php:187 -#: /app/lib/Service/ValidationService.php:206 -#, php-format -msgid "%1$s is required" -msgstr "%1$s wird benötigt" - #: /app/lib/Service/ValidationService.php:85 #, php-format msgid "%1$s must be at least %2$s characters" @@ -4524,8 +4799,8 @@ msgid "" "* PHP 8.1 or higher\n" "* PHP BCMath extension (`php-bcmath`)" msgstr "" -"**⚠️ Beta: Diese App befindet sich derzeit in der Testphase. Datenverlust " -"ist möglich. Bitte sichere deine Daten regelmäßig und melde auftretende " +"**⚠️ Beta: Diese App befindet sich derzeit in der Testphase. Datenverlust ist " +"möglich. Bitte sichere deine Daten regelmäßig und melde auftretende " "Probleme.**\n" "\n" "# Budget – Finanzverwaltung für Nextcloud\n" @@ -4609,7 +4884,7 @@ msgstr "" "* PHP-BCMath-Erweiterung (`php-bcmath`)" #: /app/src/config/dashboardWidgets.js:8 -#: /app/src/modules/dashboard/DashboardModule.js:2951 +#: /app/src/modules/dashboard/DashboardModule.js:3148 #: /app/templates/index.php:371 /app/templates/index.php:1158 msgid "Net Worth" msgstr "Reinvermögen" @@ -4627,10 +4902,10 @@ msgid "Net Savings" msgstr "Nettoersparnis" #: /app/src/config/dashboardWidgets.js:12 -#: /app/src/modules/dashboard/DashboardModule.js:2007 -#: /app/src/modules/dashboard/DashboardModule.js:2013 -#: /app/src/modules/pensions/PensionsModule.js:156 -#: /app/src/modules/pensions/PensionsModule.js:162 /app/templates/index.php:423 +#: /app/src/modules/dashboard/DashboardModule.js:2170 +#: /app/src/modules/dashboard/DashboardModule.js:2176 +#: /app/src/modules/pensions/PensionsModule.js:179 +#: /app/src/modules/pensions/PensionsModule.js:185 /app/templates/index.php:423 msgid "Pension Worth" msgstr "Rentenwert" @@ -4665,26 +4940,6 @@ msgstr "Kontoeingang" msgid "Account Expenses" msgstr "Kontoausgaben" -#: /app/src/config/dashboardWidgets.js:26 /app/src/main.js:1897 -#: /app/src/main.js:3629 /app/src/modules/accounts/AccountsModule.js:1864 -#: /app/src/modules/categories/CategoriesModule.js:823 -#: /app/src/modules/dashboard/DashboardModule.js:1253 -#: /app/src/modules/import/ImportModule.js:189 -#: /app/src/modules/import/ImportModule.js:2032 -#: /app/src/modules/rules/RulesModule.js:991 -#: /app/src/modules/transactions/TransactionsModule.js:510 -#: /app/src/modules/transactions/TransactionsModule.js:1183 -#: /app/src/modules/transactions/TransactionsModule.js:3190 -#: /app/src/modules/transactions/TransactionsModule.js:3794 -#: /app/src/modules/transactions/TransactionsModule.js:4641 -#: /app/src/modules/transactions/transactionRow.js:122 -#: /app/src/modules/transactions/transactionRow.js:183 -#: /app/src/modules/transactions/transactionRow.js:225 -#: /app/templates/index.php:539 /app/templates/index.php:1464 -#: /app/templates/index.php:1628 /app/templates/quick-add.php:57 -msgid "Uncategorized" -msgstr "Unkategorisiert" - #: /app/src/config/dashboardWidgets.js:27 /app/templates/index.php:552 msgid "Low Balance Alert" msgstr "Alarm Geringer Kontostand" @@ -4717,7 +4972,7 @@ msgstr "Letzte Buchungen" #: /app/src/config/dashboardWidgets.js:39 #: /app/src/core/KeyboardShortcuts.js:349 #: /app/src/modules/help/HelpModule.js:28 -#: /app/src/modules/sharing/SharingModule.js:267 /app/templates/index.php:53 +#: /app/src/modules/sharing/SharingModule.js:272 /app/templates/index.php:53 #: /app/templates/index.php:696 /app/templates/index.php:774 #: /app/templates/index.php:1080 /app/templates/index.php:1215 #: /app/templates/index.php:4757 @@ -4740,19 +4995,17 @@ msgstr "Budgetfortschritt" #: /app/src/config/dashboardWidgets.js:43 #: /app/src/core/KeyboardShortcuts.js:357 #: /app/src/modules/help/HelpModule.js:36 -#: /app/src/modules/sharing/SharingModule.js:271 /app/templates/index.php:133 +#: /app/src/modules/sharing/SharingModule.js:276 /app/templates/index.php:133 #: /app/templates/index.php:744 /app/templates/index.php:2932 msgid "Savings Goals" msgstr "Sparziele" #: /app/src/config/dashboardWidgets.js:44 #: /app/src/modules/help/HelpModule.js:37 -#: /app/src/modules/sharing/SharingModule.js:272 /app/templates/index.php:143 +#: /app/src/modules/sharing/SharingModule.js:277 /app/templates/index.php:143 #: /app/templates/index.php:755 /app/templates/index.php:3010 -#, fuzzy -#| msgid "Projected Value" msgid "Projects" -msgstr "Prognostizierter Wert" +msgstr "Projekte" #: /app/src/config/dashboardWidgets.js:45 #: /app/src/core/KeyboardShortcuts.js:358 @@ -4883,25 +5136,25 @@ msgid "Dashboard" msgstr "Dashboard" #: /app/src/core/KeyboardShortcuts.js:351 -#: /app/src/modules/dashboard/DashboardModule.js:5150 +#: /app/src/modules/dashboard/DashboardModule.js:5389 #: /app/src/modules/help/HelpModule.js:30 -#: /app/src/modules/sharing/SharingModule.js:268 /app/templates/index.php:73 +#: /app/src/modules/sharing/SharingModule.js:273 /app/templates/index.php:73 #: /app/templates/index.php:1871 /app/templates/index.php:4753 msgid "Categories" msgstr "Kategorien" #: /app/src/core/KeyboardShortcuts.js:352 -#: /app/src/modules/accounts/AccountsModule.js:1901 -#: /app/src/modules/bills/BillsModule.js:1699 +#: /app/src/modules/accounts/AccountsModule.js:1907 +#: /app/src/modules/bills/BillsModule.js:1609 #: /app/src/modules/help/HelpModule.js:31 #: /app/src/modules/reports/ReportsModule.js:432 -#: /app/src/modules/rules/RulesModule.js:822 -#: /app/src/modules/savings/SavingsModule.js:295 +#: /app/src/modules/rules/RulesModule.js:837 +#: /app/src/modules/savings/SavingsModule.js:297 #: /app/src/modules/tagsets/TagSetsModule.js:601 -#: /app/src/modules/transactions/TransactionsModule.js:548 -#: /app/src/modules/transactions/TransactionsModule.js:1345 -#: /app/src/modules/transactions/TransactionsModule.js:4811 -#: /app/src/modules/transfers/TransfersModule.js:1146 +#: /app/src/modules/transactions/TransactionsModule.js:570 +#: /app/src/modules/transactions/TransactionsModule.js:1371 +#: /app/src/modules/transactions/TransactionsModule.js:4862 +#: /app/src/modules/transfers/TransfersModule.js:1163 #: /app/templates/index.php:83 /app/templates/index.php:1514 #: /app/templates/index.php:1697 /app/templates/index.php:1789 #: /app/templates/index.php:1843 /app/templates/index.php:2091 @@ -4915,7 +5168,7 @@ msgid "Pensions" msgstr "Renten" #: /app/src/core/KeyboardShortcuts.js:360 -#: /app/src/modules/dashboard/DashboardModule.js:2958 +#: /app/src/modules/dashboard/DashboardModule.js:3155 #: /app/src/modules/help/HelpModule.js:40 /app/templates/index.php:173 #: /app/templates/index.php:1185 /app/templates/index.php:3921 #: /app/templates/index.php:4004 @@ -4924,7 +5177,7 @@ msgstr "Vermögenswerte" #: /app/src/core/KeyboardShortcuts.js:361 #: /app/src/modules/help/HelpModule.js:41 /app/templates/index.php:183 -#: /app/templates/index.php:4198 /app/templates/index.php:7365 +#: /app/templates/index.php:4198 /app/templates/index.php:7366 msgid "Shared Expenses" msgstr "Geteilte Ausgaben" @@ -4942,7 +5195,7 @@ msgstr "Berichte" #: /app/src/modules/help/HelpModule.js:44 #: /app/src/modules/rules/RulesModule.js:144 /app/templates/index.php:227 #: /app/templates/index.php:1442 /app/templates/index.php:1892 -#: /app/templates/index.php:2751 /app/templates/index.php:6786 +#: /app/templates/index.php:2751 /app/templates/index.php:6787 msgid "Import" msgstr "Importieren" @@ -5015,32 +5268,31 @@ msgid "Move a focused subcategory out one level" msgstr "Ausgewählte Unterkategorie um eine Ebene nach oben verschieben" #: /app/src/core/KeyboardShortcuts.js:396 -#: /app/src/core/KeyboardShortcuts.js:416 /app/src/main.js:1022 +#: /app/src/core/KeyboardShortcuts.js:416 /app/src/main.js:1025 msgid "Keyboard shortcuts" msgstr "Tastenkürzel" -#: /app/src/core/KeyboardShortcuts.js:417 /app/src/main.js:1940 -#: /app/src/main.js:1947 /app/src/main.js:1951 -#: /app/src/modules/bills/BillsModule.js:1187 -#: /app/src/modules/bills/BillsModule.js:1384 +#: /app/src/core/KeyboardShortcuts.js:417 /app/src/main.js:1967 +#: /app/src/main.js:1974 /app/src/main.js:1978 +#: /app/src/modules/bills/BillsModule.js:1210 #: /app/src/modules/import/ImportModule.js:2348 #: /app/src/modules/import/ImportModule.js:2361 #: /app/src/modules/sharing/SharingModule.js:126 -#: /app/src/modules/transactions/TransactionsModule.js:5147 -#: /app/src/modules/transfers/TransfersModule.js:165 -#: /app/src/modules/transfers/TransfersModule.js:466 -#: /app/src/utils/modals.js:81 /app/templates/index.php:2717 -#: /app/templates/index.php:2915 /app/templates/index.php:3805 -#: /app/templates/index.php:5095 /app/templates/index.php:5116 -#: /app/templates/index.php:5122 /app/templates/index.php:5146 -#: /app/templates/index.php:5282 /app/templates/index.php:5310 -#: /app/templates/index.php:5422 /app/templates/index.php:5447 -#: /app/templates/index.php:5483 /app/templates/index.php:5519 -#: /app/templates/index.php:5573 /app/templates/index.php:5663 -#: /app/templates/index.php:5772 /app/templates/index.php:6618 -#: /app/templates/index.php:7033 /app/templates/index.php:7382 -#: /app/templates/index.php:7444 /app/templates/index.php:7545 -#: /app/templates/index.php:7555 +#: /app/src/modules/transactions/TransactionsModule.js:5198 +#: /app/src/modules/transfers/TransfersModule.js:170 +#: /app/src/modules/transfers/TransfersModule.js:440 +#: /app/src/utils/matchingDialog.js:74 /app/src/utils/modals.js:81 +#: /app/templates/index.php:2717 /app/templates/index.php:2915 +#: /app/templates/index.php:3805 /app/templates/index.php:5095 +#: /app/templates/index.php:5116 /app/templates/index.php:5122 +#: /app/templates/index.php:5146 /app/templates/index.php:5282 +#: /app/templates/index.php:5310 /app/templates/index.php:5422 +#: /app/templates/index.php:5447 /app/templates/index.php:5483 +#: /app/templates/index.php:5519 /app/templates/index.php:5573 +#: /app/templates/index.php:5663 /app/templates/index.php:5772 +#: /app/templates/index.php:6619 /app/templates/index.php:7034 +#: /app/templates/index.php:7383 /app/templates/index.php:7445 +#: /app/templates/index.php:7546 /app/templates/index.php:7556 msgid "Close" msgstr "Schließen" @@ -5054,33 +5306,33 @@ msgstr "" "Deine Sitzung ist abgelaufen. Daher konnten die Kategorien nicht geladen " "werden. Lade die Seite neu, um sie wiederherzustellen." -#: /app/src/main.js:520 /app/src/modules/import/ImportModule.js:1991 +#: /app/src/main.js:523 /app/src/modules/import/ImportModule.js:1991 #: /app/src/modules/import/ImportModule.js:2031 msgid "Duplicate" msgstr "Duplikat" -#: /app/src/main.js:522 +#: /app/src/main.js:525 msgid "Share expense" msgstr "Kostenteilung" -#: /app/src/main.js:525 +#: /app/src/main.js:528 msgid "Unlink transfer" msgstr "transfer aufheben" -#: /app/src/main.js:527 +#: /app/src/main.js:530 msgid "Match transfer" msgstr "Transfer zuordnen" -#: /app/src/main.js:530 /app/src/main.js:2917 +#: /app/src/main.js:533 /app/src/main.js:2951 #: /app/src/modules/accounts/AccountsModule.js:612 -#: /app/src/modules/accounts/AccountsModule.js:1383 +#: /app/src/modules/accounts/AccountsModule.js:1386 #: /app/src/modules/assets/AssetsModule.js:169 #: /app/src/modules/import/ImportModule.js:660 -#: /app/src/modules/pensions/PensionsModule.js:123 -#: /app/src/modules/pensions/PensionsModule.js:797 -#: /app/src/modules/pensions/PensionsModule.js:798 -#: /app/src/modules/pensions/PensionsModule.js:1043 -#: /app/src/modules/savings/SavingsModule.js:141 +#: /app/src/modules/pensions/PensionsModule.js:146 +#: /app/src/modules/pensions/PensionsModule.js:843 +#: /app/src/modules/pensions/PensionsModule.js:844 +#: /app/src/modules/pensions/PensionsModule.js:1127 +#: /app/src/modules/savings/SavingsModule.js:143 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:192 #: /app/src/modules/tagsets/TagSetsModule.js:84 /app/templates/index.php:1177 #: /app/templates/index.php:1720 /app/templates/index.php:1971 @@ -5088,11 +5340,11 @@ msgstr "Transfer zuordnen" msgid "Delete" msgstr "Löschen" -#: /app/src/main.js:925 +#: /app/src/main.js:928 msgid "Failed to load data" msgstr "Daten laden fehlgeschlagen" -#: /app/src/main.js:943 +#: /app/src/main.js:946 msgid "" "Your session has expired, so account names could not be loaded. Reload the " "page to restore them." @@ -5100,7 +5352,7 @@ msgstr "" "Deine Sitzung ist abgelaufen. Daher konnten die Kontonamen nicht geladen " "werden. Lade die Seite neu, um sie wiederherzustellen." -#: /app/src/main.js:944 +#: /app/src/main.js:947 msgid "" "Your session has expired, so categories could not be loaded. Reload the page " "to restore them." @@ -5108,7 +5360,7 @@ msgstr "" "Deine Sitzung ist abgelaufen. Daher konnten die Kategorien nicht geladen " "werden. Lade die Seite neu, um sie wiederherzustellen." -#: /app/src/main.js:949 +#: /app/src/main.js:952 msgid "" "Accounts could not be loaded (error {status}). Transactions will show as " "\"Unknown Account\" until this is resolved." @@ -5116,7 +5368,7 @@ msgstr "" "Konten konnten nicht geladen werden (Fehler {status}). Bis das Problem " "behoben ist, wird bei Transaktionen „Unbekanntes Konto“ angezeigt." -#: /app/src/main.js:950 +#: /app/src/main.js:953 msgid "" "Categories could not be loaded (error {status}). Transactions will show as " "\"Uncategorized\" until this is resolved." @@ -5124,186 +5376,224 @@ msgstr "" "Kategorien konnten nicht geladen werden (Fehler {status}). Bis das Problem " "behoben ist, wird bei Transaktionen „Nicht kategorisiert“ angezeigt." -#: /app/src/main.js:1018 +#: /app/src/main.js:1021 msgid "Read full guide" msgstr "Vollständige Anleitung lesen" -#: /app/src/main.js:1023 +#: /app/src/main.js:1026 msgid "Budget can be driven from the keyboard — press" msgstr "Budget kann über die Tastatur bedient werden – drücke" -#: /app/src/main.js:1023 +#: /app/src/main.js:1026 msgid "anytime to see the full list." msgstr "jederzeit, um die vollständige Liste anzuzeigen." -#: /app/src/main.js:1024 +#: /app/src/main.js:1027 msgid "Show keyboard shortcuts" msgstr "Tastenkürzel anzeigen" -#: /app/src/main.js:1028 +#: /app/src/main.js:1031 msgid "Quick Links" msgstr "Schnellzugriffe" -#: /app/src/main.js:1030 +#: /app/src/main.js:1033 msgid "Getting Started Guide" msgstr "Einstiegshilfe" -#: /app/src/main.js:1031 +#: /app/src/main.js:1034 msgid "Importing Bank Statements" msgstr "Bankauszüge importieren" -#: /app/src/main.js:1032 +#: /app/src/main.js:1035 msgid "Budget Tracking" msgstr "Budgetverfolgung" -#: /app/src/main.js:1033 +#: /app/src/main.js:1036 msgid "Auto-Categorisation Rules" msgstr "Automatische Kategorisierungsregeln" -#: /app/src/main.js:1038 /app/templates/index.php:4989 +#: /app/src/main.js:1041 /app/templates/index.php:4989 msgid "Support Budget" msgstr "Budget unterstützen" -#: /app/src/main.js:1039 +#: /app/src/main.js:1042 msgid "Free and open source. If Budget helps you, a donation keeps it going." msgstr "" "Kostenlos und Open Source. Wenn dir Budget hilft, unterstützt du mit einer " "Spende die Weiterentwicklung." -#: /app/src/main.js:1041 /app/templates/index.php:4999 +#: /app/src/main.js:1044 /app/templates/index.php:4999 msgid "Sponsor on GitHub" msgstr "Über GitHub unterstützen" -#: /app/src/main.js:1042 /app/templates/index.php:5002 +#: /app/src/main.js:1045 /app/templates/index.php:5002 msgid "Donate via PayPal" msgstr "Über PayPal spenden" -#: /app/src/main.js:1502 /app/src/modules/accounts/AccountsModule.js:1562 +#: /app/src/main.js:1505 /app/src/modules/accounts/AccountsModule.js:1565 msgid "Failed to load transactions" msgstr "Buchungen laden fehlgeschlagen" -#: /app/src/main.js:1548 +#: /app/src/main.js:1551 msgid "{displayed} of {total} transactions" msgstr "{displayed} von {total} Buchungen" -#: /app/src/main.js:1549 /app/src/modules/dashboard/DashboardModule.js:2586 +#: /app/src/main.js:1552 /app/src/modules/dashboard/DashboardModule.js:2770 #: /app/src/modules/import/ImportModule.js:2148 msgid "%n transaction" msgid_plural "%n transactions" msgstr[0] "%n Buchung" msgstr[1] "%n Buchungen" -#: /app/src/main.js:1574 +#: /app/src/main.js:1577 msgid "Total: {amount}" msgstr "Summe: {amount}" -#: /app/src/main.js:1593 /app/src/modules/accounts/AccountsModule.js:1712 +#: /app/src/main.js:1596 /app/src/modules/accounts/AccountsModule.js:1715 msgid "Page {current} of {total}" msgstr "Seite {current} von {total}" -#: /app/src/main.js:1704 +#: /app/src/main.js:1707 msgid "Recalculating..." msgstr "Wird neu berechnet..." -#: /app/src/main.js:1709 +#: /app/src/main.js:1712 msgid "Recalculation failed" msgstr "Neuberechnung fehlgeschlagen" -#: /app/src/main.js:1713 +#: /app/src/main.js:1716 msgid "Recalculated {updated} of {total} account balances" msgstr "Neuberechnung {updated} von {total} Kontoständen durchgeführt" -#: /app/src/main.js:1716 +#: /app/src/main.js:1719 msgid "All account balances are correct" msgstr "Alle Kontostände sind korrekt" -#: /app/src/main.js:1720 +#: /app/src/main.js:1723 msgid "Failed to recalculate balances: {error}" msgstr "Neuberechnung Kontostände fehlgeschlagen: {error}" -#: /app/src/main.js:1735 +#: /app/src/main.js:1738 #, fuzzy #| msgid "Saving..." msgid "Scanning..." msgstr "Speichern..." -#: /app/src/main.js:1745 +#: /app/src/main.js:1748 #, fuzzy #| msgid "Failed to save rule: {error}" msgid "Failed to scan for issues: {error}" msgstr "Fehler beim Speichern der Regel: {error}" -#: /app/src/main.js:1776 +#: /app/src/main.js:1779 msgid "No data integrity issues found. Everything looks good!" msgstr "" "Es wurden keine Probleme mit der Datenintegrität gefunden. Alles ist in " "Ordnung!" -#: /app/src/main.js:1778 +#: /app/src/main.js:1781 msgid "Found {count} issue(s) across {categories} categories." msgstr "{count} Problem(e) in {categories} Kategorien gefunden." -#: /app/src/main.js:1784 /app/src/main.js:1845 +#: /app/src/main.js:1789 +msgid "Looks like a second payment for {occurrence} (other payment on {date})" +msgstr "" + +#: /app/src/main.js:1790 /app/src/main.js:1797 /app/src/main.js:1867 msgid "(unnamed)" msgstr "(Unbenannt)" -#: /app/src/main.js:1787 +#: /app/src/main.js:1790 +msgid "Also recorded as {description} on {date}" +msgstr "" + +#: /app/src/main.js:1792 #, fuzzy -#| msgid "Duplicate" -msgid "duplicate of" -msgstr "Duplikat" +#| msgid "Unreconciled" +msgid "reconciled" +msgstr "Nicht abgeglichen" -#: /app/src/main.js:1794 +#: /app/src/main.js:1808 #, fuzzy #| msgid "Duplicate transaction" msgid "Duplicate Auto-Generated Transactions" msgstr "Doppelte Buchung" -#: /app/src/main.js:1797 /app/src/main.js:1858 /app/src/main.js:1909 -msgid "and {more} more" -msgstr "und {more} weitere" +#: /app/src/main.js:1812 +msgid "" +"Only ticked rows are deleted. Rows that come ticked are bill payments the " +"app recorded that an imported bank transaction records as well. The others " +"only look like duplicates and may be real payments: check them in the " +"account first, and tick only the ones you are sure about." +msgstr "" -#: /app/src/main.js:1806 +#: /app/src/main.js:1824 #, fuzzy #| msgid "Due {date}" msgid "Due: {date}" msgstr "Fällig am {date}" -#: /app/src/main.js:1807 /app/src/main.js:1827 +#: /app/src/main.js:1825 /app/src/main.js:1849 #, fuzzy #| msgid "Ends {date}" msgid "Paid: {date}" msgstr "Endet am {date}" -#: /app/src/main.js:1814 +#: /app/src/main.js:1826 /app/src/main.js:1870 +#, fuzzy +#| msgid "Don't change" +msgid "Check: not changed" +msgstr "Nicht ändern" + +#: /app/src/main.js:1830 +msgid "" +"Repairing moves these bills on to their next due date, with their pending " +"transaction. Bills marked Check are left as they are: their due date is " +"before the last payment, which is also how an overdue bill with another " +"payment still owed looks. If that payment was made, use Skip on the Bills " +"page." +msgstr "" + +#: /app/src/main.js:1836 msgid "Bills with Stuck Due Dates" msgstr "Rechnungen mit nicht aktualisierten Fälligkeitsdaten" -#: /app/src/main.js:1834 +#: /app/src/main.js:1856 msgid "Paid One-Time Bills Still Active" msgstr "Bezahlte einmalige Rechnungen sind noch aktiv" -#: /app/src/main.js:1855 +#: /app/src/main.js:1876 +msgid "" +"Repairing marks these as scheduled, so they count in the balance from their " +"date. Bill payments and reconciled transactions marked Check are left as " +"they are: check their dates on the Transactions page." +msgstr "" + +#: /app/src/main.js:1882 msgid "Future Transactions Not Marked as Scheduled" msgstr "Zukünftige Transaktionen sind nicht als geplant markiert" -#: /app/src/main.js:1872 +#: /app/src/main.js:1885 /app/src/main.js:1936 +msgid "and {more} more" +msgstr "und {more} weitere" + +#: /app/src/main.js:1899 #, fuzzy #| msgid "{amount}/yr income" msgid "Now: {amount} in credit" msgstr "Einkommen: {amount} pro Jahr" -#: /app/src/main.js:1873 +#: /app/src/main.js:1900 #, fuzzy #| msgid "Target: {amount}" msgid "After repair: {amount} owed" msgstr "Ziel: {amount}" -#: /app/src/main.js:1880 +#: /app/src/main.js:1907 msgid "Debts Recorded as Being in Credit" msgstr "Schuldenkonten mit positivem Saldo" -#: /app/src/main.js:1884 +#: /app/src/main.js:1911 msgid "" "These debts hold a positive balance, so the app is counting them as money " "you have rather than money you owe. Untick any you really have overpaid — " @@ -5315,15 +5605,15 @@ msgstr "" "echte Guthaben erfasst und bei zukünftigen Prüfungen nicht mehr " "berücksichtigt." -#: /app/src/main.js:1897 +#: /app/src/main.js:1924 msgid "Listed under {category}" msgstr "Aufgeführt unter {category}" -#: /app/src/main.js:1904 +#: /app/src/main.js:1931 msgid "Split Transactions Carrying a Category" msgstr "Aufgeteilte Transaktionen mit einer Kategorie" -#: /app/src/main.js:1908 +#: /app/src/main.js:1935 msgid "" "A split transaction keeps its categories on its individual parts, so it " "should not carry one of its own. These picked one up from an older version " @@ -5339,149 +5629,149 @@ msgstr "" "überflüssige Kategorie entfernt. Die Aufteilung selbst und alle ihre " "Teilbeträge bleiben unverändert." -#: /app/src/main.js:1919 +#: /app/src/main.js:1946 #, fuzzy #| msgid "Target: {amount}" msgid "Stored: {amount}" msgstr "Ziel: {amount}" -#: /app/src/main.js:1920 +#: /app/src/main.js:1947 msgid "Expected: {amount}" msgstr "Erwarteter Betrag: {amount}" -#: /app/src/main.js:1921 +#: /app/src/main.js:1948 #, fuzzy #| msgid "of {amount}" msgid "Diff: {amount}" msgstr "von {amount}" -#: /app/src/main.js:1928 +#: /app/src/main.js:1955 #, fuzzy #| msgid "All account balances are correct" msgid "Account Balance Inconsistencies" msgstr "Alle Kontostände sind korrekt" -#: /app/src/main.js:1939 +#: /app/src/main.js:1966 #, fuzzy #| msgid "Generate Report" msgid "Data Integrity Report" msgstr "Bericht erstellen" -#: /app/src/main.js:1948 /app/src/main.js:2045 +#: /app/src/main.js:1975 /app/src/main.js:2078 #, fuzzy #| msgid "Add Selected Income" msgid "Fix Selected Issues" msgstr "Ausgewählte Einnahme hinzufügen" -#: /app/src/main.js:1985 +#: /app/src/main.js:2012 #, fuzzy #| msgid "No categories yet" msgid "No categories selected" msgstr "Noch keine Kategorien" -#: /app/src/main.js:1998 +#: /app/src/main.js:2031 #, fuzzy #| msgid "Exporting..." msgid "Repairing..." msgstr "Wird exportiert..." -#: /app/src/main.js:2012 +#: /app/src/main.js:2045 msgid "{count} duplicate transactions removed" msgstr "{count} doppelte Transaktionen entfernt" -#: /app/src/main.js:2015 +#: /app/src/main.js:2048 #, fuzzy #| msgid "{count} updated" msgid "{count} bill due dates fixed" msgstr "{count} aktualisiert" -#: /app/src/main.js:2018 +#: /app/src/main.js:2051 msgid "{count} one-time bills deactivated" msgstr "{count} einmalige Rechnungen deaktiviert" -#: /app/src/main.js:2021 +#: /app/src/main.js:2054 msgid "{count} future transactions set to scheduled" msgstr "{count} zukünftige Transaktionen als geplant markiert" -#: /app/src/main.js:2024 +#: /app/src/main.js:2057 #, fuzzy #| msgid "{count} duplicate transactions removed" msgid "{count} split transactions had a stray category removed" msgstr "{count} doppelte Transaktionen entfernt" -#: /app/src/main.js:2027 +#: /app/src/main.js:2060 msgid "{count} debts re-recorded as owed" msgstr "{count} Schulden wieder als Verbindlichkeiten erfasst" -#: /app/src/main.js:2029 +#: /app/src/main.js:2062 msgid "{count} confirmed as genuine credits" msgstr "{count} als tatsächliche Guthaben bestätigt" -#: /app/src/main.js:2033 +#: /app/src/main.js:2066 msgid "{count} account balances corrected" msgstr "{count} Kontostände korrigiert" -#: /app/src/main.js:2036 +#: /app/src/main.js:2069 msgid "Repair complete: {details}" msgstr "Reparatur abgeschlossen: {details}" -#: /app/src/main.js:2043 +#: /app/src/main.js:2076 #, fuzzy #| msgid "Failed to preview file: {error}" msgid "Repair failed: {error}" msgstr "Vorschau der Datei fehlgeschlagen: {error}" -#: /app/src/main.js:2129 /app/src/modules/settings/SettingsModule.js:592 -#: /app/src/modules/transactions/TransactionsModule.js:5310 +#: /app/src/main.js:2162 /app/src/modules/settings/SettingsModule.js:592 +#: /app/src/modules/transactions/TransactionsModule.js:5361 msgid "Deleting..." msgstr "Wird gelöscht..." -#: /app/src/main.js:2158 /app/src/modules/settings/SettingsModule.js:619 -#: /app/templates/index.php:7428 +#: /app/src/main.js:2191 /app/src/modules/settings/SettingsModule.js:619 +#: /app/templates/index.php:7429 msgid "Delete Everything" msgstr "Alles löschen" -#: /app/src/main.js:2161 /app/src/modules/settings/SettingsModule.js:622 +#: /app/src/main.js:2194 /app/src/modules/settings/SettingsModule.js:622 msgid "Failed to perform factory reset" msgstr "Rücksetzung auf Werkseinstellungen konnte nicht durchgeführt werden" -#: /app/src/main.js:2234 +#: /app/src/main.js:2267 msgid "Exporting..." msgstr "Wird exportiert..." -#: /app/src/main.js:2238 +#: /app/src/main.js:2271 msgid "Export failed" msgstr "Export fehlgeschlagen" -#: /app/src/main.js:2262 +#: /app/src/main.js:2295 msgid "Export completed successfully" msgstr "Export erfolgreich durchgeführt" -#: /app/src/main.js:2265 +#: /app/src/main.js:2298 msgid "Failed to export data: {error}" msgstr "Export der Daten fehlgeschlagen: {error}{error}" -#: /app/src/main.js:2274 +#: /app/src/main.js:2307 msgid "Please select a ZIP file" msgstr "Bitte wähle eine ZIP-Datei aus" -#: /app/src/main.js:2287 +#: /app/src/main.js:2320 msgid "Validating file..." msgstr "Datei wird validiert..." -#: /app/src/main.js:2296 /app/src/main.js:2300 +#: /app/src/main.js:2329 /app/src/main.js:2333 msgid "Invalid export file" msgstr "Ungültige Exportdatei" -#: /app/src/main.js:2331 +#: /app/src/main.js:2364 msgid "Failed to preview file: {error}" msgstr "Vorschau der Datei fehlgeschlagen: {error}" -#: /app/src/main.js:2343 +#: /app/src/main.js:2376 msgid "No file selected" msgstr "Keine Datei ausgewählt" -#: /app/src/main.js:2348 +#: /app/src/main.js:2381 msgid "" "This will PERMANENTLY DELETE all your existing data and replace it with the " "imported data." @@ -5489,116 +5779,116 @@ msgstr "" "Dies wird alle Deine existierenden Daten DAUERHAFT LÖSCHEN und mit den " "importierten Daten ersetzen." -#: /app/src/main.js:2348 +#: /app/src/main.js:2381 msgid "Are you absolutely sure you want to continue?" msgstr "Bist Du Dir absolut sicher, dass Du fortfahren möchtest?" -#: /app/src/main.js:2358 +#: /app/src/main.js:2391 msgid "Importing data... This may take a moment." msgstr "Daten werden importiert... Das kann einen Moment dauern." -#: /app/src/main.js:2368 /app/src/main.js:2374 +#: /app/src/main.js:2401 /app/src/main.js:2407 #: /app/src/modules/import/ImportModule.js:2449 msgid "Import failed" msgstr "Import fehlgeschlagen" -#: /app/src/main.js:2382 +#: /app/src/main.js:2415 msgid "Import Successful!" msgstr "Import erfolgreich!" -#: /app/src/main.js:2383 +#: /app/src/main.js:2416 msgid "Your data has been imported successfully." msgstr "Deine Daten wurden erfolgreich importiert." -#: /app/src/main.js:2385 +#: /app/src/main.js:2418 msgid "categories" msgstr "categorien" -#: /app/src/main.js:2386 +#: /app/src/main.js:2419 msgid "accounts" msgstr "konten" -#: /app/src/main.js:2387 +#: /app/src/main.js:2420 msgid "transactions" msgstr "buchungen" -#: /app/src/main.js:2388 +#: /app/src/main.js:2421 msgid "bills" msgstr "rechnungen" -#: /app/src/main.js:2389 +#: /app/src/main.js:2422 msgid "import rules" msgstr "Importregeln" -#: /app/src/main.js:2390 +#: /app/src/main.js:2423 msgid "settings" msgstr "einstellungen" -#: /app/src/main.js:2401 +#: /app/src/main.js:2435 msgid "Import completed successfully" msgstr "Import erfolgreich durchgeführt" -#: /app/src/main.js:2409 +#: /app/src/main.js:2443 msgid "Import Failed" msgstr "Import Fehlgeschlagen" -#: /app/src/main.js:2411 +#: /app/src/main.js:2445 msgid "Your existing data has not been modified." msgstr "Deine existierenden Daten wurden nicht verändert." -#: /app/src/main.js:2654 +#: /app/src/main.js:2688 #, fuzzy #| msgid "Failed to calculate net worth" msgid "Failed to calculate scenario" msgstr "Fehler bei der Berechnung des Nettovermögens" -#: /app/src/main.js:2699 /app/src/modules/dashboard/DashboardModule.js:950 -#: /app/src/modules/reports/ReportsModule.js:1570 +#: /app/src/main.js:2733 /app/src/modules/dashboard/DashboardModule.js:1009 +#: /app/src/modules/reports/ReportsModule.js:1571 msgid "N/A" msgstr "Nicht verfügbar" -#: /app/src/main.js:2874 /app/src/main.js:2972 +#: /app/src/main.js:2908 /app/src/main.js:3006 msgid "Interest Rate" msgstr "Zinssatz" -#: /app/src/main.js:2875 /app/templates/index.php:1276 +#: /app/src/main.js:2909 /app/templates/index.php:1276 msgid "Min Payment" msgstr "Mindestzahlung" -#: /app/src/main.js:2876 +#: /app/src/main.js:2910 msgid "Payoff" msgstr "Tilgung" -#: /app/src/main.js:2876 +#: /app/src/main.js:2910 #, fuzzy #| msgid "Paid off month {month}" msgid "month {month}" msgstr "Tilgungsmonat {month}" -#: /app/src/main.js:2877 /app/templates/index.php:4141 +#: /app/src/main.js:2911 /app/templates/index.php:4141 msgid "Total Interest" msgstr "Gesamtzinsen" -#: /app/src/main.js:2900 +#: /app/src/main.js:2934 msgid "No scenarios yet. Create one to compare strategies." msgstr "" "Noch keine Szenarien vorhanden. Erstelle ein Szenario, um verschiedene " "Strategien zu vergleichen." -#: /app/src/main.js:2905 /app/src/main.js:3136 +#: /app/src/main.js:2939 /app/src/main.js:3170 msgid "Snowball" msgstr "Snowball" -#: /app/src/main.js:2905 /app/src/main.js:3125 +#: /app/src/main.js:2939 /app/src/main.js:3159 #, fuzzy #| msgid "Balance" msgid "Avalanche" msgstr "Saldo" -#: /app/src/main.js:2916 /app/src/modules/accounts/AccountsModule.js:609 +#: /app/src/main.js:2950 /app/src/modules/accounts/AccountsModule.js:609 #: /app/src/modules/assets/AssetsModule.js:166 -#: /app/src/modules/pensions/PensionsModule.js:120 -#: /app/src/modules/savings/SavingsModule.js:138 +#: /app/src/modules/pensions/PensionsModule.js:143 +#: /app/src/modules/savings/SavingsModule.js:140 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:189 #: /app/src/modules/tagsets/TagSetsModule.js:83 /app/templates/index.php:1223 #: /app/templates/index.php:1967 /app/templates/index.php:4016 @@ -5606,240 +5896,232 @@ msgstr "Saldo" msgid "Edit" msgstr "Bearbeiten" -#: /app/src/main.js:2918 +#: /app/src/main.js:2952 #, fuzzy #| msgid "Set Transaction Type" msgid "Set as active" msgstr "Buchungstyp festlegen" -#: /app/src/main.js:2932 +#: /app/src/main.js:2966 #, fuzzy #| msgid "Edit Pension" msgid "Edit Scenario" msgstr "Rente bearbeiten" -#: /app/src/main.js:2932 /app/templates/index.php:4120 +#: /app/src/main.js:2966 /app/templates/index.php:4120 #: /app/templates/index.php:4122 /app/templates/index.php:5689 msgid "New Scenario" msgstr "Neues Szenario" -#: /app/src/main.js:2986 +#: /app/src/main.js:3020 #, fuzzy #| msgid "Please enter a username" msgid "Please enter a scenario name" msgstr "Bitte gib einen Nutzernamen ein" -#: /app/src/main.js:3040 +#: /app/src/main.js:3074 #, fuzzy #| msgid "Failed to save pension" msgid "Failed to save scenario" msgstr "Fehler beim Speichern der Rente" -#: /app/src/main.js:3045 +#: /app/src/main.js:3079 #, fuzzy #| msgid "Are you sure you want to delete this transfer?" msgid "Are you sure you want to delete this scenario?" msgstr "Möchtest du diese Umbuchung wirklich löschen?" -#: /app/src/main.js:3064 +#: /app/src/main.js:3098 #, fuzzy #| msgid "Failed to delete pension" msgid "Failed to delete scenario" msgstr "Rente konnte nicht gelöscht werden" -#: /app/src/main.js:3080 +#: /app/src/main.js:3114 #, fuzzy #| msgid "Failed to run forecast scenarios" msgid "Failed to activate scenario" msgstr "Prognoseszenarien konnten nicht ausgeführt werden" -#: /app/src/main.js:3127 /app/src/main.js:3138 +#: /app/src/main.js:3161 /app/src/main.js:3172 msgid "Months to payoff" msgstr "Monate bis zur Tilgung" -#: /app/src/main.js:3131 /app/src/main.js:3142 +#: /app/src/main.js:3165 /app/src/main.js:3176 #, fuzzy #| msgid "Total Interest" msgid "Total interest" msgstr "Gesamtzinsen" -#: /app/src/main.js:3160 +#: /app/src/main.js:3194 msgid "Avalanche Recommended" msgstr "Empfohlen nach der Avalanche-Methode" -#: /app/src/main.js:3161 +#: /app/src/main.js:3195 msgid "Snowball Recommended" msgstr "Schneeballmethode empfohlen" -#: /app/src/main.js:3161 +#: /app/src/main.js:3195 msgid "Either Works" msgstr "Beides funktioniert" -#: /app/src/main.js:3164 +#: /app/src/main.js:3198 msgid "Avalanche saves {amount} in interest" msgstr "Das Lawinenmodell spart {amount} an Zinsen" -#: /app/src/main.js:3165 +#: /app/src/main.js:3199 msgid "Snowball saves {amount} in interest" msgstr "Das Schneeballmodell spart {amount} an Zinsen" -#: /app/src/main.js:3201 +#: /app/src/main.js:3235 msgid "Hide" msgstr "Ausblenden" -#: /app/src/main.js:3201 +#: /app/src/main.js:3235 msgid "Show" msgstr "Anzeigen" -#: /app/src/main.js:3311 -#: /app/src/modules/transactions/TransactionsModule.js:3610 +#: /app/src/main.js:3345 +#: /app/src/modules/transactions/TransactionsModule.js:3661 #: /app/src/modules/transactions/transactionRow.js:287 msgid "Unknown Account" msgstr "Unbekanntes Konto" -#: /app/src/main.js:3355 -#: /app/src/modules/transactions/TransactionsModule.js:3654 +#: /app/src/main.js:3389 +#: /app/src/modules/transactions/TransactionsModule.js:3705 msgid "Link as Transfer" msgstr "Als Transfer verknüpfen" -#: /app/src/main.js:3364 -#: /app/src/modules/transactions/TransactionsModule.js:3663 +#: /app/src/main.js:3398 +#: /app/src/modules/transactions/TransactionsModule.js:3714 msgid "Failed to search for matches. Please try again." msgstr "Keine Treffer gefunden. Bitte erneut versuchen." -#: /app/src/main.js:3374 -#: /app/src/modules/transactions/TransactionsModule.js:3670 +#: /app/src/main.js:3408 +#: /app/src/modules/transactions/TransactionsModule.js:3721 msgid "Transactions linked as transfer" msgstr "Buchung als Transfer verknüpft" -#: /app/src/main.js:3380 -#: /app/src/modules/transactions/TransactionsModule.js:3676 -#: /app/src/modules/transactions/TransactionsModule.js:4348 -#: /app/src/modules/transactions/TransactionsModule.js:4420 +#: /app/src/main.js:3414 +#: /app/src/modules/transactions/TransactionsModule.js:3727 +#: /app/src/modules/transactions/TransactionsModule.js:4399 +#: /app/src/modules/transactions/TransactionsModule.js:4471 msgid "Failed to link transactions" msgstr "Buchungen verknüpfen fehlgeschlagen" -#: /app/src/main.js:3404 +#: /app/src/main.js:3438 #, fuzzy #| msgid "Please select a destination account" msgid "Select an account for the other side of the transfer" msgstr "Bitte wähle ein Zielkonto" -#: /app/src/main.js:3409 +#: /app/src/main.js:3443 #, fuzzy #| msgid "Transfer added" msgid "Transfer created and linked" msgstr "Umbuchung hinzugefügt" -#: /app/src/main.js:3415 -#: /app/src/modules/transactions/TransactionsModule.js:2933 +#: /app/src/main.js:3449 +#: /app/src/modules/transactions/TransactionsModule.js:2977 msgid "Failed to create transfer" msgstr "Fehler beim Erstellen der Umbuchung" -#: /app/src/main.js:3434 +#: /app/src/main.js:3468 msgid "Could not navigate to linked transaction" msgstr "Verknüpfte Buchung konnte nicht geöffnet werden" -#: /app/src/main.js:3509 -#: /app/src/modules/transactions/TransactionsModule.js:3681 +#: /app/src/main.js:3543 +#: /app/src/modules/transactions/TransactionsModule.js:3732 msgid "" "Are you sure you want to unlink this transaction from its transfer pair?" msgstr "" "Bist Du sicher, dass Du diese Buchung von seinem Transferpaar ablösen willst?" -#: /app/src/main.js:3515 -#: /app/src/modules/transactions/TransactionsModule.js:3687 +#: /app/src/main.js:3549 +#: /app/src/modules/transactions/TransactionsModule.js:3738 msgid "Transaction unlinked" msgstr "Buchung abgelöst" -#: /app/src/main.js:3546 -#: /app/src/modules/transactions/TransactionsModule.js:3714 +#: /app/src/main.js:3580 +#: /app/src/modules/transactions/TransactionsModule.js:3765 msgid "Edit Transaction Splits" msgstr "Buchungsteilungen editieren" -#: /app/src/main.js:3546 -#: /app/src/modules/transactions/TransactionsModule.js:3714 -#: /app/templates/index.php:7098 +#: /app/src/main.js:3580 +#: /app/src/modules/transactions/TransactionsModule.js:3765 +#: /app/templates/index.php:7099 msgid "Split Transaction" msgstr "Buchung teilen" -#: /app/src/main.js:3562 +#: /app/src/main.js:3596 msgid "Total Amount" msgstr "Gesamtbetrag" -#: /app/src/main.js:3636 -#: /app/src/modules/transactions/TransactionsModule.js:3196 -#: /app/src/modules/transactions/TransactionsModule.js:3801 +#: /app/src/main.js:3670 +#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3852 #: /app/templates/index.php:5550 msgid "Optional note" msgstr "optionaler Kommentar" -#: /app/src/main.js:3640 /app/src/modules/bills/BillsModule.js:992 -#: /app/src/modules/transactions/TransactionsModule.js:3805 +#: /app/src/main.js:3674 /app/src/modules/bills/BillsModule.js:998 +#: /app/src/modules/transactions/TransactionsModule.js:3856 msgid "Remove split" msgstr "Teilung entfernen" -#: /app/src/main.js:3760 -#: /app/src/modules/transactions/TransactionsModule.js:3873 +#: /app/src/main.js:3794 +#: /app/src/modules/transactions/TransactionsModule.js:3924 msgid "A split transaction must have at least 2 parts" msgstr "Eine geteilte Buchung muss mindestens 2 Teile haben" -#: /app/src/main.js:3766 -#: /app/src/modules/transactions/TransactionsModule.js:3879 +#: /app/src/main.js:3800 +#: /app/src/modules/transactions/TransactionsModule.js:3930 msgid "" "Split amounts ({splitTotal}) must equal transaction amount ({totalAmount})" msgstr "" "Die geteilten Beträge {splitTotal} müssen dem Buchungsbetrag {totalAmount} " "entsprechen" -#: /app/src/main.js:3777 -#: /app/src/modules/transactions/TransactionsModule.js:3890 +#: /app/src/main.js:3811 +#: /app/src/modules/transactions/TransactionsModule.js:3941 msgid "Transaction split successfully" msgstr "Buchung teilen erfolgreich" -#: /app/src/main.js:3781 -#: /app/src/modules/transactions/TransactionsModule.js:3894 +#: /app/src/main.js:3815 +#: /app/src/modules/transactions/TransactionsModule.js:3945 msgid "Failed to save splits" msgstr "Fehler beim Speichern der Aufteilungen" -#: /app/src/main.js:3792 -#: /app/src/modules/transactions/TransactionsModule.js:3902 +#: /app/src/main.js:3826 +#: /app/src/modules/transactions/TransactionsModule.js:3953 msgid "" "Are you sure you want to remove the split and revert to a single transaction?" msgstr "" "Möchtest du die Aufteilung wirklich entfernen und zur Einzeltransaktion " "zurückkehren?" -#: /app/src/main.js:3800 -#: /app/src/modules/transactions/TransactionsModule.js:3910 +#: /app/src/main.js:3834 +#: /app/src/modules/transactions/TransactionsModule.js:3961 msgid "Transaction unsplit successfully" msgstr "Aufteilung der Buchung erfolgreich entfernt" -#: /app/src/main.js:3804 -#: /app/src/modules/transactions/TransactionsModule.js:3914 +#: /app/src/main.js:3838 +#: /app/src/modules/transactions/TransactionsModule.js:3965 msgid "Failed to unsplit transaction" msgstr "Aufhebung der Buchungsaufteilung fehlgeschlagen" -#: /app/src/main.js:3943 +#: /app/src/main.js:3977 msgid "At least one column must remain visible" msgstr "Mindestens eine Spalte muss sichtbar bleiben" -#: /app/src/main.js:3963 +#: /app/src/main.js:3997 msgid "Failed to save column visibility" msgstr "Spaltensichtbarkeit konnte nicht gespeichert werden" -#: /app/src/main.js:3970 +#: /app/src/main.js:4004 msgid "Failed to save column preferences" msgstr "Spalteneinstellungen konnten nicht gespeichert werden" -#: /app/src/modules/accounts/AccountsModule.js:25 -#: /app/src/modules/transfers/TransfersModule.js:475 -#: /app/templates/index.php:1104 /app/templates/index.php:2802 -#: /app/templates/index.php:5157 /app/templates/index.php:5583 -#: /app/templates/index.php:7236 -msgid "Name" -msgstr "Name" - #: /app/src/modules/accounts/AccountsModule.js:26 /app/templates/index.php:1106 #, fuzzy #| msgid "Account Type" @@ -5933,7 +6215,7 @@ msgid "Excluded" msgstr "Ausgeschlossen" #: /app/src/modules/accounts/AccountsModule.js:561 -#: /app/src/modules/accounts/AccountsModule.js:2662 +#: /app/src/modules/accounts/AccountsModule.js:2668 msgid "Edit Account" msgstr "Konto bearbeiten" @@ -5942,13 +6224,13 @@ msgid "Delete Account" msgstr "Konto löschen" #: /app/src/modules/accounts/AccountsModule.js:634 -#: /app/src/modules/accounts/AccountsModule.js:2406 +#: /app/src/modules/accounts/AccountsModule.js:2412 #: /app/templates/index.php:1039 msgid "Select account" msgstr "Konto auswählen" #: /app/src/modules/accounts/AccountsModule.js:678 -#: /app/src/modules/categories/CategoriesModule.js:1315 +#: /app/src/modules/categories/CategoriesModule.js:1337 msgid "%n selected" msgid_plural "%n selected" msgstr[0] "%n ausgewählt" @@ -5968,7 +6250,12 @@ msgstr[1] "" "%n Konten löschen? Konten, die noch Transaktionen enthalten, werden zunächst " "nicht gelöscht und separat abgefragt." -#: /app/src/modules/accounts/AccountsModule.js:733 +#: /app/src/modules/accounts/AccountsModule.js:712 +msgid "" +"Any bills, transfers or recurring income that use them are switched off." +msgstr "" + +#: /app/src/modules/accounts/AccountsModule.js:734 msgid "" "%n account still has transactions: {names}. Delete it along with its {rows} " "transaction(s)? This cannot be undone." @@ -5983,13 +6270,13 @@ msgstr[1] "" "{rows} Transaktion(en) gelöscht werden? Dies kann nicht rückgängig gemacht " "werden." -#: /app/src/modules/accounts/AccountsModule.js:751 +#: /app/src/modules/accounts/AccountsModule.js:752 msgid "%n account and {count} transaction(s) deleted" msgid_plural "%n accounts and {count} transaction(s) deleted" msgstr[0] "%n Konto und {count} Transaktion(en) gelöscht" msgstr[1] "%n Konten und {count} Transaktion(en) gelöscht" -#: /app/src/modules/accounts/AccountsModule.js:754 +#: /app/src/modules/accounts/AccountsModule.js:755 #, fuzzy #| msgid "%n account" #| msgid_plural "%n accounts" @@ -5998,248 +6285,249 @@ msgid_plural "%n accounts deleted" msgstr[0] "%n konto" msgstr[1] "%n konten" -#: /app/src/modules/accounts/AccountsModule.js:757 -#: /app/src/modules/categories/CategoriesModule.js:1355 +#: /app/src/modules/accounts/AccountsModule.js:758 +#: /app/src/modules/categories/CategoriesModule.js:1377 msgid "Failed to delete: {errors}" msgstr "Fehler beim Löschen: {errors}" -#: /app/src/modules/accounts/AccountsModule.js:771 +#: /app/src/modules/accounts/AccountsModule.js:772 #, fuzzy #| msgid "Failed to delete account: {error}" msgid "Failed to delete accounts: {error}" msgstr "Fehler beim Löschen des Kontos: {error}" -#: /app/src/modules/accounts/AccountsModule.js:889 +#: /app/src/modules/accounts/AccountsModule.js:890 #, fuzzy #| msgid "Always set" msgid "Always shown" msgstr "Überschreiben" -#: /app/src/modules/accounts/AccountsModule.js:1128 +#: /app/src/modules/accounts/AccountsModule.js:1129 msgid "Failed to load account details" msgstr "Fehler beim Laden der Konto Details" -#: /app/src/modules/accounts/AccountsModule.js:1240 +#: /app/src/modules/accounts/AccountsModule.js:1241 msgid "Day {day} each month" msgstr "Jeden Monat am {day}" -#: /app/src/modules/accounts/AccountsModule.js:1293 -#: /app/src/modules/accounts/AccountsModule.js:1294 -#: /app/src/modules/accounts/AccountsModule.js:1295 #: /app/src/modules/accounts/AccountsModule.js:1296 #: /app/src/modules/accounts/AccountsModule.js:1297 +#: /app/src/modules/accounts/AccountsModule.js:1298 #: /app/src/modules/accounts/AccountsModule.js:1299 +#: /app/src/modules/accounts/AccountsModule.js:1300 +#: /app/src/modules/accounts/AccountsModule.js:1302 #: /app/templates/index.php:1358 /app/templates/index.php:1362 #: /app/templates/index.php:1366 /app/templates/index.php:1370 #: /app/templates/index.php:1374 /app/templates/index.php:1382 msgid "Not provided" msgstr "Nicht angegeben" -#: /app/src/modules/accounts/AccountsModule.js:1300 +#: /app/src/modules/accounts/AccountsModule.js:1303 #: /app/templates/index.php:1386 msgid "Never" msgstr "Nie" -#: /app/src/modules/accounts/AccountsModule.js:1367 +#: /app/src/modules/accounts/AccountsModule.js:1370 +#: /app/src/modules/transfers/TransfersModule.js:477 #: /app/templates/index.php:6087 msgid "Daily" msgstr "Täglich" -#: /app/src/modules/accounts/AccountsModule.js:1370 +#: /app/src/modules/accounts/AccountsModule.js:1373 msgid "Simple" msgstr "Einfach" -#: /app/src/modules/accounts/AccountsModule.js:1399 -#: /app/src/modules/accounts/AccountsModule.js:1404 +#: /app/src/modules/accounts/AccountsModule.js:1402 +#: /app/src/modules/accounts/AccountsModule.js:1407 #, fuzzy #| msgid "Failed to delete tag" msgid "Failed to delete rate change" msgstr "Fehler beim Löschen des Schlagwortes" -#: /app/src/modules/accounts/AccountsModule.js:1401 +#: /app/src/modules/accounts/AccountsModule.js:1404 #, fuzzy #| msgid "Tag deleted" msgid "Rate change deleted" msgstr "Schlagwort gelöscht" -#: /app/src/modules/accounts/AccountsModule.js:1418 +#: /app/src/modules/accounts/AccountsModule.js:1421 #, fuzzy #| msgid "Annual interest rate percentage" msgid "Enter new annual interest rate (%)" msgstr "Jährlicher Zinssatz in Prozent" -#: /app/src/modules/accounts/AccountsModule.js:1423 +#: /app/src/modules/accounts/AccountsModule.js:1426 #, fuzzy #| msgid "Reminder days must be between 0 and 30" msgid "Invalid rate. Must be between 0 and 999.9999" msgstr "Der Erinnerungszeitraum muss zwischen 0 und 30 liegen" -#: /app/src/modules/accounts/AccountsModule.js:1427 +#: /app/src/modules/accounts/AccountsModule.js:1430 msgid "Effective date (YYYY-MM-DD)" msgstr "Gültig ab (JJJJ-MM-TT)" -#: /app/src/modules/accounts/AccountsModule.js:1430 +#: /app/src/modules/accounts/AccountsModule.js:1433 msgid "Compounding frequency (daily, monthly, yearly, simple)" msgstr "" "Zinseszinsintervall (täglich, monatlich, jährlich, einfache Verzinsung)" -#: /app/src/modules/accounts/AccountsModule.js:1444 -#: /app/src/modules/accounts/AccountsModule.js:1449 +#: /app/src/modules/accounts/AccountsModule.js:1447 +#: /app/src/modules/accounts/AccountsModule.js:1452 #, fuzzy #| msgid "Failed to create share" msgid "Failed to add rate change" msgstr "Erstellung Aktie fehlgeschlagen" -#: /app/src/modules/accounts/AccountsModule.js:1446 +#: /app/src/modules/accounts/AccountsModule.js:1449 msgid "Rate change added" msgstr "Zinssatzänderung hinzugefügt" -#: /app/src/modules/accounts/AccountsModule.js:1498 +#: /app/src/modules/accounts/AccountsModule.js:1501 msgid "" "Some historical exchange rates could not be found. P&L may be approximate." msgstr "" "Einige historische Wechselkurse konnten nicht gefunden werden. Die Gewinn-" "und-Verlust-Berechnung kann daher ungenau sein." -#: /app/src/modules/accounts/AccountsModule.js:1577 +#: /app/src/modules/accounts/AccountsModule.js:1580 #: /app/src/modules/import/ImportModule.js:1978 msgid "No transactions found" msgstr "Keine Buchungen gefunden" -#: /app/src/modules/accounts/AccountsModule.js:1578 +#: /app/src/modules/accounts/AccountsModule.js:1581 msgid "This account doesn't have any transactions yet." msgstr "Dieses Konto hat bisher keine Buchungen." -#: /app/src/modules/accounts/AccountsModule.js:1740 -#: /app/src/utils/billDates.js:36 +#: /app/src/modules/accounts/AccountsModule.js:1746 +#: /app/src/utils/billDates.js:102 msgid "No due date" msgstr "Kein Fälligkeitsdatum" -#: /app/src/modules/accounts/AccountsModule.js:1742 +#: /app/src/modules/accounts/AccountsModule.js:1748 msgid "{date} (statement balance)" msgstr "{date} (Saldo laut Kontoauszug)" -#: /app/src/modules/accounts/AccountsModule.js:1743 +#: /app/src/modules/accounts/AccountsModule.js:1749 msgid "{date} (current balance)" msgstr "{date} (aktueller Kontostand)" -#: /app/src/modules/accounts/AccountsModule.js:1744 +#: /app/src/modules/accounts/AccountsModule.js:1750 msgid "{date} (minimum payment)" msgstr "{date} (Mindestzahlung)" -#: /app/src/modules/accounts/AccountsModule.js:1786 +#: /app/src/modules/accounts/AccountsModule.js:1792 msgid "{account} payment" msgstr "Zahlung für {account}" -#: /app/src/modules/accounts/AccountsModule.js:1864 -#: /app/src/modules/transactions/TransactionsModule.js:510 +#: /app/src/modules/accounts/AccountsModule.js:1870 +#: /app/src/modules/transactions/TransactionsModule.js:532 #: /app/templates/index.php:1463 /app/templates/index.php:1627 msgid "All Categories" msgstr "Alle Kategorien" -#: /app/src/modules/accounts/AccountsModule.js:1918 +#: /app/src/modules/accounts/AccountsModule.js:1924 #: /app/src/modules/reports/ReportsModule.js:457 #: /app/src/modules/tagsets/TagSetsModule.js:591 -#: /app/src/modules/transactions/TransactionsModule.js:565 -#: /app/src/modules/transactions/TransactionsModule.js:1320 +#: /app/src/modules/transactions/TransactionsModule.js:587 +#: /app/src/modules/transactions/TransactionsModule.js:1346 msgid "No tags available" msgstr "Keine Schlagwörter verfügbar" -#: /app/src/modules/accounts/AccountsModule.js:1929 +#: /app/src/modules/accounts/AccountsModule.js:1935 #: /app/src/modules/reports/ReportsModule.js:469 -#: /app/src/modules/transactions/TransactionsModule.js:576 -#: /app/src/modules/transactions/TransactionsModule.js:4793 +#: /app/src/modules/transactions/TransactionsModule.js:598 +#: /app/src/modules/transactions/TransactionsModule.js:4844 msgid "Type to filter tags..." msgstr "Tippe um nach Schlagwörtern zu filtern..." -#: /app/src/modules/accounts/AccountsModule.js:2012 +#: /app/src/modules/accounts/AccountsModule.js:2018 #: /app/src/modules/reports/ReportsModule.js:535 -#: /app/src/modules/transactions/TransactionsModule.js:660 -#: /app/src/modules/transactions/TransactionsModule.js:4868 +#: /app/src/modules/transactions/TransactionsModule.js:682 +#: /app/src/modules/transactions/TransactionsModule.js:4919 msgid "No tags found" msgstr "Keine Schlagwörter gefunden" -#: /app/src/modules/accounts/AccountsModule.js:2130 -#: /app/src/modules/transactions/TransactionsModule.js:520 +#: /app/src/modules/accounts/AccountsModule.js:2136 +#: /app/src/modules/transactions/TransactionsModule.js:542 #: /app/templates/index.php:1739 msgid "Select account to reconcile" msgstr "Wähle ein Konto zur Abstimmung" -#: /app/src/modules/accounts/AccountsModule.js:2210 -#: /app/src/modules/accounts/AccountsModule.js:2312 +#: /app/src/modules/accounts/AccountsModule.js:2216 +#: /app/src/modules/accounts/AccountsModule.js:2318 msgid "No accounts available. Please create an account first." msgstr "Kein Konto verfügbar. Bitte erstelle zuerst ein Konto." -#: /app/src/modules/accounts/AccountsModule.js:2213 -#: /app/src/modules/accounts/AccountsModule.js:2315 +#: /app/src/modules/accounts/AccountsModule.js:2219 +#: /app/src/modules/accounts/AccountsModule.js:2321 #: /app/src/modules/import/ImportModule.js:2429 msgid "Please select an account" msgstr "Bitte wähle ein Konto" -#: /app/src/modules/accounts/AccountsModule.js:2217 -#: /app/src/modules/accounts/AccountsModule.js:2319 +#: /app/src/modules/accounts/AccountsModule.js:2223 +#: /app/src/modules/accounts/AccountsModule.js:2325 msgid "Please enter a date" msgstr "Bitte wähle ein Datum" -#: /app/src/modules/accounts/AccountsModule.js:2221 -#: /app/src/modules/accounts/AccountsModule.js:2323 +#: /app/src/modules/accounts/AccountsModule.js:2227 +#: /app/src/modules/accounts/AccountsModule.js:2329 msgid "Please select a transaction type" msgstr "Bitte wähle einen Buchungstyp" -#: /app/src/modules/accounts/AccountsModule.js:2225 -#: /app/src/modules/accounts/AccountsModule.js:2327 -#: /app/src/modules/savings/SavingsModule.js:487 +#: /app/src/modules/accounts/AccountsModule.js:2231 +#: /app/src/modules/accounts/AccountsModule.js:2333 +#: /app/src/modules/savings/SavingsModule.js:489 msgid "Please enter a valid amount" msgstr "Bitte gib eine gültige Summe ein" -#: /app/src/modules/accounts/AccountsModule.js:2229 -#: /app/src/modules/accounts/AccountsModule.js:2331 +#: /app/src/modules/accounts/AccountsModule.js:2235 +#: /app/src/modules/accounts/AccountsModule.js:2337 msgid "Please enter a description" msgstr "Bitte geben Sie eine Beschreibung ein" -#: /app/src/modules/accounts/AccountsModule.js:2257 -#: /app/src/modules/accounts/AccountsModule.js:2276 -#: /app/src/modules/transactions/TransactionsModule.js:2975 -#: /app/src/modules/transactions/TransactionsModule.js:2982 -#: /app/src/modules/transactions/TransactionsModule.js:3032 +#: /app/src/modules/accounts/AccountsModule.js:2263 +#: /app/src/modules/accounts/AccountsModule.js:2282 +#: /app/src/modules/transactions/TransactionsModule.js:3019 +#: /app/src/modules/transactions/TransactionsModule.js:3026 +#: /app/src/modules/transactions/TransactionsModule.js:3076 #: /app/templates/quick-add.php:185 msgid "Failed to save transaction" msgstr "Speichern der Buchungen fehlgeschlagen" -#: /app/src/modules/accounts/AccountsModule.js:2267 +#: /app/src/modules/accounts/AccountsModule.js:2273 msgid "Transaction saved successfully" msgstr "Buchungen wurden erfolgreich gespeichert" -#: /app/src/modules/accounts/AccountsModule.js:2350 -#: /app/src/modules/accounts/AccountsModule.js:2365 +#: /app/src/modules/accounts/AccountsModule.js:2356 +#: /app/src/modules/accounts/AccountsModule.js:2371 msgid "Failed to add transaction" msgstr "Buchung konnte nicht erstellt werden" -#: /app/src/modules/accounts/AccountsModule.js:2353 +#: /app/src/modules/accounts/AccountsModule.js:2359 msgid "Transaction added successfully!" msgstr "Buchung erfolgreich erstellt!" -#: /app/src/modules/accounts/AccountsModule.js:2418 -#: /app/src/modules/bills/BillsModule.js:911 -#: /app/src/modules/bills/BillsModule.js:975 -#: /app/src/modules/income/IncomeModule.js:465 -#: /app/src/modules/transactions/TransactionsModule.js:1958 -#: /app/src/modules/transfers/TransfersModule.js:566 +#: /app/src/modules/accounts/AccountsModule.js:2424 +#: /app/src/modules/bills/BillsModule.js:917 +#: /app/src/modules/bills/BillsModule.js:981 +#: /app/src/modules/income/IncomeModule.js:461 +#: /app/src/modules/transactions/TransactionsModule.js:1986 +#: /app/src/modules/transfers/TransfersModule.js:551 #: /app/templates/index.php:1061 /app/templates/index.php:5864 -#: /app/templates/index.php:6255 /app/templates/index.php:6725 +#: /app/templates/index.php:6255 /app/templates/index.php:6726 msgid "No category" msgstr "Keine Kategorie" -#: /app/src/modules/accounts/AccountsModule.js:2437 +#: /app/src/modules/accounts/AccountsModule.js:2443 msgid "Form error: Account name field not found" msgstr "Formularfehler: Feld für den Kontonamen nicht gefunden" -#: /app/src/modules/accounts/AccountsModule.js:2443 +#: /app/src/modules/accounts/AccountsModule.js:2449 msgid "Form error: Account type field not found" msgstr "Formularfehler: Feld für die Kontoart wurde nicht gefunden" -#: /app/src/modules/accounts/AccountsModule.js:2497 -#: /app/src/modules/accounts/AccountsModule.js:2511 +#: /app/src/modules/accounts/AccountsModule.js:2503 +#: /app/src/modules/accounts/AccountsModule.js:2517 msgid "" "Enter the amount owed as a positive number. Tick \"This account is in " "credit\" if the lender owes you instead." @@ -6247,35 +6535,35 @@ msgstr "" "Gib den geschuldeten Betrag als positive Zahl ein. Aktiviere „Dieses Konto " "weist ein Guthaben auf“, wenn dir stattdessen der Kreditgeber Geld schuldet." -#: /app/src/modules/accounts/AccountsModule.js:2548 +#: /app/src/modules/accounts/AccountsModule.js:2554 msgid "Please enter an account name" msgstr "Bitte gib einen Kontonamen ein" -#: /app/src/modules/accounts/AccountsModule.js:2555 +#: /app/src/modules/accounts/AccountsModule.js:2561 msgid "Please select an account type" msgstr "Bitte wählen Sie eine Kontoart aus" -#: /app/src/modules/accounts/AccountsModule.js:2562 +#: /app/src/modules/accounts/AccountsModule.js:2568 msgid "Account name is too long (maximum 255 characters)" msgstr "Kontoname ist zu lang (maximal 255 Zeichen)" -#: /app/src/modules/accounts/AccountsModule.js:2569 +#: /app/src/modules/accounts/AccountsModule.js:2575 msgid "Please enter a valid balance amount" msgstr "Bitte gib einen gültigen Saldo ein" -#: /app/src/modules/accounts/AccountsModule.js:2589 +#: /app/src/modules/accounts/AccountsModule.js:2595 msgid "Account saved successfully" msgstr "Konto erfolgreich gespeichert" -#: /app/src/modules/accounts/AccountsModule.js:2612 +#: /app/src/modules/accounts/AccountsModule.js:2618 msgid "Unknown error occurred" msgstr "Unbekannter Fehler aufgetreten" -#: /app/src/modules/accounts/AccountsModule.js:2613 +#: /app/src/modules/accounts/AccountsModule.js:2619 msgid "Failed to save account: {error}" msgstr "Konto konnte nicht gespeichert werden: {error}" -#: /app/src/modules/accounts/AccountsModule.js:2643 +#: /app/src/modules/accounts/AccountsModule.js:2649 msgid "" "This account has a balance of {balance}. It must be zero before it can be " "closed." @@ -6283,42 +6571,42 @@ msgstr "" "Dieses Konto hat einen Kontostand von {balance}. Der Kontostand muss null " "sein, bevor das Konto geschlossen werden kann." -#: /app/src/modules/accounts/AccountsModule.js:2672 +#: /app/src/modules/accounts/AccountsModule.js:2678 #: /app/templates/index.php:1122 msgid "Add Account" msgstr "Konto hinzufügen" -#: /app/src/modules/accounts/AccountsModule.js:2703 +#: /app/src/modules/accounts/AccountsModule.js:2709 msgid "Balance is calculated from transactions" msgstr "Der Saldo wird aus den Buchungen berechnet" -#: /app/src/modules/accounts/AccountsModule.js:2711 +#: /app/src/modules/accounts/AccountsModule.js:2717 #, fuzzy #| msgid "Balance is calculated from transactions" msgid "Calculated from transactions" msgstr "Der Saldo wird aus den Buchungen berechnet" -#: /app/src/modules/accounts/AccountsModule.js:2779 +#: /app/src/modules/accounts/AccountsModule.js:2785 msgid "•••••••• (leave blank to keep current)" msgstr "•••••••• (leave blank to keep current)" -#: /app/src/modules/accounts/AccountsModule.js:2801 +#: /app/src/modules/accounts/AccountsModule.js:2807 msgid "Failed to load account data" msgstr "Kontodaten konnten nicht geladen werden" -#: /app/src/modules/accounts/AccountsModule.js:2872 -#: /app/src/modules/accounts/AccountsModule.js:2884 +#: /app/src/modules/accounts/AccountsModule.js:2878 +#: /app/src/modules/accounts/AccountsModule.js:2890 #, fuzzy #| msgid "Amount to Add" msgid "Amount owed" msgstr "Hinzuzufügender Betrag" -#: /app/src/modules/accounts/AccountsModule.js:2873 +#: /app/src/modules/accounts/AccountsModule.js:2879 #: /app/templates/index.php:5992 msgid "Opening Balance" msgstr "Anfangskontostand" -#: /app/src/modules/accounts/AccountsModule.js:2878 +#: /app/src/modules/accounts/AccountsModule.js:2884 msgid "" "Enter what you owe as a plain positive number — the app records it as a debt " "for you." @@ -6326,18 +6614,18 @@ msgstr "" "Gib den geschuldeten Betrag einfach als positive Zahl ein – die App erfasst " "ihn für dich als Schuld." -#: /app/src/modules/accounts/AccountsModule.js:2879 +#: /app/src/modules/accounts/AccountsModule.js:2885 #: /app/templates/index.php:5994 msgid "The starting balance when this account was created" msgstr "Der Anfangssaldo bei der Eröffnung dieses Kontos" -#: /app/src/modules/accounts/AccountsModule.js:2885 -#: /app/src/modules/accounts/AccountsModule.js:2927 +#: /app/src/modules/accounts/AccountsModule.js:2891 +#: /app/src/modules/accounts/AccountsModule.js:2933 #: /app/templates/index.php:6007 msgid "Starting Balance" msgstr "Anfangssaldo" -#: /app/src/modules/accounts/AccountsModule.js:2894 +#: /app/src/modules/accounts/AccountsModule.js:2900 msgid "" "This account is currently recorded as being in credit — as if the lender " "owes you this money, which adds it to your net worth. If you actually owe " @@ -6348,19 +6636,23 @@ msgstr "" "zugerechnet. Wenn du den Betrag tatsächlich schuldest, entferne das Häkchen " "oben und speichere die Änderung." -#: /app/src/modules/accounts/AccountsModule.js:2931 +#: /app/src/modules/accounts/AccountsModule.js:2937 #: /app/templates/index.php:6009 msgid "The balance this account starts with" msgstr "Der Anfangssaldo dieses Kontos" -#: /app/src/modules/accounts/AccountsModule.js:2990 +#: /app/src/modules/accounts/AccountsModule.js:2997 msgid "" "Are you sure you want to delete this account? This action cannot be undone." msgstr "" "Möchtest du dieses Konto wirklich löschen? Diese Aktion kann nicht " "rückgängig gemacht werden." -#: /app/src/modules/accounts/AccountsModule.js:3007 +#: /app/src/modules/accounts/AccountsModule.js:2998 +msgid "Any bills, transfers or recurring income that use it are switched off." +msgstr "" + +#: /app/src/modules/accounts/AccountsModule.js:3017 msgid "" "This account still has {count} transaction(s). Delete them along with the " "account? This cannot be undone." @@ -6368,7 +6660,7 @@ msgstr "" "Dieses Konto enthält noch {count} Transaktion(en). Möchtest du sie zusammen " "mit dem Konto löschen? Dieser Vorgang kann nicht rückgängig gemacht werden." -#: /app/src/modules/accounts/AccountsModule.js:3008 +#: /app/src/modules/accounts/AccountsModule.js:3018 #, fuzzy #| msgid "" #| "Are you sure you want to delete this account? This action cannot be " @@ -6380,84 +6672,84 @@ msgstr "" "Möchtest du dieses Konto wirklich löschen? Diese Aktion kann nicht " "rückgängig gemacht werden." -#: /app/src/modules/accounts/AccountsModule.js:3016 +#: /app/src/modules/accounts/AccountsModule.js:3026 #, fuzzy #| msgid "{count} duplicate transactions removed" msgid "Account and its {count} transaction(s) deleted" msgstr "{count} doppelte Transaktionen entfernt" -#: /app/src/modules/accounts/AccountsModule.js:3017 +#: /app/src/modules/accounts/AccountsModule.js:3027 msgid "Account deleted successfully" msgstr "Konto erfolgreich gelöscht“" -#: /app/src/modules/accounts/AccountsModule.js:3027 +#: /app/src/modules/accounts/AccountsModule.js:3037 msgid "Failed to delete account: {error}" msgstr "Fehler beim Löschen des Kontos: {error}" -#: /app/src/modules/accounts/AccountsModule.js:3246 +#: /app/src/modules/accounts/AccountsModule.js:3256 msgid "Valid" msgstr "Gültig" -#: /app/src/modules/accounts/AccountsModule.js:3311 +#: /app/src/modules/accounts/AccountsModule.js:3321 #: /app/templates/index.php:5979 msgid "Checking Account" msgstr "Girokonto" -#: /app/src/modules/accounts/AccountsModule.js:3316 +#: /app/src/modules/accounts/AccountsModule.js:3326 #: /app/templates/index.php:5980 msgid "Savings Account" msgstr "Sparkonto" -#: /app/src/modules/accounts/AccountsModule.js:3321 -#: /app/src/modules/dashboard/DashboardModule.js:1039 +#: /app/src/modules/accounts/AccountsModule.js:3331 +#: /app/src/modules/dashboard/DashboardModule.js:1098 #: /app/src/utils/formatters.js:264 /app/templates/index.php:5981 msgid "Credit Card" msgstr "Kreditkarte" -#: /app/src/modules/accounts/AccountsModule.js:3326 -#: /app/src/modules/dashboard/DashboardModule.js:1040 +#: /app/src/modules/accounts/AccountsModule.js:3336 +#: /app/src/modules/dashboard/DashboardModule.js:1099 #: /app/src/utils/formatters.js:265 msgid "Investment" msgstr "Investition" -#: /app/src/modules/accounts/AccountsModule.js:3331 -#: /app/src/modules/dashboard/DashboardModule.js:1042 +#: /app/src/modules/accounts/AccountsModule.js:3341 +#: /app/src/modules/dashboard/DashboardModule.js:1101 #: /app/src/utils/formatters.js:267 msgid "Loan" msgstr "Darlehen" -#: /app/src/modules/accounts/AccountsModule.js:3336 -#: /app/src/modules/dashboard/DashboardModule.js:1041 +#: /app/src/modules/accounts/AccountsModule.js:3346 +#: /app/src/modules/dashboard/DashboardModule.js:1100 #: /app/src/utils/formatters.js:266 /app/templates/index.php:5986 msgid "Cash" msgstr "Bargeld" -#: /app/src/modules/accounts/AccountsModule.js:3341 +#: /app/src/modules/accounts/AccountsModule.js:3351 #: /app/src/utils/formatters.js:270 /app/templates/index.php:5987 msgid "Cryptocurrency" msgstr "Kryptowährung" -#: /app/src/modules/accounts/AccountsModule.js:3363 +#: /app/src/modules/accounts/AccountsModule.js:3373 msgid "Credit utilization very high" msgstr "Kreditauslastung sehr hoch" -#: /app/src/modules/accounts/AccountsModule.js:3369 +#: /app/src/modules/accounts/AccountsModule.js:3379 msgid "Credit utilization high" msgstr "Kreditauslastung hoch" -#: /app/src/modules/accounts/AccountsModule.js:3379 +#: /app/src/modules/accounts/AccountsModule.js:3389 msgid "Negative balance" msgstr "Negativer Kontostand" -#: /app/src/modules/accounts/AccountsModule.js:3388 +#: /app/src/modules/accounts/AccountsModule.js:3398 msgid "Exceeds overdraft limit" msgstr "Überschreitet den Dispositionsrahmen" -#: /app/src/modules/accounts/AccountsModule.js:3395 +#: /app/src/modules/accounts/AccountsModule.js:3405 msgid "Account is in good standing" msgstr "Konto ist in gutem Zustand" -#: /app/src/modules/accounts/AccountsModule.js:3427 +#: /app/src/modules/accounts/AccountsModule.js:3437 msgid "No transactions to export" msgstr "Keine Buchungen zum Exportieren vorhanden" @@ -6483,8 +6775,8 @@ msgid "Collectibles" msgstr "Sammlerstücke" #: /app/src/modules/assets/AssetsModule.js:109 -#: /app/src/modules/dashboard/DashboardModule.js:2252 -#: /app/src/modules/dashboard/DashboardModule.js:5503 +#: /app/src/modules/dashboard/DashboardModule.js:2415 +#: /app/src/modules/dashboard/DashboardModule.js:5757 #: /app/templates/index.php:5595 msgid "Other" msgstr "Sonstiges" @@ -6504,7 +6796,7 @@ msgid "View Details" msgstr "Details ansehen" #: /app/src/modules/assets/AssetsModule.js:213 -#: /app/src/modules/dashboard/DashboardModule.js:2051 +#: /app/src/modules/dashboard/DashboardModule.js:2214 msgid "%n asset" msgid_plural "%n assets" msgstr[0] "%n Vermögenswert" @@ -6578,7 +6870,7 @@ msgstr "" #: /app/src/modules/projects/ProjectsModule.js:87 #: /app/src/modules/sharing/SharingModule.js:122 #: /app/src/modules/sharing/SharingModule.js:152 /app/templates/index.php:2778 -#: /app/templates/index.php:2791 /app/templates/index.php:6482 +#: /app/templates/index.php:2791 /app/templates/index.php:6483 msgid "Active" msgstr "Aktiv" @@ -6697,7 +6989,7 @@ msgstr "Ungültige Anmeldedaten: {error}" #: /app/src/modules/bank-sync/BankSyncModule.js:358 #: /app/templates/index.php:1560 /app/templates/index.php:1815 #: /app/templates/index.php:1863 /app/templates/index.php:2575 -#: /app/templates/index.php:7495 +#: /app/templates/index.php:7496 msgid "Next" msgstr "Weiter" @@ -6736,7 +7028,7 @@ msgid "No banks found for this country." msgstr "Für dieses Land wurden keine Banken gefunden." #: /app/src/modules/bank-sync/BankSyncModule.js:533 -#: /app/templates/index.php:7522 +#: /app/templates/index.php:7523 msgid "Connect" msgstr "Verbinden" @@ -6770,7 +7062,7 @@ msgid "Authorization check failed: {error}" msgstr "Autorisierung konnte nicht überprüft werden: {error}" #: /app/src/modules/bank-sync/BankSyncModule.js:579 -#: /app/templates/index.php:7544 +#: /app/templates/index.php:7545 msgid "I've Completed Authorization" msgstr "Autorisierung abgeschlossen" @@ -6880,20 +7172,20 @@ msgid "Pending transactions will be included during sync" msgstr "" "Vorgemerkte Transaktionen werden während der Synchronisierung importiert" -#: /app/src/modules/bills/BillsModule.js:64 -#: /app/src/modules/bills/BillsModule.js:67 +#: /app/src/modules/bills/BillsModule.js:68 +#: /app/src/modules/bills/BillsModule.js:71 msgid "Failed to load bills" msgstr "Rechnungen konnten nicht geladen werden" -#: /app/src/modules/bills/BillsModule.js:101 +#: /app/src/modules/bills/BillsModule.js:105 msgid "Marked paid on {date}" msgstr "Am {date} als bezahlt markiert" -#: /app/src/modules/bills/BillsModule.js:105 +#: /app/src/modules/bills/BillsModule.js:109 msgid "Record transaction" msgstr "Transaktion erfassen" -#: /app/src/modules/bills/BillsModule.js:106 +#: /app/src/modules/bills/BillsModule.js:110 msgid "" "One-time bills leave the list after payment — open it here to assign an " "account" @@ -6901,236 +7193,231 @@ msgstr "" "Einmalige Rechnungen verschwinden nach der Zahlung aus der Liste – öffne sie " "hier, um ein Konto zuzuweisen" -#: /app/src/modules/bills/BillsModule.js:106 +#: /app/src/modules/bills/BillsModule.js:110 #, fuzzy #| msgid "%n account" #| msgid_plural "%n accounts" msgid "Assign an account" msgstr "%n konto" -#: /app/src/modules/bills/BillsModule.js:108 -#: /app/src/modules/bills/BillsModule.js:385 -#: /app/src/modules/transfers/TransfersModule.js:377 +#: /app/src/modules/bills/BillsModule.js:112 +#: /app/src/modules/bills/BillsModule.js:374 +#: /app/src/modules/transfers/TransfersModule.js:363 #, fuzzy #| msgid "Failed to record settlement" msgid "Revert the last payment" msgstr "Aufzeichnen der Abrechnung fehlgeschlagen" -#: /app/src/modules/bills/BillsModule.js:108 -#: /app/src/modules/bills/BillsModule.js:387 -#: /app/src/modules/transfers/TransfersModule.js:379 +#: /app/src/modules/bills/BillsModule.js:112 +#: /app/src/modules/bills/BillsModule.js:376 +#: /app/src/modules/transfers/TransfersModule.js:365 msgid "Mark Unpaid" msgstr "Als unbezahlt markieren" -#: /app/src/modules/bills/BillsModule.js:110 +#: /app/src/modules/bills/BillsModule.js:114 msgid "Keep the bill as paid and stop listing this payment" msgstr "" "Die Rechnung als bezahlt belassen und diese Zahlung nicht mehr anzeigen" -#: /app/src/modules/bills/BillsModule.js:110 -#: /app/src/modules/bills/BillsModule.js:203 -#: /app/src/modules/transactions/TransactionsModule.js:1766 +#: /app/src/modules/bills/BillsModule.js:114 +#: /app/src/modules/bills/BillsModule.js:207 +#: /app/src/modules/transactions/TransactionsModule.js:1792 msgid "Dismiss" msgstr "Verwerfen" -#: /app/src/modules/bills/BillsModule.js:160 +#: /app/src/modules/bills/BillsModule.js:164 #, fuzzy #| msgid "Transaction created" msgid "Transaction recorded" msgstr "Buchung erstellt" -#: /app/src/modules/bills/BillsModule.js:199 -#: /app/src/modules/bills/BillsModule.js:1610 -#: /app/src/modules/income/IncomeModule.js:740 -#: /app/src/modules/transfers/TransfersModule.js:1293 -#, javascript-format +#: /app/src/modules/bills/BillsModule.js:203 +#: /app/src/modules/bills/BillsModule.js:1515 +#: /app/src/modules/income/IncomeModule.js:748 +#: /app/src/modules/transfers/TransfersModule.js:1288 +#, no-javascript-format msgid "{percent}% confidence" msgstr "{percent} % Wahrscheinlichkeit" -#: /app/src/modules/bills/BillsModule.js:202 +#: /app/src/modules/bills/BillsModule.js:206 msgid "Create bill" msgstr "Rechnung erstellen" -#: /app/src/modules/bills/BillsModule.js:236 +#: /app/src/modules/bills/BillsModule.js:245 msgid "Bill \"{name}\" created" msgstr "Rechnung „{name}“ erstellt" -#: /app/src/modules/bills/BillsModule.js:239 +#: /app/src/modules/bills/BillsModule.js:248 #, fuzzy #| msgid "Failed to create adjustment: {message}" msgid "Failed to create bill: {message}" msgstr "Fehler beim Erstellen der Ausgleichsbuchung: {message}" -#: /app/src/modules/bills/BillsModule.js:259 +#: /app/src/modules/bills/BillsModule.js:268 msgid "Dismiss all suggestions? They will not be shown again." msgstr "Alle Vorschläge verwerfen? Sie werden nicht erneut angezeigt." -#: /app/src/modules/bills/BillsModule.js:269 +#: /app/src/modules/bills/BillsModule.js:278 #, fuzzy #| msgid "Failed to load pensions" msgid "Failed to dismiss suggestions" msgstr "Fehler beim Laden der Renten" -#: /app/src/modules/bills/BillsModule.js:317 -#: /app/src/modules/reports/ReportsModule.js:1908 -#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 -#: /app/src/modules/transfers/TransfersModule.js:315 -#: /app/templates/index.php:2690 -msgid "Paid" -msgstr "Bezahlt" - #: /app/src/modules/bills/BillsModule.js:320 -#: /app/src/modules/transfers/TransfersModule.js:139 -#: /app/src/modules/transfers/TransfersModule.js:318 -#: /app/templates/index.php:2662 /app/templates/index.php:2689 -msgid "Overdue" -msgstr "Überfällig" - -#: /app/src/modules/bills/BillsModule.js:323 -#: /app/src/modules/transfers/TransfersModule.js:138 -#: /app/src/modules/transfers/TransfersModule.js:321 -#: /app/templates/index.php:2688 -msgid "Due Soon" -msgstr "Bald fällig" - -#: /app/src/modules/bills/BillsModule.js:326 -#: /app/src/modules/income/IncomeModule.js:105 -#: /app/src/modules/projects/ProjectsModule.js:86 -#: /app/src/modules/transfers/TransfersModule.js:324 -msgid "Upcoming" -msgstr "Demnächst" - -#: /app/src/modules/bills/BillsModule.js:332 -#: /app/src/modules/income/IncomeModule.js:111 -#: /app/src/modules/transfers/TransfersModule.js:331 -#: /app/src/modules/transfers/TransfersModule.js:504 -#: /app/src/modules/transfers/TransfersModule.js:1104 -#: /app/templates/index.php:6189 /app/templates/index.php:6679 +#: /app/src/modules/income/IncomeModule.js:99 +#: /app/src/modules/transfers/TransfersModule.js:317 +#: /app/src/modules/transfers/TransfersModule.js:479 +#: /app/src/modules/transfers/TransfersModule.js:1121 +#: /app/templates/index.php:6189 /app/templates/index.php:6680 msgid "Bi-Weekly" msgstr "Alle zwei Wochen" -#: /app/src/modules/bills/BillsModule.js:333 -#: /app/src/modules/income/IncomeModule.js:112 -#: /app/src/modules/transfers/TransfersModule.js:332 -#: /app/src/modules/transfers/TransfersModule.js:505 -#: /app/src/modules/transfers/TransfersModule.js:1105 -#: /app/templates/index.php:6190 /app/templates/index.php:6680 +#: /app/src/modules/bills/BillsModule.js:321 +#: /app/src/modules/income/IncomeModule.js:100 +#: /app/src/modules/transfers/TransfersModule.js:318 +#: /app/src/modules/transfers/TransfersModule.js:480 +#: /app/src/modules/transfers/TransfersModule.js:1122 +#: /app/templates/index.php:6190 /app/templates/index.php:6681 msgid "Semi-Monthly" msgstr "Zweimal monatlich" -#: /app/src/modules/bills/BillsModule.js:336 -#: /app/src/modules/income/IncomeModule.js:115 -#: /app/src/modules/transfers/TransfersModule.js:335 -#: /app/src/modules/transfers/TransfersModule.js:1108 -#: /app/templates/index.php:6193 /app/templates/index.php:6683 +#: /app/src/modules/bills/BillsModule.js:324 +#: /app/src/modules/income/IncomeModule.js:103 +#: /app/src/modules/transfers/TransfersModule.js:321 +#: /app/src/modules/transfers/TransfersModule.js:483 +#: /app/src/modules/transfers/TransfersModule.js:1125 +#: /app/templates/index.php:6193 /app/templates/index.php:6684 msgid "Semi-Annually" msgstr "Halbjährlich" -#: /app/src/modules/bills/BillsModule.js:338 -#: /app/src/modules/income/IncomeModule.js:117 -#: /app/src/modules/transfers/TransfersModule.js:329 -#: /app/src/modules/transfers/TransfersModule.js:502 -#: /app/src/modules/transfers/TransfersModule.js:1110 -#: /app/templates/index.php:6195 /app/templates/index.php:6685 +#: /app/src/modules/bills/BillsModule.js:326 +#: /app/src/modules/income/IncomeModule.js:105 +#: /app/src/modules/transfers/TransfersModule.js:315 +#: /app/src/modules/transfers/TransfersModule.js:476 +#: /app/src/modules/transfers/TransfersModule.js:1127 +#: /app/templates/index.php:6195 /app/templates/index.php:6686 msgid "One-Time" msgstr "Einmalig" -#: /app/src/modules/bills/BillsModule.js:364 /app/templates/index.php:5872 +#: /app/src/modules/bills/BillsModule.js:352 +#, fuzzy +#| msgid "" +#| "The account linked to this bill no longer exists. Edit the bill and " +#| "choose an account." +msgid "" +"This date was filled in for the bill, not entered. Edit the bill to check it." +msgstr "" +"Das mit dieser Rechnung verknüpfte Konto existiert nicht mehr. Bearbeite die " +"Rechnung und wähle ein Konto aus." + +#: /app/src/modules/bills/BillsModule.js:352 +#, fuzzy +#| msgid "Next date" +msgid "Check date" +msgstr "Nächster Termin" + +#: /app/src/modules/bills/BillsModule.js:353 /app/templates/index.php:5872 #: /app/templates/index.php:6266 msgid "Split across categories" msgstr "Auf mehrere Kategorien verteilen" -#: /app/src/modules/bills/BillsModule.js:365 -#: /app/src/modules/transfers/TransfersModule.js:359 +#: /app/src/modules/bills/BillsModule.js:354 +#: /app/src/modules/transfers/TransfersModule.js:345 msgid "Auto-pay enabled" msgstr "Automatische Zahlung aktiviert" -#: /app/src/modules/bills/BillsModule.js:365 -#: /app/src/modules/transfers/TransfersModule.js:359 +#: /app/src/modules/bills/BillsModule.js:354 +#: /app/src/modules/transfers/TransfersModule.js:345 msgid "Auto-pay" msgstr "Automatische Zahlung" -#: /app/src/modules/bills/BillsModule.js:366 -#: /app/src/modules/transfers/TransfersModule.js:360 +#: /app/src/modules/bills/BillsModule.js:355 +#: /app/src/modules/transfers/TransfersModule.js:346 msgid "Auto-pay failed - disabled" msgstr "Automatische Zahlung fehlgeschlagen – deaktiviert" -#: /app/src/modules/bills/BillsModule.js:366 -#: /app/src/modules/transfers/TransfersModule.js:360 +#: /app/src/modules/bills/BillsModule.js:355 +#: /app/src/modules/transfers/TransfersModule.js:346 msgid "Auto-pay Failed" msgstr "Automatische Zahlung fehlgeschlagen" -#: /app/src/modules/bills/BillsModule.js:367 +#: /app/src/modules/bills/BillsModule.js:356 msgid "Remaining payments" msgstr "Verbleibende Zahlungen" -#: /app/src/modules/bills/BillsModule.js:367 +#: /app/src/modules/bills/BillsModule.js:356 msgid "{count} left" msgstr "{count} verbleiben" -#: /app/src/modules/bills/BillsModule.js:368 +#: /app/src/modules/bills/BillsModule.js:357 msgid "Ends {date}" msgstr "Endet am {date}" -#: /app/src/modules/bills/BillsModule.js:373 -#: /app/src/modules/transfers/TransfersModule.js:365 +#: /app/src/modules/bills/BillsModule.js:362 +#: /app/src/modules/transfers/TransfersModule.js:351 msgid "Mark as paid" msgstr "Als bezahlt markieren" -#: /app/src/modules/bills/BillsModule.js:375 -#: /app/src/modules/transfers/TransfersModule.js:367 +#: /app/src/modules/bills/BillsModule.js:364 +#: /app/src/modules/transfers/TransfersModule.js:353 msgid "Mark Paid" msgstr "Bezahlt kennzeichnen" -#: /app/src/modules/bills/BillsModule.js:379 -#: /app/src/modules/income/IncomeModule.js:151 -#: /app/src/modules/transfers/TransfersModule.js:371 +#: /app/src/modules/bills/BillsModule.js:368 +#: /app/src/modules/income/IncomeModule.js:139 +#: /app/src/modules/transfers/TransfersModule.js:357 msgid "Skip this payment" msgstr "Diese Zahlung überspringen" -#: /app/src/modules/bills/BillsModule.js:381 -#: /app/src/modules/income/IncomeModule.js:153 -#: /app/src/modules/transfers/TransfersModule.js:373 +#: /app/src/modules/bills/BillsModule.js:370 +#: /app/src/modules/income/IncomeModule.js:141 +#: /app/src/modules/transfers/TransfersModule.js:359 msgid "Skip" msgstr "Überspringen" -#: /app/src/modules/bills/BillsModule.js:390 +#: /app/src/modules/bills/BillsModule.js:379 msgid "Edit bill" msgstr "Rechnung bearbeiten" -#: /app/src/modules/bills/BillsModule.js:393 +#: /app/src/modules/bills/BillsModule.js:382 msgid "Delete bill" msgstr "Rechnung löschen" -#: /app/src/modules/bills/BillsModule.js:642 +#: /app/src/modules/bills/BillsModule.js:618 +msgid "" +"This date was filled in for the bill when it was saved without one. Check " +"it, then save." +msgstr "" + +#: /app/src/modules/bills/BillsModule.js:633 msgid "Edit Bill" msgstr "Zahlung bearbeiten" -#: /app/src/modules/bills/BillsModule.js:727 /app/templates/index.php:2622 +#: /app/src/modules/bills/BillsModule.js:719 /app/templates/index.php:2622 msgid "Add Bill" msgstr "Rechnung hinzufügen" -#: /app/src/modules/bills/BillsModule.js:801 +#: /app/src/modules/bills/BillsModule.js:794 /app/src/utils/formSelects.js:29 #, fuzzy #| msgid "Unable to share with this user" msgid "Unavailable (not shared with you)" msgstr "Teilen mit diesem Benutzer nicht möglich" -#: /app/src/modules/bills/BillsModule.js:872 -#: /app/src/modules/transfers/TransfersModule.js:761 +#: /app/src/modules/bills/BillsModule.js:867 +#: /app/src/modules/transfers/TransfersModule.js:753 #, fuzzy #| msgid "Due Day" msgid "Due Date" msgstr "Fälligkeitstag" -#: /app/src/modules/bills/BillsModule.js:872 -#: /app/src/modules/transfers/TransfersModule.js:545 -#: /app/src/modules/transfers/TransfersModule.js:761 +#: /app/src/modules/bills/BillsModule.js:867 +#: /app/src/modules/transfers/TransfersModule.js:530 +#: /app/src/modules/transfers/TransfersModule.js:753 #: /app/templates/index.php:6298 msgid "Start Date" msgstr "Startdatum" -#: /app/src/modules/bills/BillsModule.js:876 +#: /app/src/modules/bills/BillsModule.js:871 msgid "" "The date this bill is due. It can be in the past - an invoice you are " "entering late stays due on its own date." @@ -7139,97 +7426,109 @@ msgstr "" "Vergangenheit liegen – eine nachträglich erfasste Rechnung behält ihr " "ursprüngliches Fälligkeitsdatum." -#: /app/src/modules/bills/BillsModule.js:877 /app/templates/index.php:6300 +#: /app/src/modules/bills/BillsModule.js:872 /app/templates/index.php:6300 msgid "Bill only occurs on or after this date (optional)" msgstr "Die Rechnung ist erst ab diesem Datum fällig (optional)" -#: /app/src/modules/bills/BillsModule.js:892 -#: /app/src/modules/transfers/TransfersModule.js:773 +#: /app/src/modules/bills/BillsModule.js:889 +#: /app/src/modules/transfers/TransfersModule.js:765 msgid "Due Day (1-7)" msgstr "Fälligkeitstag (1–7)" -#: /app/src/modules/bills/BillsModule.js:893 -#: /app/src/modules/income/IncomeModule.js:437 -#: /app/src/modules/transfers/TransfersModule.js:774 +#: /app/src/modules/bills/BillsModule.js:890 +#: /app/src/modules/income/IncomeModule.js:433 +#: /app/src/modules/transfers/TransfersModule.js:766 msgid "Day of the week (1=Monday, 7=Sunday)" msgstr "Wochentag (1=Montag, 7=Sonntag)" -#: /app/src/modules/bills/BillsModule.js:896 -#: /app/src/modules/bills/BillsModule.js:900 /app/templates/index.php:6221 +#: /app/src/modules/bills/BillsModule.js:899 +#: /app/src/modules/income/IncomeModule.js:450 +#: /app/src/modules/transfers/TransfersModule.js:781 +msgid "Follows the start date" +msgstr "Folgt dem Startdatum" + +#: /app/src/modules/bills/BillsModule.js:902 +#: /app/src/modules/bills/BillsModule.js:906 /app/templates/index.php:6221 msgid "Due Day" msgstr "Fälligkeitstag" -#: /app/src/modules/bills/BillsModule.js:897 +#: /app/src/modules/bills/BillsModule.js:903 msgid "Day of the selected months when bill is due" msgstr "Fälligkeitstag in den ausgewählten Monaten" -#: /app/src/modules/bills/BillsModule.js:901 /app/templates/index.php:6223 +#: /app/src/modules/bills/BillsModule.js:907 /app/templates/index.php:6223 msgid "Day of the month when bill is due" msgstr "Tag im Monat, an dem die Rechnung fällig ist" -#: /app/src/modules/bills/BillsModule.js:920 -#: /app/src/modules/income/IncomeModule.js:474 /app/templates/index.php:6274 -#: /app/templates/index.php:6733 +#: /app/src/modules/bills/BillsModule.js:926 +#: /app/src/modules/income/IncomeModule.js:470 /app/templates/index.php:6274 +#: /app/templates/index.php:6734 msgid "No specific account" msgstr "Kein Konto ausgewählt" -#: /app/src/modules/bills/BillsModule.js:982 /app/templates/index.php:7120 +#: /app/src/modules/bills/BillsModule.js:988 /app/templates/index.php:7121 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: /app/src/modules/bills/BillsModule.js:1019 +#: /app/src/modules/bills/BillsModule.js:1027 msgid "Balanced" msgstr "Ausgeglichen" -#: /app/src/modules/bills/BillsModule.js:1022 +#: /app/src/modules/bills/BillsModule.js:1030 msgid "{amount} remaining" msgstr "{amount} verbleibend" -#: /app/src/modules/bills/BillsModule.js:1025 +#: /app/src/modules/bills/BillsModule.js:1033 #: /app/src/modules/projects/ProjectsModule.js:110 msgid "{amount} over" msgstr "{amount} überschritten" #: /app/src/modules/bills/BillsModule.js:1101 +#, fuzzy +#| msgid "How often this bill is due" +msgid "Choose the date this bill is due" +msgstr "Turnus der Rechnung" + +#: /app/src/modules/bills/BillsModule.js:1124 msgid "Please select at least one month for custom frequency" msgstr "" "Bitte wähle mindestens einen Monat für die benutzerdefinierte Häufigkeit aus" -#: /app/src/modules/bills/BillsModule.js:1120 +#: /app/src/modules/bills/BillsModule.js:1143 msgid "Bill created successfully" msgstr "Rechnung erfolgreich erstellt" -#: /app/src/modules/bills/BillsModule.js:1120 +#: /app/src/modules/bills/BillsModule.js:1143 msgid "Bill updated successfully" msgstr "Rechnung erfolgreich aktualisiert" -#: /app/src/modules/bills/BillsModule.js:1124 +#: /app/src/modules/bills/BillsModule.js:1147 msgid "Failed to save bill" msgstr "Fehler beim Speichern der Rechnung" -#: /app/src/modules/bills/BillsModule.js:1134 +#: /app/src/modules/bills/BillsModule.js:1157 msgid "Failed to load bill" msgstr "Fehler beim Laden der Rechnung" -#: /app/src/modules/bills/BillsModule.js:1139 +#: /app/src/modules/bills/BillsModule.js:1162 msgid "Are you sure you want to delete this bill?" msgstr "Möchtest du diese Rechnung wirklich löschen?" -#: /app/src/modules/bills/BillsModule.js:1146 +#: /app/src/modules/bills/BillsModule.js:1169 msgid "Bill deleted successfully" msgstr "Rechnung erfolgreich gelöscht" -#: /app/src/modules/bills/BillsModule.js:1150 +#: /app/src/modules/bills/BillsModule.js:1173 msgid "Failed to delete bill" msgstr "Fehler beim Löschen der Rechnung" -#: /app/src/modules/bills/BillsModule.js:1177 +#: /app/src/modules/bills/BillsModule.js:1200 #, fuzzy #| msgid "Bills Calendar" msgid "Bills calendar subscription" msgstr "Rechnungskalender" -#: /app/src/modules/bills/BillsModule.js:1178 +#: /app/src/modules/bills/BillsModule.js:1201 msgid "" "Subscribe to this URL from any calendar app (Nextcloud Calendar, " "Thunderbird, your phone) to see upcoming bill due dates. Bills appear as all-" @@ -7240,13 +7539,13 @@ msgstr "" "deiner Rechnungen anzuzeigen. Die Rechnungen werden für die nächsten 12 " "Monate als ganztägige Termine angezeigt und automatisch aktualisiert." -#: /app/src/modules/bills/BillsModule.js:1180 +#: /app/src/modules/bills/BillsModule.js:1203 #, fuzzy #| msgid "Description" msgid "Subscription URL" msgstr "Beschreibung" -#: /app/src/modules/bills/BillsModule.js:1183 +#: /app/src/modules/bills/BillsModule.js:1206 msgid "" "Anyone with this URL can read your bill names and amounts. Regenerate the " "link if it leaks." @@ -7255,42 +7554,42 @@ msgstr "" "Rechnungen einsehen. Erstelle einen neuen Link, wenn die URL in falsche " "Hände geraten ist." -#: /app/src/modules/bills/BillsModule.js:1185 +#: /app/src/modules/bills/BillsModule.js:1208 msgid "Copy link" msgstr "Link kopieren" -#: /app/src/modules/bills/BillsModule.js:1186 +#: /app/src/modules/bills/BillsModule.js:1209 #, fuzzy #| msgid "Generate" msgid "Regenerate link" msgstr "Generieren" -#: /app/src/modules/bills/BillsModule.js:1196 +#: /app/src/modules/bills/BillsModule.js:1219 msgid "Link copied to clipboard" msgstr "Link in die Zwischenablage kopiert" -#: /app/src/modules/bills/BillsModule.js:1199 +#: /app/src/modules/bills/BillsModule.js:1222 msgid "Press Ctrl+C to copy the selected link" msgstr "Drücke Strg+C, um den ausgewählten Link zu kopieren" -#: /app/src/modules/bills/BillsModule.js:1204 +#: /app/src/modules/bills/BillsModule.js:1227 msgid "" "Regenerate the link? Existing calendar subscriptions will stop updating." msgstr "" "Link neu erstellen? Bestehende Kalenderabonnements werden anschließend nicht " "mehr aktualisiert." -#: /app/src/modules/bills/BillsModule.js:1208 +#: /app/src/modules/bills/BillsModule.js:1231 msgid "New link generated" msgstr "Neuer Link erstellt" -#: /app/src/modules/bills/BillsModule.js:1292 +#: /app/src/modules/bills/BillsModule.js:1313 #, fuzzy #| msgid "Bill marked as paid. Future transaction created." msgid "Bill marked as paid. Linked to existing transaction." msgstr "Rechnung als bezahlt markiert. Geplante Buchung erstellt." -#: /app/src/modules/bills/BillsModule.js:1296 +#: /app/src/modules/bills/BillsModule.js:1317 msgid "" "No transaction was recorded for this payment — your account balance will not " "reflect it." @@ -7298,13 +7597,13 @@ msgstr "" "Für diese Zahlung wurde keine Transaktion erfasst. Sie wird daher im " "Kontostand nicht berücksichtigt." -#: /app/src/modules/bills/BillsModule.js:1297 +#: /app/src/modules/bills/BillsModule.js:1318 #, fuzzy #| msgid "Bill marked as paid. Transaction created." msgid "Bill marked as paid. No transaction created." msgstr "Rechnung als bezahlt markiert. Buchung erstellt." -#: /app/src/modules/bills/BillsModule.js:1306 +#: /app/src/modules/bills/BillsModule.js:1327 msgid "" "The bill was marked as paid, but linking the selected transaction failed. " "You can link it manually from the transaction." @@ -7313,7 +7612,7 @@ msgstr "" "ausgewählten Transaktion ist jedoch fehlgeschlagen. Du kannst sie manuell " "über die Transaktion verknüpfen." -#: /app/src/modules/bills/BillsModule.js:1308 +#: /app/src/modules/bills/BillsModule.js:1329 msgid "" "No transaction was recorded for this payment — your account balance will not " "reflect it. Assign an account to the bill, or add the transaction manually." @@ -7322,173 +7621,38 @@ msgstr "" "Kontostand nicht berücksichtigt. Weise der Rechnung ein Konto zu oder " "erfasse die Transaktion manuell." -#: /app/src/modules/bills/BillsModule.js:1310 +#: /app/src/modules/bills/BillsModule.js:1331 #, fuzzy #| msgid "Bill marked as paid. Future transaction created." msgid "Bill marked as paid — without a transaction." msgstr "Rechnung als bezahlt markiert. Geplante Buchung erstellt." -#: /app/src/modules/bills/BillsModule.js:1314 -msgid "Bill marked as paid. Transaction created." -msgstr "Rechnung als bezahlt markiert. Buchung erstellt." - -#: /app/src/modules/bills/BillsModule.js:1315 +#: /app/src/modules/bills/BillsModule.js:1341 msgid "Bill marked as paid. Future transaction created." msgstr "Rechnung als bezahlt markiert. Geplante Buchung erstellt." -#: /app/src/modules/bills/BillsModule.js:1343 -#, fuzzy -#| msgid "Expected Amount" -msgid "Exact amount" -msgstr "Erwarteter Betrag" - -#: /app/src/modules/bills/BillsModule.js:1344 -msgid "Similar amount (±5%)" -msgstr "Ähnlicher Betrag (±5 %)" - -#: /app/src/modules/bills/BillsModule.js:1345 -msgid "Approximate amount (±20%)" -msgstr "Ungefährer Betrag (±20 %)" - -#: /app/src/modules/bills/BillsModule.js:1346 -msgid "Vendor matches" -msgstr "Übereinstimmende Händler" - -#: /app/src/modules/bills/BillsModule.js:1347 -#, fuzzy -#| msgid "Review all matches" -msgid "Vendor partially matches" -msgstr "Alle Übereinstimmungen überprüfen" - -#: /app/src/modules/bills/BillsModule.js:1348 -#, fuzzy -#| msgid "Description" -msgid "Description matches" -msgstr "Beschreibung" - -#: /app/src/modules/bills/BillsModule.js:1349 -msgid "Description partially matches" -msgstr "Beschreibung stimmt teilweise überein" - -#: /app/src/modules/bills/BillsModule.js:1350 -msgid "Same day" -msgstr "Am selben Tag" - -#: /app/src/modules/bills/BillsModule.js:1351 -msgid "±1 day" -msgstr "±1 Tag" - -#: /app/src/modules/bills/BillsModule.js:1352 -msgid "±3 days" -msgstr "±3 Tage" - -#: /app/src/modules/bills/BillsModule.js:1353 -msgid "±7 days" -msgstr "±7 Tage" - -#: /app/src/modules/bills/BillsModule.js:1358 -#: /app/src/modules/transactions/TransactionsModule.js:5225 -msgid "(no description)" -msgstr "(keine Beschreibung)" - -#: /app/src/modules/bills/BillsModule.js:1371 -msgid "Strong match" -msgstr "Hohe Übereinstimmung" - -#: /app/src/modules/bills/BillsModule.js:1383 -#, fuzzy -#| msgid "No matching transactions found" -msgid "Existing Transaction Found" -msgstr "Keine übereinstimmenden Buchungen gefunden" - -#: /app/src/modules/bills/BillsModule.js:1387 -msgid "" -"We found existing transactions that may already represent this bill payment " -"({billName}, {amount}). Would you like to link one instead of creating a new " -"transaction?" -msgstr "" -"Wir haben bestehende Transaktionen gefunden, die möglicherweise bereits zu " -"dieser Rechnungszahlung passen ({billName}, {amount}). Möchtest du " -"stattdessen eine davon verknüpfen, anstatt eine neue Transaktion zu " -"erstellen?" - -#: /app/src/modules/bills/BillsModule.js:1388 -msgid "" -"Whichever you choose, the bill is marked as paid and moves on to its next " -"due date." -msgstr "" -"Unabhängig von deiner Auswahl wird die Rechnung als bezahlt markiert und der " -"nächste Fälligkeitstermin festgelegt." - -#: /app/src/modules/bills/BillsModule.js:1395 -#, fuzzy -#| msgid "Text to add to transaction notes" -msgid "Create a new transaction instead" -msgstr "Hinzugefügte Buchungsnotiz" - -#: /app/src/modules/bills/BillsModule.js:1401 -msgid "Don't create any transaction (just mark as paid)" -msgstr "Keine Transaktion erstellen (nur als bezahlt markieren)" - -#: /app/src/modules/bills/BillsModule.js:1402 -msgid "Your account balance will NOT reflect this payment." -msgstr "Diese Zahlung wirkt sich NICHT auf deinen Kontostand aus." - -#: /app/src/modules/bills/BillsModule.js:1407 -#: /app/src/modules/categories/CategoriesModule.js:1934 -#: /app/src/modules/transfers/TransfersModule.js:171 -#: /app/src/modules/transfers/TransfersModule.js:611 -#: /app/src/utils/dialogs.js:237 /app/src/utils/dialogs.js:262 -#: /app/templates/index.php:1721 /app/templates/index.php:1751 -#: /app/templates/index.php:2577 /app/templates/index.php:2726 -#: /app/templates/index.php:2924 /app/templates/index.php:4779 -#: /app/templates/index.php:5083 /app/templates/index.php:5104 -#: /app/templates/index.php:5193 /app/templates/index.php:5271 -#: /app/templates/index.php:5291 /app/templates/index.php:5411 -#: /app/templates/index.php:5435 /app/templates/index.php:5471 -#: /app/templates/index.php:5507 /app/templates/index.php:5554 -#: /app/templates/index.php:5645 /app/templates/index.php:5679 -#: /app/templates/index.php:5754 /app/templates/index.php:5785 -#: /app/templates/index.php:5951 /app/templates/index.php:6148 -#: /app/templates/index.php:6381 /app/templates/index.php:6551 -#: /app/templates/index.php:6639 /app/templates/index.php:6768 -#: /app/templates/index.php:6787 /app/templates/index.php:6863 -#: /app/templates/index.php:6893 /app/templates/index.php:6924 -#: /app/templates/index.php:6963 /app/templates/index.php:6994 -#: /app/templates/index.php:7090 /app/templates/index.php:7146 -#: /app/templates/index.php:7186 /app/templates/index.php:7212 -#: /app/templates/index.php:7250 /app/templates/index.php:7292 -#: /app/templates/index.php:7338 /app/templates/index.php:7425 -#: /app/templates/index.php:7496 -msgid "Cancel" -msgstr "Abbrechen" - -#: /app/src/modules/bills/BillsModule.js:1408 -#: /app/src/modules/categories/CategoriesModule.js:1933 -#: /app/src/utils/dialogs.js:236 -#, fuzzy -#| msgid "Configure" -msgid "Confirm" -msgstr "Konfigurieren" +#: /app/src/modules/bills/BillsModule.js:1342 +msgid "Bill marked as paid. Transaction created." +msgstr "Rechnung als bezahlt markiert. Buchung erstellt." -#: /app/src/modules/bills/BillsModule.js:1469 -#: /app/src/modules/bills/BillsModule.js:1562 -#: /app/src/modules/income/IncomeModule.js:621 -#: /app/src/modules/income/IncomeModule.js:687 -#: /app/src/modules/transfers/TransfersModule.js:1036 +#: /app/src/modules/bills/BillsModule.js:1374 +#: /app/src/modules/bills/BillsModule.js:1467 +#: /app/src/modules/income/IncomeModule.js:628 +#: /app/src/modules/income/IncomeModule.js:694 +#: /app/src/modules/transfers/TransfersModule.js:1068 msgid "Action undone" msgstr "Aktion rückgängig gemacht" -#: /app/src/modules/bills/BillsModule.js:1472 -#: /app/src/modules/bills/BillsModule.js:1565 -#: /app/src/modules/income/IncomeModule.js:624 -#: /app/src/modules/income/IncomeModule.js:690 -#: /app/src/modules/transfers/TransfersModule.js:1039 +#: /app/src/modules/bills/BillsModule.js:1377 +#: /app/src/modules/bills/BillsModule.js:1470 +#: /app/src/modules/income/IncomeModule.js:631 +#: /app/src/modules/income/IncomeModule.js:697 +#: /app/src/modules/transfers/TransfersModule.js:1071 msgid "Failed to undo action: {message}" msgstr "Fehler beim Rückgängigmachen der Aktion: {message}" -#: /app/src/modules/bills/BillsModule.js:1487 -#: /app/src/modules/transfers/TransfersModule.js:1050 +#: /app/src/modules/bills/BillsModule.js:1392 +#: /app/src/modules/transfers/TransfersModule.js:1082 msgid "" "Mark this bill as unpaid? Transactions created for the payment will be " "deleted, a linked imported transaction will be unlinked, and the bill " @@ -7498,8 +7662,8 @@ msgstr "" "Transaktionen werden gelöscht, eine verknüpfte importierte Transaktion wird " "von der Rechnung getrennt und der Rechnungsplan zurückgesetzt." -#: /app/src/modules/bills/BillsModule.js:1492 -#: /app/src/modules/transfers/TransfersModule.js:1053 +#: /app/src/modules/bills/BillsModule.js:1397 +#: /app/src/modules/transfers/TransfersModule.js:1085 msgid "" "Auto-pay is on for this bill — it may pay it again on the next run. Disable " "auto-pay first if the payment should not recur." @@ -7508,170 +7672,180 @@ msgstr "" "Durchlauf könnte sie erneut bezahlt werden. Deaktiviere zuerst die " "automatische Zahlung, wenn die Zahlung nicht erneut erfolgen soll." -#: /app/src/modules/bills/BillsModule.js:1505 +#: /app/src/modules/bills/BillsModule.js:1410 msgid "Payment reverted — the bill is marked as unpaid." msgstr "Zahlung rückgängig gemacht – die Rechnung ist als unbezahlt markiert." -#: /app/src/modules/bills/BillsModule.js:1519 -#: /app/src/modules/transfers/TransfersModule.js:988 +#: /app/src/modules/bills/BillsModule.js:1424 +#: /app/src/modules/transfers/TransfersModule.js:1020 msgid "Skip this payment and advance to the next due date?" msgstr "Diese Zahlung überspringen und zum nächsten Fälligkeitsdatum wechseln?" -#: /app/src/modules/bills/BillsModule.js:1535 -#: /app/src/modules/transfers/TransfersModule.js:1008 +#: /app/src/modules/bills/BillsModule.js:1440 +#: /app/src/modules/transfers/TransfersModule.js:1040 msgid "Payment skipped. Advanced to next due date." msgstr "Zahlung übersprungen. Zum nächsten Fälligkeitsdatum gewechselt." -#: /app/src/modules/bills/BillsModule.js:1572 -#: /app/src/modules/income/IncomeModule.js:697 -#: /app/src/modules/transfers/TransfersModule.js:1248 +#: /app/src/modules/bills/BillsModule.js:1477 +#: /app/src/modules/income/IncomeModule.js:704 +#: /app/src/modules/transfers/TransfersModule.js:1241 msgid "Detecting..." msgstr "Wird erkannt..." -#: /app/src/modules/bills/BillsModule.js:1578 -#: /app/src/modules/transfers/TransfersModule.js:1254 +#: /app/src/modules/bills/BillsModule.js:1483 +#: /app/src/modules/transfers/TransfersModule.js:1249 msgid "No recurring transactions detected" msgstr "Keine wiederkehrenden Buchungen erkannt" -#: /app/src/modules/bills/BillsModule.js:1589 /app/templates/index.php:2618 +#: /app/src/modules/bills/BillsModule.js:1494 /app/templates/index.php:2618 msgid "Detect Bills" msgstr "Rechnungen erkennen" -#: /app/src/modules/bills/BillsModule.js:1626 +#: /app/src/modules/bills/BillsModule.js:1536 msgid "Please select at least one bill to add" msgstr "Bitte wähle mindestens eine Rechnung zum Hinzufügen aus" -#: /app/src/modules/bills/BillsModule.js:1638 +#: /app/src/modules/bills/BillsModule.js:1548 msgid "%n bill added successfully" msgid_plural "%n bills added successfully" msgstr[0] "%n Rechnung erfolgreich hinzugefügt" msgstr[1] "%n Rechnungen erfolgreich hinzugefügt" -#: /app/src/modules/bills/BillsModule.js:1642 +#: /app/src/modules/bills/BillsModule.js:1552 msgid "Failed to add selected bills" msgstr "Ausgewählte Rechnungen konnten nicht hinzugefügt werden" -#: /app/src/modules/bills/BillsModule.js:1735 +#: /app/src/modules/bills/BillsModule.js:1645 #: /app/src/modules/tagsets/TagSetsModule.js:635 -#: /app/src/modules/transfers/TransfersModule.js:1182 +#: /app/src/modules/transfers/TransfersModule.js:1199 msgid "No tags defined" msgstr "Keine Schlagwörter definiert" -#: /app/src/modules/categories/CategoriesModule.js:112 -#: /app/src/modules/categories/CategoriesModule.js:115 +#: /app/src/modules/categories/CategoriesModule.js:113 +#: /app/src/modules/categories/CategoriesModule.js:116 msgid "Failed to load categories" msgstr "Kategorien konnten nicht geladen werden" -#: /app/src/modules/categories/CategoriesModule.js:320 +#: /app/src/modules/categories/CategoriesModule.js:321 #, fuzzy #| msgid "Collapse all" msgid "Collapse" msgstr "Alle zusammenklappen" -#: /app/src/modules/categories/CategoriesModule.js:320 +#: /app/src/modules/categories/CategoriesModule.js:321 #, fuzzy #| msgid "Expand all" msgid "Expand" msgstr "Alle aufklappen" -#: /app/src/modules/categories/CategoriesModule.js:333 +#: /app/src/modules/categories/CategoriesModule.js:334 +#, fuzzy +#| msgid "Shared by {owner} — you can edit" +msgid "Shared by {owner} — you have full control" +msgstr "Von {owner} geteilt – du kannst es bearbeiten" + +#: /app/src/modules/categories/CategoriesModule.js:334 +msgid "Shared (full control)" +msgstr "Geteilt (Vollzugriff)" + +#: /app/src/modules/categories/CategoriesModule.js:336 msgid "Shared by {owner} — you can edit" msgstr "Von {owner} geteilt – du kannst es bearbeiten" -#: /app/src/modules/categories/CategoriesModule.js:333 +#: /app/src/modules/categories/CategoriesModule.js:336 #, fuzzy #| msgid "Shared With Me" msgid "Shared (editable)" msgstr "Geteilt mit mir" -#: /app/src/modules/categories/CategoriesModule.js:335 +#: /app/src/modules/categories/CategoriesModule.js:338 #: /app/src/modules/projects/ProjectsModule.js:57 #: /app/src/modules/rules/RulesModule.js:132 -#: /app/src/modules/savings/SavingsModule.js:126 +#: /app/src/modules/savings/SavingsModule.js:128 msgid "Shared by {owner}" msgstr "Von {owner} geteilt" -#: /app/src/modules/categories/CategoriesModule.js:335 +#: /app/src/modules/categories/CategoriesModule.js:338 #: /app/src/modules/projects/ProjectsModule.js:57 #: /app/src/modules/rules/RulesModule.js:132 -#: /app/src/modules/savings/SavingsModule.js:126 +#: /app/src/modules/savings/SavingsModule.js:128 #: /app/src/modules/transactions/transactionRow.js:71 msgid "Shared" msgstr "Geteilt" -#: /app/src/modules/categories/CategoriesModule.js:337 +#: /app/src/modules/categories/CategoriesModule.js:340 msgid "Hidden from your reports — the owner and other viewers are unaffected" msgstr "" "In deinen Berichten ausgeblendet – der Eigentümer und andere Nutzer sind " "davon nicht betroffen" -#: /app/src/modules/categories/CategoriesModule.js:337 +#: /app/src/modules/categories/CategoriesModule.js:340 msgid "Hidden from my reports" msgstr "In meinen Berichten ausgeblendet" -#: /app/src/modules/categories/CategoriesModule.js:345 +#: /app/src/modules/categories/CategoriesModule.js:348 msgid "Show in my reports" msgstr "In meinen Berichten anzeigen" -#: /app/src/modules/categories/CategoriesModule.js:345 +#: /app/src/modules/categories/CategoriesModule.js:348 msgid "Hide from my reports" msgstr "In meinen Berichten ausblenden" -#: /app/src/modules/categories/CategoriesModule.js:349 +#: /app/src/modules/categories/CategoriesModule.js:352 msgid "Delete {name}" msgstr "{name} löschen" -#: /app/src/modules/categories/CategoriesModule.js:435 +#: /app/src/modules/categories/CategoriesModule.js:438 msgid "Category hidden from your reports" msgstr "Kategorie in deinen Berichten ausgeblendet" -#: /app/src/modules/categories/CategoriesModule.js:436 +#: /app/src/modules/categories/CategoriesModule.js:439 msgid "Category shown in your reports again" msgstr "Kategorie wird wieder in deinen Berichten angezeigt" -#: /app/src/modules/categories/CategoriesModule.js:600 +#: /app/src/modules/categories/CategoriesModule.js:606 #, fuzzy #| msgid "Shared categories cannot be moved or reordered" msgid "Shared categories can only be reordered among themselves" msgstr "" "Freigegebene Kategorien können nicht verschoben oder neu angeordnet werden" -#: /app/src/modules/categories/CategoriesModule.js:616 +#: /app/src/modules/categories/CategoriesModule.js:622 msgid "Category reordered successfully" msgstr "Kategorie erfolgreich neu sortiert" -#: /app/src/modules/categories/CategoriesModule.js:682 -#: /app/src/modules/dashboard/DashboardModule.js:5101 +#: /app/src/modules/categories/CategoriesModule.js:700 +#: /app/src/modules/dashboard/DashboardModule.js:5333 #: /app/src/modules/reports/ReportsModule.js:204 #: /app/src/modules/reports/ReportsModule.js:207 #: /app/src/modules/reports/ReportsModule.js:209 -#: /app/src/modules/reports/ReportsModule.js:1702 -#: /app/src/modules/transactions/TransactionsModule.js:503 +#: /app/src/modules/reports/ReportsModule.js:1703 +#: /app/src/modules/transactions/TransactionsModule.js:525 #: /app/templates/index.php:594 /app/templates/index.php:616 #: /app/templates/index.php:634 /app/templates/index.php:685 #: /app/templates/index.php:1620 /app/templates/index.php:2032 -#: /app/templates/index.php:3617 /app/templates/index.php:6570 +#: /app/templates/index.php:3617 /app/templates/index.php:6571 msgid "All Accounts" msgstr "Alle Konten" -#: /app/src/modules/categories/CategoriesModule.js:784 +#: /app/src/modules/categories/CategoriesModule.js:792 msgid "Increasing" msgstr "Zunehmend" -#: /app/src/modules/categories/CategoriesModule.js:785 +#: /app/src/modules/categories/CategoriesModule.js:793 msgid "Decreasing" msgstr "Abnehmend" -#: /app/src/modules/categories/CategoriesModule.js:786 +#: /app/src/modules/categories/CategoriesModule.js:794 msgid "Stable" msgstr "Stabil" -#: /app/src/modules/categories/CategoriesModule.js:803 +#: /app/src/modules/categories/CategoriesModule.js:811 #: /app/templates/index.php:2052 msgid "No transactions in this category yet." msgstr "Noch keine Buchungen in dieser Kategorie." -#: /app/src/modules/categories/CategoriesModule.js:832 +#: /app/src/modules/categories/CategoriesModule.js:840 #: /app/src/modules/transactions/transactionRow.js:67 msgid "" "Part of a split transaction. The amount shown is the part in this category." @@ -7679,43 +7853,43 @@ msgstr "" "Teil einer aufgeteilten Transaktion. Der angezeigte Betrag ist der dieser " "Kategorie zugeordnete Teilbetrag." -#: /app/src/modules/categories/CategoriesModule.js:832 +#: /app/src/modules/categories/CategoriesModule.js:840 #: /app/src/modules/transactions/transactionRow.js:68 #, fuzzy #| msgid "Split with" msgid "Split part" msgstr "Teilen mit" -#: /app/src/modules/categories/CategoriesModule.js:833 +#: /app/src/modules/categories/CategoriesModule.js:841 msgid "Split part of {total}" msgstr "Aufteilung von {total}" -#: /app/src/modules/categories/CategoriesModule.js:906 +#: /app/src/modules/categories/CategoriesModule.js:914 #, fuzzy #| msgid "Pending" msgid "Spending" msgstr "Ausstehend" -#: /app/src/modules/categories/CategoriesModule.js:1051 +#: /app/src/modules/categories/CategoriesModule.js:1059 msgid "Root" msgstr "Hauptkategorie" -#: /app/src/modules/categories/CategoriesModule.js:1075 +#: /app/src/modules/categories/CategoriesModule.js:1083 #: /app/templates/index.php:1884 /app/templates/index.php:1948 msgid "Add Category" msgstr "Kategorie hinzufügen" -#: /app/src/modules/categories/CategoriesModule.js:1128 +#: /app/src/modules/categories/CategoriesModule.js:1138 #, fuzzy #| msgid "Edit Category" msgid "Edit Shared Category" msgstr "Kategorie bearbeiten" -#: /app/src/modules/categories/CategoriesModule.js:1129 +#: /app/src/modules/categories/CategoriesModule.js:1139 msgid "Edit Category" msgstr "Kategorie bearbeiten" -#: /app/src/modules/categories/CategoriesModule.js:1167 +#: /app/src/modules/categories/CategoriesModule.js:1185 msgid "" "Are you sure you want to delete the category \"{name}\"? This action cannot " "be undone." @@ -7723,36 +7897,36 @@ msgstr "" "Möchten Sie die Kategorie „{name}“ wirklich löschen? Diese Aktion kann nicht " "rückgängig gemacht werden." -#: /app/src/modules/categories/CategoriesModule.js:1176 -#: /app/src/modules/categories/CategoriesModule.js:1205 +#: /app/src/modules/categories/CategoriesModule.js:1198 +#: /app/src/modules/categories/CategoriesModule.js:1227 msgid "Category deleted; its transactions are now Uncategorized" msgstr "" "Die Kategorie wurde gelöscht. Die zugehörigen Transaktionen wurden nach " "„Nicht kategorisiert“ verschoben" -#: /app/src/modules/categories/CategoriesModule.js:1177 -#: /app/src/modules/categories/CategoriesModule.js:1206 +#: /app/src/modules/categories/CategoriesModule.js:1199 +#: /app/src/modules/categories/CategoriesModule.js:1228 msgid "Category deleted successfully" msgstr "Kategorie erfolgreich gelöscht" -#: /app/src/modules/categories/CategoriesModule.js:1183 -#: /app/src/modules/categories/CategoriesModule.js:1215 -#: /app/src/modules/categories/CategoriesModule.js:1227 +#: /app/src/modules/categories/CategoriesModule.js:1205 +#: /app/src/modules/categories/CategoriesModule.js:1237 +#: /app/src/modules/categories/CategoriesModule.js:1249 msgid "Failed to delete category" msgstr "Das Löschen der Kategorie schlug fehl" -#: /app/src/modules/categories/CategoriesModule.js:1194 +#: /app/src/modules/categories/CategoriesModule.js:1216 msgid "this category" msgstr "diese Kategorie" -#: /app/src/modules/categories/CategoriesModule.js:1196 +#: /app/src/modules/categories/CategoriesModule.js:1218 msgid "" "Are you sure you want to delete \"{name}\"? This action cannot be undone." msgstr "" "Möchten Sie „{name}“ wirklich löschen? Diese Aktion kann nicht rückgängig " "gemacht werden." -#: /app/src/modules/categories/CategoriesModule.js:1243 +#: /app/src/modules/categories/CategoriesModule.js:1265 msgid "" "This category still has transactions assigned to it. Move them to " "Uncategorized and delete \"{name}\"?" @@ -7760,7 +7934,7 @@ msgstr "" "Dieser Kategorie sind noch Transaktionen zugeordnet. Sollen sie in „Nicht " "kategorisiert“ verschoben und „{name}“ gelöscht werden?" -#: /app/src/modules/categories/CategoriesModule.js:1323 +#: /app/src/modules/categories/CategoriesModule.js:1345 msgid "" "Are you sure you want to delete %n category? This action cannot be undone." msgid_plural "" @@ -7772,19 +7946,19 @@ msgstr[1] "" "Möchtest du %n Kategorien wirklich löschen? Diese Aktion kann nicht " "rückgängig gemacht werden." -#: /app/src/modules/categories/CategoriesModule.js:1335 -#: /app/src/modules/pensions/PensionsModule.js:834 -#: /app/src/modules/pensions/PensionsModule.js:1096 +#: /app/src/modules/categories/CategoriesModule.js:1357 +#: /app/src/modules/pensions/PensionsModule.js:884 +#: /app/src/modules/pensions/PensionsModule.js:1183 msgid "Failed to delete" msgstr "Löschen fehlgeschlagen" -#: /app/src/modules/categories/CategoriesModule.js:1347 +#: /app/src/modules/categories/CategoriesModule.js:1369 msgid "%n category deleted successfully" msgid_plural "%n categories deleted successfully" msgstr[0] "%n Kategorie erfolgreich gelöscht" msgstr[1] "%n Kategorien erfolgreich gelöscht" -#: /app/src/modules/categories/CategoriesModule.js:1370 +#: /app/src/modules/categories/CategoriesModule.js:1392 msgid "Give %n category a new color? Its current color will be replaced." msgid_plural "" "Give %n categories new colors? Their current colors will be replaced." @@ -7793,7 +7967,7 @@ msgstr[0] "" msgstr[1] "" "%n Kategorien eine neue Farbe zuweisen? Die aktuellen Farben werden ersetzt." -#: /app/src/modules/categories/CategoriesModule.js:1399 +#: /app/src/modules/categories/CategoriesModule.js:1421 #, fuzzy #| msgid "%n category under budget" #| msgid_plural "%n categories under budget" @@ -7802,51 +7976,51 @@ msgid_plural "%n categories recolored" msgstr[0] "Kategorie unter dem Budget" msgstr[1] "Kategorien unter dem Budget" -#: /app/src/modules/categories/CategoriesModule.js:1405 +#: /app/src/modules/categories/CategoriesModule.js:1427 #, fuzzy #| msgid "Failed to delete: {errors}" msgid "Failed to recolor: {errors}" msgstr "Fehler beim Löschen: {errors}" -#: /app/src/modules/categories/CategoriesModule.js:1478 -#: /app/templates/index.php:6820 +#: /app/src/modules/categories/CategoriesModule.js:1507 +#: /app/templates/index.php:6821 msgid "None (Top Level)" msgstr "Keine (oberste Ebene)" -#: /app/src/modules/categories/CategoriesModule.js:1497 +#: /app/src/modules/categories/CategoriesModule.js:1536 msgid "Category name is required" msgstr "Name der Kategorie ist erforderlich" -#: /app/src/modules/categories/CategoriesModule.js:1534 -#: /app/src/modules/categories/CategoriesModule.js:1549 +#: /app/src/modules/categories/CategoriesModule.js:1574 +#: /app/src/modules/categories/CategoriesModule.js:1589 msgid "Failed to save category" msgstr "Kategorie konnte nicht gespeichert werden" -#: /app/src/modules/categories/CategoriesModule.js:1537 +#: /app/src/modules/categories/CategoriesModule.js:1577 msgid "Category updated successfully" msgstr "Kategorie erfolgreich aktualisiert" -#: /app/src/modules/categories/CategoriesModule.js:1537 +#: /app/src/modules/categories/CategoriesModule.js:1577 msgid "Category created successfully" msgstr "Kategorie erfolgreich erstellt" -#: /app/src/modules/categories/CategoriesModule.js:1564 -#: /app/src/modules/categories/CategoriesModule.js:1572 +#: /app/src/modules/categories/CategoriesModule.js:1604 +#: /app/src/modules/categories/CategoriesModule.js:1612 msgid "Failed to create default categories" msgstr "Standardkategorien konnten nicht erstellt werden" -#: /app/src/modules/categories/CategoriesModule.js:1567 +#: /app/src/modules/categories/CategoriesModule.js:1607 msgid "Default categories created successfully" msgstr "Standardkategorien erfolgreich erstellt" -#: /app/src/modules/categories/CategoriesModule.js:1615 -#: /app/src/modules/rules/RulesModule.js:1363 +#: /app/src/modules/categories/CategoriesModule.js:1655 +#: /app/src/modules/rules/RulesModule.js:1378 #, fuzzy #| msgid "Failed to preview file: {error}" msgid "Could not read that file: {error}" msgstr "Vorschau der Datei fehlgeschlagen: {error}" -#: /app/src/modules/categories/CategoriesModule.js:1641 +#: /app/src/modules/categories/CategoriesModule.js:1681 msgid "" "{create} new categories will be created. {exists} already exist and will be " "left unchanged." @@ -7854,7 +8028,7 @@ msgstr "" "{create} neue Kategorien werden erstellt. {exists} sind bereits vorhanden " "und bleiben unverändert." -#: /app/src/modules/categories/CategoriesModule.js:1642 +#: /app/src/modules/categories/CategoriesModule.js:1682 #, fuzzy #| msgid "%n category is over budget." #| msgid_plural "%n categories are over budget." @@ -7863,28 +8037,28 @@ msgid_plural "%n new categories will be created." msgstr[0] "%n Kategorie ist über dem Budget." msgstr[1] "%n Kategorien sind über dem Budget." -#: /app/src/modules/categories/CategoriesModule.js:1661 +#: /app/src/modules/categories/CategoriesModule.js:1701 msgid "Import %n category" msgid_plural "Import %n categories" msgstr[0] "%n Kategorie importieren" msgstr[1] "%n Kategorien importieren" -#: /app/src/modules/categories/CategoriesModule.js:1662 +#: /app/src/modules/categories/CategoriesModule.js:1702 #, fuzzy #| msgid "No transactions to import" msgid "Nothing to import" msgstr "Keine Buchungen zum Importieren vorhanden" -#: /app/src/modules/categories/CategoriesModule.js:1672 +#: /app/src/modules/categories/CategoriesModule.js:1712 msgid "Exists" msgstr "Bereits vorhanden" -#: /app/src/modules/categories/CategoriesModule.js:1673 +#: /app/src/modules/categories/CategoriesModule.js:1713 #: /app/src/modules/import/ImportModule.js:1992 msgid "New" msgstr "Neu" -#: /app/src/modules/categories/CategoriesModule.js:1700 +#: /app/src/modules/categories/CategoriesModule.js:1740 #, fuzzy #| msgid "Imported %n rule" #| msgid_plural "Imported %n rules" @@ -7893,21 +8067,21 @@ msgid_plural "Imported %n categories" msgstr[0] "%n Regel importiert" msgstr[1] "%n Regeln importiert" -#: /app/src/modules/categories/CategoriesModule.js:1900 +#: /app/src/modules/categories/CategoriesModule.js:1964 msgid "Budgets adjusted from {month}" msgstr "Budgets ab {month} angepasst" -#: /app/src/modules/categories/CategoriesModule.js:1901 +#: /app/src/modules/categories/CategoriesModule.js:1965 #, fuzzy #| msgid "Remove action" msgid "Remove adjustment" msgstr "Aktion löschen" -#: /app/src/modules/categories/CategoriesModule.js:1914 +#: /app/src/modules/categories/CategoriesModule.js:1978 msgid "Adjust budgets from this month" msgstr "Budgets von diesem Monat anpassen" -#: /app/src/modules/categories/CategoriesModule.js:1930 +#: /app/src/modules/categories/CategoriesModule.js:1994 msgid "" "This will save the current budget values as a new baseline from {month} " "onwards. Previous months will keep their existing values. You can edit the " @@ -7917,46 +8091,81 @@ msgstr "" "gespeichert. Die Werte der vorherigen Monate bleiben unverändert. Nach dem " "Bestätigen kannst du die neuen Werte bearbeiten." -#: /app/src/modules/categories/CategoriesModule.js:1932 +#: /app/src/modules/categories/CategoriesModule.js:1996 msgid "Adjust budgets from {month}?" msgstr "Budgets ab {month} anpassen?" -#: /app/src/modules/categories/CategoriesModule.js:1945 -#: /app/src/modules/categories/CategoriesModule.js:1965 +#: /app/src/modules/categories/CategoriesModule.js:1997 +#: /app/src/utils/dialogs.js:236 /app/src/utils/matchingDialog.js:98 +#, fuzzy +#| msgid "Configure" +msgid "Confirm" +msgstr "Konfigurieren" + +#: /app/src/modules/categories/CategoriesModule.js:1998 +#: /app/src/modules/transfers/TransfersModule.js:176 +#: /app/src/modules/transfers/TransfersModule.js:596 +#: /app/src/utils/dialogs.js:237 /app/src/utils/dialogs.js:262 +#: /app/src/utils/matchingDialog.js:97 /app/templates/index.php:1721 +#: /app/templates/index.php:1751 /app/templates/index.php:2577 +#: /app/templates/index.php:2726 /app/templates/index.php:2924 +#: /app/templates/index.php:4779 /app/templates/index.php:5083 +#: /app/templates/index.php:5104 /app/templates/index.php:5193 +#: /app/templates/index.php:5271 /app/templates/index.php:5291 +#: /app/templates/index.php:5411 /app/templates/index.php:5435 +#: /app/templates/index.php:5471 /app/templates/index.php:5507 +#: /app/templates/index.php:5554 /app/templates/index.php:5645 +#: /app/templates/index.php:5679 /app/templates/index.php:5754 +#: /app/templates/index.php:5785 /app/templates/index.php:5951 +#: /app/templates/index.php:6148 /app/templates/index.php:6382 +#: /app/templates/index.php:6552 /app/templates/index.php:6640 +#: /app/templates/index.php:6769 /app/templates/index.php:6788 +#: /app/templates/index.php:6864 /app/templates/index.php:6894 +#: /app/templates/index.php:6925 /app/templates/index.php:6964 +#: /app/templates/index.php:6995 /app/templates/index.php:7091 +#: /app/templates/index.php:7147 /app/templates/index.php:7187 +#: /app/templates/index.php:7213 /app/templates/index.php:7251 +#: /app/templates/index.php:7293 /app/templates/index.php:7339 +#: /app/templates/index.php:7426 /app/templates/index.php:7497 +msgid "Cancel" +msgstr "Abbrechen" + +#: /app/src/modules/categories/CategoriesModule.js:2009 +#: /app/src/modules/categories/CategoriesModule.js:2029 #, fuzzy #| msgid "Failed to create tag set" msgid "Failed to create budget adjustment" msgstr "Fehler beim Erstellen des Schlagwort Gruppe" -#: /app/src/modules/categories/CategoriesModule.js:1959 +#: /app/src/modules/categories/CategoriesModule.js:2023 msgid "" "Budget adjusted from {month}. You can now edit values for this month onwards." msgstr "" "Das Budget wurde ab {month} angepasst. Du kannst die Werte ab diesem Monat " "jetzt bearbeiten." -#: /app/src/modules/categories/CategoriesModule.js:1974 +#: /app/src/modules/categories/CategoriesModule.js:2038 msgid "Budget adjustment created." msgstr "Budgetanpassung erstellt." -#: /app/src/modules/categories/CategoriesModule.js:1975 -#: /app/src/modules/transactions/TransactionsModule.js:4177 -#: /app/src/modules/transactions/TransactionsModule.js:4332 +#: /app/src/modules/categories/CategoriesModule.js:2039 +#: /app/src/modules/transactions/TransactionsModule.js:4228 +#: /app/src/modules/transactions/TransactionsModule.js:4383 #: /app/src/utils/notifications.js:73 msgid "Undo" msgstr "Rückgängig" -#: /app/src/modules/categories/CategoriesModule.js:2008 +#: /app/src/modules/categories/CategoriesModule.js:2072 msgid "Budget adjustment removed" msgstr "Budgetanpassung entfernt" -#: /app/src/modules/categories/CategoriesModule.js:2011 +#: /app/src/modules/categories/CategoriesModule.js:2075 #, fuzzy #| msgid "Failed to retrieve budget alerts" msgid "Failed to remove budget adjustment" msgstr "Budgetwarnungen wurden nicht abgerufen" -#: /app/src/modules/categories/CategoriesModule.js:2337 +#: /app/src/modules/categories/CategoriesModule.js:2397 msgid "" "Envelope budgeting on: unspent budget carries to next month. Click to turn " "off." @@ -7964,897 +8173,959 @@ msgstr "" "Umlagebudgetierung aktiviert: Nicht verbrauchtes Budget wird in den nächsten " "Monat übernommen. Klicke hier, um sie zu deaktivieren." -#: /app/src/modules/categories/CategoriesModule.js:2337 +#: /app/src/modules/categories/CategoriesModule.js:2397 msgid "Turn on envelope budgeting: unspent budget carries to next month" msgstr "" "Umlagebudgetierung aktivieren: Nicht verbrauchtes Budget wird in den " "nächsten Monat übernommen" -#: /app/src/modules/categories/CategoriesModule.js:2338 +#: /app/src/modules/categories/CategoriesModule.js:2398 #, fuzzy #| msgid "Exclude from budgeting" msgid "Envelope budgeting" msgstr "Von der Budgetierung ausschließen" -#: /app/src/modules/categories/CategoriesModule.js:2344 +#: /app/src/modules/categories/CategoriesModule.js:2405 #, fuzzy #| msgid "Listed under {category}" msgid "Budget for {category}" msgstr "Aufgeführt unter {category}" -#: /app/src/modules/categories/CategoriesModule.js:2350 +#: /app/src/modules/categories/CategoriesModule.js:2412 msgid "Auto-calculated from recurring bills/income. Enter a value to override." msgstr "" "Automatisch aus wiederkehrenden Rechnungen und Einnahmen berechnet. Gib " "einen Wert ein, um ihn zu überschreiben." -#: /app/src/modules/categories/CategoriesModule.js:2350 -#: /app/src/modules/pensions/PensionsModule.js:1034 +#: /app/src/modules/categories/CategoriesModule.js:2412 +#: /app/src/modules/pensions/PensionsModule.js:1108 msgid "auto" msgstr "Auto" -#: /app/src/modules/categories/CategoriesModule.js:2352 +#: /app/src/modules/categories/CategoriesModule.js:2414 msgid "{base} − {over} overspent = {available} available" msgstr "{base} − {over} überzogen = {available} verfügbar" -#: /app/src/modules/categories/CategoriesModule.js:2353 +#: /app/src/modules/categories/CategoriesModule.js:2415 msgid "{base} + {carried} carried = {available} available" msgstr "{base} + {carried} übernommen = {available} verfügbar" -#: /app/src/modules/categories/CategoriesModule.js:2354 -#, fuzzy -#| msgid "Projected Value" +#: /app/src/modules/categories/CategoriesModule.js:2416 msgid "(projected)" -msgstr "Prognostizierter Wert" +msgstr "(prognostiziert)" -#: /app/src/modules/categories/CategoriesModule.js:2358 +#: /app/src/modules/categories/CategoriesModule.js:2420 #, fuzzy #| msgid "Listed under {category}" msgid "Budget period for {category}" msgstr "Aufgeführt unter {category}" -#: /app/src/modules/categories/CategoriesModule.js:2371 +#: /app/src/modules/categories/CategoriesModule.js:2433 #: /app/templates/index.php:2236 /app/templates/index.php:5139 msgid "Progress" msgstr "Fortschritt" -#: /app/src/modules/categories/CategoriesModule.js:2378 +#: /app/src/modules/categories/CategoriesModule.js:2440 msgid "No budget set" msgstr "Kein Budget festgelegt" -#: /app/src/modules/categories/CategoriesModule.js:2452 +#: /app/src/modules/categories/CategoriesModule.js:2514 msgid "Envelope budgeting enabled — unspent budget now carries to next month" msgstr "" "Umschlagbudgetierung aktiviert – nicht verbrauchtes Budget wird jetzt in den " "nächsten Monat übertragen" -#: /app/src/modules/categories/CategoriesModule.js:2453 +#: /app/src/modules/categories/CategoriesModule.js:2515 msgid "Envelope budgeting disabled" msgstr "Umschlagbudgetierung deaktiviert" -#: /app/src/modules/categories/CategoriesModule.js:2456 +#: /app/src/modules/categories/CategoriesModule.js:2518 #, fuzzy #| msgid "Failed to update setting" msgid "Failed to update envelope setting" msgstr "Einstellung konnte nicht aktualisiert werden" -#: /app/src/modules/categories/CategoriesModule.js:2565 +#: /app/src/modules/categories/CategoriesModule.js:2639 msgid "Budget updated" msgstr "Budget aktualisiert" -#: /app/src/modules/categories/CategoriesModule.js:2568 +#: /app/src/modules/categories/CategoriesModule.js:2642 msgid "Failed to update budget: {message}" msgstr "Budget konnte nicht aktualisiert werden: {message}" -#: /app/src/modules/categories/CategoriesModule.js:2657 +#: /app/src/modules/categories/CategoriesModule.js:2731 msgid "Over-assigned: {income} in, {budgeted} budgeted" msgstr "Zu viel zugewiesen: {income} Einnahmen, {budgeted} budgetiert" -#: /app/src/modules/categories/CategoriesModule.js:2659 +#: /app/src/modules/categories/CategoriesModule.js:2733 msgid "{income} in, {budgeted} budgeted" msgstr "{income} Einnahmen, {budgeted} budgetiert" -#: /app/src/modules/dashboard/DashboardModule.js:403 -#: /app/src/modules/dashboard/DashboardModule.js:425 -#: /app/src/modules/dashboard/DashboardModule.js:517 +#: /app/src/modules/dashboard/DashboardModule.js:404 +#: /app/src/modules/dashboard/DashboardModule.js:426 +#: /app/src/modules/dashboard/DashboardModule.js:518 msgid "{percent}% vs last month" msgstr "{percent}% im Vergleich zum Vormonat" -#: /app/src/modules/dashboard/DashboardModule.js:442 -#, javascript-format +#: /app/src/modules/dashboard/DashboardModule.js:443 +#, no-javascript-format msgid "{percent}% savings rate" msgstr "{percent}% sparquote" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Great" msgstr "Großartig" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Good" msgstr "Gut" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Low" msgstr "Niedrig" -#: /app/src/modules/dashboard/DashboardModule.js:616 -#: /app/src/modules/dashboard/DashboardModule.js:686 +#: /app/src/modules/dashboard/DashboardModule.js:617 +#: /app/src/modules/dashboard/DashboardModule.js:687 msgid "Last 7 days" msgstr "Letzte 7 Tage" -#: /app/src/modules/dashboard/DashboardModule.js:617 -#: /app/src/modules/dashboard/DashboardModule.js:689 +#: /app/src/modules/dashboard/DashboardModule.js:618 +#: /app/src/modules/dashboard/DashboardModule.js:690 msgid "Last 30 days" msgstr "Letzte 30 Tage" -#: /app/src/modules/dashboard/DashboardModule.js:618 -#: /app/src/modules/dashboard/DashboardModule.js:690 +#: /app/src/modules/dashboard/DashboardModule.js:619 +#: /app/src/modules/dashboard/DashboardModule.js:691 msgid "Last 90 days" msgstr "Letzte 90 Tage" -#: /app/src/modules/dashboard/DashboardModule.js:619 -#: /app/src/modules/dashboard/DashboardModule.js:691 +#: /app/src/modules/dashboard/DashboardModule.js:620 +#: /app/src/modules/dashboard/DashboardModule.js:692 msgid "Last 6 months" msgstr "Letzte 6 Monate" -#: /app/src/modules/dashboard/DashboardModule.js:620 -#: /app/src/modules/dashboard/DashboardModule.js:692 +#: /app/src/modules/dashboard/DashboardModule.js:621 +#: /app/src/modules/dashboard/DashboardModule.js:693 msgid "Last year" msgstr "Letztes Jahr" -#: /app/src/modules/dashboard/DashboardModule.js:621 -#: /app/src/modules/dashboard/DashboardModule.js:695 +#: /app/src/modules/dashboard/DashboardModule.js:622 +#: /app/src/modules/dashboard/DashboardModule.js:696 #, fuzzy #| msgid "Invalid regex pattern" msgid "Current budget period" msgstr "Ungültiger regex Ausdruck" -#: /app/src/modules/dashboard/DashboardModule.js:703 #: /app/src/modules/dashboard/DashboardModule.js:704 +#: /app/src/modules/dashboard/DashboardModule.js:705 #: /app/templates/index.php:2597 #, fuzzy #| msgid "Custom Range" msgid "Date Range" msgstr "Individueller Bereich" -#: /app/src/modules/dashboard/DashboardModule.js:789 -#: /app/src/modules/dashboard/DashboardModule.js:791 +#: /app/src/modules/dashboard/DashboardModule.js:726 +#, fuzzy +#| msgid "Failed to save account" +msgid "Exclude shared bills" +msgstr "Konto konnte nicht gespeichert werden" + +#: /app/src/modules/dashboard/DashboardModule.js:742 +msgid "Show bills overdue for more than a week" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:845 +#: /app/src/modules/dashboard/DashboardModule.js:847 msgid "All accounts" msgstr "Alle Konten" -#: /app/src/modules/dashboard/DashboardModule.js:907 +#: /app/src/modules/dashboard/DashboardModule.js:966 msgid "%n category under budget" msgid_plural "%n categories under budget" msgstr[0] "Kategorie unter dem Budget" msgstr[1] "Kategorien unter dem Budget" -#: /app/src/modules/dashboard/DashboardModule.js:933 +#: /app/src/modules/dashboard/DashboardModule.js:992 msgid "{onTrack}/{total} on track" msgstr "{onTrack}/{total} im Plan" -#: /app/src/modules/dashboard/DashboardModule.js:964 +#: /app/src/modules/dashboard/DashboardModule.js:1023 msgid "Debt free by {date}" msgstr "Schuldenfrei bis {date}" -#: /app/src/modules/dashboard/DashboardModule.js:990 +#: /app/src/modules/dashboard/DashboardModule.js:1049 msgid "Rates unavailable for {currencies}" msgstr "Kurse für {currencies} nicht verfügbar" -#: /app/src/modules/dashboard/DashboardModule.js:992 +#: /app/src/modules/dashboard/DashboardModule.js:1051 msgid "Converted to {currency} at current rates" msgstr "Zum aktuellen Kurs in {currency} umgerechnet" -#: /app/src/modules/dashboard/DashboardModule.js:1037 -#: /app/src/modules/dashboard/DashboardModule.js:2247 +#: /app/src/modules/dashboard/DashboardModule.js:1096 +#: /app/src/modules/dashboard/DashboardModule.js:2410 #: /app/src/utils/formatters.js:262 msgid "Checking" msgstr "Prüfe" -#: /app/src/modules/dashboard/DashboardModule.js:1067 +#: /app/src/modules/dashboard/DashboardModule.js:1126 msgid "All accounts hidden" msgstr "Alle Konten ausgeblendet" -#: /app/src/modules/dashboard/DashboardModule.js:1113 +#: /app/src/modules/dashboard/DashboardModule.js:1172 #, fuzzy #| msgid "No accounts yet" msgid "No accounts" msgstr "Noch keine Konten" -#: /app/src/modules/dashboard/DashboardModule.js:1139 -#: /app/src/modules/rules/components/ActionBuilder.js:144 +#: /app/src/modules/dashboard/DashboardModule.js:1198 +#: /app/src/modules/rules/components/ActionBuilder.js:150 msgid "Move up" msgstr "Nach oben bewegen" -#: /app/src/modules/dashboard/DashboardModule.js:1140 -#: /app/src/modules/rules/components/ActionBuilder.js:145 +#: /app/src/modules/dashboard/DashboardModule.js:1199 +#: /app/src/modules/rules/components/ActionBuilder.js:151 msgid "Move down" msgstr "Nach unten bewegen" -#: /app/src/modules/dashboard/DashboardModule.js:1284 +#: /app/src/modules/dashboard/DashboardModule.js:1343 #: /app/src/modules/transactions/transactionRow.js:68 msgid "Split transaction" msgstr "geteilte Buchung" -#: /app/src/modules/dashboard/DashboardModule.js:1306 +#: /app/src/modules/dashboard/DashboardModule.js:1365 msgid "No recent transactions" msgstr "Keine letzten Buchungen" -#: /app/src/modules/dashboard/DashboardModule.js:1388 +#: /app/src/modules/dashboard/DashboardModule.js:1447 msgid "No budget alerts. %n category is muted." msgid_plural "No budget alerts. %n categories are muted." msgstr[0] "Keine Budgetwarnungen. %n Kategorie ist stummgeschaltet." msgstr[1] "Keine Budgetwarnungen. %n Kategorien sind stummgeschaltet." -#: /app/src/modules/dashboard/DashboardModule.js:1389 +#: /app/src/modules/dashboard/DashboardModule.js:1448 msgid "No budget alerts from the budgets you set." msgstr "Keine Budgetwarnungen für die von dir festgelegten Budgets." -#: /app/src/modules/dashboard/DashboardModule.js:1407 -#, javascript-format +#: /app/src/modules/dashboard/DashboardModule.js:1466 +#, no-javascript-format msgid "{percent}% over" msgstr "{percent} % höher" -#: /app/src/modules/dashboard/DashboardModule.js:1408 +#: /app/src/modules/dashboard/DashboardModule.js:1467 msgid "{percent}% used" msgstr "{percent}% genutzt" -#: /app/src/modules/dashboard/DashboardModule.js:1444 +#: /app/src/modules/dashboard/DashboardModule.js:1503 msgid "(from a bill)" msgstr "(aus einer Rechnung)" -#: /app/src/modules/dashboard/DashboardModule.js:1480 +#: /app/src/modules/dashboard/DashboardModule.js:1539 #, fuzzy #| msgid "%n category is over budget." #| msgid_plural "%n categories are over budget." msgid "No category has a budget yet." msgstr "%n Kategorie ist über dem Budget." -#: /app/src/modules/dashboard/DashboardModule.js:1519 +#: /app/src/modules/dashboard/DashboardModule.js:1578 #, fuzzy #| msgid "Failed to retrieve budget alerts" msgid "Failed to save the budget alert filter" msgstr "Budgetwarnungen wurden nicht abgerufen" -#: /app/src/modules/dashboard/DashboardModule.js:1569 +#: /app/src/modules/dashboard/DashboardModule.js:1616 +#: /app/templates/index.php:1943 /app/templates/index.php:2244 +msgid "No categories yet" +msgstr "Noch keine Kategorien" + +#: /app/src/modules/dashboard/DashboardModule.js:1690 msgid "Highest rate: {rate}% APR" msgstr "Höchster Zinssatz: {rate}% eff. Jahreszins" -#: /app/src/modules/dashboard/DashboardModule.js:1600 +#: /app/src/modules/dashboard/DashboardModule.js:1721 #: /app/templates/index.php:770 /app/templates/index.php:4129 msgid "Total Debt" msgstr "Gesamtschulden" -#: /app/src/modules/dashboard/DashboardModule.js:1601 +#: /app/src/modules/dashboard/DashboardModule.js:1722 #, fuzzy #| msgid "Days Until Debt Free" msgid "Debt Free" msgstr "Tage bis zur Schuldenfreiheit" -#: /app/src/modules/dashboard/DashboardModule.js:1676 +#: /app/src/modules/dashboard/DashboardModule.js:1797 #, fuzzy #| msgid "Remaining" msgid "remaining" msgstr "Verbleibend" -#: /app/src/modules/dashboard/DashboardModule.js:1679 +#: /app/src/modules/dashboard/DashboardModule.js:1800 msgid "paid off" msgstr "abbezahlt" -#: /app/src/modules/dashboard/DashboardModule.js:1707 +#: /app/src/modules/dashboard/DashboardModule.js:1828 #, fuzzy #| msgid "scheduled" msgid "Ahead of schedule" msgstr "geplant" -#: /app/src/modules/dashboard/DashboardModule.js:1708 +#: /app/src/modules/dashboard/DashboardModule.js:1829 #, fuzzy #| msgid "scheduled" msgid "Behind schedule" msgstr "geplant" -#: /app/src/modules/dashboard/DashboardModule.js:1754 -#: /app/src/modules/dashboard/DashboardModule.js:2494 +#: /app/src/modules/dashboard/DashboardModule.js:1914 +#: /app/src/modules/dashboard/DashboardModule.js:2657 msgid "Overdue by %n day" msgid_plural "Overdue by %n days" msgstr[0] "Überfällig seit %n Tag" msgstr[1] "Überfällig seit %n Tagen" -#: /app/src/modules/dashboard/DashboardModule.js:1757 -#: /app/src/modules/dashboard/DashboardModule.js:2497 +#: /app/src/modules/dashboard/DashboardModule.js:1917 +#: /app/src/modules/dashboard/DashboardModule.js:2660 +#: /app/src/modules/pensions/PensionsModule.js:33 msgid "Due today" msgstr "heute fällig" -#: /app/src/modules/dashboard/DashboardModule.js:1760 -#: /app/src/modules/dashboard/DashboardModule.js:2500 +#: /app/src/modules/dashboard/DashboardModule.js:1920 +#: /app/src/modules/dashboard/DashboardModule.js:2663 msgid "Due in %n day" msgid_plural "Due in %n days" msgstr[0] "Fällig in %n Tag" msgstr[1] "Fällig in %n Tagen" -#: /app/src/modules/dashboard/DashboardModule.js:1762 +#: /app/src/modules/dashboard/DashboardModule.js:1922 msgid "Due {date}" msgstr "Fällig am {date}" -#: /app/src/modules/dashboard/DashboardModule.js:1782 -#: /app/src/modules/dashboard/DashboardModule.js:1800 +#: /app/src/modules/dashboard/DashboardModule.js:1942 +#: /app/src/modules/dashboard/DashboardModule.js:1960 #: /app/templates/index.php:737 msgid "No budgets configured" msgstr "Keine Budgets eingerichtet" -#: /app/src/modules/dashboard/DashboardModule.js:1889 +#: /app/src/modules/dashboard/DashboardModule.js:2052 #: /app/templates/index.php:748 /app/templates/index.php:2988 msgid "No savings goals yet" msgstr "Noch keine Sparziele" -#: /app/src/modules/dashboard/DashboardModule.js:1905 +#: /app/src/modules/dashboard/DashboardModule.js:2068 msgid "Target: {amount}" msgstr "Ziel: {amount}" -#: /app/src/modules/dashboard/DashboardModule.js:1911 +#: /app/src/modules/dashboard/DashboardModule.js:2074 msgid "{amount} saved" msgstr "{amount} gespart" -#: /app/src/modules/dashboard/DashboardModule.js:1974 +#: /app/src/modules/dashboard/DashboardModule.js:2137 #: /app/src/modules/projects/ProjectsModule.js:78 msgid "{spent} of {total}" msgstr "{spent} von {total}" -#: /app/src/modules/dashboard/DashboardModule.js:2010 -#: /app/src/modules/pensions/PensionsModule.js:159 +#: /app/src/modules/dashboard/DashboardModule.js:2173 +#: /app/src/modules/pensions/PensionsModule.js:182 msgid "Pension Income" msgstr "Renteneinkommen" -#: /app/src/modules/dashboard/DashboardModule.js:2017 -#: /app/src/modules/pensions/PensionsModule.js:166 +#: /app/src/modules/dashboard/DashboardModule.js:2180 +#: /app/src/modules/pensions/PensionsModule.js:189 msgid "%n pension" msgid_plural "%n pensions" msgstr[0] "%n Rente" msgstr[1] "%n Renten" -#: /app/src/modules/dashboard/DashboardModule.js:2020 -#: /app/src/modules/pensions/PensionsModule.js:169 +#: /app/src/modules/dashboard/DashboardModule.js:2183 +#: /app/src/modules/pensions/PensionsModule.js:192 msgid "{amount}/yr income" msgstr "Einkommen: {amount} pro Jahr" -#: /app/src/modules/dashboard/DashboardModule.js:2060 +#: /app/src/modules/dashboard/DashboardModule.js:2223 msgid "{amount} ({percent}%) vs 30d ago" msgstr "{amount} ({percent}%) im Vergleich zu vor 30 Tagen" -#: /app/src/modules/dashboard/DashboardModule.js:2077 -#: /app/src/modules/dashboard/DashboardModule.js:2084 -#: /app/src/modules/dashboard/DashboardModule.js:2089 +#: /app/src/modules/dashboard/DashboardModule.js:2240 +#: /app/src/modules/dashboard/DashboardModule.js:2247 +#: /app/src/modules/dashboard/DashboardModule.js:2252 #: /app/templates/index.php:848 msgid "No spending data" msgstr "Keine Ausgabendaten verfügbar" -#: /app/src/modules/dashboard/DashboardModule.js:2123 -#: /app/src/modules/dashboard/DashboardModule.js:2231 +#: /app/src/modules/dashboard/DashboardModule.js:2286 +#: /app/src/modules/dashboard/DashboardModule.js:2394 #: /app/templates/index.php:857 /app/templates/index.php:884 msgid "No account data" msgstr "Keine Kontodaten verfügbar" -#: /app/src/modules/dashboard/DashboardModule.js:2156 +#: /app/src/modules/dashboard/DashboardModule.js:2319 #: /app/templates/index.php:866 msgid "No budget data" msgstr "Keine Budgetdaten verfügbar" -#: /app/src/modules/dashboard/DashboardModule.js:2196 +#: /app/src/modules/dashboard/DashboardModule.js:2359 #: /app/templates/index.php:875 msgid "No savings goals" msgstr "Keine Sparziele" -#: /app/src/modules/dashboard/DashboardModule.js:2249 +#: /app/src/modules/dashboard/DashboardModule.js:2412 msgid "Credit Cards" msgstr "Kreditkarten" -#: /app/src/modules/dashboard/DashboardModule.js:2250 +#: /app/src/modules/dashboard/DashboardModule.js:2413 msgid "Investments" msgstr "Investitionen" -#: /app/src/modules/dashboard/DashboardModule.js:2251 +#: /app/src/modules/dashboard/DashboardModule.js:2414 msgid "Loans" msgstr "Kredite" -#: /app/src/modules/dashboard/DashboardModule.js:2259 +#: /app/src/modules/dashboard/DashboardModule.js:2422 msgid "%n account" msgid_plural "%n accounts" msgstr[0] "%n konto" msgstr[1] "%n konten" -#: /app/src/modules/dashboard/DashboardModule.js:2271 +#: /app/src/modules/dashboard/DashboardModule.js:2434 #: /app/templates/index.php:893 msgid "No accounts to reconcile" msgstr "Keine Konten zum Abgleichen" -#: /app/src/modules/dashboard/DashboardModule.js:2284 +#: /app/src/modules/dashboard/DashboardModule.js:2447 msgid "All accounts reconciled" msgstr "Alle Konten abgeglichen" -#: /app/src/modules/dashboard/DashboardModule.js:2292 +#: /app/src/modules/dashboard/DashboardModule.js:2455 msgid "Up to date" msgstr "Auf dem neuesten Stand" -#: /app/src/modules/dashboard/DashboardModule.js:2308 +#: /app/src/modules/dashboard/DashboardModule.js:2471 #, fuzzy #| msgid "No tags available" msgid "No data available" msgstr "Keine Schlagwörter verfügbar" -#: /app/src/modules/dashboard/DashboardModule.js:2347 +#: /app/src/modules/dashboard/DashboardModule.js:2510 msgid "No large transactions" msgstr "Keine größeren Transaktionen" -#: /app/src/modules/dashboard/DashboardModule.js:2371 +#: /app/src/modules/dashboard/DashboardModule.js:2534 #, fuzzy #| msgid "No spending data" msgid "No spending data for this period" msgstr "Keine Ausgabendaten verfügbar" -#: /app/src/modules/dashboard/DashboardModule.js:2390 +#: /app/src/modules/dashboard/DashboardModule.js:2553 #, fuzzy #| msgid "Average" msgid "Daily average" msgstr "Durchschnitt" -#: /app/src/modules/dashboard/DashboardModule.js:2401 +#: /app/src/modules/dashboard/DashboardModule.js:2564 #, fuzzy #| msgid "No pensions yet" msgid "No pensions to project" msgstr "Noch keine Renten" -#: /app/src/modules/dashboard/DashboardModule.js:2406 +#: /app/src/modules/dashboard/DashboardModule.js:2569 msgid "" "Set your date of birth in your Nextcloud profile for an accurate horizon" msgstr "" "Hinterlege dein Geburtsdatum in deinem Nextcloud-Profil, um einen genauen " "Prognosezeitraum zu erhalten" -#: /app/src/modules/dashboard/DashboardModule.js:2412 +#: /app/src/modules/dashboard/DashboardModule.js:2575 #, fuzzy #| msgid "Projected at Retirement" msgid "Projected at retirement" msgstr "Prognose zum Zeitpunkt des Renteneintritts" -#: /app/src/modules/dashboard/DashboardModule.js:2416 +#: /app/src/modules/dashboard/DashboardModule.js:2579 #, fuzzy #| msgid "Projected Income" msgid "Projected income / yr" msgstr "Voraussichtliches Einkommen" -#: /app/src/modules/dashboard/DashboardModule.js:2428 +#: /app/src/modules/dashboard/DashboardModule.js:2591 msgid "No unmatched transfers" msgstr "Keine nicht zugeordneten Umbuchungen" -#: /app/src/modules/dashboard/DashboardModule.js:2448 +#: /app/src/modules/dashboard/DashboardModule.js:2611 #, fuzzy #| msgid "No category data available" msgid "No category trends available" msgstr "Keine Kategoriedaten verfügbar" -#: /app/src/modules/dashboard/DashboardModule.js:2480 +#: /app/src/modules/dashboard/DashboardModule.js:2643 #, fuzzy #| msgid "Bills Due Soon" msgid "No bills due soon" msgstr "Bald fällige Rechnungen" -#: /app/src/modules/dashboard/DashboardModule.js:2546 -#: /app/src/modules/dashboard/DashboardModule.js:2552 +#: /app/src/modules/dashboard/DashboardModule.js:2718 msgid "No recurring income set up" msgstr "Keine wiederkehrenden Einnahmen eingerichtet" -#: /app/src/modules/dashboard/DashboardModule.js:2573 -#: /app/src/modules/import/ImportModule.js:2624 +#: /app/src/modules/dashboard/DashboardModule.js:2733 +#, fuzzy +#| msgid "Avg Monthly Income" +msgid "Monthly income" +msgstr "Durchschnittliches Monatseinkommen" + +#: /app/src/modules/dashboard/DashboardModule.js:2734 +msgid "{received} of {due} received this month" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:2738 +#, fuzzy +#| msgid "Received This Month" +msgid "Income received this month" +msgstr "Erhalten in diesem Monat" + +#: /app/src/modules/dashboard/DashboardModule.js:2757 +#: /app/src/modules/import/ImportModule.js:2633 #, fuzzy #| msgid "Recent Imports" msgid "No recent imports" msgstr "Zuletzt importierte Daten" -#: /app/src/modules/dashboard/DashboardModule.js:2599 +#: /app/src/modules/dashboard/DashboardModule.js:2783 msgid "No import rules configured" msgstr "Keine Importregeln eingerichtet" -#: /app/src/modules/dashboard/DashboardModule.js:2607 +#: /app/src/modules/dashboard/DashboardModule.js:2791 #, fuzzy #| msgid "Active Sources" msgid "Active rules" msgstr "Aktive Einnahmequellen" -#: /app/src/modules/dashboard/DashboardModule.js:2611 +#: /app/src/modules/dashboard/DashboardModule.js:2795 #, fuzzy #| msgid "Total Rules" msgid "Total rules" msgstr "Regeln gesamt" -#: /app/src/modules/dashboard/DashboardModule.js:2622 +#: /app/src/modules/dashboard/DashboardModule.js:2806 #, fuzzy #| msgid "No file data available" msgid "No spending data available" msgstr "Keine Dateidaten verfügbar" -#: /app/src/modules/dashboard/DashboardModule.js:2632 +#: /app/src/modules/dashboard/DashboardModule.js:2816 msgid "Per day" msgstr "Pro Tag" -#: /app/src/modules/dashboard/DashboardModule.js:2636 +#: /app/src/modules/dashboard/DashboardModule.js:2820 msgid "Projected monthly" msgstr "Hochgerechnet pro Monat" -#: /app/src/modules/dashboard/DashboardModule.js:2651 +#: /app/src/modules/dashboard/DashboardModule.js:2835 #, fuzzy #| msgid "Failed to categorize transactions" msgid "Uncategorized transactions" msgstr "Buchungen kategorisieren fehlgeschlagen" -#: /app/src/modules/dashboard/DashboardModule.js:2765 +#: /app/src/modules/dashboard/DashboardModule.js:2957 #: /app/src/modules/reports/ReportsModule.js:896 #, fuzzy #| msgid "Failed to save transaction" msgid "Click to view transactions" msgstr "Speichern der Buchungen fehlgeschlagen" -#: /app/src/modules/dashboard/DashboardModule.js:2791 +#: /app/src/modules/dashboard/DashboardModule.js:2982 +#, fuzzy +#| msgid "%n category under budget" +#| msgid_plural "%n categories under budget" +msgid "%n category hidden" +msgid_plural "%n categories hidden" +msgstr[0] "Kategorie unter dem Budget" +msgstr[1] "Kategorien unter dem Budget" + +#: /app/src/modules/dashboard/DashboardModule.js:2987 msgid "Total Spending" msgstr "Gesamtausgaben" -#: /app/src/modules/dashboard/DashboardModule.js:2887 +#: /app/src/modules/dashboard/DashboardModule.js:3084 msgid "{month} (so far)" msgstr "{month} (bisher)" -#: /app/src/modules/dashboard/DashboardModule.js:2965 +#: /app/src/modules/dashboard/DashboardModule.js:3162 #: /app/templates/index.php:1194 msgid "Liabilities" msgstr "Verbindlichkeiten" -#: /app/src/modules/dashboard/DashboardModule.js:3058 +#: /app/src/modules/dashboard/DashboardModule.js:3255 msgid "Asset Value" msgstr "Vermögenswert" -#: /app/src/modules/dashboard/DashboardModule.js:3081 +#: /app/src/modules/dashboard/DashboardModule.js:3278 msgid "Portfolio" msgstr "Portfolio" -#: /app/src/modules/dashboard/DashboardModule.js:3154 +#: /app/src/modules/dashboard/DashboardModule.js:3351 #: /app/templates/index.php:800 #, fuzzy #| msgid "Low" msgid "Now" msgstr "Niedrig" -#: /app/src/modules/dashboard/DashboardModule.js:3301 +#: /app/src/modules/dashboard/DashboardModule.js:3498 msgid "just now" msgstr "gerade eben" -#: /app/src/modules/dashboard/DashboardModule.js:3303 +#: /app/src/modules/dashboard/DashboardModule.js:3500 msgid "%n hour ago" msgid_plural "%n hours ago" msgstr[0] "vor %n Stunde" msgstr[1] "vor %n Stunden" -#: /app/src/modules/dashboard/DashboardModule.js:3306 +#: /app/src/modules/dashboard/DashboardModule.js:3503 msgid "yesterday" msgstr "gestern" -#: /app/src/modules/dashboard/DashboardModule.js:3308 +#: /app/src/modules/dashboard/DashboardModule.js:3505 msgid "%n day ago" msgid_plural "%n days ago" msgstr[0] "Vor %n Tag" msgstr[1] "Vor %n Tagen" -#: /app/src/modules/dashboard/DashboardModule.js:3311 -#: /app/src/modules/dashboard/DashboardModule.js:3313 +#: /app/src/modules/dashboard/DashboardModule.js:3508 +#: /app/src/modules/dashboard/DashboardModule.js:3510 msgid "Snapshots recorded automatically daily" msgstr "Schnappschüsse werden täglich automatisch aufgenommen" -#: /app/src/modules/dashboard/DashboardModule.js:3311 +#: /app/src/modules/dashboard/DashboardModule.js:3508 msgid "Last: {time}" msgstr "Zuletzt: {time}" -#: /app/src/modules/dashboard/DashboardModule.js:3316 +#: /app/src/modules/dashboard/DashboardModule.js:3513 msgid "Record now" msgstr "Jetzt aufzeichnen" -#: /app/src/modules/dashboard/DashboardModule.js:3587 +#: /app/src/modules/dashboard/DashboardModule.js:3784 msgid "Net worth snapshot recorded" msgstr "Vermögensstand-Momentaufnahme aufgezeichnet" -#: /app/src/modules/dashboard/DashboardModule.js:3595 +#: /app/src/modules/dashboard/DashboardModule.js:3792 msgid "Failed to record snapshot" msgstr "Momentaufnahme konnte nicht gespeichert werden" -#: /app/src/modules/dashboard/DashboardModule.js:3855 +#: /app/src/modules/dashboard/DashboardModule.js:4052 msgid "Failed to save dashboard layout" msgstr "Fehler beim Speichern des Dashboard-Layouts" -#: /app/src/modules/dashboard/DashboardModule.js:3917 +#: /app/src/modules/dashboard/DashboardModule.js:4114 #: /app/templates/index.php:649 msgid "No net worth history yet" msgstr "Noch keine Vermögenshistorie vorhanden" -#: /app/src/modules/dashboard/DashboardModule.js:3918 +#: /app/src/modules/dashboard/DashboardModule.js:4115 msgid "Snapshots are recorded automatically every day." msgstr "Momentaufnahmen werden täglich automatisch erstellt." -#: /app/src/modules/dashboard/DashboardModule.js:3932 +#: /app/src/modules/dashboard/DashboardModule.js:4129 #: /app/templates/index.php:673 msgid "No asset value history yet" msgstr "Bisher keine historischen Vermögensdaten erfasst" -#: /app/src/modules/dashboard/DashboardModule.js:3933 +#: /app/src/modules/dashboard/DashboardModule.js:4130 #: /app/templates/index.php:674 msgid "Add snapshots to your assets to track their combined value over time." msgstr "" "Fügen Sie Ihren Vermögenswerten Momentaufnahmen hinzu, um deren kombinierten " "Wert im Laufe der Zeit zu verfolgen." -#: /app/src/modules/dashboard/DashboardModule.js:3941 +#: /app/src/modules/dashboard/DashboardModule.js:4138 #: /app/templates/index.php:687 /app/templates/index.php:723 msgid "View All" msgstr "Alle anzeigen" -#: /app/src/modules/dashboard/DashboardModule.js:4789 +#: /app/src/modules/dashboard/DashboardModule.js:5016 msgid "Failed to save dashboard lock state" msgstr "Fehler beim Speichern des Übersicht-Sperrstatus" -#: /app/src/modules/dashboard/DashboardModule.js:4807 -#: /app/src/modules/dashboard/DashboardModule.js:4818 +#: /app/src/modules/dashboard/DashboardModule.js:5034 +#: /app/src/modules/dashboard/DashboardModule.js:5045 #: /app/templates/index.php:352 msgid "Unlock Dashboard" msgstr "Entsperre Dashboard" -#: /app/src/modules/dashboard/DashboardModule.js:4807 -#: /app/src/modules/dashboard/DashboardModule.js:4833 +#: /app/src/modules/dashboard/DashboardModule.js:5034 +#: /app/src/modules/dashboard/DashboardModule.js:5060 msgid "Lock Dashboard" msgstr "Übersicht sperren" -#: /app/src/modules/dashboard/DashboardModule.js:4819 +#: /app/src/modules/dashboard/DashboardModule.js:5046 #: /app/templates/index.php:329 msgid "Dashboard is locked. Click unlock to reorder tiles." msgstr "" "Dashboard ist gesperrt. Klicken Sie auf Entsperren, um die Kacheln neu zu " "ordnen." -#: /app/src/modules/dashboard/DashboardModule.js:4834 +#: /app/src/modules/dashboard/DashboardModule.js:5062 +#, fuzzy +#| msgid "Drag tiles to reorder your dashboard" +msgid "Use the arrows on each tile to reorder your dashboard" +msgstr "Ziehe die Kacheln, um dein Dashboard neu anzuordnen" + +#: /app/src/modules/dashboard/DashboardModule.js:5063 msgid "Drag tiles to reorder your dashboard" msgstr "Ziehe die Kacheln, um dein Dashboard neu anzuordnen" -#: /app/src/modules/dashboard/DashboardModule.js:4879 +#: /app/src/modules/dashboard/DashboardModule.js:5108 #, fuzzy #| msgid "Exact Matches" msgid "Extra small" msgstr "Genaue Übereinstimmungen" -#: /app/src/modules/dashboard/DashboardModule.js:4880 +#: /app/src/modules/dashboard/DashboardModule.js:5109 msgid "Small" msgstr "Klein" -#: /app/src/modules/dashboard/DashboardModule.js:4881 +#: /app/src/modules/dashboard/DashboardModule.js:5110 msgid "Medium" msgstr "Mittel" -#: /app/src/modules/dashboard/DashboardModule.js:4882 +#: /app/src/modules/dashboard/DashboardModule.js:5111 #, fuzzy #| msgid "Target date" msgid "Large" msgstr "Fälligkeitsdatum" -#: /app/src/modules/dashboard/DashboardModule.js:4909 +#: /app/src/modules/dashboard/DashboardModule.js:5138 msgid "Move earlier" msgstr "Nach vorne verschieben" -#: /app/src/modules/dashboard/DashboardModule.js:4909 +#: /app/src/modules/dashboard/DashboardModule.js:5138 #, fuzzy #| msgid "Save account" msgid "Move later" msgstr "Konto speichern" -#: /app/src/modules/dashboard/DashboardModule.js:4937 -#: /app/src/modules/dashboard/DashboardModule.js:5031 -#: /app/templates/index.php:7437 +#: /app/src/modules/dashboard/DashboardModule.js:5166 +#: /app/src/modules/dashboard/DashboardModule.js:5263 +#: /app/templates/index.php:7438 #, fuzzy #| msgid "Settings" msgid "Tile Settings" msgstr "Einstellungen" -#: /app/src/modules/dashboard/DashboardModule.js:4955 +#: /app/src/modules/dashboard/DashboardModule.js:5184 msgid "Remove tile" msgstr "Kachel entfernen" -#: /app/src/modules/dashboard/DashboardModule.js:4955 +#: /app/src/modules/dashboard/DashboardModule.js:5184 #, fuzzy #| msgid "Add tiles" msgid "Hide tile" msgstr "Kacheln hinzufügen" -#: /app/src/modules/dashboard/DashboardModule.js:5061 +#: /app/src/modules/dashboard/DashboardModule.js:5293 msgid "Look ahead" -msgstr "" +msgstr "Vorausschau" -#: /app/src/modules/dashboard/DashboardModule.js:5064 +#: /app/src/modules/dashboard/DashboardModule.js:5296 #, fuzzy #| msgid "Last 30 days" msgid "Next 30 days" msgstr "Letzte 30 Tage" -#: /app/src/modules/dashboard/DashboardModule.js:5065 +#: /app/src/modules/dashboard/DashboardModule.js:5297 #, fuzzy #| msgid "Last 30 days" msgid "Next 60 days" msgstr "Letzte 30 Tage" -#: /app/src/modules/dashboard/DashboardModule.js:5066 +#: /app/src/modules/dashboard/DashboardModule.js:5298 #, fuzzy #| msgid "Last 30 days" msgid "Next 90 days" msgstr "Letzte 30 Tage" -#: /app/src/modules/dashboard/DashboardModule.js:5075 +#: /app/src/modules/dashboard/DashboardModule.js:5307 msgid "Forecast horizon" msgstr "Prognosezeitraum" -#: /app/src/modules/dashboard/DashboardModule.js:5078 +#: /app/src/modules/dashboard/DashboardModule.js:5310 #, fuzzy #| msgid "%n month" #| msgid_plural "%n months" msgid "Next 3 months" msgstr "%n Monat" -#: /app/src/modules/dashboard/DashboardModule.js:5079 +#: /app/src/modules/dashboard/DashboardModule.js:5311 #, fuzzy #| msgid "%n month" #| msgid_plural "%n months" msgid "Next 6 months" msgstr "%n Monat" -#: /app/src/modules/dashboard/DashboardModule.js:5080 +#: /app/src/modules/dashboard/DashboardModule.js:5312 #, fuzzy #| msgid "%n month" #| msgid_plural "%n months" msgid "Next 12 months" msgstr "%n Monat" -#: /app/src/modules/dashboard/DashboardModule.js:5089 +#: /app/src/modules/dashboard/DashboardModule.js:5321 #, fuzzy #| msgid "Years to Compare" msgid "Years to compare" msgstr "Zu vergleichende Jahre" -#: /app/src/modules/dashboard/DashboardModule.js:5092 +#: /app/src/modules/dashboard/DashboardModule.js:5324 msgid "Last 2 years" msgstr "Letzte 2 Jahre" -#: /app/src/modules/dashboard/DashboardModule.js:5093 +#: /app/src/modules/dashboard/DashboardModule.js:5325 msgid "Last 3 years" msgstr "Letzte 3 Jahre" -#: /app/src/modules/dashboard/DashboardModule.js:5094 +#: /app/src/modules/dashboard/DashboardModule.js:5326 msgid "Last 5 years" msgstr "Letzte 5 Jahre" -#: /app/src/modules/dashboard/DashboardModule.js:5125 +#: /app/src/modules/dashboard/DashboardModule.js:5357 #: /app/templates/index.php:3222 #, fuzzy #| msgid "Failed to save account" msgid "Exclude shared accounts" msgstr "Konto konnte nicht gespeichert werden" -#: /app/src/modules/dashboard/DashboardModule.js:5139 +#: /app/src/modules/dashboard/DashboardModule.js:5378 #, fuzzy #| msgid "Show uncategorized" msgid "Show legend" msgstr "Ohne Kategorie anzeigen" -#: /app/src/modules/dashboard/DashboardModule.js:5154 +#: /app/src/modules/dashboard/DashboardModule.js:5393 #, fuzzy #| msgid "No categories found" msgid "Show top-level categories only" msgstr "Keine Kategorien gefunden" -#: /app/src/modules/dashboard/DashboardModule.js:5169 -#: /app/src/modules/dashboard/DashboardModule.js:5170 +#: /app/src/modules/dashboard/DashboardModule.js:5408 +#: /app/src/modules/dashboard/DashboardModule.js:5409 #, fuzzy #| msgid "Match Type" msgid "Chart Type" msgstr "Art der Übereinstimmung" -#: /app/src/modules/dashboard/DashboardModule.js:5180 -#: /app/src/modules/dashboard/DashboardModule.js:5181 +#: /app/src/modules/dashboard/DashboardModule.js:5419 +#: /app/src/modules/dashboard/DashboardModule.js:5420 msgid "Rows to show" -msgstr "" +msgstr "Anzuzeigende Zeilen" -#: /app/src/modules/dashboard/DashboardModule.js:5196 -#: /app/src/modules/dashboard/DashboardModule.js:5197 +#: /app/src/modules/dashboard/DashboardModule.js:5435 +#: /app/src/modules/dashboard/DashboardModule.js:5436 #, fuzzy #| msgid "Date Format" msgid "Display Format" msgstr "Datumsformat" -#: /app/src/modules/dashboard/DashboardModule.js:5209 +#: /app/src/modules/dashboard/DashboardModule.js:5448 msgid "Show change indicator" -msgstr "" +msgstr "Änderungsindikator anzeigen" -#: /app/src/modules/dashboard/DashboardModule.js:5223 +#: /app/src/modules/dashboard/DashboardModule.js:5462 msgid "No settings available for this tile." msgstr "Für diese Kachel sind keine Einstellungen verfügbar." -#: /app/src/modules/dashboard/DashboardModule.js:5230 +#: /app/src/modules/dashboard/DashboardModule.js:5469 msgid "Drag to reorder. Toggle visibility for each item." msgstr "" +"Zum Neuordnen ziehen. Die Sichtbarkeit kann für jedes Element ein- oder " +"ausgeschaltet werden." -#: /app/src/modules/dashboard/DashboardModule.js:5248 +#: /app/src/modules/dashboard/DashboardModule.js:5487 #, fuzzy #| msgid "All categories and budget settings" msgid "Only categories with a budget I set" msgstr "Alle Kategorien und Budgeteinstellungen" -#: /app/src/modules/dashboard/DashboardModule.js:5250 +#: /app/src/modules/dashboard/DashboardModule.js:5489 msgid "Leaves out the budgets worked out from your bills and recurring income." msgstr "" +"Lässt die Budgets unberücksichtigt, die aus deinen Rechnungen und " +"wiederkehrenden Einnahmen berechnet wurden." -#: /app/src/modules/dashboard/DashboardModule.js:5251 +#: /app/src/modules/dashboard/DashboardModule.js:5490 msgid "Untick a category to stop it alerting, here and in notifications." msgstr "" +"Entferne das Häkchen bei einer Kategorie, um Warnungen dafür hier und in den " +"Benachrichtigungen zu deaktivieren." -#: /app/src/modules/dashboard/DashboardModule.js:5487 +#: /app/src/modules/dashboard/DashboardModule.js:5510 +#, fuzzy +#| msgid "Categories to create:" +msgid "Categories to show" +msgstr "Zu erstellende Kategorien:" + +#: /app/src/modules/dashboard/DashboardModule.js:5511 +msgid "" +"Untick a category to leave it off this tile, along with its subcategories. " +"Reports and totals still count it." +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:5741 msgid "All tiles are visible" msgstr "Alle Kacheln sind sichtbar" -#: /app/src/modules/dashboard/DashboardModule.js:5493 +#: /app/src/modules/dashboard/DashboardModule.js:5747 msgid "Insights & Analytics" msgstr "Einblicke & Analysen" -#: /app/src/modules/dashboard/DashboardModule.js:5494 +#: /app/src/modules/dashboard/DashboardModule.js:5748 msgid "Budgeting" msgstr "Budgetplanung" -#: /app/src/modules/dashboard/DashboardModule.js:5495 +#: /app/src/modules/dashboard/DashboardModule.js:5749 msgid "Forecasting" msgstr "Prognostik" -#: /app/src/modules/dashboard/DashboardModule.js:5498 +#: /app/src/modules/dashboard/DashboardModule.js:5752 #: /app/templates/index.php:5736 msgid "Debts" msgstr "Schulden" -#: /app/src/modules/dashboard/DashboardModule.js:5499 +#: /app/src/modules/dashboard/DashboardModule.js:5753 msgid "Goals" msgstr "Ziele" -#: /app/src/modules/dashboard/DashboardModule.js:5501 +#: /app/src/modules/dashboard/DashboardModule.js:5755 msgid "Alerts" msgstr "Warnungen" -#: /app/src/modules/dashboard/DashboardModule.js:5502 +#: /app/src/modules/dashboard/DashboardModule.js:5756 msgid "Interactive" msgstr "Interaktiv" -#: /app/src/modules/dashboard/DashboardModule.js:5524 +#: /app/src/modules/dashboard/DashboardModule.js:5778 msgid "Hero" msgstr "Hauptübersicht" -#: /app/src/modules/dashboard/DashboardModule.js:5533 -#: /app/src/modules/dashboard/DashboardModule.js:5567 +#: /app/src/modules/dashboard/DashboardModule.js:5787 +#: /app/src/modules/dashboard/DashboardModule.js:5821 msgid "Add {name}" msgstr "{name} hinzufügen" -#: /app/src/modules/dashboard/DashboardModule.js:5555 +#: /app/src/modules/dashboard/DashboardModule.js:5809 #, fuzzy #| msgid "Add Income" msgid "Add Another" msgstr "Einnahme hinzufügen" -#: /app/src/modules/dashboard/DashboardModule.js:5629 +#: /app/src/modules/dashboard/DashboardModule.js:5883 msgid "Maximum of {max} instances reached" -msgstr "" +msgstr "Maximale Anzahl von {max} Instanzen erreicht" -#: /app/src/modules/dashboard/DashboardModule.js:5699 +#: /app/src/modules/dashboard/DashboardModule.js:5953 #, fuzzy #| msgid "Asset added" msgid "Tile added" msgstr "Vermögenswert hinzugefügt" -#: /app/src/modules/dashboard/DashboardModule.js:5737 +#: /app/src/modules/dashboard/DashboardModule.js:5991 msgid "Tile removed" -msgstr "" +msgstr "Kachel entfernt" #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:115 msgid "No rate available" @@ -8877,7 +9148,7 @@ msgid "Manual" msgstr "Manuell" #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:173 -#: /app/templates/index.php:4532 /app/templates/index.php:6412 +#: /app/templates/index.php:4532 /app/templates/index.php:6413 msgid "None" msgstr "Keine" @@ -9063,6 +9334,11 @@ msgid "" "a category and its subcategories between two dates, can give its " "subcategories amounts of their own, and does not reset each month." msgstr "" +"Ein Budget für ein Vorhaben, das sich über mehrere Monate erstreckt, zum " +"Beispiel eine Renovierung. Es umfasst eine Kategorie und ihre " +"Unterkategorien zwischen zwei festgelegten Daten. Den Unterkategorien können " +"eigene Beträge zugewiesen werden, und das Budget wird nicht jeden Monat " +"zurückgesetzt." #: /app/src/modules/help/HelpModule.js:38 msgid "" @@ -9191,7 +9467,7 @@ msgstr "" "Importeinstellungen, Sicherheit und Datenmigration." #: /app/src/modules/help/HelpModule.js:52 /app/templates/index.php:287 -#: /app/templates/index.php:4960 /app/templates/index.php:7561 +#: /app/templates/index.php:4960 /app/templates/index.php:7562 msgid "Help & Docs" msgstr "Hilfe & Dokumentation" @@ -9206,7 +9482,7 @@ msgstr "" #: /app/src/modules/help/HelpModule.js:188 #: /app/src/modules/help/HelpModule.js:192 msgid "URL copied to clipboard" -msgstr "" +msgstr "URL in die Zwischenablage kopiert" #: /app/src/modules/help/HelpModule.js:231 #, fuzzy @@ -9216,11 +9492,11 @@ msgstr "Löschen fehlgeschlagen" #: /app/src/modules/help/HelpModule.js:239 msgid "JavaScript Errors" -msgstr "" +msgstr "JavaScript-Fehler" #: /app/src/modules/help/HelpModule.js:246 msgid "No failed API requests this session" -msgstr "" +msgstr "Keine fehlgeschlagenen API-Anfragen in dieser Sitzung" #: /app/src/modules/help/HelpModule.js:249 #, fuzzy @@ -9236,7 +9512,7 @@ msgstr "Teile dein Budget" #: /app/src/modules/help/HelpModule.js:260 msgid "No server errors logged" -msgstr "" +msgstr "Keine Serverfehler protokolliert" #: /app/src/modules/help/HelpModule.js:295 #: /app/src/modules/help/HelpModule.js:304 @@ -9261,6 +9537,9 @@ msgid "" "created, categories and tags are created as needed, and transfer rows are " "skipped." msgstr "" +"Liest einen Toshl-Finance-Export ein: Jedes Konto in der Datei wird anhand " +"des Namens zugeordnet oder neu erstellt, Kategorien und Schlagwörter werden " +"bei Bedarf erstellt und Zeilen mit Umbuchungen werden übersprungen." #: /app/src/modules/import/ImportModule.js:101 msgid "" @@ -9268,6 +9547,10 @@ msgid "" "created in its own currency, categories and tags are created as needed, and " "each transfer is imported into both accounts and linked." msgstr "" +"Liest einen Firefly-III-Export ein: Jedes Konto in der Datei wird anhand des " +"Namens zugeordnet oder in seiner jeweiligen Währung neu erstellt, Kategorien " +"und Schlagwörter werden bei Bedarf erstellt und jede Umbuchung wird in beide " +"Konten importiert und miteinander verknüpft." #: /app/src/modules/import/ImportModule.js:102 msgid "" @@ -9275,6 +9558,10 @@ msgid "" "category groups become parent categories, and transfers are linked. Income " "assigned to \"Ready to Assign\" is left uncategorized." msgstr "" +"Liest einen YNAB-Registerexport ein: Jedes Konto wird anhand des Namens " +"zugeordnet oder neu erstellt, Kategoriegruppen werden zu übergeordneten " +"Kategorien und Umbuchungen werden miteinander verknüpft. Einnahmen, die " +"„Ready to Assign“ zugeordnet sind, bleiben nicht kategorisiert." #: /app/src/modules/import/ImportModule.js:103 msgid "" @@ -9282,6 +9569,10 @@ msgid "" "category groups become parent categories, split transactions are imported as " "their parts, and transfers are linked." msgstr "" +"Liest einen Actual-Budget-Export ein: Jedes Konto wird anhand des Namens " +"zugeordnet oder neu erstellt, Kategoriegruppen werden zu übergeordneten " +"Kategorien, aufgeteilte Transaktionen werden mit ihren einzelnen " +"Teilbeträgen importiert und Umbuchungen werden miteinander verknüpft." #: /app/src/modules/import/ImportModule.js:104 msgid "" @@ -9289,12 +9580,19 @@ msgid "" "categories are created as needed, labels become tags, and transfers and card " "payments are linked." msgstr "" +"Liest eine Mint-transactions.csv ein: Jedes Konto wird anhand des Namens " +"zugeordnet oder neu erstellt, Kategorien werden bei Bedarf erstellt, Labels " +"werden zu Schlagwörtern und Umbuchungen sowie Kreditkartenzahlungen werden " +"miteinander verknüpft." #: /app/src/modules/import/ImportModule.js:105 msgid "" "Reads a Monarch Money download: each account is matched by name or created, " "categories are created as needed, and transfers and card payments are linked." msgstr "" +"Liest einen Monarch-Money-Export ein: Jedes Konto wird anhand des Namens " +"zugeordnet oder neu erstellt, Kategorien werden bei Bedarf erstellt und " +"Umbuchungen sowie Kreditkartenzahlungen werden miteinander verknüpft." #: /app/src/modules/import/ImportModule.js:187 msgid "Rule: {name}" @@ -9312,12 +9610,12 @@ msgstr "Daten importieren" #: /app/src/modules/import/ImportModule.js:280 msgid "Custom CSV (manual mapping)" -msgstr "" +msgstr "Benutzerdefinierte CSV-Datei (manuelle Zuordnung)" #: /app/src/modules/import/ImportModule.js:281 #: /app/src/modules/import/ImportModule.js:751 msgid "My Templates" -msgstr "" +msgstr "Meine Vorlagen" #: /app/src/modules/import/ImportModule.js:282 #, fuzzy @@ -9327,7 +9625,7 @@ msgstr "Sonstiges" #: /app/src/modules/import/ImportModule.js:285 msgid "Save mapping as template…" -msgstr "" +msgstr "Zuordnung als Vorlage speichern …" #: /app/src/modules/import/ImportModule.js:286 #: /app/src/modules/import/ImportModule.js:755 @@ -9338,14 +9636,16 @@ msgstr "Vorlagen verwalten" msgid "" "Using saved template. Adjust any column to switch back to a custom mapping." msgstr "" +"Gespeicherte Vorlage wird verwendet. Ändere eine beliebige Spaltenzuordnung, " +"um wieder zu einer benutzerdefinierten Zuordnung zu wechseln." #: /app/src/modules/import/ImportModule.js:542 msgid "Map the required columns before saving a template" -msgstr "" +msgstr "Ordne die erforderlichen Spalten zu, bevor du die Vorlage speicherst" #: /app/src/modules/import/ImportModule.js:546 msgid "Map at least one account before saving a template" -msgstr "" +msgstr "Ordne mindestens ein Konto zu, bevor du die Vorlage speicherst" #: /app/src/modules/import/ImportModule.js:561 #, fuzzy @@ -9371,12 +9671,14 @@ msgid "" "No saved templates yet. Map your columns, then use “Save mapping as " "template”." msgstr "" +"Noch keine Vorlagen gespeichert. Ordne deine Spalten zu und wähle " +"anschließend „Zuordnung als Vorlage speichern …“." #: /app/src/modules/import/ImportModule.js:644 msgid "%n column mapped" msgid_plural "%n columns mapped" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%n Spalte zugeordnet" +msgstr[1] "%n Spalten zugeordnet" #: /app/src/modules/import/ImportModule.js:647 #, fuzzy @@ -9404,7 +9706,7 @@ msgstr "Fehler beim Laden der Importvorlagen" #: /app/src/modules/import/ImportModule.js:680 msgid "Import template renamed" -msgstr "" +msgstr "Importvorlage umbenannt" #: /app/src/modules/import/ImportModule.js:695 #, fuzzy @@ -9432,25 +9734,29 @@ msgstr "Konto speichern" #: /app/src/modules/import/ImportModule.js:750 msgid "Manual (set below)" -msgstr "" +msgstr "Manuell (unten festlegen)" #: /app/src/modules/import/ImportModule.js:754 msgid "Save routing as template…" -msgstr "" +msgstr "uordnung als Vorlage speichern …" #: /app/src/modules/import/ImportModule.js:802 msgid "This template’s accounts don’t match the uploaded file" msgstr "" +"Die Konten dieser Vorlage stimmen nicht mit der hochgeladenen Datei überein" #: /app/src/modules/import/ImportModule.js:938 msgid "Now choose your {app} export file." -msgstr "" +msgstr "Wähle jetzt deine {app}-Exportdatei aus." #: /app/src/modules/import/ImportModule.js:967 msgid "" "This file looks like a {app} export, so that format has been selected. " "Choose Custom CSV to map the columns yourself." msgstr "" +"Diese Datei scheint ein {app}-Export zu sein, daher wurde dieses Format " +"ausgewählt. Wähle „Benutzerdefinierte CSV-Datei“, um die Spalten selbst " +"zuzuordnen." #: /app/src/modules/import/ImportModule.js:1013 msgid "%n record" @@ -9466,17 +9772,19 @@ msgstr "Rechnungen erkennen" #: /app/src/modules/import/ImportModule.js:1124 msgid "Reading this file as {encoding}." -msgstr "" +msgstr "Diese Datei wird als {encoding} gelesen." #: /app/src/modules/import/ImportModule.js:1126 msgid "Unicode (UTF-8)" -msgstr "" +msgstr "Unicode (UTF-8)" #: /app/src/modules/import/ImportModule.js:1125 msgid "" "Detected {encoding}. Change this if accented or non-Latin characters look " "wrong in the preview below." msgstr "" +"{encoding} erkannt. Ändere diese Einstellung, wenn Sonderzeichen oder nicht-" +"lateinische Zeichen in der Vorschau unten falsch dargestellt werden." #: /app/src/modules/import/ImportModule.js:1539 msgid "Please select a file first" @@ -9511,7 +9819,7 @@ msgstr "Zu erstellende Konten:" #: /app/src/modules/import/ImportModule.js:1790 msgid "Existing accounts matched:" -msgstr "" +msgstr "Übereinstimmende vorhandene Konten:" #: /app/src/modules/import/ImportModule.js:1813 msgid "Categories to create:" @@ -9519,13 +9827,16 @@ msgstr "Zu erstellende Kategorien:" #: /app/src/modules/import/ImportModule.js:1816 msgid "{count} transfer rows will be skipped" -msgstr "" +msgstr "{count} Zeilen mit Umbuchungen werden übersprungen" #: /app/src/modules/import/ImportModule.js:1817 msgid "" "{count} split total rows will be skipped; the parts of each split are " "imported instead" msgstr "" +"{count} Zeilen mit der Gesamtsumme aufgeteilter Transaktionen werden " +"übersprungen; stattdessen werden die einzelnen Teile jeder Aufteilung " +"importiert" #: /app/src/modules/import/ImportModule.js:1881 msgid "This import will create %n new account" @@ -9539,6 +9850,10 @@ msgid "" "Account. Go back and check the column mapping - importing now would leave " "you an account per date to clean up." msgstr "" +"Die Namen sehen wie Datumsangaben aus. Daher wurde die Datumsspalte " +"wahrscheinlich dem Konto zugeordnet. Gehe zurück und überprüfe die " +"Spaltenzuordnung – wenn du jetzt importierst, wird für jedes Datum ein " +"eigenes Konto angelegt, das du anschließend wieder bereinigen musst." #: /app/src/modules/import/ImportModule.js:1891 msgid "" @@ -9546,6 +9861,9 @@ msgid "" "Account. If that is more than you expected, go back and check the column " "mapping before importing." msgstr "" +"Für jeden unterschiedlichen Wert in der dem Konto zugeordneten Spalte wird " +"ein eigenes Konto erstellt. Wenn das mehr Konten sind als erwartet, gehe " +"zurück und überprüfe die Spaltenzuordnung, bevor du den Import startest." #: /app/src/modules/import/ImportModule.js:1920 #, fuzzy @@ -9556,6 +9874,8 @@ msgstr "Konto überspringen" #: /app/src/modules/import/ImportModule.js:1925 msgid "{matching} of {total} rows have no usable transaction type" msgstr "" +"Bei {matching} von {total} Zeilen ist kein verwendbarer Transaktionstyp " +"vorhanden" #: /app/src/modules/import/ImportModule.js:1929 msgid "" @@ -9563,30 +9883,40 @@ msgid "" "added based on whether the amount is negative. Fill the type in, or check " "the mapping, if that is not what you want." msgstr "" +"Die Typ-Spalte ist in diesen Zeilen leer oder enthält einen unbekannten " +"Wert. Daher werden sie anhand des Vorzeichens des Betrags als Einnahme oder " +"Ausgabe hinzugefügt. Trage den Typ ein oder überprüfe die Spaltenzuordnung, " +"wenn dies nicht deinen Vorstellungen entspricht." #: /app/src/modules/import/ImportModule.js:1931 msgid "{matching} of {total} rows would be added as income" -msgstr "" +msgstr "{matching} von {total} Zeilen würden als Einnahmen hinzugefügt" #: /app/src/modules/import/ImportModule.js:1935 -#, javascript-format +#, no-javascript-format msgid "" "but {percent}% of what is already in {account} is an expense. If that looks " "wrong, go back and map the column holding the transaction type before " "importing." msgstr "" +"Aber {percent}% der bereits in {account} vorhandenen Transaktionen sind " +"Ausgaben. Wenn das nicht richtig aussieht, gehe zurück und ordne vor dem " +"Import die Spalte zu, die den Transaktionstyp enthält." #: /app/src/modules/import/ImportModule.js:1940 msgid "{matching} of {total} rows would be added as an expense" -msgstr "" +msgstr "{matching} von {total} Zeilen würden als Ausgaben hinzugefügt" #: /app/src/modules/import/ImportModule.js:1944 -#, javascript-format +#, no-javascript-format msgid "" "but {percent}% of what is already in {account} is income. If that looks " "wrong, go back and map the column holding the transaction type before " "importing." msgstr "" +"Aber {percent}% der bereits in {account} vorhandenen Transaktionen sind " +"Einnahmen. Wenn das nicht richtig aussieht, gehe zurück und ordne vor dem " +"Import die Spalte zu, die den Transaktionstyp enthält." #: /app/src/modules/import/ImportModule.js:1976 msgid "No transactions to import" @@ -9609,7 +9939,7 @@ msgstr "Konto auswählen…" #: /app/src/modules/import/ImportModule.js:2084 msgid "Account for rows without one:" -msgstr "" +msgstr "Konto für Zeilen ohne Konto:" #: /app/src/modules/import/ImportModule.js:2085 /app/templates/index.php:2517 msgid "Import to Account:" @@ -9625,27 +9955,29 @@ msgstr "Konto überspringen" #: /app/src/modules/import/ImportModule.js:2219 msgid "Rows {rows} and {count} more" -msgstr "" +msgstr "Zeilen {rows} und {count} weitere" #: /app/src/modules/import/ImportModule.js:2220 msgid "Rows {rows}" -msgstr "" +msgstr "Zeilen {rows}" #: /app/src/modules/import/ImportModule.js:2255 msgid "{skipped} of {total} rows will not be imported" -msgstr "" +msgstr "{skipped} von {total} Zeilen werden nicht importiert" #: /app/src/modules/import/ImportModule.js:2259 msgid "%n row will not be imported" msgid_plural "%n rows will not be imported" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%n Zeile wird nicht importiert" +msgstr[1] "%n Zeilen werden nicht importiert" #: /app/src/modules/import/ImportModule.js:2264 msgid "" "Those rows have no account of their own. Pick one under \"Account for rows " "without one\" below and they will be imported into it." msgstr "" +"Diese Zeilen haben kein eigenes Konto. Wähle unten unter „Konto für Zeilen " +"ohne Konto“ ein Konto aus, in das sie importiert werden." #: /app/src/modules/import/ImportModule.js:2312 msgid "{blank} of {total} rows have no description" @@ -9664,12 +9996,16 @@ msgid "" "categorize them. If the cells should not be empty, check the file before " "importing." msgstr "" +"Die der Beschreibung zugeordnete Spalte ist in diesen Zeilen leer. Die " +"Zeilen werden trotzdem importiert. Importregeln, die anhand der Beschreibung " +"übereinstimmen, können sie jedoch nicht kategorisieren. Wenn die Zellen " +"nicht leer sein sollten, überprüfe die Datei vor dem Import." #: /app/src/modules/import/ImportModule.js:2347 msgid "%n row was not imported" msgid_plural "%n rows were not imported" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%n Zeile wurde nicht importiert" +msgstr[1] "%n Zeilen wurden nicht importiert" #: /app/src/modules/import/ImportModule.js:2379 msgid "No file data available" @@ -9701,212 +10037,215 @@ msgstr[1] "" #: /app/src/modules/import/ImportModule.js:2484 msgid "%n transfer between your accounts was linked" msgid_plural "%n transfers between your accounts were linked" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%n Umbuchung zwischen deinen Konten wurde verknüpft" +msgstr[1] "%n Umbuchungen zwischen deinen Konten wurde verknüpft" #: /app/src/modules/import/ImportModule.js:2490 msgid "Import complete. %n category created — it may take a moment to appear." msgid_plural "" "Import complete. %n categories created — they may take a moment to appear." msgstr[0] "" +"Import abgeschlossen. %n Kategorie wurde erstellt – es kann einen Moment " +"dauern, bis sie angezeigt wird." msgstr[1] "" +"Import abgeschlossen. %n Kategorien wurde erstellt – es kann einen Moment " +"dauern, bis sie angezeigt werden." #: /app/src/modules/import/ImportModule.js:2500 msgid "Failed to import transactions: {message}" msgstr "Fehler beim Importieren der Buchungen: {message}" -#: /app/src/modules/import/ImportModule.js:2518 +#: /app/src/modules/import/ImportModule.js:2527 msgid "Auto-linked {count} transfer pairs" -msgstr "" +msgstr "{count} Umbuchungspaare automatisch verknüpft" -#: /app/src/modules/import/ImportModule.js:2634 +#: /app/src/modules/import/ImportModule.js:2643 #: /app/src/modules/projects/ProjectsModule.js:95 msgid "{start} to {end}" -msgstr "" +msgstr "{start} bis {end}" -#: /app/src/modules/import/ImportModule.js:2648 +#: /app/src/modules/import/ImportModule.js:2657 msgid "0 Bytes" msgstr "0 Bytes" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "Bytes" msgstr "Bytes" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "KB" msgstr "KB" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "MB" msgstr "MB" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "GB" msgstr "GB" -#: /app/src/modules/income/IncomeModule.js:51 #: /app/src/modules/income/IncomeModule.js:54 +#: /app/src/modules/income/IncomeModule.js:57 msgid "Failed to load recurring income" msgstr "Fehler beim Laden der laufenden Einnahmen" -#: /app/src/modules/income/IncomeModule.js:96 -#: /app/src/modules/transfers/TransfersModule.js:140 -#: /app/templates/index.php:1423 /app/templates/index.php:2974 -msgid "Completed" -msgstr "Abgeschlossen" - -#: /app/src/modules/income/IncomeModule.js:99 -#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 -#: /app/templates/index.php:2888 -msgid "Received" -msgstr "Empfangen" - -#: /app/src/modules/income/IncomeModule.js:102 /app/templates/index.php:2887 -msgid "Expected Soon" -msgstr "In Kürze" - -#: /app/src/modules/income/IncomeModule.js:136 -msgid "No date set" -msgstr "Kein Datum gesetzt" - -#: /app/src/modules/income/IncomeModule.js:140 +#: /app/src/modules/income/IncomeModule.js:128 #, fuzzy #| msgid "Auto-pay enabled" msgid "Auto-create enabled" msgstr "Automatische Zahlung aktiviert" -#: /app/src/modules/income/IncomeModule.js:140 +#: /app/src/modules/income/IncomeModule.js:128 #, fuzzy #| msgid "Auto-tracked" msgid "Auto-create" msgstr "Automatisch verfolgt" -#: /app/src/modules/income/IncomeModule.js:145 +#: /app/src/modules/income/IncomeModule.js:133 msgid "Mark as received" msgstr "Als eingegangen markieren" -#: /app/src/modules/income/IncomeModule.js:147 +#: /app/src/modules/income/IncomeModule.js:135 msgid "Mark Received" msgstr "Als erhalten markieren" -#: /app/src/modules/income/IncomeModule.js:156 +#: /app/src/modules/income/IncomeModule.js:144 msgid "Edit income" msgstr "Einnahme bearbeiten" -#: /app/src/modules/income/IncomeModule.js:159 +#: /app/src/modules/income/IncomeModule.js:147 msgid "Delete income" msgstr "Einnahme löschen" -#: /app/src/modules/income/IncomeModule.js:349 +#: /app/src/modules/income/IncomeModule.js:324 msgid "Edit Recurring Income" msgstr "Laufende Einnahme bearbeiten" -#: /app/src/modules/income/IncomeModule.js:370 +#: /app/src/modules/income/IncomeModule.js:356 msgid "Add Recurring Income" msgstr "Laufende Einnahme hinzufügen" -#: /app/src/modules/income/IncomeModule.js:436 +#: /app/src/modules/income/IncomeModule.js:403 /app/templates/index.php:6698 +#, fuzzy +#| msgid "Invalid request data" +msgid "First payment date" +msgstr "Ungültige Anfragedaten" + +#: /app/src/modules/income/IncomeModule.js:406 +#, fuzzy +#| msgid "Transfer marked as paid" +msgid "The date this income is expected. It can be in the past." +msgstr "Umbuchung wurde als bezahlt markiert" + +#: /app/src/modules/income/IncomeModule.js:407 /app/templates/index.php:6700 +#, fuzzy +#| msgid "Bill will automatically stop after this date (optional)" +msgid "Payments repeat from this date (optional)" +msgstr "Die Rechnung endet nach diesem Datum automatisch (optional)" + +#: /app/src/modules/income/IncomeModule.js:432 msgid "Expected Day (1-7)" msgstr "Erwarteter Wochentag (1-7)" -#: /app/src/modules/income/IncomeModule.js:440 /app/templates/index.php:6691 +#: /app/src/modules/income/IncomeModule.js:436 /app/templates/index.php:6692 msgid "Expected Day" msgstr "Erwarteter Tag" -#: /app/src/modules/income/IncomeModule.js:441 /app/templates/index.php:6693 +#: /app/src/modules/income/IncomeModule.js:437 /app/templates/index.php:6694 msgid "Day of the month when income is expected" msgstr "Tag des Monats, an dem die Einnahme erwartet wird" -#: /app/src/modules/income/IncomeModule.js:454 -#: /app/src/modules/transfers/TransfersModule.js:789 -msgid "Follows the start date" -msgstr "" +#: /app/src/modules/income/IncomeModule.js:498 +#, fuzzy +#| msgid "Day of the month when income is expected" +msgid "Choose the date this income is expected" +msgstr "Tag des Monats, an dem die Einnahme erwartet wird" -#: /app/src/modules/income/IncomeModule.js:520 +#: /app/src/modules/income/IncomeModule.js:534 msgid "Income source created successfully" msgstr "Einnahme erfolgreich erstellt" -#: /app/src/modules/income/IncomeModule.js:520 +#: /app/src/modules/income/IncomeModule.js:534 msgid "Income source updated successfully" msgstr "Einnahme erfolgreich aktualisiert" -#: /app/src/modules/income/IncomeModule.js:524 +#: /app/src/modules/income/IncomeModule.js:538 msgid "Failed to save income" msgstr "Fehler beim Speichern der Einnahme" -#: /app/src/modules/income/IncomeModule.js:529 +#: /app/src/modules/income/IncomeModule.js:543 msgid "Are you sure you want to delete this recurring income?" msgstr "Möchtest du diese laufende Einnahme wirklich löschen?" -#: /app/src/modules/income/IncomeModule.js:536 +#: /app/src/modules/income/IncomeModule.js:550 msgid "Income source deleted successfully" msgstr "Einnahme wurde gelöscht" -#: /app/src/modules/income/IncomeModule.js:540 +#: /app/src/modules/income/IncomeModule.js:554 msgid "Failed to delete income" msgstr "Fehler beim Löschen der Einnahme" -#: /app/src/modules/income/IncomeModule.js:578 +#: /app/src/modules/income/IncomeModule.js:594 msgid "Income marked as received. Transaction created." msgstr "Einnahme als erhalten markiert. Buchung erstellt." -#: /app/src/modules/income/IncomeModule.js:579 +#: /app/src/modules/income/IncomeModule.js:595 msgid "Income marked as received." msgstr "Einnahme als erhalten markiert." -#: /app/src/modules/income/IncomeModule.js:590 +#: /app/src/modules/income/IncomeModule.js:605 msgid "Failed to mark income as received" msgstr "Fehler beim Markieren der Einnahme als erhalten" -#: /app/src/modules/income/IncomeModule.js:637 +#: /app/src/modules/income/IncomeModule.js:644 #, fuzzy #| msgid "Skip this payment and advance to the next due date?" msgid "Skip this payment and advance to the next expected date?" msgstr "Diese Zahlung überspringen und zum nächsten Fälligkeitsdatum wechseln?" -#: /app/src/modules/income/IncomeModule.js:644 -#: /app/src/modules/income/IncomeModule.js:667 +#: /app/src/modules/income/IncomeModule.js:651 +#: /app/src/modules/income/IncomeModule.js:674 #, fuzzy #| msgid "Failed to save income" msgid "Failed to skip income" msgstr "Fehler beim Speichern der Einnahme" -#: /app/src/modules/income/IncomeModule.js:660 +#: /app/src/modules/income/IncomeModule.js:667 #, fuzzy #| msgid "Payment skipped. Advanced to next due date." msgid "Payment skipped. Advanced to next expected date." msgstr "Zahlung übersprungen. Zum nächsten Fälligkeitsdatum gewechselt." -#: /app/src/modules/income/IncomeModule.js:703 +#: /app/src/modules/income/IncomeModule.js:710 msgid "No recurring income patterns found in your transactions" msgstr "" "In deinen Buchungen wurden keine wiederkehrenden Einnahmemuster festgestellt" -#: /app/src/modules/income/IncomeModule.js:715 /app/templates/index.php:2835 +#: /app/src/modules/income/IncomeModule.js:722 /app/templates/index.php:2835 msgid "Detect Income" msgstr "Einnahme erkennen" -#: /app/src/modules/income/IncomeModule.js:736 +#: /app/src/modules/income/IncomeModule.js:744 msgid "%n occurrence" msgid_plural "%n occurrences" msgstr[0] "Ein Vorkommen" msgstr[1] "%n Vorkommen" -#: /app/src/modules/income/IncomeModule.js:737 +#: /app/src/modules/income/IncomeModule.js:745 msgid "Source: {source}" msgstr "Einnahmequelle: {source}" -#: /app/src/modules/income/IncomeModule.js:754 +#: /app/src/modules/income/IncomeModule.js:767 msgid "Please select at least one income source to add" msgstr "Bitte wähle mindestens eine Einnahme" -#: /app/src/modules/income/IncomeModule.js:767 +#: /app/src/modules/income/IncomeModule.js:780 msgid "%n income source added successfully" msgid_plural "%n income sources added successfully" msgstr[0] "Eine laufende Einnahme wurde hinzugefügt" msgstr[1] "%n laufende Einnahmen wurden hinzugefügt" -#: /app/src/modules/income/IncomeModule.js:771 +#: /app/src/modules/income/IncomeModule.js:784 msgid "Failed to add selected income sources" msgstr "Fehler beim Auswählen der laufenden Einnahmen" @@ -9931,7 +10270,7 @@ msgstr "Fehler beim Abrufen der Basiswährung" #: /app/src/modules/onboarding/OnboardingModule.js:46 msgid "The currency your totals and reports are shown in." -msgstr "" +msgstr "Die Währung, in der deine Summen und Berichte angezeigt werden." #: /app/src/modules/onboarding/OnboardingModule.js:48 #, fuzzy @@ -9950,6 +10289,8 @@ msgid "" "A ready-made set of income and spending categories, which you can change " "later." msgstr "" +"Eine vorgefertigte Auswahl an Einnahmen- und Ausgabenkategorien, die du " +"später ändern kannst." #: /app/src/modules/onboarding/OnboardingModule.js:56 #, fuzzy @@ -9967,6 +10308,8 @@ msgstr "Neues Konto hinzufügen" #: /app/src/modules/onboarding/OnboardingModule.js:62 msgid "A bank account, card or cash wallet to record money in and out of." msgstr "" +"Ein Bankkonto, eine Karte oder ein Bargeldkonto, um Einnahmen und Ausgaben " +"zu erfassen." #: /app/src/modules/onboarding/OnboardingModule.js:70 msgid "Import a statement or connect your bank" @@ -10071,13 +10414,16 @@ msgstr "Suche leeren" #: /app/src/modules/onboarding/OnboardingModule.js:373 msgid "Sample data added. Have a look around." -msgstr "" +msgstr "Beispieldaten hinzugefügt. Sieh dich ruhig um." #: /app/src/modules/onboarding/OnboardingModule.js:387 msgid "" "This deletes everything in your budget: the sample data and anything you " "added while trying it. Your settings are kept." msgstr "" +"Dadurch werden alle Daten in deinem Budget gelöscht: die Beispieldaten und " +"alles, was du beim Ausprobieren hinzugefügt hast. Deine Einstellungen " +"bleiben erhalten." #: /app/src/modules/onboarding/OnboardingModule.js:389 msgid "Clear sample data?" @@ -10085,289 +10431,343 @@ msgstr "Beispieldaten löschen?" #: /app/src/modules/onboarding/OnboardingModule.js:403 msgid "Sample data cleared" +msgstr "Beispieldaten gelöscht" + +#: /app/src/modules/pensions/PensionsModule.js:26 +msgid "Paused" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:37 -#: /app/src/modules/pensions/PensionsModule.js:40 +#: /app/src/modules/pensions/PensionsModule.js:30 +#: /app/src/modules/transfers/TransfersModule.js:144 +#: /app/src/utils/billDates.js:36 /app/src/utils/incomeStatus.js:52 +#: /app/templates/index.php:2662 /app/templates/index.php:2689 +msgid "Overdue" +msgstr "Überfällig" + +#: /app/src/modules/pensions/PensionsModule.js:60 +#: /app/src/modules/pensions/PensionsModule.js:63 msgid "Failed to load pensions" msgstr "Fehler beim Laden der Renten" -#: /app/src/modules/pensions/PensionsModule.js:90 -#: /app/src/modules/pensions/PensionsModule.js:514 +#: /app/src/modules/pensions/PensionsModule.js:113 +#: /app/src/modules/pensions/PensionsModule.js:563 msgid "Workplace" msgstr "Arbeitsplatz" -#: /app/src/modules/pensions/PensionsModule.js:91 -#: /app/src/modules/pensions/PensionsModule.js:515 +#: /app/src/modules/pensions/PensionsModule.js:114 +#: /app/src/modules/pensions/PensionsModule.js:564 msgid "Personal" msgstr "Persönlich" -#: /app/src/modules/pensions/PensionsModule.js:92 -#: /app/src/modules/pensions/PensionsModule.js:516 +#: /app/src/modules/pensions/PensionsModule.js:115 +#: /app/src/modules/pensions/PensionsModule.js:565 #: /app/templates/index.php:5330 msgid "SIPP" msgstr "Privat finanzierte Rente" -#: /app/src/modules/pensions/PensionsModule.js:93 -#: /app/src/modules/pensions/PensionsModule.js:517 +#: /app/src/modules/pensions/PensionsModule.js:116 +#: /app/src/modules/pensions/PensionsModule.js:566 #: /app/templates/index.php:5331 msgid "Defined Benefit" msgstr "Leistungsorientierte Rente" -#: /app/src/modules/pensions/PensionsModule.js:94 -#: /app/src/modules/pensions/PensionsModule.js:518 +#: /app/src/modules/pensions/PensionsModule.js:117 +#: /app/src/modules/pensions/PensionsModule.js:567 #: /app/templates/index.php:5332 msgid "State Pension" msgstr "Gesetzliche Rente" -#: /app/src/modules/pensions/PensionsModule.js:102 -#: /app/src/modules/pensions/PensionsModule.js:533 +#: /app/src/modules/pensions/PensionsModule.js:125 +#: /app/src/modules/pensions/PensionsModule.js:582 msgid "{amount}/year" msgstr "{amount}/Jahr" -#: /app/src/modules/pensions/PensionsModule.js:114 +#: /app/src/modules/pensions/PensionsModule.js:137 msgid "{amount}/month" msgstr "{amount}/Monat" -#: /app/src/modules/pensions/PensionsModule.js:117 +#: /app/src/modules/pensions/PensionsModule.js:140 msgid "View details" msgstr "Details anzeigen" -#: /app/src/modules/pensions/PensionsModule.js:158 +#: /app/src/modules/pensions/PensionsModule.js:181 msgid "{amount}/yr" msgstr "{amount}/Jr" -#: /app/src/modules/pensions/PensionsModule.js:192 +#: /app/src/modules/pensions/PensionsModule.js:215 msgid "" "Set your date of birth in your Nextcloud profile for accurate retirement " "projections." msgstr "" +"Hinterlege dein Geburtsdatum in deinem Nextcloud-Profil, um genaue Prognosen " +"für deine Altersvorsorge zu erhalten." -#: /app/src/modules/pensions/PensionsModule.js:396 +#: /app/src/modules/pensions/PensionsModule.js:419 msgid "Edit Pension" msgstr "Rente bearbeiten" -#: /app/src/modules/pensions/PensionsModule.js:418 +#: /app/src/modules/pensions/PensionsModule.js:441 #: /app/templates/index.php:3711 /app/templates/index.php:5308 msgid "Add Pension" msgstr "Rente hinzufügen" -#: /app/src/modules/pensions/PensionsModule.js:468 +#: /app/src/modules/pensions/PensionsModule.js:515 msgid "Failed to save pension" msgstr "Fehler beim Speichern der Rente" -#: /app/src/modules/pensions/PensionsModule.js:474 +#: /app/src/modules/pensions/PensionsModule.js:521 msgid "Pension updated" msgstr "Rente aktualisiert" -#: /app/src/modules/pensions/PensionsModule.js:474 +#: /app/src/modules/pensions/PensionsModule.js:521 msgid "Pension added" msgstr "Rente hinzugefügt" -#: /app/src/modules/pensions/PensionsModule.js:481 +#: /app/src/modules/pensions/PensionsModule.js:528 msgid "" "Are you sure you want to delete this pension? This action cannot be undone." msgstr "" "Möchtest du diese Rente wirklich löschen? Diese Aktion kann nicht rückgängig " "gemacht werden." -#: /app/src/modules/pensions/PensionsModule.js:494 +#: /app/src/modules/pensions/PensionsModule.js:529 +msgid "" +"Its balance updates, contributions and schedules are deleted with it. Any " +"bank transactions that paid into or out of it stay in your accounts, and " +"still count as money moved to or from a pension rather than spending or " +"income." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:543 msgid "Pension deleted" msgstr "Rente gelöscht" -#: /app/src/modules/pensions/PensionsModule.js:582 +#: /app/src/modules/pensions/PensionsModule.js:627 msgid "Balance history is unavailable." msgstr "Der Kontostandsverlauf ist nicht verfügbar." -#: /app/src/modules/pensions/PensionsModule.js:587 +#: /app/src/modules/pensions/PensionsModule.js:632 msgid "Add at least two balance updates to see history." msgstr "" +"Füge mindestens zwei Kontostandsaktualisierungen hinzu, um den Verlauf " +"anzuzeigen." -#: /app/src/modules/pensions/PensionsModule.js:639 -#: /app/src/modules/pensions/PensionsModule.js:655 +#: /app/src/modules/pensions/PensionsModule.js:684 +#: /app/src/modules/pensions/PensionsModule.js:700 msgid "Projection is unavailable." msgstr "Prognose ist nicht verfügbar." -#: /app/src/modules/pensions/PensionsModule.js:648 +#: /app/src/modules/pensions/PensionsModule.js:693 msgid "No projection available for this pension type." msgstr "Für diesen Rententyp ist keine Prognose verfügbar." -#: /app/src/modules/pensions/PensionsModule.js:672 +#: /app/src/modules/pensions/PensionsModule.js:717 #, fuzzy #| msgid "Projected Value (10yr)" msgid "Projected value (today's money)" msgstr "Prognostizierter Wert (10 Jahre)" -#: /app/src/modules/pensions/PensionsModule.js:672 -#, fuzzy -#| msgid "Projected Value" +#: /app/src/modules/pensions/PensionsModule.js:717 msgid "Projected value" msgstr "Prognostizierter Wert" -#: /app/src/modules/pensions/PensionsModule.js:683 +#: /app/src/modules/pensions/PensionsModule.js:728 +#: /app/src/modules/rules/components/ActionBuilder.js:206 #, fuzzy #| msgid "Target date" msgid "Target" msgstr "Fälligkeitsdatum" -#: /app/src/modules/pensions/PensionsModule.js:727 +#: /app/src/modules/pensions/PensionsModule.js:772 msgid "Projected {projected} of {target} target ({pct} there)" -msgstr "" +msgstr "Prognostiziert: {projected} von {target} Ziel ({pct} erreicht)" -#: /app/src/modules/pensions/PensionsModule.js:741 -#: /app/src/modules/pensions/PensionsModule.js:815 +#: /app/src/modules/pensions/PensionsModule.js:786 +#: /app/src/modules/pensions/PensionsModule.js:861 msgid "Activity is unavailable." -msgstr "" +msgstr "Aktivitäten sind nicht verfügbar." -#: /app/src/modules/pensions/PensionsModule.js:746 +#: /app/src/modules/pensions/PensionsModule.js:792 msgid "No activity yet" msgstr "Noch keine Aktivitäten" -#: /app/src/modules/pensions/PensionsModule.js:753 +#: /app/src/modules/pensions/PensionsModule.js:799 #, fuzzy #| msgid "%n account" #| msgid_plural "%n accounts" msgid "an account" msgstr "%n konto" -#: /app/src/modules/pensions/PensionsModule.js:764 +#: /app/src/modules/pensions/PensionsModule.js:810 msgid "Contribution from {account}" msgstr "Beitrag von {account}" -#: /app/src/modules/pensions/PensionsModule.js:771 +#: /app/src/modules/pensions/PensionsModule.js:817 msgid "Withdrawal to {account}" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:772 +#: /app/src/modules/pensions/PensionsModule.js:818 #, fuzzy #| msgid "withdrawal" msgid "Withdrawal" msgstr "Auszahlung" -#: /app/src/modules/pensions/PensionsModule.js:778 +#: /app/src/modules/pensions/PensionsModule.js:824 msgid "Balance Update" msgstr "Saldo-Aktualisierung" -#: /app/src/modules/pensions/PensionsModule.js:783 +#: /app/src/modules/pensions/PensionsModule.js:829 msgid "Contribution" msgstr "Beitrag" -#: /app/src/modules/pensions/PensionsModule.js:791 +#: /app/src/modules/pensions/PensionsModule.js:837 #, fuzzy #| msgid "Failed to link transactions" msgid "Linked to a bank transaction" msgstr "Buchungen verknüpfen fehlgeschlagen" -#: /app/src/modules/pensions/PensionsModule.js:791 +#: /app/src/modules/pensions/PensionsModule.js:837 #, fuzzy #| msgid "No linked tag" msgid "linked" msgstr "Kein verknüpftes Schlagwort" -#: /app/src/modules/pensions/PensionsModule.js:823 +#: /app/src/modules/pensions/PensionsModule.js:869 msgid "Delete this balance update?" msgstr "Diese Kontostandaktualisierung löschen?" -#: /app/src/modules/pensions/PensionsModule.js:824 -#, fuzzy -#| msgid "Delete this tag set? All tags in this set will be removed." +#: /app/src/modules/pensions/PensionsModule.js:870 msgid "" -"Delete this entry? If it is linked to a bank transaction, that transaction " -"will be removed too." +"Delete this entry? A bank transaction the app booked for it is removed too; " +"one that came from a statement import or bank sync stays in its account." msgstr "" -"Diese Schlagwortgruppe löschen? Alle enthaltenen Schlagwörter werden " -"gelöscht." -#: /app/src/modules/pensions/PensionsModule.js:842 -#: /app/src/modules/pensions/PensionsModule.js:1099 +#: /app/src/modules/pensions/PensionsModule.js:873 +msgid "" +"Its bank transaction was reconciled against a bank statement. Deleting it " +"will make past reconciliations no longer match." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:892 +#: /app/src/modules/pensions/PensionsModule.js:1186 #, fuzzy #| msgid "Delete" msgid "Deleted" msgstr "Löschen" -#: /app/src/modules/pensions/PensionsModule.js:879 +#: /app/src/modules/pensions/PensionsModule.js:932 msgid "Failed to update balance" msgstr "Fehler beim Aktualisieren des Saldos" -#: /app/src/modules/pensions/PensionsModule.js:886 +#: /app/src/modules/pensions/PensionsModule.js:939 msgid "Balance updated" msgstr "Saldo aktualisiert" -#: /app/src/modules/pensions/PensionsModule.js:913 -#: /app/src/modules/pensions/PensionsModule.js:1055 +#: /app/src/modules/pensions/PensionsModule.js:969 +#: /app/src/modules/pensions/PensionsModule.js:1139 #: /app/templates/index.php:5461 /app/templates/index.php:5541 #, fuzzy #| msgid "No linked account" msgid "Not from a tracked account" msgstr "Kein verknüpftes Konto" -#: /app/src/modules/pensions/PensionsModule.js:938 +#: /app/src/modules/pensions/PensionsModule.js:997 msgid "Failed to log contribution" msgstr "Beitrag konnte nicht protokolliert werden" -#: /app/src/modules/pensions/PensionsModule.js:947 +#: /app/src/modules/pensions/PensionsModule.js:1006 msgid "Contribution logged" msgstr "Beitrag protokolliert" -#: /app/src/modules/pensions/PensionsModule.js:960 +#: /app/src/modules/pensions/PensionsModule.js:1019 #: /app/templates/index.php:5497 #, fuzzy #| msgid "No linked account" msgid "Not into a tracked account" msgstr "Kein verknüpftes Konto" -#: /app/src/modules/pensions/PensionsModule.js:992 +#: /app/src/modules/pensions/PensionsModule.js:1054 #, fuzzy #| msgid "withdrawal" msgid "Withdrawal recorded" msgstr "Auszahlung" -#: /app/src/modules/pensions/PensionsModule.js:1021 +#: /app/src/modules/pensions/PensionsModule.js:1093 #, fuzzy #| msgid "Failed to create contribution" msgid "No scheduled contributions" msgstr "Beitrag konnte nicht erstellt werden" -#: /app/src/modules/pensions/PensionsModule.js:1034 +#: /app/src/modules/pensions/PensionsModule.js:1108 #, fuzzy #| msgid "Manual" msgid "manual" msgstr "Manuell" -#: /app/src/modules/pensions/PensionsModule.js:1039 +#: /app/src/modules/pensions/PensionsModule.js:1112 #, fuzzy -#| msgid "Target: {date}" -msgid "Next: {date}" -msgstr "Stichtag: {date}" +#| msgid "From: {account}" +msgid "from {account}" +msgstr "Von: {account}" -#: /app/src/modules/pensions/PensionsModule.js:1042 +#: /app/src/modules/pensions/PensionsModule.js:1117 +#: /app/src/modules/pensions/PensionsModule.js:1223 #, fuzzy #| msgid "just now" msgid "Post now" msgstr "gerade eben" -#: /app/src/modules/pensions/PensionsModule.js:1081 +#: /app/src/modules/pensions/PensionsModule.js:1123 +#, fuzzy +#| msgid "Target: {date}" +msgid "Next: {date}" +msgstr "Stichtag: {date}" + +#: /app/src/modules/pensions/PensionsModule.js:1168 #, fuzzy #| msgid "Failed to retrieve contributions" msgid "Failed to save recurring contribution" msgstr "Beiträge konnten nicht abgerufen werden" -#: /app/src/modules/pensions/PensionsModule.js:1085 +#: /app/src/modules/pensions/PensionsModule.js:1172 #, fuzzy #| msgid "Share configuration saved" msgid "Recurring contribution saved" msgstr "Geteilte Budget-Konfiguration gespeichert" -#: /app/src/modules/pensions/PensionsModule.js:1092 +#: /app/src/modules/pensions/PensionsModule.js:1179 msgid "Delete this scheduled contribution?" msgstr "Diesen geplanten Beitrag löschen?" -#: /app/src/modules/pensions/PensionsModule.js:1115 +#: /app/src/modules/pensions/PensionsModule.js:1221 +msgid "" +"Post the {date} contribution of {amount} from {account} now? It is recorded " +"with today's date." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1222 +msgid "" +"Post the {date} contribution of {amount} now? It is recorded with today's " +"date." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1233 #, fuzzy #| msgid "Contribution logged" msgid "Contribution posted" msgstr "Beitrag protokolliert" +#: /app/src/modules/pensions/PensionsModule.js:1249 +#, fuzzy +#| msgid "Contribution logged" +msgid "Contribution undone" +msgstr "Beitrag protokolliert" + +#: /app/src/modules/projects/ProjectsModule.js:86 +#: /app/src/utils/billDates.js:38 /app/src/utils/incomeStatus.js:55 +msgid "Upcoming" +msgstr "Demnächst" + #: /app/src/modules/projects/ProjectsModule.js:88 /app/templates/index.php:3023 msgid "Finished" msgstr "" @@ -10384,83 +10784,81 @@ msgstr "" msgid "{amount} left" msgstr "{amount} verfügbar" -#: /app/src/modules/projects/ProjectsModule.js:155 +#: /app/src/modules/projects/ProjectsModule.js:156 #, fuzzy #| msgid "No pensions yet" msgid "Not counted in this project" msgstr "Noch keine Renten" -#: /app/src/modules/projects/ProjectsModule.js:170 +#: /app/src/modules/projects/ProjectsModule.js:171 #, fuzzy #| msgid "Listed under {category}" msgid "Directly in {category}" msgstr "Aufgeführt unter {category}" -#: /app/src/modules/projects/ProjectsModule.js:173 +#: /app/src/modules/projects/ProjectsModule.js:174 #, fuzzy #| msgid "Goal created" msgid "Unallocated" msgstr "Sparziel erstellt" -#: /app/src/modules/projects/ProjectsModule.js:178 +#: /app/src/modules/projects/ProjectsModule.js:179 #, fuzzy #| msgid "No categories yet" msgid "No subcategories or amounts yet" msgstr "Noch keine Kategorien" -#: /app/src/modules/projects/ProjectsModule.js:196 +#: /app/src/modules/projects/ProjectsModule.js:197 msgid "" "Delete the project \"{name}\"? Its categories and transactions are not " "changed." msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:204 +#: /app/src/modules/projects/ProjectsModule.js:205 #, fuzzy #| msgid "Contact deleted" msgid "Project deleted" msgstr "Kontakt entfernt" -#: /app/src/modules/projects/ProjectsModule.js:257 +#: /app/src/modules/projects/ProjectsModule.js:258 #, fuzzy #| msgid "Edit rule" msgid "Edit Project" msgstr "Regel bearbeiten" -#: /app/src/modules/projects/ProjectsModule.js:257 +#: /app/src/modules/projects/ProjectsModule.js:258 #: /app/templates/index.php:3013 /app/templates/index.php:3020 #: /app/templates/index.php:5154 msgid "New Project" msgstr "Neues Projekt" -#: /app/src/modules/projects/ProjectsModule.js:265 +#: /app/src/modules/projects/ProjectsModule.js:266 msgid "Choose a category…" msgstr "Kategorie auswählen …" -#: /app/src/modules/projects/ProjectsModule.js:300 +#: /app/src/modules/projects/ProjectsModule.js:301 msgid "No amount" msgstr "Kein Betrag" -#: /app/src/modules/projects/ProjectsModule.js:312 +#: /app/src/modules/projects/ProjectsModule.js:313 msgid "The subcategory amounts are {amount} over the total" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:313 +#: /app/src/modules/projects/ProjectsModule.js:314 #, fuzzy #| msgid "Expected: {amount}" msgid "Unallocated: {amount}" msgstr "Erwarteter Betrag: {amount}" -#: /app/src/modules/projects/ProjectsModule.js:333 +#: /app/src/modules/projects/ProjectsModule.js:334 msgid "Choose a category for the project" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:356 -#, fuzzy -#| msgid "Projected Value" +#: /app/src/modules/projects/ProjectsModule.js:357 msgid "Project saved" -msgstr "Prognostizierter Wert" +msgstr "Projekt gespeichert" -#: /app/src/modules/projects/ProjectsModule.js:356 +#: /app/src/modules/projects/ProjectsModule.js:357 #, fuzzy #| msgid "Goal created" msgid "Project created" @@ -10517,104 +10915,116 @@ msgstr "" msgid "No data for the selected period." msgstr "Für den ausgewählten Zeitraum sind keine Daten verfügbar." -#: /app/src/modules/reports/ReportsModule.js:1105 +#: /app/src/modules/reports/ReportsModule.js:1106 msgid "" "You have accounts in more than one currency. Amounts are summed in their " "original currency without conversion." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1160 +#: /app/src/modules/reports/ReportsModule.js:1161 msgid "Net Cash Flow" msgstr "Netto Cash Flow" -#: /app/src/modules/reports/ReportsModule.js:1301 /app/templates/index.php:3187 +#: /app/src/modules/reports/ReportsModule.js:1302 /app/templates/index.php:3187 #: /app/templates/index.php:3503 #, fuzzy #| msgid "Monthly Cash Flow" msgid "Money Flow" msgstr "Monatlicher Cash Flow" -#: /app/src/modules/reports/ReportsModule.js:1427 +#: /app/src/modules/reports/ReportsModule.js:1428 msgid "Failed to generate comparison" msgstr "Fehler beim Erstellen des Vergleichs" -#: /app/src/modules/reports/ReportsModule.js:1461 +#: /app/src/modules/reports/ReportsModule.js:1462 msgid "YTD" msgstr "Laufendes Jahr" -#: /app/src/modules/reports/ReportsModule.js:1486 +#: /app/src/modules/reports/ReportsModule.js:1487 msgid "{monthName} - Year over Year Comparison" msgstr "{monthName} - Jahresvergleich" -#: /app/src/modules/reports/ReportsModule.js:1487 +#: /app/src/modules/reports/ReportsModule.js:1488 msgid "Annual Income & Expenses" msgstr "Jährliche Einnahmen & Ausgaben" -#: /app/src/modules/reports/ReportsModule.js:1564 +#: /app/src/modules/reports/ReportsModule.js:1565 msgid "Change" msgstr "Ändern" -#: /app/src/modules/reports/ReportsModule.js:1608 +#: /app/src/modules/reports/ReportsModule.js:1609 msgid "Report exported as {format}" msgstr "Bericht als {format} exportiert" -#: /app/src/modules/reports/ReportsModule.js:1811 +#: /app/src/modules/reports/ReportsModule.js:1812 msgid "Failed to generate bills calendar" msgstr "Fehler beim Erstellen des Rechnungskalenders" -#: /app/src/modules/reports/ReportsModule.js:1839 +#: /app/src/modules/reports/ReportsModule.js:1840 msgid "Total Bills" msgstr "Anzahl der Rechnungen" -#: /app/src/modules/reports/ReportsModule.js:1911 +#: /app/src/modules/reports/ReportsModule.js:1909 +#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 +#: /app/src/utils/billDates.js:35 /app/templates/index.php:2690 +msgid "Paid" +msgstr "Bezahlt" + +#: /app/src/modules/reports/ReportsModule.js:1912 msgid "No payment recorded - the bill has moved on from this date" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1914 +#: /app/src/modules/reports/ReportsModule.js:1915 #, fuzzy #| msgid "Dec" msgid "Due" msgstr "Dez" -#: /app/src/modules/reports/ReportsModule.js:1919 -#: /app/src/modules/transactions/TransactionsModule.js:1988 +#: /app/src/modules/reports/ReportsModule.js:1920 +#: /app/src/modules/transactions/TransactionsModule.js:2016 #: /app/src/modules/transactions/transactionRow.js:55 -#: /app/src/modules/transfers/TransfersModule.js:473 +#: /app/src/modules/transfers/TransfersModule.js:447 #: /app/templates/index.php:5812 /app/templates/index.php:5818 msgid "Transfer" msgstr "Umbuchung" -#: /app/src/modules/reports/ReportsModule.js:1937 +#: /app/src/modules/reports/ReportsModule.js:1938 msgid "Monthly Totals" msgstr "Monatssummen" -#: /app/src/modules/reports/ReportsModule.js:1956 +#: /app/src/modules/reports/ReportsModule.js:1962 +msgid "" +"The projected balance is only shown for your own accounts, not ones shared " +"with you." +msgstr "" + +#: /app/src/modules/reports/ReportsModule.js:1964 msgid "" "Pick an account above to see its projected balance for the rest of the year." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1959 +#: /app/src/modules/reports/ReportsModule.js:1967 msgid "The projected balance is only shown for the current year." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1977 +#: /app/src/modules/reports/ReportsModule.js:1985 msgid "Bills {bills}, transfers in {transfers}, income {income}" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1986 +#: /app/src/modules/reports/ReportsModule.js:1994 msgid "" "{account} today: {balance}. Each month carries on from the month before, " "less the bills and plus the transfers and recurring income still due." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1991 +#: /app/src/modules/reports/ReportsModule.js:1999 #, fuzzy #| msgid "Your projected balance falls to {balance} in {month}." msgid "Lowest: {balance} in {month}." msgstr "Dein prognostizierter Kontostand fällt im {month} auf {balance}." -#: /app/src/modules/reports/ReportsModule.js:2027 -#: /app/src/modules/reports/ReportsModule.js:2029 +#: /app/src/modules/reports/ReportsModule.js:2035 +#: /app/src/modules/reports/ReportsModule.js:2037 msgid "%n bill" msgid_plural "%n bills" msgstr[0] "Eine Rechnung" @@ -10725,113 +11135,131 @@ msgid "NOT" msgstr "NICHT" #: /app/src/modules/rules/RulesModule.js:242 -#: /app/src/modules/rules/RulesModule.js:271 +#: /app/src/modules/rules/RulesModule.js:286 msgid "Category #{id}" msgstr "Kategorie #{id}" #: /app/src/modules/rules/RulesModule.js:247 -#: /app/src/modules/rules/RulesModule.js:277 +#: /app/src/modules/rules/RulesModule.js:292 msgid "Vendor:" msgstr "Anbieter:" #: /app/src/modules/rules/RulesModule.js:250 -#: /app/src/modules/rules/RulesModule.js:281 +#, fuzzy +#| msgid "Description" +msgid "Set description" +msgstr "Beschreibung" + +#: /app/src/modules/rules/RulesModule.js:253 +#: /app/src/modules/rules/RulesModule.js:296 msgid "Set notes" msgstr "Notiz festlegen" -#: /app/src/modules/rules/RulesModule.js:253 +#: /app/src/modules/rules/RulesModule.js:256 #, fuzzy #| msgid "Set notes" msgid "Set tags" msgstr "Notiz festlegen" -#: /app/src/modules/rules/RulesModule.js:256 +#: /app/src/modules/rules/RulesModule.js:259 msgid "Type:" msgstr "Typ:" -#: /app/src/modules/rules/RulesModule.js:259 +#: /app/src/modules/rules/RulesModule.js:262 #, fuzzy #| msgid "Save account" msgid "Move account" msgstr "Konto speichern" -#: /app/src/modules/rules/RulesModule.js:262 +#: /app/src/modules/rules/RulesModule.js:265 #, fuzzy #| msgid "Set Reference" msgid "Set reference" msgstr "Referenz festlegen" -#: /app/src/modules/rules/RulesModule.js:285 +#: /app/src/modules/rules/RulesModule.js:270 +msgid "Regular expression: {source} → {target}" +msgstr "" + +#: /app/src/modules/rules/RulesModule.js:274 +msgid "Case change on {field}" +msgstr "Groß-/Kleinschreibung bei {field} ändern" + +#: /app/src/modules/rules/RulesModule.js:277 +msgid "Replace in {field}" +msgstr "In {field} ersetzen" + +#: /app/src/modules/rules/RulesModule.js:300 msgid "No actions" msgstr "Keine Aktionen" -#: /app/src/modules/rules/RulesModule.js:413 -#: /app/src/modules/rules/RulesModule.js:432 +#: /app/src/modules/rules/RulesModule.js:428 +#: /app/src/modules/rules/RulesModule.js:447 #, fuzzy #| msgid "Edit rule" msgid "rule" msgstr "Regel bearbeiten" -#: /app/src/modules/rules/RulesModule.js:413 -#: /app/src/modules/rules/RulesModule.js:432 +#: /app/src/modules/rules/RulesModule.js:428 +#: /app/src/modules/rules/RulesModule.js:447 #, fuzzy #| msgid "Rules" msgid "rules" msgstr "Regeln" -#: /app/src/modules/rules/RulesModule.js:413 +#: /app/src/modules/rules/RulesModule.js:428 #, fuzzy #| msgid "Active" msgid "active" msgstr "Aktiv" -#: /app/src/modules/rules/RulesModule.js:414 +#: /app/src/modules/rules/RulesModule.js:429 msgid "Run all rules in this group" msgstr "" -#: /app/src/modules/rules/RulesModule.js:414 +#: /app/src/modules/rules/RulesModule.js:429 #, fuzzy #| msgid "+ Add Group" msgid "Run Group" msgstr "+ Gruppe hinzufügen" -#: /app/src/modules/rules/RulesModule.js:431 +#: /app/src/modules/rules/RulesModule.js:446 msgid "Ungrouped" msgstr "" -#: /app/src/modules/rules/RulesModule.js:722 +#: /app/src/modules/rules/RulesModule.js:737 msgid "This rule has been upgraded to the new format with advanced features" msgstr "" "Diese Regel wurde auf das neue Format mit erweiterten Funktionen aktualisiert" -#: /app/src/modules/rules/RulesModule.js:725 +#: /app/src/modules/rules/RulesModule.js:740 msgid "Failed to upgrade rule format" msgstr "Fehler beim Aktualisieren auf das neue Regelformat" -#: /app/src/modules/rules/RulesModule.js:741 +#: /app/src/modules/rules/RulesModule.js:756 msgid "Edit Rule" msgstr "Bearbeiten der Regel" -#: /app/src/modules/rules/RulesModule.js:769 /app/templates/index.php:2756 +#: /app/src/modules/rules/RulesModule.js:784 /app/templates/index.php:2756 msgid "Add Rule" msgstr "Regel hinzufügen" -#: /app/src/modules/rules/RulesModule.js:874 -#: /app/src/modules/rules/RulesModule.js:1225 +#: /app/src/modules/rules/RulesModule.js:889 +#: /app/src/modules/rules/RulesModule.js:1240 msgid "Error: CriteriaBuilder not initialized" msgstr "Fehler: \"CriteriaBuilder\" wurde nicht initialisiert" -#: /app/src/modules/rules/RulesModule.js:880 -#: /app/src/modules/rules/RulesModule.js:1064 -#: /app/src/modules/rules/RulesModule.js:1230 +#: /app/src/modules/rules/RulesModule.js:895 +#: /app/src/modules/rules/RulesModule.js:1079 +#: /app/src/modules/rules/RulesModule.js:1245 msgid "Invalid criteria: {errors}" msgstr "Fehlerhafte Kriterien: {errors}" -#: /app/src/modules/rules/RulesModule.js:895 +#: /app/src/modules/rules/RulesModule.js:910 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:508 #: /app/src/modules/sharing/SharingModule.js:32 -#: /app/src/modules/transactions/TransactionsModule.js:1289 -#: /app/src/modules/transactions/TransactionsModule.js:4767 +#: /app/src/modules/transactions/TransactionsModule.js:1315 +#: /app/src/modules/transactions/TransactionsModule.js:4818 #: /app/src/utils/loading.js:33 /app/templates/index.php:902 #: /app/templates/index.php:912 /app/templates/index.php:921 #: /app/templates/index.php:930 /app/templates/index.php:939 @@ -10842,197 +11270,197 @@ msgstr "Fehlerhafte Kriterien: {errors}" msgid "Loading..." msgstr "Lädt..." -#: /app/src/modules/rules/RulesModule.js:914 +#: /app/src/modules/rules/RulesModule.js:929 msgid "Failed to preview rule: {error}" msgstr "Fehler bei der Vorschau der Regel: {error}" -#: /app/src/modules/rules/RulesModule.js:918 /app/templates/index.php:6548 +#: /app/src/modules/rules/RulesModule.js:933 /app/templates/index.php:6549 msgid "Preview Matches" msgstr "Vorschau der Übereinstimmungen" -#: /app/src/modules/rules/RulesModule.js:938 -#: /app/src/modules/rules/RulesModule.js:1140 /app/templates/index.php:6521 +#: /app/src/modules/rules/RulesModule.js:953 +#: /app/src/modules/rules/RulesModule.js:1155 /app/templates/index.php:6522 msgid "Current Category" msgstr "Aktuelle Kategorie" -#: /app/src/modules/rules/RulesModule.js:956 +#: /app/src/modules/rules/RulesModule.js:971 msgid "No matching transactions found" msgstr "Keine übereinstimmenden Buchungen gefunden" -#: /app/src/modules/rules/RulesModule.js:1002 /app/templates/quick-add.php:160 +#: /app/src/modules/rules/RulesModule.js:1017 /app/templates/quick-add.php:160 msgid "Saving..." msgstr "Speichern..." -#: /app/src/modules/rules/RulesModule.js:1010 +#: /app/src/modules/rules/RulesModule.js:1025 msgid "Failed to save rule" msgstr "Fehler beim Speichern der Regel" -#: /app/src/modules/rules/RulesModule.js:1014 -#: /app/src/modules/rules/RulesModule.js:1680 +#: /app/src/modules/rules/RulesModule.js:1029 +#: /app/src/modules/rules/RulesModule.js:1695 msgid "Running..." msgstr "Läuft..." -#: /app/src/modules/rules/RulesModule.js:1028 -#: /app/src/modules/rules/RulesModule.js:1695 +#: /app/src/modules/rules/RulesModule.js:1043 +#: /app/src/modules/rules/RulesModule.js:1710 msgid "Rule applied: %n transaction updated" msgid_plural "Rule applied: %n transactions updated" msgstr[0] "Regel angewendet: Eine Buchung wurde aktualisiert" msgstr[1] "Regel angewendet: %n Buchungen wurden aktualisiert" -#: /app/src/modules/rules/RulesModule.js:1034 -#: /app/src/modules/rules/RulesModule.js:1152 -#: /app/src/modules/rules/RulesModule.js:1700 -#: /app/src/modules/rules/RulesModule.js:1739 +#: /app/src/modules/rules/RulesModule.js:1049 +#: /app/src/modules/rules/RulesModule.js:1167 +#: /app/src/modules/rules/RulesModule.js:1715 +#: /app/src/modules/rules/RulesModule.js:1754 msgid "No transactions were updated" msgstr "Keine Buchungen wurden aktualisiert" -#: /app/src/modules/rules/RulesModule.js:1039 -#: /app/src/modules/rules/RulesModule.js:1704 +#: /app/src/modules/rules/RulesModule.js:1054 +#: /app/src/modules/rules/RulesModule.js:1719 msgid "Failed to run rule: {error}" msgstr "Fehler bei der Anwendung der Regel: {error}" -#: /app/src/modules/rules/RulesModule.js:1042 /app/templates/index.php:6549 +#: /app/src/modules/rules/RulesModule.js:1057 /app/templates/index.php:6550 msgid "Run Rule Now" msgstr "Regel jetzt anwenden" -#: /app/src/modules/rules/RulesModule.js:1059 +#: /app/src/modules/rules/RulesModule.js:1074 msgid "CriteriaBuilder not initialized" msgstr "CriteriaBuilder ist nicht initialisiert" -#: /app/src/modules/rules/RulesModule.js:1071 +#: /app/src/modules/rules/RulesModule.js:1086 msgid "ActionBuilder not initialized" msgstr "ActionBuilder ist nicht initialisiert" -#: /app/src/modules/rules/RulesModule.js:1076 -#: /app/src/modules/rules/RulesModule.js:1241 +#: /app/src/modules/rules/RulesModule.js:1091 +#: /app/src/modules/rules/RulesModule.js:1256 msgid "Invalid actions: {errors}" msgstr "Ungültige Aktionen: {errors}" -#: /app/src/modules/rules/RulesModule.js:1145 +#: /app/src/modules/rules/RulesModule.js:1160 msgid "{count} updated" msgstr "{count} aktualisiert" -#: /app/src/modules/rules/RulesModule.js:1200 +#: /app/src/modules/rules/RulesModule.js:1215 msgid "Rule updated successfully" msgstr "Regel aktualisiert" -#: /app/src/modules/rules/RulesModule.js:1200 +#: /app/src/modules/rules/RulesModule.js:1215 msgid "Rule created successfully" msgstr "Regel erstellt" -#: /app/src/modules/rules/RulesModule.js:1209 +#: /app/src/modules/rules/RulesModule.js:1224 msgid "Failed to save rule: {error}" msgstr "Fehler beim Speichern der Regel: {error}" -#: /app/src/modules/rules/RulesModule.js:1236 +#: /app/src/modules/rules/RulesModule.js:1251 msgid "Error: ActionBuilder not initialized" msgstr "Fehler: \"ActionBuilder\" wurde nicht initialisiert" -#: /app/src/modules/rules/RulesModule.js:1324 +#: /app/src/modules/rules/RulesModule.js:1339 msgid "You have no rules to export." msgstr "Es sind keine Regeln zum Exportieren vorhanden." -#: /app/src/modules/rules/RulesModule.js:1346 +#: /app/src/modules/rules/RulesModule.js:1361 msgid "Exported %n rule" msgid_plural "Exported %n rules" msgstr[0] "%n Regel exportiert" msgstr[1] "%n Regeln exportiert" -#: /app/src/modules/rules/RulesModule.js:1372 +#: /app/src/modules/rules/RulesModule.js:1387 msgid "No rules found in that file." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1390 +#: /app/src/modules/rules/RulesModule.js:1405 msgid "" "No rules could be imported. They may reference categories or accounts that " "don't exist here." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1392 +#: /app/src/modules/rules/RulesModule.js:1407 msgid "" "Imported {imported}; {failed} could not be imported (they may reference " "categories or accounts that don't exist here)." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1394 +#: /app/src/modules/rules/RulesModule.js:1409 msgid "Imported %n rule" msgid_plural "Imported %n rules" msgstr[0] "%n Regel importiert" msgstr[1] "%n Regeln importiert" -#: /app/src/modules/rules/RulesModule.js:1458 +#: /app/src/modules/rules/RulesModule.js:1473 msgid "Invalid JSON: {error}" msgstr "Ungültiges JSON: {error}" -#: /app/src/modules/rules/RulesModule.js:1462 +#: /app/src/modules/rules/RulesModule.js:1477 msgid "Rule JSON must be a single object." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1509 +#: /app/src/modules/rules/RulesModule.js:1524 msgid "" "This JSON could not be loaded into the builder. Fix the structure, or save " "directly from JSON." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1587 +#: /app/src/modules/rules/RulesModule.js:1602 #, fuzzy #| msgid "Failed to import data" msgid "Rule JSON copied to clipboard" msgstr "Fehler beim Importieren der Daten" -#: /app/src/modules/rules/RulesModule.js:1592 +#: /app/src/modules/rules/RulesModule.js:1607 msgid "Could not copy automatically — the text is selected, press Ctrl+C" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1602 +#: /app/src/modules/rules/RulesModule.js:1617 msgid "Failed to load rule" msgstr "Fehler beim Laden der Regel" -#: /app/src/modules/rules/RulesModule.js:1607 +#: /app/src/modules/rules/RulesModule.js:1622 msgid "Are you sure you want to delete this rule?" msgstr "Möchtest du diese Regel wirklich löschen?" -#: /app/src/modules/rules/RulesModule.js:1612 +#: /app/src/modules/rules/RulesModule.js:1627 msgid "Rule deleted successfully" msgstr "Regel gelöscht" -#: /app/src/modules/rules/RulesModule.js:1616 +#: /app/src/modules/rules/RulesModule.js:1631 msgid "Failed to delete rule" msgstr "Fehler beim Löschen der Regel" -#: /app/src/modules/rules/RulesModule.js:1644 +#: /app/src/modules/rules/RulesModule.js:1659 msgid "Rule enabled" msgstr "Regel aktiviert" -#: /app/src/modules/rules/RulesModule.js:1644 +#: /app/src/modules/rules/RulesModule.js:1659 msgid "Rule disabled" msgstr "Regel deaktiviert" -#: /app/src/modules/rules/RulesModule.js:1647 +#: /app/src/modules/rules/RulesModule.js:1662 msgid "Failed to update rule: {error}" msgstr "Fehler beim Aktualisieren der Regel: {error}" -#: /app/src/modules/rules/RulesModule.js:1664 +#: /app/src/modules/rules/RulesModule.js:1679 msgid "Run rule \"{name}\" on matching transactions?" msgstr "Regel „{name}“ auf passende Transaktionen anwenden?" -#: /app/src/modules/rules/RulesModule.js:1707 /app/templates/index.php:6638 +#: /app/src/modules/rules/RulesModule.js:1722 /app/templates/index.php:6639 #, fuzzy #| msgid "Jun" msgid "Run" msgstr "Jun" -#: /app/src/modules/rules/RulesModule.js:1714 +#: /app/src/modules/rules/RulesModule.js:1729 #, fuzzy #| msgid "Remove this group" msgid "No active rules in this group" msgstr "Diese Gruppe entfernen" -#: /app/src/modules/rules/RulesModule.js:1718 +#: /app/src/modules/rules/RulesModule.js:1733 msgid "Run {count} active rules in group \"{name}\"?" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1734 +#: /app/src/modules/rules/RulesModule.js:1749 #, fuzzy #| msgid "Rule applied: %n transaction updated" #| msgid_plural "Rule applied: %n transactions updated" @@ -11041,13 +11469,13 @@ msgid_plural "Group applied: %n transactions updated" msgstr[0] "Regel angewendet: Eine Buchung wurde aktualisiert" msgstr[1] "Regel angewendet: %n Buchungen wurden aktualisiert" -#: /app/src/modules/rules/RulesModule.js:1743 +#: /app/src/modules/rules/RulesModule.js:1758 #, fuzzy #| msgid "Failed to run rule: {error}" msgid "Failed to run group rules: {error}" msgstr "Fehler bei der Anwendung der Regel: {error}" -#: /app/src/modules/rules/RulesModule.js:1805 +#: /app/src/modules/rules/RulesModule.js:1820 msgid "" "Apply rules to matching transactions? This will modify the selected " "transactions." @@ -11055,22 +11483,22 @@ msgstr "" "Regeln auf übereinstimmende Buchungen anwenden? Die Buchungen werden dadurch " "verändert." -#: /app/src/modules/rules/RulesModule.js:1814 +#: /app/src/modules/rules/RulesModule.js:1829 msgid "Applying..." msgstr "Übernehme..." -#: /app/src/modules/rules/RulesModule.js:1832 +#: /app/src/modules/rules/RulesModule.js:1847 msgid "Rules applied: {success} updated, {skipped} skipped, {failed} failed" msgstr "" "Regeln angewendet: {success} aktualisiert, {skipped} übersprungen, {failed} " "fehlgeschlagen" -#: /app/src/modules/rules/RulesModule.js:1841 +#: /app/src/modules/rules/RulesModule.js:1856 msgid "Failed to apply rules" msgstr "Fehler beim Anwenden der Regeln" -#: /app/src/modules/rules/RulesModule.js:1844 /app/templates/index.php:2743 -#: /app/templates/index.php:6617 +#: /app/src/modules/rules/RulesModule.js:1859 /app/templates/index.php:2743 +#: /app/templates/index.php:6618 msgid "Apply Rules" msgstr "Regeln anwenden" @@ -11080,273 +11508,413 @@ msgid "+ Add Action" msgstr "+ Aktion hinzufügen" #: /app/src/modules/rules/components/ActionBuilder.js:91 -#: /app/src/modules/rules/components/ActionBuilder.js:124 +#: /app/src/modules/rules/components/ActionBuilder.js:127 msgid "Set Category" msgstr "Kategorie festlegen" #: /app/src/modules/rules/components/ActionBuilder.js:92 -#: /app/src/modules/rules/components/ActionBuilder.js:125 +#: /app/src/modules/rules/components/ActionBuilder.js:128 msgid "Set Vendor" msgstr "Empfänger festlegen" #: /app/src/modules/rules/components/ActionBuilder.js:93 -#: /app/src/modules/rules/components/ActionBuilder.js:126 +#: /app/src/modules/rules/components/ActionBuilder.js:129 #, fuzzy #| msgid "Description" msgid "Set Description" msgstr "Beschreibung" #: /app/src/modules/rules/components/ActionBuilder.js:94 -#: /app/src/modules/rules/components/ActionBuilder.js:127 +#: /app/src/modules/rules/components/ActionBuilder.js:130 msgid "Set Notes" msgstr "Notizen festlegen" #: /app/src/modules/rules/components/ActionBuilder.js:95 -#: /app/src/modules/rules/components/ActionBuilder.js:128 +#: /app/src/modules/rules/components/ActionBuilder.js:131 msgid "Add Tags" msgstr "Schlagwörter hinzufügen" #: /app/src/modules/rules/components/ActionBuilder.js:96 -#: /app/src/modules/rules/components/ActionBuilder.js:129 +#: /app/src/modules/rules/components/ActionBuilder.js:132 msgid "Set Account" msgstr "Konto festlegen" #: /app/src/modules/rules/components/ActionBuilder.js:97 -#: /app/src/modules/rules/components/ActionBuilder.js:130 +#: /app/src/modules/rules/components/ActionBuilder.js:133 msgid "Set Transaction Type" msgstr "Buchungstyp festlegen" -#: /app/src/modules/rules/components/ActionBuilder.js:98 -#: /app/src/modules/rules/components/ActionBuilder.js:131 -msgid "Set Reference" -msgstr "Referenz festlegen" +#: /app/src/modules/rules/components/ActionBuilder.js:98 +#: /app/src/modules/rules/components/ActionBuilder.js:134 +msgid "Set Reference" +msgstr "Referenz festlegen" + +#: /app/src/modules/rules/components/ActionBuilder.js:99 +#: /app/src/modules/rules/components/ActionBuilder.js:135 +msgid "Regex Replace" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:100 +#: /app/src/modules/rules/components/ActionBuilder.js:136 +#, fuzzy +#| msgid "Change" +msgid "Change Case" +msgstr "Ändern" + +#: /app/src/modules/rules/components/ActionBuilder.js:101 +#: /app/src/modules/rules/components/ActionBuilder.js:137 +#, fuzzy +#| msgid "Replace notes" +msgid "Replace Text" +msgstr "Notizen ersetzen" -#: /app/src/modules/rules/components/ActionBuilder.js:99 -#: /app/src/modules/rules/components/ActionBuilder.js:132 +#: /app/src/modules/rules/components/ActionBuilder.js:102 +#: /app/src/modules/rules/components/ActionBuilder.js:138 msgid "Exclude from Forecast" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:100 -#: /app/src/modules/rules/components/ActionBuilder.js:133 +#: /app/src/modules/rules/components/ActionBuilder.js:103 +#: /app/src/modules/rules/components/ActionBuilder.js:139 #, fuzzy #| msgid "Link as Transfer" msgid "Auto-Link as Transfer" msgstr "Als Transfer verknüpfen" -#: /app/src/modules/rules/components/ActionBuilder.js:104 +#: /app/src/modules/rules/components/ActionBuilder.js:107 msgid "Stop processing after this rule" msgstr "Verarbeitung nach dieser Regel beenden" -#: /app/src/modules/rules/components/ActionBuilder.js:105 +#: /app/src/modules/rules/components/ActionBuilder.js:108 msgid "If checked, no rules with lower priority will run if this rule matches" msgstr "" "Wenn aktiviert und diese Regel zutrifft, werden keine Regeln mit niedrigerer " "Priorität ausgeführt" -#: /app/src/modules/rules/components/ActionBuilder.js:116 +#: /app/src/modules/rules/components/ActionBuilder.js:119 msgid "No actions yet. Use the dropdown below to add actions." msgstr "" "Noch keine Aktionen. Verwende das Dropdown-Menü unten, um Aktionen " "hinzuzufügen." -#: /app/src/modules/rules/components/ActionBuilder.js:146 +#: /app/src/modules/rules/components/ActionBuilder.js:152 msgid "Remove action" msgstr "Aktion löschen" -#: /app/src/modules/rules/components/ActionBuilder.js:179 +#: /app/src/modules/rules/components/ActionBuilder.js:191 msgid "Unknown action type" msgstr "Unbekannter Aktionstyp" -#: /app/src/modules/rules/components/ActionBuilder.js:187 -#: /app/src/modules/rules/components/ActionBuilder.js:188 -msgid "Category:" -msgstr "Kategorie:" - -#: /app/src/modules/rules/components/ActionBuilder.js:189 -msgid "-- Select Category --" -msgstr "-- Kategorie auswählen --" +#: /app/src/modules/rules/components/ActionBuilder.js:199 +#: /app/src/modules/rules/components/CriteriaBuilder.js:187 +#, fuzzy +#| msgid "Match Field" +msgid "Field" +msgstr "Übereinstimmungsfeld" -#: /app/src/modules/rules/components/ActionBuilder.js:194 -#: /app/src/modules/rules/components/ActionBuilder.js:195 -#: /app/src/modules/rules/components/ActionBuilder.js:211 #: /app/src/modules/rules/components/ActionBuilder.js:212 -#: /app/src/modules/rules/components/ActionBuilder.js:228 -#: /app/src/modules/rules/components/ActionBuilder.js:229 -#: /app/src/modules/rules/components/ActionBuilder.js:245 -#: /app/src/modules/rules/components/ActionBuilder.js:246 -#: /app/src/modules/rules/components/ActionBuilder.js:286 -#: /app/src/modules/rules/components/ActionBuilder.js:287 -#: /app/src/modules/rules/components/ActionBuilder.js:342 -#: /app/src/modules/rules/components/ActionBuilder.js:343 -msgid "Behavior:" -msgstr "Verhalten:" +msgid "Behavior" +msgstr "Verhalten" -#: /app/src/modules/rules/components/ActionBuilder.js:196 #: /app/src/modules/rules/components/ActionBuilder.js:213 -#: /app/src/modules/rules/components/ActionBuilder.js:230 -#: /app/src/modules/rules/components/ActionBuilder.js:344 +#: /app/src/modules/rules/components/ActionBuilder.js:287 +#: /app/src/modules/rules/components/ActionBuilder.js:304 +#: /app/src/modules/rules/components/ActionBuilder.js:321 +#: /app/src/modules/rules/components/ActionBuilder.js:435 msgid "Always set" msgstr "Überschreiben" -#: /app/src/modules/rules/components/ActionBuilder.js:197 #: /app/src/modules/rules/components/ActionBuilder.js:214 -#: /app/src/modules/rules/components/ActionBuilder.js:231 -#: /app/src/modules/rules/components/ActionBuilder.js:345 +#: /app/src/modules/rules/components/ActionBuilder.js:288 +#: /app/src/modules/rules/components/ActionBuilder.js:305 +#: /app/src/modules/rules/components/ActionBuilder.js:322 +#: /app/src/modules/rules/components/ActionBuilder.js:436 msgid "Only if empty" msgstr "Nur wenn leer" -#: /app/src/modules/rules/components/ActionBuilder.js:206 -#: /app/src/modules/rules/components/ActionBuilder.js:207 +#: /app/src/modules/rules/components/ActionBuilder.js:218 +#: /app/templates/index.php:6458 +msgid "Pattern" +msgstr "Muster" + +#: /app/src/modules/rules/components/ActionBuilder.js:219 +#, fuzzy +#| msgid "Pattern" +msgid "Pattern: /\\d+/" +msgstr "Muster" + +#: /app/src/modules/rules/components/ActionBuilder.js:220 +#, fuzzy +#| msgid "Replace notes" +msgid "Replacement" +msgstr "Notizen ersetzen" + +#: /app/src/modules/rules/components/ActionBuilder.js:221 +msgid "Replacement: e.g., X or $1" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:230 +#: /app/src/modules/rules/components/ActionBuilder.js:231 +#: /app/src/modules/rules/components/ActionBuilder.js:254 +#: /app/src/modules/rules/components/ActionBuilder.js:255 +msgid "Field:" +msgstr "Feld:" + +#: /app/src/modules/rules/components/ActionBuilder.js:239 +#: /app/src/modules/rules/components/ActionBuilder.js:240 +msgid "Mode:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:241 +msgid "Uppercase" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:242 +msgid "Lowercase" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:243 +msgid "Title Case" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:244 +msgid "Sentence case" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:261 +#: /app/src/modules/rules/components/ActionBuilder.js:262 +msgid "Find:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:263 +#, fuzzy +#| msgid "e.g., 15" +msgid "e.g., ACME" +msgstr "z.B. 15" + +#: /app/src/modules/rules/components/ActionBuilder.js:266 +#: /app/src/modules/rules/components/ActionBuilder.js:267 +msgid "Replace:" +msgstr "Ersetzen:" + +#: /app/src/modules/rules/components/ActionBuilder.js:268 +#, fuzzy +#| msgid "e.g., amazon" +msgid "e.g., Amazon" +msgstr "z.B. amazon" + +#: /app/src/modules/rules/components/ActionBuilder.js:278 +#: /app/src/modules/rules/components/ActionBuilder.js:279 +msgid "Category:" +msgstr "Kategorie:" + +#: /app/src/modules/rules/components/ActionBuilder.js:280 +msgid "-- Select Category --" +msgstr "-- Kategorie auswählen --" + +#: /app/src/modules/rules/components/ActionBuilder.js:285 +#: /app/src/modules/rules/components/ActionBuilder.js:286 +#: /app/src/modules/rules/components/ActionBuilder.js:302 +#: /app/src/modules/rules/components/ActionBuilder.js:303 +#: /app/src/modules/rules/components/ActionBuilder.js:319 +#: /app/src/modules/rules/components/ActionBuilder.js:320 +#: /app/src/modules/rules/components/ActionBuilder.js:336 +#: /app/src/modules/rules/components/ActionBuilder.js:337 +#: /app/src/modules/rules/components/ActionBuilder.js:377 +#: /app/src/modules/rules/components/ActionBuilder.js:378 +#: /app/src/modules/rules/components/ActionBuilder.js:433 +#: /app/src/modules/rules/components/ActionBuilder.js:434 +msgid "Behavior:" +msgstr "Verhalten:" + +#: /app/src/modules/rules/components/ActionBuilder.js:297 +#: /app/src/modules/rules/components/ActionBuilder.js:298 msgid "Vendor Name:" msgstr "Name des Empfängers:" -#: /app/src/modules/rules/components/ActionBuilder.js:208 +#: /app/src/modules/rules/components/ActionBuilder.js:299 msgid "e.g., Amazon, Starbucks" msgstr "z.B. Lidl, Netflix" -#: /app/src/modules/rules/components/ActionBuilder.js:223 -#: /app/src/modules/rules/components/ActionBuilder.js:224 -#: /app/src/modules/transactions/TransactionsModule.js:3726 -#: /app/templates/index.php:7103 +#: /app/src/modules/rules/components/ActionBuilder.js:314 +#: /app/src/modules/rules/components/ActionBuilder.js:315 +#: /app/src/modules/transactions/TransactionsModule.js:3777 +#: /app/templates/index.php:7104 msgid "Description:" msgstr "Beschreibung:" -#: /app/src/modules/rules/components/ActionBuilder.js:225 +#: /app/src/modules/rules/components/ActionBuilder.js:316 msgid "e.g., Grocery purchase, Salary" msgstr "z. B. Lebensmitteleinkauf, Gehalt" -#: /app/src/modules/rules/components/ActionBuilder.js:240 -#: /app/src/modules/rules/components/ActionBuilder.js:241 +#: /app/src/modules/rules/components/ActionBuilder.js:331 +#: /app/src/modules/rules/components/ActionBuilder.js:332 msgid "Notes Text:" msgstr "Text:" -#: /app/src/modules/rules/components/ActionBuilder.js:242 +#: /app/src/modules/rules/components/ActionBuilder.js:333 msgid "Text to add to transaction notes" msgstr "Hinzugefügte Buchungsnotiz" -#: /app/src/modules/rules/components/ActionBuilder.js:247 +#: /app/src/modules/rules/components/ActionBuilder.js:338 msgid "Replace notes" msgstr "Notizen ersetzen" -#: /app/src/modules/rules/components/ActionBuilder.js:248 +#: /app/src/modules/rules/components/ActionBuilder.js:339 msgid "Append to notes" msgstr "An Notizen anhängen" -#: /app/src/modules/rules/components/ActionBuilder.js:253 -#: /app/src/modules/rules/components/ActionBuilder.js:254 +#: /app/src/modules/rules/components/ActionBuilder.js:344 +#: /app/src/modules/rules/components/ActionBuilder.js:345 msgid "Separator:" msgstr "Trennzeichen:" -#: /app/src/modules/rules/components/ActionBuilder.js:255 +#: /app/src/modules/rules/components/ActionBuilder.js:346 msgid "e.g., | or -" msgstr "z.B. | oder -" -#: /app/src/modules/rules/components/ActionBuilder.js:268 +#: /app/src/modules/rules/components/ActionBuilder.js:359 msgid "Tags to Add:" msgstr "Stichwörter:" -#: /app/src/modules/rules/components/ActionBuilder.js:270 +#: /app/src/modules/rules/components/ActionBuilder.js:361 msgid "No tag sets available" msgstr "Keine Stichwörter verfügbar" -#: /app/src/modules/rules/components/ActionBuilder.js:288 +#: /app/src/modules/rules/components/ActionBuilder.js:379 msgid "Merge with existing tags" msgstr "Bestehenden hinzufügen" -#: /app/src/modules/rules/components/ActionBuilder.js:289 +#: /app/src/modules/rules/components/ActionBuilder.js:380 msgid "Replace all tags" msgstr "Bestehende ersetzen" -#: /app/src/modules/rules/components/ActionBuilder.js:300 -#: /app/src/modules/rules/components/ActionBuilder.js:301 +#: /app/src/modules/rules/components/ActionBuilder.js:391 +#: /app/src/modules/rules/components/ActionBuilder.js:392 msgid "Account:" msgstr "Konto:" -#: /app/src/modules/rules/components/ActionBuilder.js:302 +#: /app/src/modules/rules/components/ActionBuilder.js:393 msgid "-- Select Account --" msgstr "-- Konto auswählen --" -#: /app/src/modules/rules/components/ActionBuilder.js:309 +#: /app/src/modules/rules/components/ActionBuilder.js:400 msgid "This will reassign the transaction to a different account" msgstr "Dies wird die Buchung einem anderen Konto zuweisen" -#: /app/src/modules/rules/components/ActionBuilder.js:317 +#: /app/src/modules/rules/components/ActionBuilder.js:408 msgid "Transaction Type:" msgstr "Buchungstyp:" -#: /app/src/modules/rules/components/ActionBuilder.js:337 -#: /app/src/modules/rules/components/ActionBuilder.js:338 +#: /app/src/modules/rules/components/ActionBuilder.js:428 +#: /app/src/modules/rules/components/ActionBuilder.js:429 msgid "Reference Value:" msgstr "Referenz:" -#: /app/src/modules/rules/components/ActionBuilder.js:339 +#: /app/src/modules/rules/components/ActionBuilder.js:430 msgid "e.g., CHECK-1234, AUTO" msgstr "z.B. CHECK-1234, AUTO" -#: /app/src/modules/rules/components/ActionBuilder.js:355 -#: /app/src/modules/rules/components/ActionBuilder.js:356 +#: /app/src/modules/rules/components/ActionBuilder.js:446 +#: /app/src/modules/rules/components/ActionBuilder.js:447 msgid "Forecast:" msgstr "Prognose:" -#: /app/src/modules/rules/components/ActionBuilder.js:357 +#: /app/src/modules/rules/components/ActionBuilder.js:448 msgid "Exclude from forecast" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:358 +#: /app/src/modules/rules/components/ActionBuilder.js:449 msgid "Include in forecast" msgstr "In die Prognose einbeziehen" -#: /app/src/modules/rules/components/ActionBuilder.js:362 +#: /app/src/modules/rules/components/ActionBuilder.js:453 msgid "" "Extraordinary one-time amounts are left out of the forecast averages (they " "still affect your real balance)." msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:370 +#: /app/src/modules/rules/components/ActionBuilder.js:461 msgid "" "After import, automatically find and link a matching transaction from " "another account as a transfer pair. Matches by amount, opposite type, and " "date proximity (within 3 days)." msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:529 +#: /app/src/modules/rules/components/ActionBuilder.js:649 msgid "Action {number}: Missing type" msgstr "Aktion {number}: Typ fehlt" -#: /app/src/modules/rules/components/ActionBuilder.js:536 +#: /app/src/modules/rules/components/ActionBuilder.js:656 msgid "Action {number}: Category not selected" msgstr "Aktion {number}: Kategorie nicht ausgewählt" -#: /app/src/modules/rules/components/ActionBuilder.js:541 +#: /app/src/modules/rules/components/ActionBuilder.js:661 msgid "Action {number}: Vendor name is empty" msgstr "Aktion {number}: Empfängername ist leer" -#: /app/src/modules/rules/components/ActionBuilder.js:546 +#: /app/src/modules/rules/components/ActionBuilder.js:666 #, fuzzy #| msgid "Action {number}: Notes text is empty" msgid "Action {number}: Description is empty" msgstr "Aktion {number}: Notiztext ist leer" -#: /app/src/modules/rules/components/ActionBuilder.js:551 +#: /app/src/modules/rules/components/ActionBuilder.js:671 msgid "Action {number}: Notes text is empty" msgstr "Aktion {number}: Notiztext ist leer" -#: /app/src/modules/rules/components/ActionBuilder.js:556 +#: /app/src/modules/rules/components/ActionBuilder.js:676 msgid "Action {number}: No tags selected" msgstr "Aktion {number}: Keine Stichwörter ausgewählt" -#: /app/src/modules/rules/components/ActionBuilder.js:561 +#: /app/src/modules/rules/components/ActionBuilder.js:681 msgid "Action {number}: Account not selected" msgstr "Aktion {number}: Kein Konto ausgewählt" -#: /app/src/modules/rules/components/ActionBuilder.js:566 +#: /app/src/modules/rules/components/ActionBuilder.js:686 msgid "Action {number}: Invalid transaction type" msgstr "Aktion {number}: Ungültiger Buchungstyp" -#: /app/src/modules/rules/components/ActionBuilder.js:571 +#: /app/src/modules/rules/components/ActionBuilder.js:691 msgid "Action {number}: Reference value is empty" msgstr "Action {number}: Referenz ist leer" +#: /app/src/modules/rules/components/ActionBuilder.js:696 +#, fuzzy +#| msgid "Action {number}: Reference value is empty" +msgid "Action {number}: Regex field is invalid" +msgstr "Action {number}: Referenz ist leer" + +#: /app/src/modules/rules/components/ActionBuilder.js:699 +#, fuzzy +#| msgid "Action {number}: Reference value is empty" +msgid "Action {number}: Regex target field is invalid" +msgstr "Action {number}: Referenz ist leer" + +#: /app/src/modules/rules/components/ActionBuilder.js:702 +#, fuzzy +#| msgid "Action {number}: Reference value is empty" +msgid "Action {number}: Regex pattern is empty" +msgstr "Action {number}: Referenz ist leer" + +#: /app/src/modules/rules/components/ActionBuilder.js:707 +#: /app/src/modules/rules/components/ActionBuilder.js:715 +#, fuzzy +#| msgid "Action {number}: Notes text is empty" +msgid "Action {number}: Text field is invalid" +msgstr "Aktion {number}: Notiztext ist leer" + +#: /app/src/modules/rules/components/ActionBuilder.js:710 +#, fuzzy +#| msgid "Action {number}: Category not selected" +msgid "Action {number}: Case mode is invalid" +msgstr "Aktion {number}: Kategorie nicht ausgewählt" + +#: /app/src/modules/rules/components/ActionBuilder.js:718 +#, fuzzy +#| msgid "Action {number}: Notes text is empty" +msgid "Action {number}: Replace text target is empty" +msgstr "Aktion {number}: Notiztext ist leer" + #: /app/src/modules/rules/components/CriteriaBuilder.js:155 msgid "How conditions combine" msgstr "Wie Bedingungen kombiniert werden" @@ -11371,12 +11939,6 @@ msgstr "+ Bedinung hinzufügen" msgid "+ Add Group" msgstr "+ Gruppe hinzufügen" -#: /app/src/modules/rules/components/CriteriaBuilder.js:187 -#, fuzzy -#| msgid "Match Field" -msgid "Field" -msgstr "Übereinstimmungsfeld" - #: /app/src/modules/rules/components/CriteriaBuilder.js:191 #: /app/templates/index.php:2432 msgid "Transaction Type" @@ -11394,7 +11956,7 @@ msgid "Import Source" msgstr "Importregel" #: /app/src/modules/rules/components/CriteriaBuilder.js:199 -#: /app/templates/index.php:6445 +#: /app/templates/index.php:6446 msgid "Match Type" msgstr "Art der Übereinstimmung" @@ -11498,18 +12060,14 @@ msgstr "Für die Bedingung unter {path} wurde kein Vergleichstyp ausgewählt" msgid "Condition at {path} has no pattern value" msgstr "Für die Bedingung unter {path} wurde kein Suchmuster angegeben" -#: /app/src/modules/rules/components/CriteriaBuilder.js:546 -msgid "Condition at {path} has invalid regex pattern: {error}" -msgstr "Für die Bedingung unter {path} ist das Regex-Muster ungültig: {error}" - -#: /app/src/modules/rules/components/CriteriaBuilder.js:557 +#: /app/src/modules/rules/components/CriteriaBuilder.js:551 msgid "" "Condition at {path} 'between' pattern must have 'min' and 'max' properties" msgstr "" "Bedingung bei {path}: 'zwischen'-Muster muss 'min'- und 'max'-Eigenschaften " "enthalten" -#: /app/src/modules/rules/components/CriteriaBuilder.js:560 +#: /app/src/modules/rules/components/CriteriaBuilder.js:554 msgid "Condition at {path} 'between' pattern must be valid JSON with min/max" msgstr "" "Bedingung bei {path}: 'zwischen'-Muster muss validen JSON-Syntax mit " @@ -11520,91 +12078,91 @@ msgstr "" msgid "Failed to load savings goals" msgstr "Sparziele konnten nicht geladen werden" -#: /app/src/modules/savings/SavingsModule.js:104 +#: /app/src/modules/savings/SavingsModule.js:106 msgid "Target date passed" msgstr "Zieldatum überschritten" -#: /app/src/modules/savings/SavingsModule.js:106 +#: /app/src/modules/savings/SavingsModule.js:108 msgid "Target date: Today" msgstr "Zieldatum: Heute" -#: /app/src/modules/savings/SavingsModule.js:108 +#: /app/src/modules/savings/SavingsModule.js:110 msgid "%n day left" msgid_plural "%n days left" msgstr[0] "Ein Tag verbleibend" msgstr[1] "%n Tage verbleibend" -#: /app/src/modules/savings/SavingsModule.js:110 +#: /app/src/modules/savings/SavingsModule.js:112 msgid "Target: {date}" msgstr "Stichtag: {date}" -#: /app/src/modules/savings/SavingsModule.js:116 +#: /app/src/modules/savings/SavingsModule.js:118 msgid "Goal reached!" msgstr "Ziel erreicht!" -#: /app/src/modules/savings/SavingsModule.js:118 +#: /app/src/modules/savings/SavingsModule.js:120 msgid "Auto-tracked" msgstr "Automatisch verfolgt" -#: /app/src/modules/savings/SavingsModule.js:120 +#: /app/src/modules/savings/SavingsModule.js:122 msgid "+ Add money" msgstr "+ Geld hinzufügen" -#: /app/src/modules/savings/SavingsModule.js:154 +#: /app/src/modules/savings/SavingsModule.js:156 msgid "of {amount}" msgstr "von {amount}" -#: /app/src/modules/savings/SavingsModule.js:250 +#: /app/src/modules/savings/SavingsModule.js:252 msgid "Auto-calculated from tag" msgstr "Automatisch berechnet aus Schlagwort" -#: /app/src/modules/savings/SavingsModule.js:266 /app/templates/index.php:5237 +#: /app/src/modules/savings/SavingsModule.js:268 /app/templates/index.php:5237 msgid "No linked account" msgstr "Kein verknüpftes Konto" -#: /app/src/modules/savings/SavingsModule.js:288 /app/templates/index.php:5245 +#: /app/src/modules/savings/SavingsModule.js:290 /app/templates/index.php:5245 msgid "No linked tag" msgstr "Kein verknüpftes Schlagwort" -#: /app/src/modules/savings/SavingsModule.js:347 +#: /app/src/modules/savings/SavingsModule.js:349 msgid "Edit Savings Goal" msgstr "Sparziel bearbeiten" -#: /app/src/modules/savings/SavingsModule.js:347 /app/templates/index.php:5202 +#: /app/src/modules/savings/SavingsModule.js:349 /app/templates/index.php:5202 msgid "Add Savings Goal" msgstr "Sparziel hinzufügen" -#: /app/src/modules/savings/SavingsModule.js:423 -#: /app/src/modules/savings/SavingsModule.js:437 +#: /app/src/modules/savings/SavingsModule.js:425 +#: /app/src/modules/savings/SavingsModule.js:439 msgid "Failed to save goal" msgstr "Fehler beim Speichern des Sparziels" -#: /app/src/modules/savings/SavingsModule.js:433 +#: /app/src/modules/savings/SavingsModule.js:435 msgid "Goal updated" msgstr "Sparziel aktualisiert" -#: /app/src/modules/savings/SavingsModule.js:433 +#: /app/src/modules/savings/SavingsModule.js:435 msgid "Goal created" msgstr "Sparziel erstellt" -#: /app/src/modules/savings/SavingsModule.js:449 +#: /app/src/modules/savings/SavingsModule.js:451 msgid "Are you sure you want to delete this savings goal?" msgstr "Möchtest du dieses Sparziel wirklich löschen?" -#: /app/src/modules/savings/SavingsModule.js:456 +#: /app/src/modules/savings/SavingsModule.js:458 msgid "Goal deleted" msgstr "Sparziel gelöscht" -#: /app/src/modules/savings/SavingsModule.js:470 -#: /app/src/modules/savings/SavingsModule.js:496 +#: /app/src/modules/savings/SavingsModule.js:472 +#: /app/src/modules/savings/SavingsModule.js:498 msgid "This goal is auto-tracked via a tag" msgstr "Dieses Ziel wird automatisch über ein Schlagwort verfolgt" -#: /app/src/modules/savings/SavingsModule.js:510 +#: /app/src/modules/savings/SavingsModule.js:512 msgid "Added {amount} to goal" msgstr "{amount} zum Ziel hinzugefügt" -#: /app/src/modules/savings/SavingsModule.js:514 +#: /app/src/modules/savings/SavingsModule.js:516 msgid "Failed to add money to goal" msgstr "Geld konnte nicht zum Ziel hinzugefügt werden" @@ -11759,7 +12317,7 @@ msgid "Edit Contact" msgstr "Kontakt bearbeiten" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:268 -#: /app/templates/index.php:4202 /app/templates/index.php:7221 +#: /app/templates/index.php:4202 /app/templates/index.php:7222 msgid "Add Contact" msgstr "Kontakt hinzufügen" @@ -11792,7 +12350,7 @@ msgid "Failed to load contact details" msgstr "Fehler beim Laden der Kontaktdetails" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:433 -#: /app/templates/index.php:7371 +#: /app/templates/index.php:7372 msgid "No shared expenses" msgstr "Keine geteilte Ausgaben" @@ -11811,10 +12369,15 @@ msgid "Open" msgstr "Offen" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:468 -#: /app/templates/index.php:7377 +#: /app/templates/index.php:7378 msgid "No settlements yet" msgstr "Noch keine Abrechnungen" +#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 +#: /app/src/utils/incomeStatus.js:54 /app/templates/index.php:2888 +msgid "Received" +msgstr "Empfangen" + #: /app/src/modules/shared-expenses/SharedExpensesModule.js:518 msgid "No unsettled expenses" msgstr "Keine unbeglichenen Ausgaben" @@ -11847,10 +12410,8 @@ msgid "Please add contacts first in Shared Expenses" msgstr "Bitte fügen Sie zunächst Kontakte in den ‚Gemeinsamen Ausgaben‘ hinzu" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:660 -#, fuzzy -#| msgid "Failed to load tag sets" msgid "Failed to load the split" -msgstr "Fehler beim Laden der Schlagwortgruppen" +msgstr "Die Aufteilung konnte nicht geladen werden" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:697 msgid "" @@ -12020,7 +12581,7 @@ msgid "Budgets shared with you by other users." msgstr "Budgets, die andere Benutzer mit dir geteilt haben." #: /app/src/modules/sharing/SharingModule.js:155 -#: /app/src/modules/transactions/TransactionsModule.js:1616 +#: /app/src/modules/transactions/TransactionsModule.js:1642 msgid "Leave" msgstr "Verlassen" @@ -12028,88 +12589,102 @@ msgstr "Verlassen" msgid "Failed to load configuration" msgstr "Fehler beim Laden der Konfiguration" -#: /app/src/modules/sharing/SharingModule.js:270 /app/templates/index.php:2831 +#: /app/src/modules/sharing/SharingModule.js:270 +msgid "Read & Write, plus deleting them." +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:273 +msgid "" +"Read & Write, plus the type, parent, subcategories, budget and report " +"settings. Only you can delete." +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:275 /app/templates/index.php:2831 msgid "Recurring Income" msgstr "Wiederkehrende Einnahmen" -#: /app/src/modules/sharing/SharingModule.js:273 /app/templates/index.php:4769 +#: /app/src/modules/sharing/SharingModule.js:278 /app/templates/index.php:4769 msgid "Import Rules" msgstr "Importregeln" -#: /app/src/modules/sharing/SharingModule.js:289 +#: /app/src/modules/sharing/SharingModule.js:294 msgid "" "Automatically share new items of this type at the permission selected here" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:291 +#: /app/src/modules/sharing/SharingModule.js:296 #, fuzzy #| msgid "Auto-pay enabled" msgid "Auto-share new" msgstr "Automatische Zahlung aktiviert" -#: /app/src/modules/sharing/SharingModule.js:293 -#: /app/src/modules/sharing/SharingModule.js:339 /app/templates/index.php:1922 +#: /app/src/modules/sharing/SharingModule.js:298 +#: /app/src/modules/sharing/SharingModule.js:345 /app/templates/index.php:1922 msgid "Select All" msgstr "Alle auswählen" -#: /app/src/modules/sharing/SharingModule.js:295 +#: /app/src/modules/sharing/SharingModule.js:300 msgid "Read only" msgstr "Lesezugriff" -#: /app/src/modules/sharing/SharingModule.js:296 +#: /app/src/modules/sharing/SharingModule.js:301 msgid "Read & Write" msgstr "Lese- und Schreibzugriff" -#: /app/src/modules/sharing/SharingModule.js:321 +#: /app/src/modules/sharing/SharingModule.js:302 +msgid "Full control" +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:327 msgid "Save Configuration" msgstr "Konfiguration speichern" -#: /app/src/modules/sharing/SharingModule.js:339 -#: /app/src/modules/transactions/TransactionsModule.js:5212 +#: /app/src/modules/sharing/SharingModule.js:345 +#: /app/src/modules/transactions/TransactionsModule.js:5263 msgid "Deselect All" msgstr "Alle abwählen" -#: /app/src/modules/sharing/SharingModule.js:387 +#: /app/src/modules/sharing/SharingModule.js:393 msgid "Failed to save some sections: {types}" msgstr "Fehler beim Speichern mancher Abschnitte: {types}" -#: /app/src/modules/sharing/SharingModule.js:389 +#: /app/src/modules/sharing/SharingModule.js:395 msgid "Share configuration saved" msgstr "Geteilte Budget-Konfiguration gespeichert" -#: /app/src/modules/sharing/SharingModule.js:396 +#: /app/src/modules/sharing/SharingModule.js:402 msgid "Please enter a username" msgstr "Bitte gib einen Nutzernamen ein" -#: /app/src/modules/sharing/SharingModule.js:402 +#: /app/src/modules/sharing/SharingModule.js:408 msgid "Invitation sent to {user}" msgstr "Einladung an {user} gesendet" -#: /app/src/modules/sharing/SharingModule.js:404 +#: /app/src/modules/sharing/SharingModule.js:410 msgid "Failed to share budget" msgstr "Fehler beim Teilen des Budgets" -#: /app/src/modules/sharing/SharingModule.js:410 +#: /app/src/modules/sharing/SharingModule.js:416 msgid "Share accepted — reloading budget data" msgstr "Einladung angenommen - Budget wird neu geladen" -#: /app/src/modules/sharing/SharingModule.js:419 +#: /app/src/modules/sharing/SharingModule.js:425 msgid "Share declined" msgstr "Einladung abgelehnt" -#: /app/src/modules/sharing/SharingModule.js:425 +#: /app/src/modules/sharing/SharingModule.js:431 msgid "Are you sure? The user will lose access to your budget." msgstr "Bist du sicher? Der Benutzer verliert Zugriff auf dein Budget." -#: /app/src/modules/sharing/SharingModule.js:428 +#: /app/src/modules/sharing/SharingModule.js:434 msgid "Share revoked" msgstr "Einladung zurückgenommen" -#: /app/src/modules/sharing/SharingModule.js:435 +#: /app/src/modules/sharing/SharingModule.js:441 msgid "Are you sure you want to leave this shared budget?" msgstr "Möchtest du wirklich dieses geteilte Budget verlassen?" -#: /app/src/modules/sharing/SharingModule.js:438 +#: /app/src/modules/sharing/SharingModule.js:444 msgid "Left shared budget — reloading your data" msgstr "Geteiltes Budget verlassen - deine Daten werden neu geladen" @@ -12140,18 +12715,18 @@ msgstr "" #: /app/src/modules/tagsets/TagSetsModule.js:82 #: /app/src/modules/tagsets/TagSetsModule.js:386 #: /app/src/modules/tagsets/TagSetsModule.js:717 /app/templates/index.php:5078 -#: /app/templates/index.php:6953 +#: /app/templates/index.php:6954 msgid "Hidden" msgstr "Ausgeblendet" -#: /app/src/modules/tagsets/TagSetsModule.js:180 /app/templates/index.php:6933 +#: /app/src/modules/tagsets/TagSetsModule.js:180 /app/templates/index.php:6934 msgid "Edit Tag" msgstr "Bearbeiten des Schlagworts" #: /app/src/modules/tagsets/TagSetsModule.js:188 #: /app/src/modules/tagsets/TagSetsModule.js:726 /app/templates/index.php:2094 -#: /app/templates/index.php:5060 /app/templates/index.php:6902 -#: /app/templates/index.php:6923 +#: /app/templates/index.php:5060 /app/templates/index.php:6903 +#: /app/templates/index.php:6924 msgid "Add Tag" msgstr "Hinzufügen eines Schlagworts" @@ -12191,8 +12766,8 @@ msgstr "Speichern Sie zuerst die Kategorie, um Tag-Gruppen zu verwalten" msgid "Tag Sets" msgstr "Schlagwort-Sammlungen" -#: /app/src/modules/tagsets/TagSetsModule.js:356 /app/templates/index.php:6872 -#: /app/templates/index.php:6892 +#: /app/src/modules/tagsets/TagSetsModule.js:356 /app/templates/index.php:6873 +#: /app/templates/index.php:6893 msgid "Add Tag Set" msgstr "Schlagwort Gruppe erstellen" @@ -12283,7 +12858,7 @@ msgstr "Wähle eine Kategorie, um Schlagwortgruppen zu verwalten" msgid "No tag sets yet." msgstr "Keine Schlagwort-Gruppen vorhanden." -#: /app/src/modules/tagsets/TagSetsModule.js:729 /app/templates/index.php:6972 +#: /app/src/modules/tagsets/TagSetsModule.js:729 /app/templates/index.php:6973 msgid "Edit Tag Set" msgstr "Schlagwortgruppe bearbeiten" @@ -12309,39 +12884,45 @@ msgstr "Schlagwortgruppe aktualisiert" msgid "Tag updated successfully" msgstr "Schlagwort aktualisiert" -#: /app/src/modules/transactions/TransactionsModule.js:480 +#: /app/src/modules/transactions/TransactionsModule.js:365 +msgid "" +"This transaction is scheduled, so it is not on a statement yet and cannot be " +"ticked." +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:502 msgid "{category} + {count} subcategory" msgid_plural "{category} + {count} subcategories" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:937 +#: /app/src/modules/transactions/TransactionsModule.js:963 #, fuzzy #| msgid "Failed to bulk match transactions" msgid "Failed to select all matching transactions" msgstr "Massenabgleich von Buchungen fehlgeschlagen" -#: /app/src/modules/transactions/TransactionsModule.js:984 +#: /app/src/modules/transactions/TransactionsModule.js:1010 msgid "All {total} transactions matching the current filter are selected." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:985 +#: /app/src/modules/transactions/TransactionsModule.js:1011 #, fuzzy #| msgid "Clear search" msgid "Clear selection" msgstr "Suche leeren" -#: /app/src/modules/transactions/TransactionsModule.js:1000 +#: /app/src/modules/transactions/TransactionsModule.js:1026 msgid "All %n transaction on this page is selected." msgid_plural "All %n transactions on this page are selected." msgstr[0] "Die %n Transaktion auf dieser Seite ist ausgewählt." msgstr[1] "Alle %n Transaktionen auf dieser Seite sind ausgewählt." -#: /app/src/modules/transactions/TransactionsModule.js:1001 +#: /app/src/modules/transactions/TransactionsModule.js:1027 msgid "Select all {total} matching transactions" msgstr "Alle {total} passenden Transaktionen auswählen" -#: /app/src/modules/transactions/TransactionsModule.js:1061 +#: /app/src/modules/transactions/TransactionsModule.js:1087 msgid "" "Are you sure you want to delete %n transaction? This action cannot be undone." msgid_plural "" @@ -12354,7 +12935,7 @@ msgstr[1] "" "Möchtest du wirklich %n Buchungen löschen? Diese Aktion lässt sich nicht " "rückgängig machen." -#: /app/src/modules/transactions/TransactionsModule.js:1064 +#: /app/src/modules/transactions/TransactionsModule.js:1090 msgid "" "%n of these was auto-generated from bill payments. Deleting real payments " "will cause your balance to diverge from your bank statement." @@ -12370,95 +12951,95 @@ msgstr[1] "" "Löschen echter Buchungen führt zu einer Abweichung deines Saldos von deinem " "Bankauszug." -#: /app/src/modules/transactions/TransactionsModule.js:1080 +#: /app/src/modules/transactions/TransactionsModule.js:1106 msgid "Successfully deleted %n transaction" msgid_plural "Successfully deleted %n transactions" msgstr[0] "Eine Buchung wurde gelöscht" msgstr[1] "%n Buchungen wurden gelöscht" -#: /app/src/modules/transactions/TransactionsModule.js:1088 -#: /app/src/modules/transactions/TransactionsModule.js:5347 +#: /app/src/modules/transactions/TransactionsModule.js:1114 +#: /app/src/modules/transactions/TransactionsModule.js:5398 msgid "Failed to delete %n transaction" msgid_plural "Failed to delete %n transactions" msgstr[0] "Fehler beim Löschen einer Buchung" msgstr[1] "Fehler beim Löschen von %n Buchungen" -#: /app/src/modules/transactions/TransactionsModule.js:1101 +#: /app/src/modules/transactions/TransactionsModule.js:1127 msgid "Are you sure you want to mark %n transaction as reconciled?" msgid_plural "Are you sure you want to mark %n transactions as reconciled?" msgstr[0] "Möchtest du wirklich eine Buchung als abgeglichen markieren?" msgstr[1] "Möchtest du wirklich %n Buchungen als abgeglichen markieren?" -#: /app/src/modules/transactions/TransactionsModule.js:1115 +#: /app/src/modules/transactions/TransactionsModule.js:1141 msgid "Successfully reconciled %n transaction" msgid_plural "Successfully reconciled %n transactions" msgstr[0] "Eine Buchung wurde abgeglichen" msgstr[1] "%n Buchungen wurden abgeglichen" -#: /app/src/modules/transactions/TransactionsModule.js:1123 +#: /app/src/modules/transactions/TransactionsModule.js:1149 msgid "Failed to reconcile %n transaction" msgid_plural "Failed to reconcile %n transactions" msgstr[0] "Fehler beim Abgleichen einer Buchung" msgstr[1] "Fehler beim Abgleichen von %n Buchungen" -#: /app/src/modules/transactions/TransactionsModule.js:1127 +#: /app/src/modules/transactions/TransactionsModule.js:1153 msgid "Failed to reconcile transactions" msgstr "Fehler beim Abgleichen der Buchungen" -#: /app/src/modules/transactions/TransactionsModule.js:1136 +#: /app/src/modules/transactions/TransactionsModule.js:1162 msgid "Are you sure you want to mark %n transaction as unreconciled?" msgid_plural "Are you sure you want to mark %n transactions as unreconciled?" msgstr[0] "Möchtest du wirklich eine Buchung als nicht abgeglichen markieren?" msgstr[1] "Möchtest du wirklich %n Buchungen als nicht abgeglichen markieren?" -#: /app/src/modules/transactions/TransactionsModule.js:1150 +#: /app/src/modules/transactions/TransactionsModule.js:1176 msgid "Successfully unreconciled %n transaction" msgid_plural "Successfully unreconciled %n transactions" msgstr[0] "Eine Buchung wurde als nicht abgeglichen markiert" msgstr[1] "%n Buchungen wurden als nicht abgeglichen markiert" -#: /app/src/modules/transactions/TransactionsModule.js:1158 +#: /app/src/modules/transactions/TransactionsModule.js:1184 msgid "Failed to unreconcile %n transaction" msgid_plural "Failed to unreconcile %n transactions" msgstr[0] "Abgleich von %n Buchung konnte nicht aufgehoben werden" msgstr[1] "Abgleich von %n Buchungen konnte nicht aufgehoben werden" -#: /app/src/modules/transactions/TransactionsModule.js:1162 +#: /app/src/modules/transactions/TransactionsModule.js:1188 msgid "Failed to unreconcile transactions" msgstr "Der Abgleich der Buchungen konnte nicht aufgehoben werden" -#: /app/src/modules/transactions/TransactionsModule.js:1182 -#: /app/templates/index.php:7161 +#: /app/src/modules/transactions/TransactionsModule.js:1208 +#: /app/templates/index.php:7162 msgid "Don't change" msgstr "Nicht ändern" -#: /app/src/modules/transactions/TransactionsModule.js:1214 +#: /app/src/modules/transactions/TransactionsModule.js:1240 msgid "Please fill in at least one field to update" msgstr "Bitte fülle mindestens ein Feld aus, um Änderungen vorzunehmen" -#: /app/src/modules/transactions/TransactionsModule.js:1218 +#: /app/src/modules/transactions/TransactionsModule.js:1244 msgid "Are you sure you want to update %n transaction?" msgid_plural "Are you sure you want to update %n transactions?" msgstr[0] "Möchtest du diese Buchung wirklich aktualisieren?" msgstr[1] "Möchtest du wirklich %n Buchungen aktualisieren?" -#: /app/src/modules/transactions/TransactionsModule.js:1232 +#: /app/src/modules/transactions/TransactionsModule.js:1258 msgid "Successfully updated %n transaction" msgid_plural "Successfully updated %n transactions" msgstr[0] "%n Buchung erfolgreich aktualisiert" msgstr[1] "%n Buchungen erfolgreich aktualisiert" -#: /app/src/modules/transactions/TransactionsModule.js:1243 +#: /app/src/modules/transactions/TransactionsModule.js:1269 msgid "Failed to update %n transaction" msgid_plural "Failed to update %n transactions" msgstr[0] "%n Buchung konnte nicht aktualisiert werden" msgstr[1] "%n Buchungen konnten nicht aktualisiert werden" -#: /app/src/modules/transactions/TransactionsModule.js:1247 +#: /app/src/modules/transactions/TransactionsModule.js:1273 msgid "Failed to update transactions" msgstr "Fehler beim Aktualisieren der Buchungen" -#: /app/src/modules/transactions/TransactionsModule.js:1283 +#: /app/src/modules/transactions/TransactionsModule.js:1309 msgid "" "Add or remove tags on %n selected transaction. Tags you leave unchecked are " "not touched." @@ -12468,31 +13049,31 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1349 +#: /app/src/modules/transactions/TransactionsModule.js:1375 msgid "applies to {count} of {total}" msgstr "gilt für {count} von {total}" -#: /app/src/modules/transactions/TransactionsModule.js:1365 +#: /app/src/modules/transactions/TransactionsModule.js:1391 msgid "%n selected transaction is in a category these tags do not cover." msgid_plural "" "%n selected transactions are in categories these tags do not cover." msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1397 +#: /app/src/modules/transactions/TransactionsModule.js:1423 #, fuzzy #| msgid "Please select at least one bill to add" msgid "Please select at least one tag to add or remove" msgstr "Bitte wähle mindestens eine Rechnung zum Hinzufügen aus" -#: /app/src/modules/transactions/TransactionsModule.js:1411 -#: /app/src/modules/transactions/TransactionsModule.js:1435 +#: /app/src/modules/transactions/TransactionsModule.js:1437 +#: /app/src/modules/transactions/TransactionsModule.js:1461 #, fuzzy #| msgid "Failed to update tag" msgid "Failed to update tags" msgstr "Fehler beim Aktualisieren des Schlagworts" -#: /app/src/modules/transactions/TransactionsModule.js:1431 +#: /app/src/modules/transactions/TransactionsModule.js:1457 #, fuzzy #| msgid "Failed to update %n transaction" #| msgid_plural "Failed to update %n transactions" @@ -12501,7 +13082,7 @@ msgid_plural "Failed to update tags on %n transactions" msgstr[0] "%n Buchung konnte nicht aktualisiert werden" msgstr[1] "%n Buchungen konnten nicht aktualisiert werden" -#: /app/src/modules/transactions/TransactionsModule.js:1449 +#: /app/src/modules/transactions/TransactionsModule.js:1475 #, fuzzy #| msgid "Failed to reconcile %n transaction" #| msgid_plural "Failed to reconcile %n transactions" @@ -12510,50 +13091,50 @@ msgid_plural "Updated tags on %n transactions" msgstr[0] "Fehler beim Abgleichen einer Buchung" msgstr[1] "Fehler beim Abgleichen von %n Buchungen" -#: /app/src/modules/transactions/TransactionsModule.js:1457 +#: /app/src/modules/transactions/TransactionsModule.js:1483 msgid "{tag} applied to {count} of them" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1490 +#: /app/src/modules/transactions/TransactionsModule.js:1516 #, fuzzy #| msgid "Server error ({status}): Invalid response" msgid "Server error ({status}) — check the Nextcloud logs" msgstr "Serverfehler ({status}): Ungültige Antwort" -#: /app/src/modules/transactions/TransactionsModule.js:1501 +#: /app/src/modules/transactions/TransactionsModule.js:1527 msgid "Please fill in all reconciliation fields" msgstr "Bitte fülle alle Felder für den Abgleich aus" -#: /app/src/modules/transactions/TransactionsModule.js:1514 +#: /app/src/modules/transactions/TransactionsModule.js:1540 msgid "Failed to start reconciliation" msgstr "Abgleich konnte nicht gestartet werden" -#: /app/src/modules/transactions/TransactionsModule.js:1518 +#: /app/src/modules/transactions/TransactionsModule.js:1544 msgid "A reconciliation is already in progress for this account. Resume it?" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1527 +#: /app/src/modules/transactions/TransactionsModule.js:1553 msgid "Failed to start reconciliation: {message}" msgstr "Abgleich konnte nicht gestartet werden: {message}" -#: /app/src/modules/transactions/TransactionsModule.js:1568 +#: /app/src/modules/transactions/TransactionsModule.js:1594 msgid "Reconciliation started — tick the transactions on your statement" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1596 -#: /app/src/modules/transfers/TransfersModule.js:492 +#: /app/src/modules/transactions/TransactionsModule.js:1622 +#: /app/src/modules/transfers/TransfersModule.js:466 #, fuzzy #| msgid "Statement Balance" msgid "Statement balance" msgstr "Saldo laut Kontoauszug" -#: /app/src/modules/transactions/TransactionsModule.js:1600 +#: /app/src/modules/transactions/TransactionsModule.js:1626 #, fuzzy #| msgid "Starting Balance" msgid "Starting balance" msgstr "Anfangssaldo" -#: /app/src/modules/transactions/TransactionsModule.js:1601 +#: /app/src/modules/transactions/TransactionsModule.js:1627 msgid "" "Where the account stood before this statement: the balance at your last " "reconciliation, or — the first time — the account’s opening balance plus " @@ -12565,400 +13146,413 @@ msgstr "" "bereits als abgeglichen markierten Beträge. Vergleiche ihn mit dem " "Anfangssaldo deines Kontoauszugs." -#: /app/src/modules/transactions/TransactionsModule.js:1604 +#: /app/src/modules/transactions/TransactionsModule.js:1630 msgid "Ticked ({count})" msgstr "Ausgewählt ({count})" -#: /app/src/modules/transactions/TransactionsModule.js:1608 +#: /app/src/modules/transactions/TransactionsModule.js:1634 msgid "Difference" msgstr "Differenz" -#: /app/src/modules/transactions/TransactionsModule.js:1613 +#: /app/src/modules/transactions/TransactionsModule.js:1639 msgid "Finish" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1614 +#: /app/src/modules/transactions/TransactionsModule.js:1640 msgid "Tick %n transaction up to {date}" msgid_plural "Tick all %n transactions up to {date}" msgstr[0] "%n Transaktion bis {date} auswählen" msgstr[1] "%n Transaktionen bis {date} auswählen" -#: /app/src/modules/transactions/TransactionsModule.js:1615 +#: /app/src/modules/transactions/TransactionsModule.js:1641 msgid "Create {amount} adjustment" msgstr "Korrekturbuchung über {amount} erstellen" -#: /app/src/modules/transactions/TransactionsModule.js:1616 +#: /app/src/modules/transactions/TransactionsModule.js:1642 msgid "Keep the session and come back later" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1617 +#: /app/src/modules/transactions/TransactionsModule.js:1643 #, fuzzy #| msgid "Invalid session" msgid "Cancel session" msgstr "Ungültige Sitzung" -#: /app/src/modules/transactions/TransactionsModule.js:1646 +#: /app/src/modules/transactions/TransactionsModule.js:1672 #, fuzzy #| msgid "Failed to link transactions" msgid "Failed to tick transactions" msgstr "Buchungen verknüpfen fehlgeschlagen" -#: /app/src/modules/transactions/TransactionsModule.js:1656 +#: /app/src/modules/transactions/TransactionsModule.js:1682 #, fuzzy #| msgid "Failed to import transactions: {message}" msgid "Failed to tick transactions: {message}" msgstr "Fehler beim Importieren der Buchungen: {message}" -#: /app/src/modules/transactions/TransactionsModule.js:1707 +#: /app/src/modules/transactions/TransactionsModule.js:1733 #, fuzzy #| msgid "Failed to update reconcile status" msgid "Failed to update reconciliation" msgstr "Aktualisierung des Statusabgleich fehlgeschlagen" -#: /app/src/modules/transactions/TransactionsModule.js:1718 +#: /app/src/modules/transactions/TransactionsModule.js:1744 #, fuzzy #| msgid "Failed to start reconciliation: {message}" msgid "Failed to update reconciliation: {message}" msgstr "Abgleich konnte nicht gestartet werden: {message}" -#: /app/src/modules/transactions/TransactionsModule.js:1764 +#: /app/src/modules/transactions/TransactionsModule.js:1790 msgid "A reconciliation is in progress for this account (statement of {date})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1765 +#: /app/src/modules/transactions/TransactionsModule.js:1791 msgid "Resume" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1811 +#: /app/src/modules/transactions/TransactionsModule.js:1837 msgid "" "Cancel this reconciliation? Ticked transactions will be released (nothing is " "marked reconciled)." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1819 +#: /app/src/modules/transactions/TransactionsModule.js:1845 #, fuzzy #| msgid "Failed to create bill" msgid "Failed to cancel" msgstr "Rechnung konnte nicht erstellt werden" -#: /app/src/modules/transactions/TransactionsModule.js:1822 +#: /app/src/modules/transactions/TransactionsModule.js:1848 #, fuzzy #| msgid "Reconciliation mode" msgid "Reconciliation cancelled" msgstr "Abgleichungsmodus" -#: /app/src/modules/transactions/TransactionsModule.js:1824 +#: /app/src/modules/transactions/TransactionsModule.js:1850 #, fuzzy #| msgid "Failed to start reconciliation: {message}" msgid "Failed to cancel reconciliation: {message}" msgstr "Abgleich konnte nicht gestartet werden: {message}" -#: /app/src/modules/transactions/TransactionsModule.js:1846 +#: /app/src/modules/transactions/TransactionsModule.js:1872 msgid "Reconciliation completed — {count} transactions marked as reconciled" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1849 +#: /app/src/modules/transactions/TransactionsModule.js:1875 msgid "%n older uncleared transaction was not ticked and remains unreconciled" msgid_plural "" "%n older uncleared transactions were not ticked and remain unreconciled" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1854 +#: /app/src/modules/transactions/TransactionsModule.js:1880 msgid "Failed to complete reconciliation: {error}" msgstr "Abgleich konnte nicht abgeschlossen werden: {error}" -#: /app/src/modules/transactions/TransactionsModule.js:1871 +#: /app/src/modules/transactions/TransactionsModule.js:1899 msgid "Reconciliation Adjustment" msgstr "Abstimmungsanpassung" -#: /app/src/modules/transactions/TransactionsModule.js:1872 +#: /app/src/modules/transactions/TransactionsModule.js:1900 msgid "Adjustment to match statement balance of {amount}" msgstr "Korrekturbuchung zum Abgleich des Kontoauszugssaldos von {amount}" -#: /app/src/modules/transactions/TransactionsModule.js:1874 +#: /app/src/modules/transactions/TransactionsModule.js:1902 #, fuzzy #| msgid "Failed to create asset" msgid "Failed to create adjustment" msgstr "Vermögenswert konnte nicht erstellt werden" -#: /app/src/modules/transactions/TransactionsModule.js:1887 +#: /app/src/modules/transactions/TransactionsModule.js:1915 msgid "Adjustment transaction created" msgstr "Ausgleichsbuchung wurde erstellt" -#: /app/src/modules/transactions/TransactionsModule.js:1892 +#: /app/src/modules/transactions/TransactionsModule.js:1920 msgid "Failed to create adjustment: {message}" msgstr "Fehler beim Erstellen der Ausgleichsbuchung: {message}" -#: /app/src/modules/transactions/TransactionsModule.js:1916 +#: /app/src/modules/transactions/TransactionsModule.js:1944 #: /app/templates/index.php:5833 msgid "Choose an account" msgstr "Wähle ein Konto" -#: /app/src/modules/transactions/TransactionsModule.js:1937 -#: /app/src/modules/transfers/TransfersModule.js:515 -#: /app/src/modules/transfers/TransfersModule.js:527 +#: /app/src/modules/transactions/TransactionsModule.js:1965 +#: /app/src/modules/transfers/TransfersModule.js:492 +#: /app/src/modules/transfers/TransfersModule.js:504 #: /app/templates/index.php:2519 /app/templates/quick-add.php:24 msgid "Select account..." msgstr "Konto auswählen..." -#: /app/src/modules/transactions/TransactionsModule.js:1974 +#: /app/src/modules/transactions/TransactionsModule.js:2002 #: /app/src/modules/transactions/transactionRow.js:211 #: /app/src/modules/transactions/transactionRow.js:293 #: /app/src/modules/transactions/transactionRow.js:294 msgid "Edit transaction" msgstr "Buchung editieren" -#: /app/src/modules/transactions/TransactionsModule.js:1975 +#: /app/src/modules/transactions/TransactionsModule.js:2003 #: /app/templates/index.php:5794 #, fuzzy #| msgid "View All Transactions" msgid "New transaction" msgstr "Alle Buchungen anzeigen" -#: /app/src/modules/transactions/TransactionsModule.js:2232 -#: /app/src/modules/transactions/TransactionsModule.js:2255 +#: /app/src/modules/transactions/TransactionsModule.js:2277 +#: /app/src/modules/transactions/TransactionsModule.js:2299 msgid "Failed to load transaction" msgstr "Fehler beim Laden der Buchung" -#: /app/src/modules/transactions/TransactionsModule.js:2359 -#: /app/src/modules/transactions/TransactionsModule.js:2370 +#: /app/src/modules/transactions/TransactionsModule.js:2403 +#: /app/src/modules/transactions/TransactionsModule.js:2414 msgid "The receipt could not be read" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2400 +#: /app/src/modules/transactions/TransactionsModule.js:2444 #, fuzzy #| msgid "Update" msgid "date" msgstr "Update" -#: /app/src/modules/transactions/TransactionsModule.js:2404 +#: /app/src/modules/transactions/TransactionsModule.js:2448 #, fuzzy #| msgid "Amount" msgid "amount" msgstr "Betrag" -#: /app/src/modules/transactions/TransactionsModule.js:2407 +#: /app/src/modules/transactions/TransactionsModule.js:2451 #, fuzzy #| msgid "Description" msgid "description" msgstr "Beschreibung" -#: /app/src/modules/transactions/TransactionsModule.js:2408 +#: /app/src/modules/transactions/TransactionsModule.js:2452 #, fuzzy #| msgid "Vendor" msgid "vendor" msgstr "Empfänger" -#: /app/src/modules/transactions/TransactionsModule.js:2414 +#: /app/src/modules/transactions/TransactionsModule.js:2458 #, fuzzy #| msgid "Category" msgid "category" msgstr "Kategorie" -#: /app/src/modules/transactions/TransactionsModule.js:2509 +#: /app/src/modules/transactions/TransactionsModule.js:2553 #, fuzzy #| msgid "Savings Account" msgid "Savings / discount" msgstr "Sparkonto" -#: /app/src/modules/transactions/TransactionsModule.js:2514 +#: /app/src/modules/transactions/TransactionsModule.js:2558 msgid "VAT / tax" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2553 +#: /app/src/modules/transactions/TransactionsModule.js:2597 msgid "Split into {count} lines from the receipt. Set a category on each." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2564 +#: /app/src/modules/transactions/TransactionsModule.js:2608 msgid "Filled in: {fields}. Check them before saving." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2565 +#: /app/src/modules/transactions/TransactionsModule.js:2609 msgid "" "Nothing was filled in — the fields already had values. Clear one and scan " "again to use the receipt." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2569 +#: /app/src/modules/transactions/TransactionsModule.js:2613 msgid "Read {count} items from the receipt." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2572 +#: /app/src/modules/transactions/TransactionsModule.js:2616 msgid "The items do not add up to the total — worth a look." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2575 +#: /app/src/modules/transactions/TransactionsModule.js:2619 msgid "Receipt currency: {currency}." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2577 +#: /app/src/modules/transactions/TransactionsModule.js:2621 msgid "The photo will be attached when you save." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2595 +#: /app/src/modules/transactions/TransactionsModule.js:2639 msgid "" "These items cannot be split individually: they do not add up to the total, " "so the parts would not balance." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2604 +#: /app/src/modules/transactions/TransactionsModule.js:2648 msgid "Split into {count} lines" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2606 +#: /app/src/modules/transactions/TransactionsModule.js:2650 msgid "the savings as a negative line" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2607 +#: /app/src/modules/transactions/TransactionsModule.js:2651 msgid "the tax as its own line" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2609 +#: /app/src/modules/transactions/TransactionsModule.js:2653 msgid " and " msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2609 +#: /app/src/modules/transactions/TransactionsModule.js:2653 msgid "One line per item, plus {extras}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2610 +#: /app/src/modules/transactions/TransactionsModule.js:2654 msgid "One line per item on the receipt" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2660 +#: /app/src/modules/transactions/TransactionsModule.js:2704 #, fuzzy #| msgid "Select account" msgid "Select receipt" msgstr "Konto auswählen" -#: /app/src/modules/transactions/TransactionsModule.js:2698 +#: /app/src/modules/transactions/TransactionsModule.js:2742 msgid "No receipts yet — they are attached when you save." msgstr "Noch keine Belege – sie werden beim Speichern angehängt." -#: /app/src/modules/transactions/TransactionsModule.js:2706 +#: /app/src/modules/transactions/TransactionsModule.js:2750 msgid "on save" msgstr "Beim Speichern" -#: /app/src/modules/transactions/TransactionsModule.js:2707 -#: /app/src/modules/transactions/TransactionsModule.js:2763 +#: /app/src/modules/transactions/TransactionsModule.js:2751 +#: /app/src/modules/transactions/TransactionsModule.js:2807 #, fuzzy #| msgid "Remove action" msgid "Remove attachment" msgstr "Aktion löschen" -#: /app/src/modules/transactions/TransactionsModule.js:2755 +#: /app/src/modules/transactions/TransactionsModule.js:2799 #, fuzzy #| msgid "Received" msgid "Receipt" msgstr "Empfangen" -#: /app/src/modules/transactions/TransactionsModule.js:2757 +#: /app/src/modules/transactions/TransactionsModule.js:2801 msgid "The file no longer exists in your Files" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2765 +#: /app/src/modules/transactions/TransactionsModule.js:2809 msgid "No receipts attached" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2844 -#: /app/src/modules/transactions/TransactionsModule.js:5038 +#: /app/src/modules/transactions/TransactionsModule.js:2888 +#: /app/src/modules/transactions/TransactionsModule.js:5089 msgid "" "This transaction was reconciled against a bank statement. Changing its " "amount, type, account or date will make past reconciliations no longer " "match. Continue?" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2861 +#: /app/src/modules/transactions/TransactionsModule.js:2905 msgid "Please select destination account" msgstr "Bitte Zielkonto auswählen" -#: /app/src/modules/transactions/TransactionsModule.js:2865 +#: /app/src/modules/transactions/TransactionsModule.js:2909 msgid "Cannot transfer to same account" msgstr "Eine Umbuchung auf dasselbe Konto ist nicht möglich" -#: /app/src/modules/transactions/TransactionsModule.js:2918 +#: /app/src/modules/transactions/TransactionsModule.js:2962 msgid "Transfer created successfully" msgstr "Umbuchung erstellt" -#: /app/src/modules/transactions/TransactionsModule.js:3014 +#: /app/src/modules/transactions/TransactionsModule.js:3058 msgid "The transaction was saved, but {count} receipt(s) could not be attached" msgstr "" "Die Transaktion wurde gespeichert, aber {count} Beleg(e) konnten nicht " "angehängt werden" -#: /app/src/modules/transactions/TransactionsModule.js:3018 -#: /app/src/modules/transactions/TransactionsModule.js:5093 +#: /app/src/modules/transactions/TransactionsModule.js:3062 +#: /app/src/modules/transactions/TransactionsModule.js:5144 msgid "Transaction updated" msgstr "Buchung aktualisiert" -#: /app/src/modules/transactions/TransactionsModule.js:3018 +#: /app/src/modules/transactions/TransactionsModule.js:3062 msgid "Transaction created" msgstr "Buchung erstellt" -#: /app/src/modules/transactions/TransactionsModule.js:3201 +#: /app/src/modules/transactions/TransactionsModule.js:3245 #, fuzzy #| msgid "Remove tile" msgid "Remove" msgstr "Kachel entfernen" -#: /app/src/modules/transactions/TransactionsModule.js:3239 +#: /app/src/modules/transactions/TransactionsModule.js:3283 msgid "Fully allocated" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3284 #, fuzzy #| msgid "Savings: {amount}" msgid "Remaining: {amount}" msgstr "Ersparnisse: {amount}" -#: /app/src/modules/transactions/TransactionsModule.js:3265 +#: /app/src/modules/transactions/TransactionsModule.js:3309 msgid "Auto-calculated from the transaction total minus the other splits" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3268 +#: /app/src/modules/transactions/TransactionsModule.js:3312 msgid "Amount (remaining)" msgstr "Betrag (verbleibend)" -#: /app/src/modules/transactions/TransactionsModule.js:3322 +#: /app/src/modules/transactions/TransactionsModule.js:3366 msgid "A split needs at least two parts with an amount." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3328 +#: /app/src/modules/transactions/TransactionsModule.js:3372 msgid "Split amounts must add up to the transaction total ({total})." msgstr "" "Die Summe der Teilbeträge muss dem Gesamtbetrag der Transaktion ({total}) " "entsprechen." -#: /app/src/modules/transactions/TransactionsModule.js:3399 +#: /app/src/modules/transactions/TransactionsModule.js:3443 msgid "The transaction was saved, but not split: {reason}" msgstr "Die Transaktion wurde gespeichert, aber nicht aufgeteilt: {reason}" -#: /app/src/modules/transactions/TransactionsModule.js:3400 +#: /app/src/modules/transactions/TransactionsModule.js:3444 #, fuzzy #| msgid "The transaction was recorded, but the photo could not be attached" msgid "The transaction was saved, but its splits could not be stored" msgstr "" "Die Transaktion wurde erfasst, aber das Foto konnte nicht angehängt werden" -#: /app/src/modules/transactions/TransactionsModule.js:3406 -#: /app/src/modules/transactions/TransactionsModule.js:3421 +#: /app/src/modules/transactions/TransactionsModule.js:3450 +#: /app/src/modules/transactions/TransactionsModule.js:3472 msgid "Are you sure you want to delete this transaction?" msgstr "Möchtest du diese Buchung wirklich löschen?" -#: /app/src/modules/transactions/TransactionsModule.js:3415 +#: /app/src/modules/transactions/TransactionsModule.js:3459 msgid "This will decrease the account balance by {amount}." msgstr "Der Kontosaldo wird dadurch um {amount} reduziert." -#: /app/src/modules/transactions/TransactionsModule.js:3416 +#: /app/src/modules/transactions/TransactionsModule.js:3460 msgid "This will increase the account balance by {amount}." msgstr "Der Kontosaldo wird dadurch um {amount} erhöht." -#: /app/src/modules/transactions/TransactionsModule.js:3419 +#: /app/src/modules/transactions/TransactionsModule.js:3467 +msgid "" +"This is the upcoming payment of a bill, not money that has moved. Deleting " +"it removes the scheduled entry until the bill is next paid; the bill itself " +"stays, and the account balance does not change. Are you sure?" +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:3468 +msgid "" +"This transaction is scheduled and not in the account balance yet, so the " +"balance does not change. Are you sure you want to delete it?" +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:3470 msgid "This transaction was auto-generated from a bill payment." msgstr "Diese Buchung wurde durch den Rechnung-Mechanismus erstellt." -#: /app/src/modules/transactions/TransactionsModule.js:3419 +#: /app/src/modules/transactions/TransactionsModule.js:3470 msgid "" "If this is a real payment, deleting it will cause your balance to diverge " "from your bank statement. Are you sure?" @@ -12966,49 +13560,49 @@ msgstr "" "Wenn dies eine echte Buchung ist, führt das Löschen dieser zu einer " "Abweichung deines Saldos von deinem Bankauszug. Bist du dir sicher?" -#: /app/src/modules/transactions/TransactionsModule.js:3426 +#: /app/src/modules/transactions/TransactionsModule.js:3477 msgid "" "This transaction was reconciled against a bank statement. Deleting it will " "make past reconciliations no longer match." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3430 +#: /app/src/modules/transactions/TransactionsModule.js:3481 msgid "" "This transaction funds a pension contribution. Deleting it will unlink it " "from that contribution (the contribution itself is kept)." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3441 -#: /app/src/modules/transactions/TransactionsModule.js:3464 +#: /app/src/modules/transactions/TransactionsModule.js:3492 +#: /app/src/modules/transactions/TransactionsModule.js:3515 msgid "Failed to delete transaction" msgstr "Fehler beim Löschen der Buchung" -#: /app/src/modules/transactions/TransactionsModule.js:3451 +#: /app/src/modules/transactions/TransactionsModule.js:3502 msgid "Transaction deleted" msgstr "Buchung gelöscht" -#: /app/src/modules/transactions/TransactionsModule.js:3545 +#: /app/src/modules/transactions/TransactionsModule.js:3596 msgid "Amount ({currency})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3546 +#: /app/src/modules/transactions/TransactionsModule.js:3597 msgid "Destination Amount ({currency})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3722 -#: /app/templates/index.php:7111 +#: /app/src/modules/transactions/TransactionsModule.js:3773 +#: /app/templates/index.php:7112 msgid "Date:" msgstr "Datum:" -#: /app/src/modules/transactions/TransactionsModule.js:3730 +#: /app/src/modules/transactions/TransactionsModule.js:3781 msgid "Total Amount:" msgstr "Summe:" -#: /app/src/modules/transactions/TransactionsModule.js:3960 +#: /app/src/modules/transactions/TransactionsModule.js:4011 msgid "Date window (days):" msgstr "Zeitraum (Tage):" -#: /app/src/modules/transactions/TransactionsModule.js:3965 +#: /app/src/modules/transactions/TransactionsModule.js:4016 msgid "" "Matches must be within this many days of each other. Use 0 for exact date " "match." @@ -13016,56 +13610,56 @@ msgstr "" "Übereinstimmungen müssen innerhalb dieser Anzahl von Tagen voneinander " "liegen. 0 steht für eine exakte Datumsübereinstimmung." -#: /app/src/modules/transactions/TransactionsModule.js:3968 +#: /app/src/modules/transactions/TransactionsModule.js:4019 msgid "Matching mode:" msgstr "Übereinstimmungsmodus:" -#: /app/src/modules/transactions/TransactionsModule.js:3973 +#: /app/src/modules/transactions/TransactionsModule.js:4024 msgid "Auto-link exact matches" msgstr "Automatisch exakte Übereinstimmungen verknüpfen" -#: /app/src/modules/transactions/TransactionsModule.js:3974 +#: /app/src/modules/transactions/TransactionsModule.js:4025 msgid "Single-match pairs linked automatically. Multi-match shown for review." msgstr "" "Einzelne Übereinstimmungen werden automatisch verknüpft. Mehrfache " "Übereinstimmungen werden zur Überprüfung angezeigt." -#: /app/src/modules/transactions/TransactionsModule.js:3980 +#: /app/src/modules/transactions/TransactionsModule.js:4031 msgid "Review all matches" msgstr "Alle Übereinstimmungen überprüfen" -#: /app/src/modules/transactions/TransactionsModule.js:3981 +#: /app/src/modules/transactions/TransactionsModule.js:4032 msgid "All candidates shown for your confirmation before linking." msgstr "" "Alle Übereinstimmungen werden vor der Verknüpfung zur Bestätigung angezeigt." -#: /app/src/modules/transactions/TransactionsModule.js:4013 -#: /app/templates/index.php:7049 +#: /app/src/modules/transactions/TransactionsModule.js:4064 +#: /app/templates/index.php:7050 msgid "Scanning for matching transactions..." msgstr "Suche nach übereinstimmenden Buchungen..." -#: /app/src/modules/transactions/TransactionsModule.js:4024 -#: /app/templates/index.php:7082 +#: /app/src/modules/transactions/TransactionsModule.js:4075 +#: /app/templates/index.php:7083 msgid "No matching transactions found." msgstr "Keine übereinstimmenden Buchungen gefunden." -#: /app/src/modules/transactions/TransactionsModule.js:4039 +#: /app/src/modules/transactions/TransactionsModule.js:4090 msgid "Failed to scan for matches. Please try again." msgstr "" "Fehler beim Suchen nach übereinstimmenden Buchungen. Bitte versuche es " "erneut." -#: /app/src/modules/transactions/TransactionsModule.js:4059 +#: /app/src/modules/transactions/TransactionsModule.js:4110 msgid "Linking %n exact match pair..." msgid_plural "Linking %n exact match pairs..." msgstr[0] "Verknüpfe eine Übereinstimmung…" msgstr[1] "Verknüpfe %n Übereinstimmungen..." -#: /app/src/modules/transactions/TransactionsModule.js:4127 +#: /app/src/modules/transactions/TransactionsModule.js:4178 msgid "Exact Matches" msgstr "Genaue Übereinstimmungen" -#: /app/src/modules/transactions/TransactionsModule.js:4128 +#: /app/src/modules/transactions/TransactionsModule.js:4179 msgid "" "These transactions have exactly one match. Uncheck any you don't want to " "link." @@ -13073,105 +13667,105 @@ msgstr "" "Diese Buchungen haben exakt eine Übereinstimmung. Wähle diejenigen ab, die " "du nicht verknüpfen möchtest." -#: /app/src/modules/transactions/TransactionsModule.js:4254 +#: /app/src/modules/transactions/TransactionsModule.js:4305 msgid "Select a match (%n option):" msgid_plural "Select a match (%n options):" msgstr[0] "Wähle eine Übereinstimmung (eine Option):" msgstr[1] "Wähle eine Übereinstimmung (%n Optionen):" -#: /app/src/modules/transactions/TransactionsModule.js:4258 +#: /app/src/modules/transactions/TransactionsModule.js:4309 msgid "Link Selected" msgstr "Verknüpfung ausgewählt" -#: /app/src/modules/transactions/TransactionsModule.js:4286 +#: /app/src/modules/transactions/TransactionsModule.js:4337 msgid "No matches selected" msgstr "Keine Übereinstimmungen ausgewählt" -#: /app/src/modules/transactions/TransactionsModule.js:4293 +#: /app/src/modules/transactions/TransactionsModule.js:4344 msgid "Linking..." msgstr "Verbinde..." -#: /app/src/modules/transactions/TransactionsModule.js:4300 +#: /app/src/modules/transactions/TransactionsModule.js:4351 msgid "Linked %n pair" msgid_plural "Linked %n pairs" msgstr[0] "Ein Buchungspaar wurde verknüpft" msgstr[1] "%n Buchungspaare wurden verknüpft" -#: /app/src/modules/transactions/TransactionsModule.js:4302 +#: /app/src/modules/transactions/TransactionsModule.js:4353 msgid "%n failed" msgid_plural "%n failed" msgstr[0] "Eine fehlgeschlagen" msgstr[1] "%n fehlgeschlagen" -#: /app/src/modules/transactions/TransactionsModule.js:4314 +#: /app/src/modules/transactions/TransactionsModule.js:4365 msgid "Linked Pairs" msgstr "Verknüpfte Buchungspaare" -#: /app/src/modules/transactions/TransactionsModule.js:4315 +#: /app/src/modules/transactions/TransactionsModule.js:4366 msgid "These transactions have been linked. Click Undo to unlink a pair." msgstr "" "Diese Buchungen wurden verknüpft. Klicke auf Rückgängig, um die Verknüpfung " "aufzulösen." -#: /app/src/modules/transactions/TransactionsModule.js:4352 -#: /app/templates/index.php:7089 +#: /app/src/modules/transactions/TransactionsModule.js:4403 +#: /app/templates/index.php:7090 msgid "Confirm Selected" msgstr "Ausgewählte bestätigen" -#: /app/src/modules/transactions/TransactionsModule.js:4379 +#: /app/src/modules/transactions/TransactionsModule.js:4430 msgid "Match undone" msgstr "Verknüpfung aufgelöst" -#: /app/src/modules/transactions/TransactionsModule.js:4381 +#: /app/src/modules/transactions/TransactionsModule.js:4432 msgid "Failed to undo match" msgstr "Fehler beim Auflösen der Verknüpfung" -#: /app/src/modules/transactions/TransactionsModule.js:4390 +#: /app/src/modules/transactions/TransactionsModule.js:4441 msgid "Please select a match first" msgstr "Bitte wähle erst eine Übereinstimmung aus" -#: /app/src/modules/transactions/TransactionsModule.js:4418 +#: /app/src/modules/transactions/TransactionsModule.js:4469 msgid "Transactions linked" msgstr "Buchungen wurden verknüpft" -#: /app/src/modules/transactions/TransactionsModule.js:4560 +#: /app/src/modules/transactions/TransactionsModule.js:4611 msgid "Enter description..." msgstr "Geben Sie die Beschreibung ein..." -#: /app/src/modules/transactions/TransactionsModule.js:4592 -#: /app/src/utils/userPicker.js:66 /app/templates/index.php:7231 +#: /app/src/modules/transactions/TransactionsModule.js:4643 +#: /app/src/utils/userPicker.js:66 /app/templates/index.php:7232 msgid "Type to search..." msgstr "Tippe zum Suchen..." -#: /app/src/modules/transactions/TransactionsModule.js:4625 +#: /app/src/modules/transactions/TransactionsModule.js:4676 msgid "No categories found" msgstr "Keine Kategorien gefunden" -#: /app/src/modules/transactions/TransactionsModule.js:4779 +#: /app/src/modules/transactions/TransactionsModule.js:4830 msgid "No tags" msgstr "Keine Schlagwörter" -#: /app/src/modules/transactions/TransactionsModule.js:4935 +#: /app/src/modules/transactions/TransactionsModule.js:4986 msgid "Error loading tags" msgstr "Fehler beim Laden der Schlagwörter" -#: /app/src/modules/transactions/TransactionsModule.js:5146 +#: /app/src/modules/transactions/TransactionsModule.js:5197 msgid "Find Duplicate Transactions" msgstr "Doppelte Buchungen finden" -#: /app/src/modules/transactions/TransactionsModule.js:5152 +#: /app/src/modules/transactions/TransactionsModule.js:5203 msgid "Scanning for duplicates..." msgstr "Suche nach Duplikaten..." -#: /app/src/modules/transactions/TransactionsModule.js:5188 +#: /app/src/modules/transactions/TransactionsModule.js:5239 msgid "No duplicate transactions found." msgstr "Keine doppelten Buchungen gefunden." -#: /app/src/modules/transactions/TransactionsModule.js:5198 +#: /app/src/modules/transactions/TransactionsModule.js:5249 msgid "Failed to scan for duplicates. Please try again." msgstr "Fehler beim Suchen nach Duplikaten. Bitte versuche es erneut." -#: /app/src/modules/transactions/TransactionsModule.js:5207 +#: /app/src/modules/transactions/TransactionsModule.js:5258 msgid "" "Found {groupCount} group(s) with {duplicateCount} suspected duplicate(s). " "The oldest transaction in each group is kept by default. Review and adjust " @@ -13182,31 +13776,36 @@ msgstr "" "beibehalten. Bitte überprüfe die Auswahl. Die ausgewählten Einträge werden " "gelöscht." -#: /app/src/modules/transactions/TransactionsModule.js:5210 -#: /app/src/modules/transactions/TransactionsModule.js:5355 +#: /app/src/modules/transactions/TransactionsModule.js:5261 +#: /app/src/modules/transactions/TransactionsModule.js:5406 #: /app/templates/index.php:1932 msgid "Delete Selected" msgstr "Ausgewählte löschen" -#: /app/src/modules/transactions/TransactionsModule.js:5236 +#: /app/src/modules/transactions/TransactionsModule.js:5276 +#: /app/src/utils/matchingDialog.js:48 +msgid "(no description)" +msgstr "(keine Beschreibung)" + +#: /app/src/modules/transactions/TransactionsModule.js:5287 msgid "keep" msgstr "behalten" -#: /app/src/modules/transactions/TransactionsModule.js:5237 +#: /app/src/modules/transactions/TransactionsModule.js:5288 msgid "bill" msgstr "rechnung" -#: /app/src/modules/transactions/TransactionsModule.js:5239 +#: /app/src/modules/transactions/TransactionsModule.js:5290 msgid "scheduled" msgstr "geplant" -#: /app/src/modules/transactions/TransactionsModule.js:5240 +#: /app/src/modules/transactions/TransactionsModule.js:5291 #, fuzzy #| msgid "Pending" msgid "pending" msgstr "Ausstehend" -#: /app/src/modules/transactions/TransactionsModule.js:5301 +#: /app/src/modules/transactions/TransactionsModule.js:5352 msgid "Delete %n suspected duplicate transaction? This cannot be undone." msgid_plural "" "Delete %n suspected duplicate transactions? This cannot be undone." @@ -13217,7 +13816,7 @@ msgstr[1] "" "%n verdächtige doppelte Buchungen löschen? Diese Aktion lässt sich nicht " "rückgängig machen." -#: /app/src/modules/transactions/TransactionsModule.js:5303 +#: /app/src/modules/transactions/TransactionsModule.js:5354 msgid "" "%n of these was generated from bill payments. Make sure they are truly " "duplicates before deleting." @@ -13231,17 +13830,17 @@ msgstr[1] "" "%n dieser Buchungen wurden durch den Rechnung-Mechanismus erstellt. Bitte " "stelle sicher, dass es sich wirklich um Duplikate handelt." -#: /app/src/modules/transactions/TransactionsModule.js:5319 +#: /app/src/modules/transactions/TransactionsModule.js:5370 msgid "Deleted %n duplicate transaction" msgid_plural "Deleted %n duplicate transactions" msgstr[0] "Ein Duplikat wurde gelöscht" msgstr[1] "%n Duplikate wurden gelöscht" -#: /app/src/modules/transactions/TransactionsModule.js:5342 +#: /app/src/modules/transactions/TransactionsModule.js:5393 msgid "All duplicates have been resolved." msgstr "Alle Buchungsduplikate wurden aufgelöst." -#: /app/src/modules/transactions/TransactionsModule.js:5351 +#: /app/src/modules/transactions/TransactionsModule.js:5402 msgid "Failed to delete duplicates" msgstr "Fehler beim Löschen der Duplikate" @@ -13332,63 +13931,74 @@ msgstr "" msgid "More actions" msgstr "Mehr Aktionen" -#: /app/src/modules/transfers/TransfersModule.js:55 -#: /app/src/modules/transfers/TransfersModule.js:68 +#: /app/src/modules/transfers/TransfersModule.js:58 +#: /app/src/modules/transfers/TransfersModule.js:73 msgid "Failed to load transfers" msgstr "Fehler beim Laden der Umbuchungen" -#: /app/src/modules/transfers/TransfersModule.js:82 +#: /app/src/modules/transfers/TransfersModule.js:87 msgid "Recurring Transfers" msgstr "Wiederkehrende Umbuchungen" -#: /app/src/modules/transfers/TransfersModule.js:84 +#: /app/src/modules/transfers/TransfersModule.js:89 #, fuzzy #| msgid "No recurring transfers yet" msgid "Detect recurring transfers" msgstr "Noch keine wiederkehrenden Umbuchungen" -#: /app/src/modules/transfers/TransfersModule.js:86 -#: /app/src/modules/transfers/TransfersModule.js:1264 +#: /app/src/modules/transfers/TransfersModule.js:91 +#: /app/src/modules/transfers/TransfersModule.js:1259 msgid "Find Transfers" msgstr "Überweisungen suchen" -#: /app/src/modules/transfers/TransfersModule.js:88 +#: /app/src/modules/transfers/TransfersModule.js:93 msgid "Add new transfer" msgstr "Neue Umbuchung hinzufügen" -#: /app/src/modules/transfers/TransfersModule.js:90 -#: /app/src/modules/transfers/TransfersModule.js:459 -#: /app/src/modules/transfers/TransfersModule.js:609 +#: /app/src/modules/transfers/TransfersModule.js:95 +#: /app/src/modules/transfers/TransfersModule.js:433 +#: /app/src/modules/transfers/TransfersModule.js:594 msgid "Add Transfer" msgstr "Umbuchung hinzufügen" -#: /app/src/modules/transfers/TransfersModule.js:103 +#: /app/src/modules/transfers/TransfersModule.js:108 msgid "Active Transfers" msgstr "Aktive wiederkehrende Umbuchungen" -#: /app/src/modules/transfers/TransfersModule.js:112 +#: /app/src/modules/transfers/TransfersModule.js:117 #: /app/templates/index.php:2653 msgid "Due This Month" msgstr "Diesen Monat fällig" -#: /app/src/modules/transfers/TransfersModule.js:121 +#: /app/src/modules/transfers/TransfersModule.js:126 #: /app/templates/index.php:2671 /app/templates/index.php:2861 msgid "Monthly Total" msgstr "Monatssumme" -#: /app/src/modules/transfers/TransfersModule.js:130 +#: /app/src/modules/transfers/TransfersModule.js:135 msgid "Completed This Month" msgstr "Diesen Monat ausgeführt" -#: /app/src/modules/transfers/TransfersModule.js:137 +#: /app/src/modules/transfers/TransfersModule.js:142 msgid "All Transfers" msgstr "Alle Umbuchungen" -#: /app/src/modules/transfers/TransfersModule.js:152 +#: /app/src/modules/transfers/TransfersModule.js:143 +#: /app/src/utils/billDates.js:37 /app/templates/index.php:2688 +msgid "Due Soon" +msgstr "Bald fällig" + +#: /app/src/modules/transfers/TransfersModule.js:145 +#: /app/src/utils/incomeStatus.js:43 /app/templates/index.php:1423 +#: /app/templates/index.php:2974 +msgid "Completed" +msgstr "Abgeschlossen" + +#: /app/src/modules/transfers/TransfersModule.js:157 msgid "No recurring transfers yet" msgstr "Noch keine wiederkehrenden Umbuchungen" -#: /app/src/modules/transfers/TransfersModule.js:153 +#: /app/src/modules/transfers/TransfersModule.js:158 msgid "" "Set up automatic transfers between your accounts to automate savings or bill " "payments." @@ -13396,17 +14006,17 @@ msgstr "" "Richten Sie automatische Überweisungen zwischen Ihren Konten ein, um das " "Sparen oder die Rechnungszahlungen zu automatisieren." -#: /app/src/modules/transfers/TransfersModule.js:156 +#: /app/src/modules/transfers/TransfersModule.js:161 msgid "Add Your First Transfer" msgstr "Fügen Sie Ihre erste Überweisung hinzu" -#: /app/src/modules/transfers/TransfersModule.js:164 +#: /app/src/modules/transfers/TransfersModule.js:169 #, fuzzy #| msgid "Detected Recurring Transactions" msgid "Detected Recurring Transfers" msgstr "Erkannte wiederkehrende Buchungen" -#: /app/src/modules/transfers/TransfersModule.js:167 +#: /app/src/modules/transfers/TransfersModule.js:172 msgid "" "These recurring transactions may be transfers between your accounts. Select " "the ones to add and choose the destination account." @@ -13415,160 +14025,174 @@ msgstr "" "Konten sein. Wähle die Transaktionen aus, die du hinzufügen möchtest, und " "wähle das Zielkonto." -#: /app/src/modules/transfers/TransfersModule.js:170 +#: /app/src/modules/transfers/TransfersModule.js:175 msgid "Add Selected as Transfers" msgstr "Ausgewählte als Umbuchungen hinzufügen" -#: /app/src/modules/transfers/TransfersModule.js:382 +#: /app/src/modules/transfers/TransfersModule.js:368 msgid "Edit transfer" msgstr "Umbuchung bearbeiten" -#: /app/src/modules/transfers/TransfersModule.js:385 +#: /app/src/modules/transfers/TransfersModule.js:371 msgid "Delete transfer" msgstr "Umbuchung löschen" -#: /app/src/modules/transfers/TransfersModule.js:459 +#: /app/src/modules/transfers/TransfersModule.js:433 msgid "Edit Transfer" msgstr "Umbuchung bearbeiten" -#: /app/src/modules/transfers/TransfersModule.js:477 +#: /app/src/modules/transfers/TransfersModule.js:451 msgid "e.g., Monthly Savings" msgstr "z.B. Monatliche Ersparnisse" -#: /app/src/modules/transfers/TransfersModule.js:489 +#: /app/src/modules/transfers/TransfersModule.js:463 #, fuzzy #| msgid "Account Type" msgid "Amount type" msgstr "Kontoart" -#: /app/src/modules/transfers/TransfersModule.js:491 +#: /app/src/modules/transfers/TransfersModule.js:465 #, fuzzy #| msgid "Expected Amount" msgid "Fixed amount" msgstr "Erwarteter Betrag" -#: /app/src/modules/transfers/TransfersModule.js:493 +#: /app/src/modules/transfers/TransfersModule.js:467 #, fuzzy #| msgid "Current Balance" msgid "Current balance" msgstr "Aktueller Kontostand" -#: /app/src/modules/transfers/TransfersModule.js:494 +#: /app/src/modules/transfers/TransfersModule.js:468 #, fuzzy #| msgid "Minimum Payment" msgid "Minimum payment" msgstr "Mindestzahlung" -#: /app/src/modules/transfers/TransfersModule.js:513 +#: /app/src/modules/transfers/TransfersModule.js:485 +#: /app/templates/index.php:6196 +msgid "Custom" +msgstr "Benutzerdefiniert" + +#: /app/src/modules/transfers/TransfersModule.js:490 msgid "From Account" msgstr "Ursprungskonto" -#: /app/src/modules/transfers/TransfersModule.js:525 +#: /app/src/modules/transfers/TransfersModule.js:502 #: /app/templates/index.php:5837 msgid "To Account" msgstr "Zielkonto" -#: /app/src/modules/transfers/TransfersModule.js:537 -#: /app/src/modules/transfers/TransfersModule.js:777 +#: /app/src/modules/transfers/TransfersModule.js:514 +#: /app/src/modules/transfers/TransfersModule.js:769 msgid "Day of Month (1-31)" msgstr "Tag des Monats (1-31)" -#: /app/src/modules/transfers/TransfersModule.js:539 +#: /app/src/modules/transfers/TransfersModule.js:516 msgid "e.g., 15" msgstr "z.B. 15" -#: /app/src/modules/transfers/TransfersModule.js:554 +#: /app/src/modules/transfers/TransfersModule.js:522 +#: /app/templates/index.php:6227 +msgid "Due Month" +msgstr "Fälligkeitsmonat" + +#: /app/src/modules/transfers/TransfersModule.js:526 +msgid "The month the cycle starts from" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:539 #: /app/templates/index.php:712 /app/templates/index.php:734 #: /app/templates/index.php:5233 /app/templates/index.php:5852 -#: /app/templates/index.php:5969 /app/templates/index.php:6803 +#: /app/templates/index.php:5969 /app/templates/index.php:6804 msgid "Details" msgstr "Details" -#: /app/src/modules/transfers/TransfersModule.js:556 +#: /app/src/modules/transfers/TransfersModule.js:541 msgid "Transaction Description Pattern (Optional)" msgstr "Muster des Buchungstextes (Optional)" -#: /app/src/modules/transfers/TransfersModule.js:558 +#: /app/src/modules/transfers/TransfersModule.js:543 msgid "e.g., Savings Transfer" msgstr "z.B. Sparen" -#: /app/src/modules/transfers/TransfersModule.js:560 +#: /app/src/modules/transfers/TransfersModule.js:545 msgid "Used to match imported transactions" msgstr "Wir benutzt, um Übereinstimmungen bei importierten Buchungen zu finden" -#: /app/src/modules/transfers/TransfersModule.js:569 +#: /app/src/modules/transfers/TransfersModule.js:554 msgid "Category for created transactions (optional)" msgstr "Kategorie für erstellte Buchungen (optional)" -#: /app/src/modules/transfers/TransfersModule.js:577 +#: /app/src/modules/transfers/TransfersModule.js:562 msgid "Optional notes..." msgstr "Optionale Notizen..." -#: /app/src/modules/transfers/TransfersModule.js:584 +#: /app/src/modules/transfers/TransfersModule.js:569 msgid "Also create transactions now" msgstr "Buchungen jetzt erstellen" -#: /app/src/modules/transfers/TransfersModule.js:586 +#: /app/src/modules/transfers/TransfersModule.js:571 msgid "Creates paired debit/credit transactions immediately" msgstr "" "Neue Buchungspaare werden direkt nach Abschließen des Formulars erstellt" -#: /app/src/modules/transfers/TransfersModule.js:590 -#: /app/templates/index.php:6339 +#: /app/src/modules/transfers/TransfersModule.js:575 +#: /app/templates/index.php:6340 msgid "Transaction Date" msgstr "Buchungsdatum" -#: /app/src/modules/transfers/TransfersModule.js:592 -#: /app/templates/index.php:6341 +#: /app/src/modules/transfers/TransfersModule.js:577 +#: /app/templates/index.php:6342 msgid "Leave empty to use next due date" msgstr "Leer lassen, um das nächste Fälligkeitsdatum zu verwenden" -#: /app/src/modules/transfers/TransfersModule.js:599 +#: /app/src/modules/transfers/TransfersModule.js:584 msgid "Enable auto-pay (automatically create transactions when due)" msgstr "" "Automatische Zahlung einschalten (erstellt Buchungen automatisch, sobald sie " "fällig sind)" -#: /app/src/modules/transfers/TransfersModule.js:609 +#: /app/src/modules/transfers/TransfersModule.js:594 msgid "Update Transfer" msgstr "Umbuchung aktualisieren" -#: /app/src/modules/transfers/TransfersModule.js:667 +#: /app/src/modules/transfers/TransfersModule.js:652 msgid "" "Pays what was owed at the due date. Later charges roll to the next payment" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:668 +#: /app/src/modules/transfers/TransfersModule.js:653 msgid "Pays everything owed on the card at payment time" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:669 +#: /app/src/modules/transfers/TransfersModule.js:654 msgid "Pays the card's minimum payment, never more than is owed" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:682 +#: /app/src/modules/transfers/TransfersModule.js:667 #, fuzzy #| msgid "Failed to record settlement" msgid "Resolved from the card at each payment" msgstr "Aufzeichnen der Abrechnung fehlgeschlagen" -#: /app/src/modules/transfers/TransfersModule.js:766 +#: /app/src/modules/transfers/TransfersModule.js:758 msgid "The date this transfer is due. It can be in the past." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:778 +#: /app/src/modules/transfers/TransfersModule.js:770 msgid "Day of the month when the transfer is due" msgstr "Tag des Monats, an dem die Umbuchung fällig ist" -#: /app/src/modules/transfers/TransfersModule.js:796 +#: /app/src/modules/transfers/TransfersModule.js:788 msgid "The transfer repeats from this date (optional)" msgstr "Die Umbuchung wird ab diesem Datum wiederholt (optional)" -#: /app/src/modules/transfers/TransfersModule.js:797 +#: /app/src/modules/transfers/TransfersModule.js:789 msgid "Transfer only occurs on or after this date (optional)" msgstr "Die Umbuchung erfolgt erst ab diesem Datum (optional)" -#: /app/src/modules/transfers/TransfersModule.js:819 +#: /app/src/modules/transfers/TransfersModule.js:816 #, fuzzy #| msgid "Day of the month when bill is due" msgid "Please enter the date the transfer is due" @@ -13582,136 +14206,148 @@ msgstr "Bitte wähle ein Ursprungskonto" msgid "Please select a destination account" msgstr "Bitte wähle ein Zielkonto" -#: /app/src/modules/transfers/TransfersModule.js:882 -#: /app/src/modules/transfers/TransfersModule.js:895 +#: /app/src/modules/transfers/TransfersModule.js:887 +#: /app/src/modules/transfers/TransfersModule.js:900 msgid "Failed to save transfer" msgstr "Fehler beim Speichern der Umbuchung" -#: /app/src/modules/transfers/TransfersModule.js:886 +#: /app/src/modules/transfers/TransfersModule.js:891 msgid "Transfer updated" msgstr "Umbuchung aktualisiert" -#: /app/src/modules/transfers/TransfersModule.js:886 +#: /app/src/modules/transfers/TransfersModule.js:891 msgid "Transfer added" msgstr "Umbuchung hinzugefügt" -#: /app/src/modules/transfers/TransfersModule.js:901 +#: /app/src/modules/transfers/TransfersModule.js:906 msgid "Are you sure you want to delete this transfer?" msgstr "Möchtest du diese Umbuchung wirklich löschen?" -#: /app/src/modules/transfers/TransfersModule.js:908 -#: /app/src/modules/transfers/TransfersModule.js:918 +#: /app/src/modules/transfers/TransfersModule.js:913 +#: /app/src/modules/transfers/TransfersModule.js:923 msgid "Failed to delete transfer" msgstr "Fehler beim Löschen der Umbuchung" -#: /app/src/modules/transfers/TransfersModule.js:911 +#: /app/src/modules/transfers/TransfersModule.js:916 msgid "Transfer deleted" msgstr "Umbuchung gelöscht" -#: /app/src/modules/transfers/TransfersModule.js:932 -#: /app/src/modules/transfers/TransfersModule.js:944 +#: /app/src/modules/transfers/TransfersModule.js:937 +#: /app/src/modules/transfers/TransfersModule.js:949 msgid "Failed to update transfer" msgstr "Fehler beim Aktualisieren der Umbuchung" -#: /app/src/modules/transfers/TransfersModule.js:936 +#: /app/src/modules/transfers/TransfersModule.js:941 msgid "Transfer deactivated" msgstr "Wiederkehrende Umbuchung deaktiviert" -#: /app/src/modules/transfers/TransfersModule.js:936 +#: /app/src/modules/transfers/TransfersModule.js:941 msgid "Transfer activated" msgstr "Wiederkehrende Umbuchung aktiviert" -#: /app/src/modules/transfers/TransfersModule.js:964 -#: /app/src/modules/transfers/TransfersModule.js:974 +#: /app/src/modules/transfers/TransfersModule.js:990 +#: /app/src/modules/transfers/TransfersModule.js:1006 msgid "Failed to mark transfer as paid" msgstr "Fehler beim Markieren der Umbuchung als bezahlt" -#: /app/src/modules/transfers/TransfersModule.js:967 +#: /app/src/modules/transfers/TransfersModule.js:996 +#, fuzzy +#| msgid "" +#| "These bills were marked as paid, but no transaction was recorded — your " +#| "account balance does not reflect these payments." +msgid "" +"The transfer was marked as paid, but no transactions were recorded. Check " +"both accounts, or add the transfer manually." +msgstr "" +"Diese Rechnungen wurden als bezahlt markiert, es wurde jedoch keine " +"Transaktion erfasst – dein Kontostand berücksichtigt diese Zahlungen nicht." + +#: /app/src/modules/transfers/TransfersModule.js:998 msgid "Transfer marked as paid" msgstr "Umbuchung wurde als bezahlt markiert" -#: /app/src/modules/transfers/TransfersModule.js:995 -#: /app/src/modules/transfers/TransfersModule.js:1014 +#: /app/src/modules/transfers/TransfersModule.js:1027 +#: /app/src/modules/transfers/TransfersModule.js:1046 #, fuzzy #| msgid "Failed to save transfer" msgid "Failed to skip transfer" msgstr "Fehler beim Speichern der Umbuchung" -#: /app/src/modules/transfers/TransfersModule.js:1062 -#: /app/src/modules/transfers/TransfersModule.js:1071 +#: /app/src/modules/transfers/TransfersModule.js:1093 +#: /app/src/modules/transfers/TransfersModule.js:1103 msgid "Failed to mark transfer as unpaid" msgstr "Die Umbuchung konnte nicht als unbezahlt markiert werden" -#: /app/src/modules/transfers/TransfersModule.js:1068 +#: /app/src/modules/transfers/TransfersModule.js:1100 msgid "Payment reverted — the transfer is marked as unpaid." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1078 +#: /app/src/modules/transfers/TransfersModule.js:1110 #, fuzzy #| msgid "Statement Date" msgid "Statement" msgstr "Datum des Kontoauszugs" -#: /app/src/modules/transfers/TransfersModule.js:1079 +#: /app/src/modules/transfers/TransfersModule.js:1111 #, fuzzy #| msgid "balance" msgid "Full balance" msgstr "saldo" -#: /app/src/modules/transfers/TransfersModule.js:1080 +#: /app/src/modules/transfers/TransfersModule.js:1112 #, fuzzy #| msgid "Minimum Payment" msgid "Minimum" msgstr "Mindestzahlung" -#: /app/src/modules/transfers/TransfersModule.js:1083 +#: /app/src/modules/transfers/TransfersModule.js:1115 msgid "Amount is resolved from the card at each payment" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1261 +#: /app/src/modules/transfers/TransfersModule.js:1256 #, fuzzy #| msgid "Failed to detect recurring income" msgid "Failed to detect recurring transfers" msgstr "Laufende Einnahme konnte nicht gefunden werden" -#: /app/src/modules/transfers/TransfersModule.js:1294 +#: /app/src/modules/transfers/TransfersModule.js:1289 msgid "From: {account}" msgstr "Von: {account}" -#: /app/src/modules/transfers/TransfersModule.js:1297 -#: /app/src/modules/transfers/TransfersModule.js:1298 +#: /app/src/modules/transfers/TransfersModule.js:1292 +#: /app/src/modules/transfers/TransfersModule.js:1293 msgid "To:" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1299 +#: /app/src/modules/transfers/TransfersModule.js:1294 #, fuzzy #| msgid "Please select destination account" msgid "— Select destination —" msgstr "Bitte wähle ein Zielkonto" -#: /app/src/modules/transfers/TransfersModule.js:1316 +#: /app/src/modules/transfers/TransfersModule.js:1325 #, fuzzy #| msgid "Please select at least one bill to add" msgid "Please select at least one transfer to add" msgstr "Bitte wähle mindestens eine Rechnung zum Hinzufügen aus" -#: /app/src/modules/transfers/TransfersModule.js:1327 +#: /app/src/modules/transfers/TransfersModule.js:1336 #, fuzzy #| msgid "Please select a destination account" msgid "Please select a destination account for all selected transfers" msgstr "Bitte wähle ein Zielkonto" -#: /app/src/modules/transfers/TransfersModule.js:1333 +#: /app/src/modules/transfers/TransfersModule.js:1342 msgid "Source and destination accounts must be different" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1350 +#: /app/src/modules/transfers/TransfersModule.js:1359 msgid "%n transfer added successfully" msgid_plural "%n transfers added successfully" msgstr[0] "%n Überweisung wurde erfolgreich hinzugefügt" msgstr[1] "%n Überweisungen wurden erfolgreich hinzugefügt" -#: /app/src/modules/transfers/TransfersModule.js:1353 +#: /app/src/modules/transfers/TransfersModule.js:1362 #, fuzzy #| msgid "Failed to delete transfer" msgid "Failed to add selected transfers" @@ -13721,11 +14357,11 @@ msgstr "Fehler beim Löschen der Umbuchung" msgid "{name} (closed)" msgstr "" -#: /app/src/utils/billDates.js:29 +#: /app/src/utils/billDates.js:95 msgid "Paid {paidDate}, next due {dueDate}" msgstr "Bezahlt am {paidDate}, nächste Fälligkeit am {dueDate}" -#: /app/src/utils/billDates.js:34 +#: /app/src/utils/billDates.js:100 #, fuzzy #| msgid "Ends {date}" msgid "Paid {date}" @@ -13773,10 +14409,129 @@ msgstr "Hypothek" msgid "Week of {date}" msgstr "Fällig am {date}" +#: /app/src/utils/incomeStatus.js:35 +#, fuzzy +#| msgid "Received" +msgid "Received {date}" +msgstr "Empfangen" + +#: /app/src/utils/incomeStatus.js:39 +msgid "No date set" +msgstr "Kein Datum gesetzt" + +#: /app/src/utils/incomeStatus.js:43 /app/templates/index.php:2792 +#, fuzzy +#| msgid "Interactive" +msgid "Inactive" +msgstr "Interaktiv" + +#: /app/src/utils/incomeStatus.js:53 /app/templates/index.php:2887 +msgid "Expected Soon" +msgstr "In Kürze" + +#: /app/src/utils/incomeStatus.js:59 +#, fuzzy +#| msgid "Paid {paidDate}, next due {dueDate}" +msgid "Received {receivedDate}, next expected {expectedDate}" +msgstr "Bezahlt am {paidDate}, nächste Fälligkeit am {dueDate}" + #: /app/src/utils/loading.js:84 msgid "Retry" msgstr "" +#: /app/src/utils/matchingDialog.js:33 +#, fuzzy +#| msgid "Expected Amount" +msgid "Exact amount" +msgstr "Erwarteter Betrag" + +#: /app/src/utils/matchingDialog.js:34 +msgid "Similar amount (±5%)" +msgstr "Ähnlicher Betrag (±5 %)" + +#: /app/src/utils/matchingDialog.js:35 +msgid "Approximate amount (±20%)" +msgstr "Ungefährer Betrag (±20 %)" + +#: /app/src/utils/matchingDialog.js:36 +msgid "Vendor matches" +msgstr "Übereinstimmende Händler" + +#: /app/src/utils/matchingDialog.js:37 +#, fuzzy +#| msgid "Review all matches" +msgid "Vendor partially matches" +msgstr "Alle Übereinstimmungen überprüfen" + +#: /app/src/utils/matchingDialog.js:38 +#, fuzzy +#| msgid "Description" +msgid "Description matches" +msgstr "Beschreibung" + +#: /app/src/utils/matchingDialog.js:39 +msgid "Description partially matches" +msgstr "Beschreibung stimmt teilweise überein" + +#: /app/src/utils/matchingDialog.js:40 +msgid "Same day" +msgstr "Am selben Tag" + +#: /app/src/utils/matchingDialog.js:41 +msgid "±1 day" +msgstr "±1 Tag" + +#: /app/src/utils/matchingDialog.js:42 +msgid "±3 days" +msgstr "±3 Tage" + +#: /app/src/utils/matchingDialog.js:43 +msgid "±7 days" +msgstr "±7 Tage" + +#: /app/src/utils/matchingDialog.js:61 +msgid "Strong match" +msgstr "Hohe Übereinstimmung" + +#: /app/src/utils/matchingDialog.js:73 +#, fuzzy +#| msgid "No matching transactions found" +msgid "Existing Transaction Found" +msgstr "Keine übereinstimmenden Buchungen gefunden" + +#: /app/src/utils/matchingDialog.js:77 +msgid "" +"We found existing transactions that may already represent this bill payment " +"({billName}, {amount}). Would you like to link one instead of creating a new " +"transaction?" +msgstr "" +"Wir haben bestehende Transaktionen gefunden, die möglicherweise bereits zu " +"dieser Rechnungszahlung passen ({billName}, {amount}). Möchtest du " +"stattdessen eine davon verknüpfen, anstatt eine neue Transaktion zu " +"erstellen?" + +#: /app/src/utils/matchingDialog.js:78 +msgid "" +"Whichever you choose, the bill is marked as paid and moves on to its next " +"due date." +msgstr "" +"Unabhängig von deiner Auswahl wird die Rechnung als bezahlt markiert und der " +"nächste Fälligkeitstermin festgelegt." + +#: /app/src/utils/matchingDialog.js:85 +#, fuzzy +#| msgid "Text to add to transaction notes" +msgid "Create a new transaction instead" +msgstr "Hinzugefügte Buchungsnotiz" + +#: /app/src/utils/matchingDialog.js:91 +msgid "Don't create any transaction (just mark as paid)" +msgstr "Keine Transaktion erstellen (nur als bezahlt markieren)" + +#: /app/src/utils/matchingDialog.js:92 +msgid "Your account balance will NOT reflect this payment." +msgstr "Diese Zahlung wirkt sich NICHT auf deinen Kontostand aus." + #: /app/src/utils/multiselect.js:32 #, fuzzy #| msgid "Select column..." @@ -13811,7 +14566,7 @@ msgstr "Suche leeren" msgid "Tools & Settings" msgstr "Optionen & Einstellungen" -#: /app/templates/index.php:217 /app/templates/index.php:7554 +#: /app/templates/index.php:217 /app/templates/index.php:7555 msgid "Help" msgstr "Hilfe" @@ -14200,7 +14955,7 @@ msgid "Filters" msgstr "Filter" #: /app/templates/index.php:1458 /app/templates/index.php:1615 -#: /app/templates/index.php:6564 +#: /app/templates/index.php:6565 msgid "Filter Transactions" msgstr "Buchungen filtern" @@ -14213,12 +14968,12 @@ msgid "Cleared" msgstr "Zurückgesetzt" #: /app/templates/index.php:1489 /app/templates/index.php:1662 -#: /app/templates/index.php:6575 +#: /app/templates/index.php:6576 msgid "From Date" msgstr "Von Datum" #: /app/templates/index.php:1494 /app/templates/index.php:1667 -#: /app/templates/index.php:6580 +#: /app/templates/index.php:6581 msgid "To Date" msgstr "Bis Datum" @@ -14251,7 +15006,7 @@ msgid "Save Preset" msgstr "Vorlage speichern" #: /app/templates/index.php:1544 /app/templates/index.php:1854 -#: /app/templates/index.php:2805 /app/templates/index.php:6471 +#: /app/templates/index.php:2805 /app/templates/index.php:6472 msgid "Actions" msgstr "Aktionen" @@ -14372,7 +15127,7 @@ msgstr "100 pro Seite" msgid "250 per page" msgstr "250 pro Seite" -#: /app/templates/index.php:1824 /app/templates/index.php:7315 +#: /app/templates/index.php:1824 /app/templates/index.php:7316 msgid "Select all" msgstr "Alle auswählen" @@ -14410,10 +15165,6 @@ msgstr "" msgid "Recolor" msgstr "Jetzt aufzeichnen" -#: /app/templates/index.php:1943 /app/templates/index.php:2244 -msgid "No categories yet" -msgstr "Noch keine Kategorien" - #: /app/templates/index.php:1944 msgid "" "Create your first category to start organizing your transactions, or use our " @@ -14941,12 +15692,6 @@ msgstr "Suche ..." msgid "Search rules" msgstr "Regelsuche" -#: /app/templates/index.php:2792 -#, fuzzy -#| msgid "Interactive" -msgid "Inactive" -msgstr "Interaktiv" - #: /app/templates/index.php:2801 msgid "Pri" msgstr "Prio." @@ -15194,9 +15939,9 @@ msgstr "Einstellungen konnten nicht abgerufen werden" #: /app/templates/index.php:3175 /app/templates/index.php:5084 #: /app/templates/index.php:5105 /app/templates/index.php:5192 #: /app/templates/index.php:5555 /app/templates/index.php:5950 -#: /app/templates/index.php:6147 /app/templates/index.php:6380 -#: /app/templates/index.php:6550 /app/templates/index.php:6767 -#: /app/templates/index.php:6862 /app/templates/index.php:7249 +#: /app/templates/index.php:6147 /app/templates/index.php:6381 +#: /app/templates/index.php:6551 /app/templates/index.php:6768 +#: /app/templates/index.php:6863 /app/templates/index.php:7250 msgid "Save" msgstr "Speichern" @@ -15454,7 +16199,7 @@ msgid "Edit pension" msgstr "Rente bearbeiten" #: /app/templates/index.php:3817 /app/templates/index.php:4859 -#: /app/templates/index.php:5338 /app/templates/index.php:7457 +#: /app/templates/index.php:5338 /app/templates/index.php:7458 msgid "Provider" msgstr "Anbieter" @@ -15949,7 +16694,7 @@ msgstr "Tausendertrennzeichen" msgid "Space ( )" msgstr "Leerzeichen ( )" -#: /app/templates/index.php:4538 /app/templates/index.php:6513 +#: /app/templates/index.php:4538 /app/templates/index.php:6514 msgid "Preview:" msgstr "Vorschau:" @@ -16085,7 +16830,7 @@ msgstr "Präferiertes Format für Datenexport" msgid "CSV" msgstr "CSV" -#: /app/templates/index.php:4689 /app/templates/index.php:6397 +#: /app/templates/index.php:4689 /app/templates/index.php:6398 msgid "JSON" msgstr "JSON" @@ -16421,7 +17166,7 @@ msgstr "" msgid "Open docs site" msgstr "Dokumentationsseite öffnen" -#: /app/templates/index.php:4973 /app/templates/index.php:7562 +#: /app/templates/index.php:4973 /app/templates/index.php:7563 msgid "Report an Issue" msgstr "Fehler melden" @@ -16478,7 +17223,7 @@ msgstr "Tastenkürzel anzeigen" #: /app/templates/index.php:5028 msgid "Quick Add Page" -msgstr "Schnelle Buchung" +msgstr "Seite „Schnelle Buchung“" #: /app/templates/index.php:5029 msgid "" @@ -16490,10 +17235,8 @@ msgstr "" "hinzu." #: /app/templates/index.php:5031 -#, fuzzy -#| msgid "Quick Add Page" msgid "Quick Add Page URL" -msgstr "Schnelle Buchung" +msgstr "URL der Seite „Schnelle Buchung“" #: /app/templates/index.php:5034 msgid "Copy URL" @@ -16511,8 +17254,8 @@ msgstr "Kopiere diese Informationen, wenn du ein Problem meldest." msgid "Copy to Clipboard" msgstr "" -#: /app/templates/index.php:5065 /app/templates/index.php:6911 -#: /app/templates/index.php:6943 +#: /app/templates/index.php:5065 /app/templates/index.php:6912 +#: /app/templates/index.php:6944 msgid "Tag Name" msgstr "Schlagwortname" @@ -16521,8 +17264,8 @@ msgid "e.g., Business, Vacation, Groceries" msgstr "z. B. Geschäftlich, Urlaub, Lebensmittel" #: /app/templates/index.php:5069 /app/templates/index.php:5254 -#: /app/templates/index.php:6826 /app/templates/index.php:6915 -#: /app/templates/index.php:6947 +#: /app/templates/index.php:6827 /app/templates/index.php:6916 +#: /app/templates/index.php:6948 msgid "Color" msgstr "Farbe" @@ -16530,7 +17273,7 @@ msgstr "Farbe" msgid "Color (hex code)" msgstr "" -#: /app/templates/index.php:5080 /app/templates/index.php:6955 +#: /app/templates/index.php:5080 /app/templates/index.php:6956 msgid "" "Stop offering this tag when tagging new transactions. Transactions that " "already have it keep it." @@ -17127,10 +17870,10 @@ msgid "Save transaction" msgstr "Buchung speichern" #: /app/templates/index.php:5951 /app/templates/index.php:6148 -#: /app/templates/index.php:6381 /app/templates/index.php:6551 -#: /app/templates/index.php:6768 /app/templates/index.php:6787 -#: /app/templates/index.php:6863 /app/templates/index.php:7146 -#: /app/templates/index.php:7186 /app/templates/index.php:7212 +#: /app/templates/index.php:6382 /app/templates/index.php:6552 +#: /app/templates/index.php:6769 /app/templates/index.php:6788 +#: /app/templates/index.php:6864 /app/templates/index.php:7147 +#: /app/templates/index.php:7187 /app/templates/index.php:7213 msgid "Cancel and close dialog" msgstr "Abbrechen und Dialog schließen" @@ -17316,11 +18059,11 @@ msgstr "z.B. Netflix, Miete, Stromrechnung" msgid "Name of the vendor or recurring bill" msgstr "Name des Anbieters oder der wiederkehrenden Rechnung" -#: /app/templates/index.php:6175 /app/templates/index.php:6659 +#: /app/templates/index.php:6175 /app/templates/index.php:6660 msgid "Transaction description (optional)" msgstr "Transaktionsbeschreibung (optional)" -#: /app/templates/index.php:6176 /app/templates/index.php:6660 +#: /app/templates/index.php:6176 /app/templates/index.php:6661 msgid "Used as the description when transactions are auto-generated" msgstr "" "Wird als Beschreibung für automatisch erstellte Transaktionen verwendet" @@ -17329,10 +18072,6 @@ msgstr "" msgid "Expected bill amount" msgstr "Erwarteter Rechnungsbetrag" -#: /app/templates/index.php:6196 -msgid "Custom" -msgstr "Benutzerdefiniert" - #: /app/templates/index.php:6198 msgid "How often this bill is due" msgstr "Turnus der Rechnung" @@ -17345,11 +18084,7 @@ msgstr "Monate auswählen" msgid "Select which months this bill occurs" msgstr "Die Monate, in denen diese Rechnung anfällt" -#: /app/templates/index.php:6227 -msgid "Due Month" -msgstr "Fälligkeitsmonat" - -#: /app/templates/index.php:6229 /app/templates/index.php:6705 +#: /app/templates/index.php:6229 /app/templates/index.php:6706 msgid "Select month..." msgstr "Monat auswählen..." @@ -17381,7 +18116,7 @@ msgstr "Zahlung vom Konto" msgid "Account used to pay this bill (optional)" msgstr "Verwendetes Konto für diese Rechnung (optional)" -#: /app/templates/index.php:6280 /app/templates/index.php:6747 +#: /app/templates/index.php:6280 /app/templates/index.php:6748 msgid "Auto-detect Pattern" msgstr "Muster automatisch erkennen" @@ -17397,11 +18132,11 @@ msgstr "" "Importierte Transaktionen, die diesem Muster entsprechen (ähnlicher Betrag, " "nahe am Fälligkeitsdatum), markieren die Rechnung automatisch als bezahlt" -#: /app/templates/index.php:6287 /app/templates/index.php:6754 +#: /app/templates/index.php:6287 /app/templates/index.php:6755 msgid "Additional notes..." msgstr "Zusätzliche Notizen …" -#: /app/templates/index.php:6288 /app/templates/index.php:6755 +#: /app/templates/index.php:6288 /app/templates/index.php:6756 msgid "Any additional notes (optional)" msgstr "Weitere Notizen (optional)" @@ -17411,73 +18146,73 @@ msgstr "Weitere Notizen (optional)" msgid "Schedule" msgstr "Geplant" -#: /app/templates/index.php:6304 +#: /app/templates/index.php:6305 msgid "End Date" msgstr "Endtermin" -#: /app/templates/index.php:6306 +#: /app/templates/index.php:6307 msgid "Bill will automatically stop after this date (optional)" msgstr "Die Rechnung endet nach diesem Datum automatisch (optional)" -#: /app/templates/index.php:6310 +#: /app/templates/index.php:6311 msgid "Remaining Payments" msgstr "Restzahlungen" -#: /app/templates/index.php:6311 +#: /app/templates/index.php:6312 msgid "e.g., 10" msgstr "z.B. 10" -#: /app/templates/index.php:6312 +#: /app/templates/index.php:6313 msgid "Number of payments left before bill auto-deactivates (optional)" msgstr "" "Anzahl der verbleibenden Zahlungen, bevor die Rechnung automatisch " "deaktiviert wird (optional)" -#: /app/templates/index.php:6316 +#: /app/templates/index.php:6317 msgid "Reminder" msgstr "Erinnerung" -#: /app/templates/index.php:6318 +#: /app/templates/index.php:6319 msgid "No reminder" msgstr "Keine Erinnerung" -#: /app/templates/index.php:6319 +#: /app/templates/index.php:6320 msgid "On due date" msgstr "Zum Fälligkeitstermin" -#: /app/templates/index.php:6320 +#: /app/templates/index.php:6321 msgid "1 day before" msgstr "Einen Tag vorher" -#: /app/templates/index.php:6321 +#: /app/templates/index.php:6322 msgid "2 days before" msgstr "2 Tage vorher" -#: /app/templates/index.php:6322 +#: /app/templates/index.php:6323 msgid "3 days before" msgstr "3 Tage vorher" -#: /app/templates/index.php:6323 +#: /app/templates/index.php:6324 msgid "5 days before" msgstr "5 Tage vorher" -#: /app/templates/index.php:6324 +#: /app/templates/index.php:6325 msgid "1 week before" msgstr "Eine Woche vorher" -#: /app/templates/index.php:6325 +#: /app/templates/index.php:6326 msgid "2 weeks before" msgstr "2 Woche vorher" -#: /app/templates/index.php:6327 +#: /app/templates/index.php:6328 msgid "Receive a notification before bill is due" msgstr "Erhalten Sie eine Benachrichtigung, bevor die Rechnung fällig ist" -#: /app/templates/index.php:6333 +#: /app/templates/index.php:6334 msgid "Create future transaction for this bill" msgstr "Erstelle zukünftige Buchung für diese Rechnung" -#: /app/templates/index.php:6335 +#: /app/templates/index.php:6336 msgid "" "Keeps a scheduled transaction for the next due date so the upcoming payment " "shows in the transaction list and forecasts. Untick to never pre-create " @@ -17488,32 +18223,32 @@ msgstr "" "angezeigt wird. Deaktiviere diese Option, wenn für diese Rechnung keine " "Transaktionen im Voraus erstellt werden sollen." -#: /app/templates/index.php:6347 +#: /app/templates/index.php:6348 msgid "Auto-pay when due" msgstr "Automatische Zahlung bei Fälligkeit" -#: /app/templates/index.php:6349 +#: /app/templates/index.php:6350 msgid "" "Automatically mark this bill as paid when due date arrives (requires account)" msgstr "" "Diese Rechnung bei Fälligkeit automatisch als bezahlt markieren (Konto " "erforderlich)" -#: /app/templates/index.php:6355 /app/templates/index.php:6761 +#: /app/templates/index.php:6356 /app/templates/index.php:6762 msgid "Exclude from forecast (extraordinary)" msgstr "Von der Prognose ausschließen (außergewöhnlich)" -#: /app/templates/index.php:6357 +#: /app/templates/index.php:6358 msgid "Transactions generated by this bill are left out of forecast averages." msgstr "" "Durch diese Rechnung erstellte Transaktionen werden bei den " "Durchschnittswerten der Prognose nicht berücksichtigt." -#: /app/templates/index.php:6362 +#: /app/templates/index.php:6363 msgid "Auto-pay failed!" msgstr "Automatische Zahlung fehlgeschlagen!" -#: /app/templates/index.php:6362 +#: /app/templates/index.php:6363 msgid "" "Auto-pay has been disabled. Please check the bill details and re-enable if " "needed." @@ -17521,187 +18256,183 @@ msgstr "" "Automatische Zahlung wurde deaktiviert. Kontrolliere die Rechnungsdetails " "und aktiviere Sie wieder, falls gewollt." -#: /app/templates/index.php:6373 /app/templates/index.php:7133 +#: /app/templates/index.php:6374 /app/templates/index.php:7134 msgid "Add Split" msgstr "Aufteilung hinzufügen" -#: /app/templates/index.php:6380 +#: /app/templates/index.php:6381 msgid "Save bill" msgstr "Rechnung speichern" -#: /app/templates/index.php:6390 +#: /app/templates/index.php:6391 msgid "Add/Edit Rule" msgstr "Regel hinzufügen/bearbeiten" -#: /app/templates/index.php:6395 +#: /app/templates/index.php:6396 #, fuzzy #| msgid "Bulk edit form" msgid "Rule editor view" msgstr "Formular für Massenbearbeitung" -#: /app/templates/index.php:6396 +#: /app/templates/index.php:6397 msgid "Builder" msgstr "" -#: /app/templates/index.php:6405 +#: /app/templates/index.php:6406 msgid "Rule Name" msgstr "Regelname" -#: /app/templates/index.php:6406 +#: /app/templates/index.php:6407 msgid "e.g., Amazon Purchases, Grocery Stores" msgstr "z.B. Amazon Einkäufe, Supermärkte" -#: /app/templates/index.php:6407 +#: /app/templates/index.php:6408 msgid "A descriptive name for this rule" msgstr "Ein beschreibender Name für diese Regel" -#: /app/templates/index.php:6411 +#: /app/templates/index.php:6412 #, fuzzy #| msgid "+ Add Group" msgid "Group" msgstr "+ Gruppe hinzufügen" -#: /app/templates/index.php:6414 +#: /app/templates/index.php:6415 #, fuzzy #| msgid "Optional note" msgid "Optional" msgstr "optionaler Kommentar" -#: /app/templates/index.php:6418 +#: /app/templates/index.php:6419 msgid "Priority" msgstr "Priorität" -#: /app/templates/index.php:6427 +#: /app/templates/index.php:6428 msgid "Matching Criteria" msgstr "Übereinstimmungskriterien" -#: /app/templates/index.php:6428 +#: /app/templates/index.php:6429 msgid "Define when this rule should apply to a transaction" msgstr "Lege fest, wann diese Regel auf eine Buchung angewendet werden soll" -#: /app/templates/index.php:6433 +#: /app/templates/index.php:6434 msgid "Match Field" msgstr "Übereinstimmungsfeld" -#: /app/templates/index.php:6441 +#: /app/templates/index.php:6442 msgid "Which transaction field to match against" msgstr "Buchungsfeld das auf Übereinstimmung geprüft werden soll" -#: /app/templates/index.php:6447 +#: /app/templates/index.php:6448 msgid "Contains" msgstr "Enthält" -#: /app/templates/index.php:6448 +#: /app/templates/index.php:6449 msgid "Exact Match" msgstr "Exakte Übereinstimmung" -#: /app/templates/index.php:6449 +#: /app/templates/index.php:6450 msgid "Starts With" msgstr "Beginnt mit" -#: /app/templates/index.php:6450 +#: /app/templates/index.php:6451 msgid "Ends With" msgstr "Endet mit" -#: /app/templates/index.php:6451 +#: /app/templates/index.php:6452 msgid "Regex" msgstr "Regex (Regulärer Ausdruck)" -#: /app/templates/index.php:6453 +#: /app/templates/index.php:6454 msgid "How to match the pattern" msgstr "Wie das Muster erkannt werden soll" -#: /app/templates/index.php:6457 -msgid "Pattern" -msgstr "Muster" - -#: /app/templates/index.php:6458 +#: /app/templates/index.php:6459 msgid "e.g., AMAZON, grocery|supermarket" msgstr "z.B. AMAZON, lebensmittel|supermarkt" -#: /app/templates/index.php:6459 +#: /app/templates/index.php:6460 msgid "Text or pattern to match (case-insensitive)" msgstr "" "Zu suchender Text oder Muster (Groß-/Kleinschreibung wird nicht " "berücksichtigt)" -#: /app/templates/index.php:6472 +#: /app/templates/index.php:6473 msgid "What to do when a transaction matches these criteria" msgstr "" "Was geschehen soll, wenn eine Buchung mit diesen Kriterien übereinstimmt" -#: /app/templates/index.php:6484 +#: /app/templates/index.php:6485 msgid "Only active rules are applied" msgstr "Nur aktive Regeln werden angewendet" -#: /app/templates/index.php:6490 +#: /app/templates/index.php:6491 msgid "Apply during import" msgstr "Während Import anwenden" -#: /app/templates/index.php:6492 +#: /app/templates/index.php:6493 msgid "Auto-apply when importing transactions" msgstr "Automatisch die Regeln beim Importieren von Buchungen anwenden" -#: /app/templates/index.php:6501 +#: /app/templates/index.php:6502 #, fuzzy #| msgid "Rule Name" msgid "Rule JSON" msgstr "Regelname" -#: /app/templates/index.php:6503 +#: /app/templates/index.php:6504 msgid "" "The raw rule structure. Edit or paste JSON here — it is checked when you " "save. Copy it to move a rule between instances (category and account IDs are " "instance-specific and may need adjusting)." msgstr "" -#: /app/templates/index.php:6507 +#: /app/templates/index.php:6508 #, fuzzy #| msgid "JSON" msgid "Copy JSON" msgstr "JSON" -#: /app/templates/index.php:6513 +#: /app/templates/index.php:6514 msgid "matching transactions" msgstr "übereinstimmende Buchungen" -#: /app/templates/index.php:6513 +#: /app/templates/index.php:6514 msgid "showing first 50" msgstr "die ersten 50 werden gezeigt" -#: /app/templates/index.php:6534 /app/templates/index.php:6603 +#: /app/templates/index.php:6535 /app/templates/index.php:6604 msgid "Updated" msgstr "Aktualisiert" -#: /app/templates/index.php:6538 /app/templates/index.php:6607 +#: /app/templates/index.php:6539 /app/templates/index.php:6608 msgid "Skipped" msgstr "Übersprungen" -#: /app/templates/index.php:6542 /app/templates/index.php:6611 +#: /app/templates/index.php:6543 /app/templates/index.php:6612 msgid "Failed" msgstr "Fehlgeschlagen" -#: /app/templates/index.php:6548 +#: /app/templates/index.php:6549 msgid "Preview matching transactions" msgstr "Vorschau der übereinstimmenden Buchungen" -#: /app/templates/index.php:6549 +#: /app/templates/index.php:6550 msgid "Apply rule to uncategorized transactions now" msgstr "Regel jetzt auf nicht kategorisierte Buchungen anwenden" -#: /app/templates/index.php:6550 +#: /app/templates/index.php:6551 msgid "Save rule" msgstr "Regel speichern" -#: /app/templates/index.php:6560 +#: /app/templates/index.php:6561 msgid "Apply Rules to Transactions" msgstr "Regeln auf Buchungen anwenden" -#: /app/templates/index.php:6589 /app/templates/index.php:6633 +#: /app/templates/index.php:6590 /app/templates/index.php:6634 msgid "Only apply to uncategorized transactions" msgstr "Gilt nur für nicht kategorisierte Buchungen" -#: /app/templates/index.php:6591 +#: /app/templates/index.php:6592 msgid "" "When enabled, rules will only be applied to transactions that don't have a " "category assigned" @@ -17709,85 +18440,73 @@ msgstr "" "Wenn diese Option aktiviert ist, werden die Regeln nur auf Transaktionen " "angewendet, denen keine Kategorie zugewiesen ist" -#: /app/templates/index.php:6626 +#: /app/templates/index.php:6627 #, fuzzy #| msgid "Run Rule Now" msgid "Run Rule" msgstr "Regel jetzt anwenden" -#: /app/templates/index.php:6647 +#: /app/templates/index.php:6648 msgid "Add/Edit Recurring Income" msgstr "Wiederkehrende Einnahmen hinzufügen/bearbeiten" -#: /app/templates/index.php:6652 +#: /app/templates/index.php:6653 msgid "Income Name" msgstr "Name der Einnahme" -#: /app/templates/index.php:6653 +#: /app/templates/index.php:6654 msgid "e.g., Salary, Dividends, Rental Income" msgstr "z.B. Gehalt, Dividenden, Mieterträge" -#: /app/templates/index.php:6654 +#: /app/templates/index.php:6655 msgid "Name of the recurring income" msgstr "Bezeichnung der wiederkehrenden Einnahme" -#: /app/templates/index.php:6664 +#: /app/templates/index.php:6665 msgid "Expected Amount" msgstr "Erwarteter Betrag" -#: /app/templates/index.php:6666 +#: /app/templates/index.php:6667 msgid "Expected amount each period" msgstr "Erwarteter Betrag pro Periode" -#: /app/templates/index.php:6671 +#: /app/templates/index.php:6672 msgid "e.g., Employer Name, Company" msgstr "z.B. Name des Arbeitgebers, der Firma" -#: /app/templates/index.php:6672 +#: /app/templates/index.php:6673 msgid "Who pays this income (optional)" msgstr "Die Entität, von der diese Einnahme ausgezahlt wird (optional)" -#: /app/templates/index.php:6687 +#: /app/templates/index.php:6688 msgid "How often you receive this income" msgstr "Die Häufigkeit dieser Einnahme" -#: /app/templates/index.php:6697 -#, fuzzy -#| msgid "Invalid request data" -msgid "First payment date" -msgstr "Ungültige Anfragedaten" - -#: /app/templates/index.php:6699 -#, fuzzy -#| msgid "Bill will automatically stop after this date (optional)" -msgid "Payments repeat from this date (optional)" -msgstr "Die Rechnung endet nach diesem Datum automatisch (optional)" - -#: /app/templates/index.php:6703 +#: /app/templates/index.php:6704 msgid "Expected Month" msgstr "Erwarteter Monat" -#: /app/templates/index.php:6719 +#: /app/templates/index.php:6720 msgid "Month when yearly income is expected" msgstr "Monat, in dem das Jahreseinkommen erwartet wird" -#: /app/templates/index.php:6727 +#: /app/templates/index.php:6728 msgid "Categorize this income (optional)" msgstr "Diese Einnahmen kategorisieren (optional)" -#: /app/templates/index.php:6731 +#: /app/templates/index.php:6732 msgid "Receive To Account" msgstr "Verbuchen auf" -#: /app/templates/index.php:6735 +#: /app/templates/index.php:6736 msgid "Account where income is received (optional)" msgstr "Konto auf welches diese Einnahme gebucht wird (optional)" -#: /app/templates/index.php:6741 +#: /app/templates/index.php:6742 msgid "Auto-create transaction when due" msgstr "Transaktion bei Fälligkeit automatisch erstellen" -#: /app/templates/index.php:6743 +#: /app/templates/index.php:6744 msgid "" "Automatically create a transaction when the expected date arrives (requires " "account)" @@ -17795,68 +18514,68 @@ msgstr "" "Transaktion automatisch erstellen, sobald das erwartete Datum erreicht ist " "(erfordert ein Konto)" -#: /app/templates/index.php:6748 +#: /app/templates/index.php:6749 msgid "e.g., PAYROLL, DIVIDEND" msgstr "z.B. GEHALT, DIVIDENDE" -#: /app/templates/index.php:6749 +#: /app/templates/index.php:6750 msgid "Pattern to match in transaction descriptions for auto-linking" msgstr "Suchmuster in Buchungen zur automatischen Zuordnung" -#: /app/templates/index.php:6763 +#: /app/templates/index.php:6764 msgid "" "Transactions generated by this income are left out of forecast averages." msgstr "" "Durch diese Einnahme erstellte Transaktionen werden bei den " "Durchschnittswerten der Prognose nicht berücksichtigt." -#: /app/templates/index.php:6767 +#: /app/templates/index.php:6768 msgid "Save income" msgstr "Einnahme speichern" -#: /app/templates/index.php:6778 +#: /app/templates/index.php:6779 #, fuzzy #| msgid "Go to Categories" msgid "Import Categories" msgstr "Gehe zu Kategorien" -#: /app/templates/index.php:6783 +#: /app/templates/index.php:6784 msgid "" "Categories that already exist are left unchanged; anything missing is " "created underneath them." msgstr "" -#: /app/templates/index.php:6794 +#: /app/templates/index.php:6795 msgid "Add/Edit Category" msgstr "Kategorie hinzufügen/bearbeiten" -#: /app/templates/index.php:6805 +#: /app/templates/index.php:6806 msgid "Category Name" msgstr "Name der Kategorie" -#: /app/templates/index.php:6818 +#: /app/templates/index.php:6819 msgid "Parent Category" msgstr "Übergeordnete Kategorie" -#: /app/templates/index.php:6822 +#: /app/templates/index.php:6823 msgid "Make this a subcategory (optional)" msgstr "Als Unterkategorie anlegen (optional)" -#: /app/templates/index.php:6828 +#: /app/templates/index.php:6829 msgid "Color for charts and display" msgstr "Farbe für Diagramme und Anzeige" -#: /app/templates/index.php:6836 +#: /app/templates/index.php:6837 #, fuzzy #| msgid "Optional note" msgid "Options" msgstr "optionaler Kommentar" -#: /app/templates/index.php:6840 +#: /app/templates/index.php:6841 msgid "Exclude from reports" msgstr "Von Berichten ausschließen" -#: /app/templates/index.php:6842 +#: /app/templates/index.php:6843 msgid "" "Transactions in this category will not count toward budgets, spending " "reports, or dashboard totals." @@ -17864,11 +18583,11 @@ msgstr "" "Transaktionen in dieser Kategorie werden bei Budgets, Ausgabenberichten und " "Dashboard-Summen nicht berücksichtigt." -#: /app/templates/index.php:6848 +#: /app/templates/index.php:6849 msgid "Exclude from budgeting" msgstr "Von der Budgetierung ausschließen" -#: /app/templates/index.php:6850 +#: /app/templates/index.php:6851 msgid "" "For spending you track but never budget against. The category keeps counting " "in reports, the dashboard and every total — it just drops out of the Budget " @@ -17880,49 +18599,49 @@ msgstr "" "und im Budgetbericht nicht mehr angezeigt. Dies gilt auch für ihre " "Unterkategorien." -#: /app/templates/index.php:6862 +#: /app/templates/index.php:6863 msgid "Save category" msgstr "Kategorie speichern" -#: /app/templates/index.php:6880 /app/templates/index.php:6981 +#: /app/templates/index.php:6881 /app/templates/index.php:6982 msgid "Tag Set Name" msgstr "Schlagwortgruppenname" -#: /app/templates/index.php:6881 /app/templates/index.php:6982 +#: /app/templates/index.php:6882 /app/templates/index.php:6983 msgid "e.g., Activity, Equipment, Location" msgstr "z.B. Aktivität, Ausrüstung, Ort" -#: /app/templates/index.php:6885 /app/templates/index.php:6986 +#: /app/templates/index.php:6886 /app/templates/index.php:6987 msgid "Optional description" msgstr "Optionale Beschreibung" -#: /app/templates/index.php:6912 /app/templates/index.php:6944 +#: /app/templates/index.php:6913 /app/templates/index.php:6945 msgid "e.g., Fishing, Rods, Online" msgstr "z.B. Angeln, Angelruten, Online" -#: /app/templates/index.php:6962 /app/templates/index.php:6993 +#: /app/templates/index.php:6963 /app/templates/index.php:6994 msgid "Save Changes" msgstr "Änderungen speichern" -#: /app/templates/index.php:7003 +#: /app/templates/index.php:7004 msgid "Find Transfer Matches" msgstr "Finde übereinstimmende Umbuchungen" -#: /app/templates/index.php:7005 +#: /app/templates/index.php:7006 msgid "Source Transaction" msgstr "Ursprüngliche Buchung" -#: /app/templates/index.php:7016 +#: /app/templates/index.php:7017 msgid "Searching for matches..." msgstr "Suche nach Übereinstimmungen..." -#: /app/templates/index.php:7019 +#: /app/templates/index.php:7020 msgid "No matching transactions found within the date range." msgstr "" "Innerhalb des angegebenen Zeitraums wurden keine passenden Buchungen " "gefunden." -#: /app/templates/index.php:7020 +#: /app/templates/index.php:7021 msgid "" "Matches must have the same amount, opposite type (income/expense), and be " "within 3 days." @@ -17930,62 +18649,62 @@ msgstr "" "Die Einträge müssen denselben Betrag, den entgegengesetzten Typ (Einnahme/" "Ausgabe) aufweisen und innerhalb von drei Tagen liegen." -#: /app/templates/index.php:7025 +#: /app/templates/index.php:7026 msgid "No match? Create the other side" msgstr "" -#: /app/templates/index.php:7026 +#: /app/templates/index.php:7027 msgid "" "Creates the opposite transaction in the account you pick and links the pair " "as a transfer. Useful when the other account has nothing to import (e.g. a " "loan account)." msgstr "" -#: /app/templates/index.php:7028 +#: /app/templates/index.php:7029 #, fuzzy #| msgid "%n account" #| msgid_plural "%n accounts" msgid "Counterpart account" msgstr "%n konto" -#: /app/templates/index.php:7029 +#: /app/templates/index.php:7030 #, fuzzy #| msgid "Created To" msgid "Create and link" msgstr "Erstellt bis" -#: /app/templates/index.php:7033 /app/templates/index.php:7090 +#: /app/templates/index.php:7034 /app/templates/index.php:7091 msgid "Close dialog" msgstr "Dialog schließen" -#: /app/templates/index.php:7041 +#: /app/templates/index.php:7042 msgid "Match Transfers" msgstr "Umbuchungen erkennen und verknüpfen" -#: /app/templates/index.php:7058 +#: /app/templates/index.php:7059 msgid "Matched Pairs" msgstr "Verknüpfte Buchungspaare" -#: /app/templates/index.php:7062 +#: /app/templates/index.php:7063 msgid "Need Review" msgstr "Überprüfung notwendig" -#: /app/templates/index.php:7068 +#: /app/templates/index.php:7069 msgid "Auto-Matched Pairs" msgstr "Automatisch verknüpfte Buchungspaare" -#: /app/templates/index.php:7069 +#: /app/templates/index.php:7070 msgid "" "These transactions were automatically linked. Click Undo to unlink a pair." msgstr "" "Diese Buchungen wurden automatisch miteinander verknüpft. Klicke auf " "„Rückgängig“, um die Verknüpfung eines Paares aufzuheben." -#: /app/templates/index.php:7075 +#: /app/templates/index.php:7076 msgid "Needs Manual Review" msgstr "Manuelle Überprüfung notwendig" -#: /app/templates/index.php:7076 +#: /app/templates/index.php:7077 msgid "" "These transactions have multiple potential matches. Select the correct match " "for each." @@ -17993,7 +18712,7 @@ msgstr "" "Für diese Buchungen gibt es mehrere mögliche Übereinstimmungen. Wähle für " "jede Buchung die richtige Übereinstimmung aus." -#: /app/templates/index.php:7083 +#: /app/templates/index.php:7084 msgid "" "Matches require: same amount, same currency, opposite type (income/expense), " "different accounts, within your configured date window." @@ -18002,391 +18721,391 @@ msgstr "" "entgegengesetzten Typ (Einnahme/Ausgabe), verschiedene Konten und müssen " "innerhalb Ihres konfigurierten Zeitraums liegen." -#: /app/templates/index.php:7088 +#: /app/templates/index.php:7089 msgid "Scan for Matches" msgstr "Nach Übereinstimmungen suchen" -#: /app/templates/index.php:7107 +#: /app/templates/index.php:7108 msgid "Amount:" msgstr "Betrag:" -#: /app/templates/index.php:7138 +#: /app/templates/index.php:7139 msgid "Remaining to allocate:" msgstr "Noch zuzuweisen:" -#: /app/templates/index.php:7143 +#: /app/templates/index.php:7144 msgid "Unsplit Transaction" msgstr "Buchungsaufteilung aufheben" -#: /app/templates/index.php:7145 +#: /app/templates/index.php:7146 msgid "Save Splits" msgstr "Aufteilung speichern" -#: /app/templates/index.php:7155 +#: /app/templates/index.php:7156 msgid "Bulk Edit Transactions" msgstr "Stapelbearbeitung von Buchungen" -#: /app/templates/index.php:7156 +#: /app/templates/index.php:7157 msgid "Edit fields for" msgstr "Felder von" -#: /app/templates/index.php:7156 +#: /app/templates/index.php:7157 msgid "selected transactions. Leave fields empty to keep existing values." msgstr "" "ausgewählte Buchungen werden geändert. Lass die Felder leer, um die " "bestehenden Werte beizubehalten." -#: /app/templates/index.php:7157 +#: /app/templates/index.php:7158 msgid "Bulk edit form" msgstr "Formular für Massenbearbeitung" -#: /app/templates/index.php:7163 +#: /app/templates/index.php:7164 msgid "Update category for all selected transactions (optional)" msgstr "Kategorie für alle ausgewählten Buchungen aktualisieren (optional)" -#: /app/templates/index.php:7169 +#: /app/templates/index.php:7170 msgid "Update vendor name for all selected transactions (optional)" msgstr "Empfänger für alle ausgewählten Buchungen aktualisieren (optional)" -#: /app/templates/index.php:7175 +#: /app/templates/index.php:7176 msgid "Update reference number for all selected transactions (optional)" msgstr "" "Referenznummer für alle ausgewählten Buchungen aktualisieren (optional)" -#: /app/templates/index.php:7181 +#: /app/templates/index.php:7182 msgid "Update notes for all selected transactions (optional)" msgstr "Notizen für alle ausgewählten Buchungen aktualisieren (optional)" -#: /app/templates/index.php:7185 +#: /app/templates/index.php:7186 msgid "Update selected transactions" msgstr "Ausgewählte Buchungen aktualisieren" -#: /app/templates/index.php:7185 +#: /app/templates/index.php:7186 msgid "Update Transactions" msgstr "Buchungen aktualisieren" -#: /app/templates/index.php:7195 +#: /app/templates/index.php:7196 #, fuzzy #| msgid "Edit Tag" msgid "Bulk Edit Tags" msgstr "Bearbeiten des Schlagworts" -#: /app/templates/index.php:7197 +#: /app/templates/index.php:7198 #, fuzzy #| msgid "Bulk edit form" msgid "Bulk tag form" msgstr "Formular für Massenbearbeitung" -#: /app/templates/index.php:7199 +#: /app/templates/index.php:7200 #, fuzzy #| msgid "Add new tag" msgid "Add these tags" msgstr "Neues Schlagwort hinzufügen" -#: /app/templates/index.php:7204 +#: /app/templates/index.php:7205 #, fuzzy #| msgid "Remove this group" msgid "Remove these tags" msgstr "Diese Gruppe entfernen" -#: /app/templates/index.php:7211 +#: /app/templates/index.php:7212 #, fuzzy #| msgid "Update selected transactions" msgid "Apply tag changes to selected transactions" msgstr "Ausgewählte Buchungen aktualisieren" -#: /app/templates/index.php:7211 +#: /app/templates/index.php:7212 #, fuzzy #| msgid "Apply Rules" msgid "Apply Tags" msgstr "Regeln anwenden" -#: /app/templates/index.php:7222 +#: /app/templates/index.php:7223 msgid "Contact form" msgstr "Kontaktformular" -#: /app/templates/index.php:7230 +#: /app/templates/index.php:7231 msgid "Nextcloud User" msgstr "Nextcloud Benutzer" -#: /app/templates/index.php:7232 +#: /app/templates/index.php:7233 msgid "" "Type a name, user ID or email to link a Nextcloud user, or leave it empty " "for someone without an account" msgstr "" -#: /app/templates/index.php:7237 +#: /app/templates/index.php:7238 msgid "e.g., John, Roommate, Partner" msgstr "z.B. Max, Mitbewohner, Partner" -#: /app/templates/index.php:7241 +#: /app/templates/index.php:7242 msgid "Email" msgstr "E-Mail" -#: /app/templates/index.php:7242 +#: /app/templates/index.php:7243 msgid "Optional email address" msgstr "Die E-Mail-Adresse des Kontaktes (optional)" -#: /app/templates/index.php:7259 +#: /app/templates/index.php:7260 msgid "Share Expense" msgstr "Ausgabe teilen" -#: /app/templates/index.php:7260 +#: /app/templates/index.php:7261 msgid "Share expense form" msgstr "Formular zur Aufteilung der Ausgaben" -#: /app/templates/index.php:7270 +#: /app/templates/index.php:7271 msgid "Split Method" msgstr "Aufteilungsmethode" -#: /app/templates/index.php:7272 +#: /app/templates/index.php:7273 #, fuzzy #| msgid "equals" msgid "Equally" msgstr "gleich" -#: /app/templates/index.php:7273 +#: /app/templates/index.php:7274 msgid "By percentage" msgstr "" -#: /app/templates/index.php:7274 +#: /app/templates/index.php:7275 #, fuzzy #| msgid "Amount" msgid "By amount" msgstr "Betrag" -#: /app/templates/index.php:7279 +#: /app/templates/index.php:7280 #, fuzzy #| msgid "between" msgid "Split between" msgstr "zwischen" -#: /app/templates/index.php:7287 +#: /app/templates/index.php:7288 msgid "Optional notes about this split" msgstr "Anmerkungen über diese Ausgabenteilung (optional)" -#: /app/templates/index.php:7291 +#: /app/templates/index.php:7292 #, fuzzy #| msgid "Save Splits" msgid "Save Split" msgstr "Aufteilung speichern" -#: /app/templates/index.php:7301 +#: /app/templates/index.php:7302 msgid "Settle Expenses" msgstr "Geteilte Ausgaben begleichen" -#: /app/templates/index.php:7302 +#: /app/templates/index.php:7303 msgid "Settlement form" msgstr "Formular zum Begleichen der Ausgaben" -#: /app/templates/index.php:7311 +#: /app/templates/index.php:7312 msgid "Select expenses to settle" msgstr "Ausgaben zum Begleichen auswählen" -#: /app/templates/index.php:7333 /app/templates/quick-add.php:66 +#: /app/templates/index.php:7334 /app/templates/quick-add.php:66 msgid "Optional notes" msgstr "Optionale Anmerkungen" -#: /app/templates/index.php:7337 +#: /app/templates/index.php:7338 msgid "Settle Selected" msgstr "Ausgewählte begleichen" -#: /app/templates/index.php:7347 +#: /app/templates/index.php:7348 msgid "Contact Details" msgstr "Kontaktdetails" -#: /app/templates/index.php:7354 +#: /app/templates/index.php:7355 msgid "Balance:" msgstr "Saldo:" -#: /app/templates/index.php:7360 +#: /app/templates/index.php:7361 msgid "Settle All" msgstr "Alle begleichen" -#: /app/templates/index.php:7361 +#: /app/templates/index.php:7362 msgid "Record Payment" msgstr "Zahlung aufnehmen" -#: /app/templates/index.php:7366 +#: /app/templates/index.php:7367 msgid "Settlement History" msgstr "Abrechnungshistorie" -#: /app/templates/index.php:7392 +#: /app/templates/index.php:7393 msgid "Confirm Factory Reset" msgstr "Bestätigung des Zurücksetzens auf Werkseinstellungen" -#: /app/templates/index.php:7396 +#: /app/templates/index.php:7397 msgid "WARNING: This action cannot be undone!" msgstr "ACHTUNG: Dieser Vorgang kann nicht rückgängig gemacht werden!" -#: /app/templates/index.php:7397 +#: /app/templates/index.php:7398 msgid "A factory reset will permanently delete ALL of your data including:" msgstr "" "Durch das Zurücksetzen auf die Werkseinstellungen werden ALLE Ihre Daten " "dauerhaft gelöscht, darunter:" -#: /app/templates/index.php:7399 +#: /app/templates/index.php:7400 msgid "All accounts and their balances" msgstr "Alle Konten und deren Salden" -#: /app/templates/index.php:7400 +#: /app/templates/index.php:7401 msgid "All transactions and transaction history" msgstr "Alle Buchungen und die gesamte Buchungshistorie" -#: /app/templates/index.php:7401 +#: /app/templates/index.php:7402 msgid "All bills and recurring income" msgstr "Alle Rechnungen und wiederkehrenden Einnahmen" -#: /app/templates/index.php:7402 +#: /app/templates/index.php:7403 msgid "All categories and budget settings" msgstr "Alle Kategorien und Budgeteinstellungen" -#: /app/templates/index.php:7403 +#: /app/templates/index.php:7404 msgid "All savings goals and pension accounts" msgstr "Alle Sparziele und Renten" -#: /app/templates/index.php:7404 +#: /app/templates/index.php:7405 msgid "All import rules and settings" msgstr "Alle Import-Regeln und Einstellungen" -#: /app/templates/index.php:7405 +#: /app/templates/index.php:7406 msgid "All shared expenses and contacts" msgstr "Alle geteilten Ausgaben und Kontakte" -#: /app/templates/index.php:7407 +#: /app/templates/index.php:7408 msgid "Only audit logs will be preserved for compliance purposes." msgstr "" "Nur Prüfprotokolle (Audit-Logs) werden aus Compliance-Gründen aufbewahrt." -#: /app/templates/index.php:7408 +#: /app/templates/index.php:7409 msgid "You will need to set up everything from scratch after this operation." msgstr "Nach diesem Vorgang müssen Sie alles von Grund auf neu einrichten." -#: /app/templates/index.php:7413 +#: /app/templates/index.php:7414 msgid "Type DELETE to confirm:" msgstr "Geben Sie „ DELETE“ zur Bestätigung ein:" -#: /app/templates/index.php:7418 +#: /app/templates/index.php:7419 msgid "Type DELETE to confirm" msgstr "Tippe „DELETE“, um diesen Vorgang zu bestätigen" -#: /app/templates/index.php:7421 +#: /app/templates/index.php:7422 msgid "You must type DELETE (all caps) exactly to proceed" msgstr "Geben Sie „DELETE“ (in Großbuchstaben) genau so ein, um fortzufahren" -#: /app/templates/index.php:7450 /app/templates/index.php:7454 +#: /app/templates/index.php:7451 /app/templates/index.php:7455 #, fuzzy #| msgid "+ Add Condition" msgid "Add Bank Connection" msgstr "+ Bedinung hinzufügen" -#: /app/templates/index.php:7459 +#: /app/templates/index.php:7460 #, fuzzy #| msgid "Select a contact..." msgid "Select a provider..." msgstr "Kontakt auswählen..." -#: /app/templates/index.php:7460 +#: /app/templates/index.php:7461 msgid "GoCardless (UK/Europe)" msgstr "" -#: /app/templates/index.php:7461 +#: /app/templates/index.php:7462 msgid "SimpleFIN Bridge (US)" msgstr "" -#: /app/templates/index.php:7466 +#: /app/templates/index.php:7467 #, fuzzy #| msgid "Pension Name" msgid "Connection Name" msgstr "Rentenname" -#: /app/templates/index.php:7467 +#: /app/templates/index.php:7468 #, fuzzy #| msgid "e.g., Monthly Savings" msgid "e.g. My Bank" msgstr "z.B. Monatliche Ersparnisse" -#: /app/templates/index.php:7473 +#: /app/templates/index.php:7474 msgid "Setup Token" msgstr "" -#: /app/templates/index.php:7474 +#: /app/templates/index.php:7475 msgid "Paste your SimpleFIN setup token" msgstr "" -#: /app/templates/index.php:7475 +#: /app/templates/index.php:7476 msgid "Get a token from beta-bridge.simplefin.org" msgstr "" -#: /app/templates/index.php:7482 +#: /app/templates/index.php:7483 msgid "Secret ID" msgstr "" -#: /app/templates/index.php:7483 +#: /app/templates/index.php:7484 msgid "Your GoCardless Secret ID" msgstr "" -#: /app/templates/index.php:7486 +#: /app/templates/index.php:7487 msgid "Secret Key" msgstr "" -#: /app/templates/index.php:7487 +#: /app/templates/index.php:7488 msgid "Your GoCardless Secret Key" msgstr "" -#: /app/templates/index.php:7489 +#: /app/templates/index.php:7490 msgid "Get API keys from bankaccountdata.gocardless.com" msgstr "" -#: /app/templates/index.php:7502 +#: /app/templates/index.php:7503 #, fuzzy #| msgid "Select account" msgid "Select Your Bank" msgstr "Konto auswählen" -#: /app/templates/index.php:7505 +#: /app/templates/index.php:7506 #, fuzzy #| msgid "Amount" msgid "Country" msgstr "Betrag" -#: /app/templates/index.php:7510 +#: /app/templates/index.php:7511 #, fuzzy #| msgid "Search categories..." msgid "Search banks..." msgstr "Kategorien durchsuchen …" -#: /app/templates/index.php:7510 +#: /app/templates/index.php:7511 msgid "Search banks" msgstr "Banken durchsuchen" -#: /app/templates/index.php:7514 +#: /app/templates/index.php:7515 #, fuzzy #| msgid "Loading..." msgid "Loading banks..." msgstr "Lädt..." -#: /app/templates/index.php:7523 +#: /app/templates/index.php:7524 msgid "Back" msgstr "" -#: /app/templates/index.php:7529 +#: /app/templates/index.php:7530 msgid "Authorize with Your Bank" msgstr "" -#: /app/templates/index.php:7532 +#: /app/templates/index.php:7533 msgid "A new window has been opened for you to authorize access at your bank." msgstr "" -#: /app/templates/index.php:7533 +#: /app/templates/index.php:7534 msgid "Once you have completed the authorization, click the button below." msgstr "" -#: /app/templates/index.php:7535 +#: /app/templates/index.php:7536 msgid "If the window did not open, " msgstr "" -#: /app/templates/index.php:7536 +#: /app/templates/index.php:7537 msgid "click here to authorize" msgstr "" @@ -18410,6 +19129,47 @@ msgstr "Buchung speichern" msgid "Transaction saved!" msgstr "Transaktion gespeichert!" +#~ msgid "" +#~ "Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " +#~ "and one category is spending unusually." +#~ msgid_plural "" +#~ "Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " +#~ "and {anomalies} categories are spending unusually." +#~ msgstr[0] "" +#~ "Einnahme {income}, Ausgabe {expenses} ({net} netto). {bills} Rechnung ist " +#~ "demnächst fällig und in einer Kategorie sind die Ausgaben ungewöhnlich " +#~ "hoch." +#~ msgstr[1] "" +#~ "Einnahmen {income}, Ausgaben {expenses} ({net} netto). {bills} Rechnungen " +#~ "sind demnächst fällig und in einer Kategorie sind die Ausgaben " +#~ "ungewöhnlich hoch." + +#, fuzzy +#~| msgid "Duplicate" +#~ msgid "duplicate of" +#~ msgstr "Duplikat" + +#, fuzzy +#~| msgid "Delete this tag set? All tags in this set will be removed." +#~ msgid "" +#~ "Delete this entry? If it is linked to a bank transaction, that " +#~ "transaction will be removed too." +#~ msgstr "" +#~ "Diese Schlagwortgruppe löschen? Alle enthaltenen Schlagwörter werden " +#~ "gelöscht." + +#~ msgid "Only the goal owner can delete it" +#~ msgstr "Nur der Eigentümer des Ziels kann das löschen" + +#, fuzzy +#~| msgid "Only the goal owner can delete it" +#~ msgid "Only the owner can delete this project" +#~ msgstr "Nur der Eigentümer des Ziels kann das löschen" + +#~ msgid "Condition at {path} has invalid regex pattern: {error}" +#~ msgstr "" +#~ "Für die Bedingung unter {path} ist das Regex-Muster ungültig: {error}" + #~ msgid "Failed to rollback import" #~ msgstr "Import konnte nicht rückgängig gemacht werden" @@ -19012,9 +19772,6 @@ msgstr "Transaktion gespeichert!" #~ msgid "Finish Reconciliation" #~ msgstr "Abstimmung abschließen" -#~ msgid "No account selected for adjustment" -#~ msgstr "Kein Konto für die Korrekturbuchung ausgewählt" - #~ msgid "Lock App" #~ msgstr "App sperren" diff --git a/budget/translationfiles/es/budget.po b/budget/translationfiles/es/budget.po index 3c1a79b8c..bc37fcba4 100644 --- a/budget/translationfiles/es/budget.po +++ b/budget/translationfiles/es/budget.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Nextcloud Budget\n" "Report-Msgid-Bugs-To: translations\\@example.com\n" -"POT-Creation-Date: 2026-09-23 22:02+0000\n" -"PO-Revision-Date: 2026-09-17 01:40+0000\n" -"Last-Translator: Anonymous \n" +"POT-Creation-Date: 2026-10-03 01:04+0000\n" +"PO-Revision-Date: 2026-09-26 12:51+0000\n" +"Last-Translator: marcosab1991 \n" "Language-Team: Spanish \n" "Language: es\n" @@ -19,30 +19,33 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2026.10.dev0\n" -#: /app/lib/Controller/AccountController.php:82 -#: /app/lib/Controller/ApiV1AccountController.php:56 +#: /app/lib/Controller/AccountController.php:80 +#: /app/lib/Controller/ApiV1AccountController.php:57 +#, fuzzy msgid "Failed to retrieve accounts" -msgstr "" +msgstr "Error al obtener las cuentas" -#: /app/lib/Controller/AccountController.php:92 -#: /app/lib/Controller/AccountController.php:659 -#: /app/lib/Controller/ApiV1TransactionController.php:380 +#: /app/lib/Controller/AccountController.php:90 +#: /app/lib/Controller/AccountController.php:657 +#: /app/lib/Controller/ApiV1TransactionController.php:458 +#, fuzzy msgid "Account not found" -msgstr "" - -#: /app/lib/Controller/AccountController.php:105 -#: /app/lib/Controller/AccountController.php:640 -#: /app/lib/Controller/AccountController.php:680 -#: /app/lib/Controller/AccountController.php:752 -#: /app/lib/Controller/AccountController.php:769 -#: /app/lib/Controller/AccountController.php:821 -#: /app/lib/Controller/AccountController.php:835 -#: /app/lib/Controller/AccountController.php:899 +msgstr "Cuenta no encontrada" + +#: /app/lib/Controller/AccountController.php:103 +#: /app/lib/Controller/AccountController.php:638 +#: /app/lib/Controller/AccountController.php:678 +#: /app/lib/Controller/AccountController.php:750 +#: /app/lib/Controller/AccountController.php:767 +#: /app/lib/Controller/AccountController.php:780 +#: /app/lib/Controller/AccountController.php:832 +#: /app/lib/Controller/AccountController.php:846 +#: /app/lib/Controller/AccountController.php:910 #: /app/lib/Service/Export/TransactionCsvExporter.php:32 #: /app/lib/Service/Report/ReportExporter.php:255 #: /app/lib/Service/Report/ReportExporter.php:468 -#: /app/src/modules/dashboard/DashboardModule.js:5109 -#: /app/src/modules/dashboard/DashboardModule.js:5110 +#: /app/src/modules/dashboard/DashboardModule.js:5341 +#: /app/src/modules/dashboard/DashboardModule.js:5342 #: /app/src/modules/rules/components/CriteriaBuilder.js:195 #: /app/templates/index.php:508 /app/templates/index.php:524 #: /app/templates/index.php:593 /app/templates/index.php:615 @@ -53,153 +56,168 @@ msgstr "" #: /app/templates/index.php:2452 /app/templates/index.php:2595 #: /app/templates/index.php:3215 /app/templates/index.php:3323 #: /app/templates/index.php:3615 /app/templates/index.php:5831 -#: /app/templates/index.php:6568 /app/templates/quick-add.php:22 +#: /app/templates/index.php:6569 /app/templates/quick-add.php:22 +#, fuzzy msgid "Account" -msgstr "" +msgstr "Cuenta" -#: /app/lib/Controller/AccountController.php:119 +#: /app/lib/Controller/AccountController.php:117 +#, fuzzy msgid "Invalid JSON data or empty request" -msgstr "" +msgstr "Datos JSON no válidos o solicitud vacía" -#: /app/lib/Controller/AccountController.php:131 +#: /app/lib/Controller/AccountController.php:129 +#, fuzzy msgid "Account type is required and cannot be empty" -msgstr "" +msgstr "El tipo de cuenta es obligatorio y no puede estar vacío" -#: /app/lib/Controller/AccountController.php:137 -#: /app/lib/Controller/AccountController.php:314 -#, php-format +#: /app/lib/Controller/AccountController.php:135 +#: /app/lib/Controller/AccountController.php:312 +#, fuzzy, php-format msgid "Invalid account type: %1$s" -msgstr "" +msgstr "Tipo de cuenta no válido: %1$s" -#: /app/lib/Controller/AccountController.php:144 -#: /app/lib/Controller/AccountController.php:323 -#, php-format +#: /app/lib/Controller/AccountController.php:142 +#: /app/lib/Controller/AccountController.php:321 +#, fuzzy, php-format msgid "Invalid currency: %1$s" -msgstr "" +msgstr "Moneda no válida: %1$s" -#: /app/lib/Controller/AccountController.php:150 +#: /app/lib/Controller/AccountController.php:148 #: /app/src/modules/accounts/AccountsModule.js:27 /app/templates/index.php:1107 #: /app/templates/index.php:6020 +#, fuzzy msgid "Institution" -msgstr "" +msgstr "Entidad" -#: /app/lib/Controller/AccountController.php:159 +#: /app/lib/Controller/AccountController.php:157 +#, fuzzy msgid "Account holder name" -msgstr "" +msgstr "Nombre del titular de la cuenta" -#: /app/lib/Controller/AccountController.php:202 -#: /app/lib/Controller/AccountController.php:441 +#: /app/lib/Controller/AccountController.php:200 +#: /app/lib/Controller/AccountController.php:439 msgid "Statement day must be between 1 and 31" msgstr "" -#: /app/lib/Controller/AccountController.php:219 -#: /app/lib/Controller/AccountController.php:352 -#, php-format +#: /app/lib/Controller/AccountController.php:217 +#: /app/lib/Controller/AccountController.php:350 +#, fuzzy, php-format msgid "Invalid routing number: %1$s" -msgstr "" +msgstr "Número de ruta no válido: %1$s" -#: /app/lib/Controller/AccountController.php:227 -#: /app/lib/Controller/AccountController.php:365 -#, php-format +#: /app/lib/Controller/AccountController.php:225 +#: /app/lib/Controller/AccountController.php:363 +#, fuzzy, php-format msgid "Invalid sort code: %1$s" -msgstr "" +msgstr "Código de clasificación no válido: %1$s" -#: /app/lib/Controller/AccountController.php:235 -#: /app/lib/Controller/AccountController.php:378 -#, php-format +#: /app/lib/Controller/AccountController.php:233 +#: /app/lib/Controller/AccountController.php:376 +#, fuzzy, php-format msgid "Invalid IBAN: %1$s" -msgstr "" +msgstr "IBAN no válido: %1$s" -#: /app/lib/Controller/AccountController.php:243 -#: /app/lib/Controller/AccountController.php:391 -#, php-format +#: /app/lib/Controller/AccountController.php:241 +#: /app/lib/Controller/AccountController.php:389 +#, fuzzy, php-format msgid "Invalid SWIFT/BIC: %1$s" -msgstr "" +msgstr "SWIFT/BIC no válido: %1$s" -#: /app/lib/Controller/AccountController.php:280 +#: /app/lib/Controller/AccountController.php:278 +#, fuzzy msgid "Failed to create account" -msgstr "" +msgstr "Error al crear la cuenta" -#: /app/lib/Controller/AccountController.php:296 -#: /app/lib/Controller/BillController.php:1045 -#: /app/lib/Controller/BillController.php:1063 -#: /app/lib/Controller/RecurringIncomeController.php:477 +#: /app/lib/Controller/AccountController.php:294 +#: /app/lib/Controller/BillController.php:1106 +#: /app/lib/Controller/BillController.php:1124 +#: /app/lib/Controller/BillController.php:1130 +#: /app/lib/Controller/RecurringIncomeController.php:513 +#: /app/lib/Controller/RecurringIncomeController.php:519 +#, fuzzy msgid "Invalid request data" -msgstr "" +msgstr "Datos de solicitud no válidos" -#: /app/lib/Controller/AccountController.php:483 -#: /app/lib/Controller/BillController.php:728 -#: /app/lib/Controller/CategoryController.php:319 -#: /app/lib/Controller/ImportRuleController.php:332 +#: /app/lib/Controller/AccountController.php:481 +#: /app/lib/Controller/BillController.php:758 +#: /app/lib/Controller/CategoryController.php:353 +#: /app/lib/Controller/CategoryController.php:449 +#: /app/lib/Controller/ImportRuleController.php:340 #: /app/lib/Controller/ImportTemplateController.php:152 #: /app/lib/Controller/TagSetController.php:186 #: /app/lib/Controller/TagSetController.php:308 #: /app/lib/Controller/TagSetController.php:412 -#: /app/lib/Controller/TransactionController.php:486 +#: /app/lib/Controller/TransactionController.php:489 +#, fuzzy msgid "No valid fields to update" -msgstr "" +msgstr "No hay campos válidos para actualizar" -#: /app/lib/Controller/AccountController.php:515 +#: /app/lib/Controller/AccountController.php:513 +#, fuzzy msgid "Failed to update account" -msgstr "" +msgstr "Error al actualizar la cuenta" -#: /app/lib/Controller/AccountController.php:534 +#: /app/lib/Controller/AccountController.php:532 msgid "No account IDs provided" msgstr "" -#: /app/lib/Controller/AccountController.php:569 +#: /app/lib/Controller/AccountController.php:567 #: /app/src/modules/accounts/AccountsModule.js:699 msgid "Failed to delete accounts" msgstr "" -#: /app/lib/Controller/AccountController.php:580 +#: /app/lib/Controller/AccountController.php:578 msgid "Only the account owner can delete an account" msgstr "" -#: /app/lib/Controller/AccountController.php:642 -#: /app/src/modules/accounts/AccountsModule.js:2985 +#: /app/lib/Controller/AccountController.php:640 +#: /app/src/modules/accounts/AccountsModule.js:2991 msgid "Failed to delete account" msgstr "" -#: /app/lib/Controller/AccountController.php:666 +#: /app/lib/Controller/AccountController.php:664 +#, fuzzy msgid "This account has no sensitive banking data to reveal" -msgstr "" +msgstr "Esta cuenta no tiene datos bancarios sensibles que mostrar" -#: /app/lib/Controller/AccountController.php:692 +#: /app/lib/Controller/AccountController.php:690 +#, fuzzy msgid "Failed to retrieve account summary" -msgstr "" +msgstr "Error al obtener el resumen de la cuenta" -#: /app/lib/Controller/AccountController.php:782 +#: /app/lib/Controller/AccountController.php:793 +#, fuzzy msgid "Failed to reconcile account" -msgstr "" +msgstr "Error al conciliar la cuenta" -#: /app/lib/Controller/AccountController.php:797 +#: /app/lib/Controller/AccountController.php:808 msgid "Too many transactions (max 500)" msgstr "" -#: /app/lib/Controller/AccountController.php:804 -#: /app/src/modules/transactions/TransactionsModule.js:1841 +#: /app/lib/Controller/AccountController.php:815 +#: /app/src/modules/transactions/TransactionsModule.js:1867 msgid "Failed to complete reconciliation" msgstr "" -#: /app/lib/Controller/AccountController.php:853 +#: /app/lib/Controller/AccountController.php:864 msgid "Interest rate must be between 0 and 999.9999" msgstr "" -#: /app/lib/Controller/AccountController.php:858 -#: /app/src/modules/accounts/AccountsModule.js:1432 +#: /app/lib/Controller/AccountController.php:869 +#: /app/src/modules/accounts/AccountsModule.js:1435 msgid "Invalid compounding frequency" msgstr "" -#: /app/lib/Controller/AccountController.php:862 +#: /app/lib/Controller/AccountController.php:873 msgid "Invalid date format. Use YYYY-MM-DD" msgstr "" -#: /app/lib/Controller/AccountController.php:868 +#: /app/lib/Controller/AccountController.php:879 msgid "Failed to add interest rate" msgstr "" -#: /app/lib/Controller/AccountController.php:883 +#: /app/lib/Controller/AccountController.php:894 msgid "Failed to delete interest rate" msgstr "" @@ -223,37 +241,64 @@ msgid "The billing portal could not be opened. Try again shortly." msgstr "" #: /app/lib/Controller/AlertController.php:51 +#, fuzzy msgid "Failed to retrieve budget alerts" -msgstr "" +msgstr "Error al obtener las alertas del presupuesto" #: /app/lib/Controller/AlertController.php:64 +#, fuzzy msgid "Failed to retrieve budget status" -msgstr "" +msgstr "Error al obtener el estado del presupuesto" #: /app/lib/Controller/AlertController.php:77 +#, fuzzy msgid "Failed to retrieve budget summary" +msgstr "Error al obtener el resumen del presupuesto" + +#: /app/lib/Controller/ApiV1BillController.php:62 +#: /app/lib/Controller/BillController.php:1005 +#, fuzzy +msgid "Failed to retrieve upcoming bills" +msgstr "Error al obtener las facturas próximas" + +#: /app/lib/Controller/ApiV1BudgetController.php:59 +#: /app/lib/Controller/CategoryController.php:415 +#: /app/lib/Controller/CategoryController.php:674 +#: /app/lib/Controller/CategoryController.php:696 +#: /app/lib/Controller/CategoryController.php:726 +#: /app/lib/Controller/CategoryController.php:765 +#: /app/lib/Controller/CategoryController.php:782 +msgid "Invalid month format. Use YYYY-MM" +msgstr "" + +#: /app/lib/Controller/ApiV1BudgetController.php:71 +#: /app/lib/Controller/CategoryController.php:750 +msgid "Failed to retrieve effective budgets" msgstr "" #: /app/lib/Controller/ApiV1CategoryController.php:62 -#: /app/lib/Controller/CategoryController.php:183 -#: /app/lib/Controller/CategoryController.php:254 +#: /app/lib/Controller/CategoryController.php:188 +#: /app/lib/Controller/CategoryController.php:280 +#, fuzzy msgid "Invalid category type. Must be income or expense" -msgstr "" +msgstr "Tipo de categoría no válido. Debe ser ingresos o gasto" #: /app/lib/Controller/ApiV1CategoryController.php:81 -#: /app/lib/Controller/CategoryController.php:92 +#: /app/lib/Controller/CategoryController.php:97 +#, fuzzy msgid "Failed to retrieve categories" -msgstr "" +msgstr "Error al obtener las categorías" #: /app/lib/Controller/ApiV1ReceiptController.php:73 -#: /app/lib/Controller/ApiV1TransactionController.php:651 +#: /app/lib/Controller/ApiV1TransactionController.php:731 #: /app/lib/Controller/AttachmentController.php:91 #: /app/lib/Controller/ImportController.php:111 #: /app/lib/Controller/MigrationController.php:83 #: /app/lib/Controller/MigrationController.php:118 #: /app/lib/Controller/ReceiptScanController.php:81 +#, fuzzy msgid "No file uploaded" -msgstr "" +msgstr "No se ha subido ningún archivo" #: /app/lib/Controller/ApiV1ReceiptController.php:84 msgid "" @@ -275,39 +320,41 @@ msgid "" "the transaction manually" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:98 +#: /app/lib/Controller/ApiV1TransactionController.php:102 msgid "Invalid date. Use the YYYY-MM-DD format" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:130 -#: /app/lib/Controller/ApiV1TransactionController.php:167 -#: /app/lib/Controller/TransactionController.php:126 -#: /app/lib/Controller/TransactionController.php:181 +#: /app/lib/Controller/ApiV1TransactionController.php:138 +#: /app/lib/Controller/ApiV1TransactionController.php:179 +#: /app/lib/Controller/TransactionController.php:129 +#: /app/lib/Controller/TransactionController.php:184 msgid "Failed to retrieve transactions" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:180 +#: /app/lib/Controller/ApiV1TransactionController.php:193 +#: /app/lib/Controller/ApiV1TransactionController.php:210 msgid "Failed to retrieve transaction" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:228 +#: /app/lib/Controller/ApiV1TransactionController.php:306 msgid "Amount must be a number" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:233 +#: /app/lib/Controller/ApiV1TransactionController.php:311 msgid "An account is required" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:238 +#: /app/lib/Controller/ApiV1TransactionController.php:316 #: /app/lib/Controller/AssetController.php:326 -#: /app/lib/Controller/PensionController.php:356 -#: /app/lib/Controller/PensionController.php:428 -#: /app/lib/Controller/PensionController.php:477 -#: /app/lib/Controller/TransactionController.php:310 -#: /app/lib/Controller/TransactionController.php:417 -#: /app/lib/Service/Export/TransactionCsvExporter.php:28 /app/src/main.js:3554 -#: /app/src/modules/rules/RulesModule.js:935 -#: /app/src/modules/rules/RulesModule.js:1137 +#: /app/lib/Controller/PensionController.php:358 +#: /app/lib/Controller/PensionController.php:430 +#: /app/lib/Controller/PensionController.php:481 +#: /app/lib/Controller/TransactionController.php:313 +#: /app/lib/Controller/TransactionController.php:420 +#: /app/lib/Service/Export/TransactionCsvExporter.php:28 /app/src/main.js:3588 +#: /app/src/modules/income/IncomeModule.js:403 +#: /app/src/modules/rules/RulesModule.js:950 +#: /app/src/modules/rules/RulesModule.js:1152 #: /app/src/modules/rules/components/CriteriaBuilder.js:194 #: /app/templates/index.php:1033 /app/templates/index.php:1533 #: /app/templates/index.php:1773 /app/templates/index.php:1827 @@ -315,203 +362,226 @@ msgstr "" #: /app/templates/index.php:2594 /app/templates/index.php:5430 #: /app/templates/index.php:5455 /app/templates/index.php:5491 #: /app/templates/index.php:5669 /app/templates/index.php:5843 -#: /app/templates/index.php:6518 /app/templates/index.php:7327 +#: /app/templates/index.php:6519 /app/templates/index.php:7328 #: /app/templates/quick-add.php:17 +#, fuzzy msgid "Date" -msgstr "" +msgstr "Fecha" -#: /app/lib/Controller/ApiV1TransactionController.php:258 -#: /app/lib/Controller/TransactionController.php:318 -#: /app/lib/Controller/TransactionController.php:428 +#: /app/lib/Controller/ApiV1TransactionController.php:336 +#: /app/lib/Controller/TransactionController.php:321 +#: /app/lib/Controller/TransactionController.php:431 msgid "Invalid transaction type. Must be credit or debit" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:270 +#: /app/lib/Controller/ApiV1TransactionController.php:348 msgid "Idempotency key too long (64 characters maximum)" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:348 -#: /app/lib/Controller/ApiV1TransactionController.php:498 +#: /app/lib/Controller/ApiV1TransactionController.php:426 +#: /app/lib/Controller/ApiV1TransactionController.php:578 msgid "The transaction was recorded, but the photo could not be attached" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:374 +#: /app/lib/Controller/ApiV1TransactionController.php:452 msgid "The transaction was recorded, but it could not be split" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:384 -#: /app/lib/Controller/TransactionController.php:379 +#: /app/lib/Controller/ApiV1TransactionController.php:462 +#: /app/lib/Controller/TransactionController.php:382 msgid "Failed to create transaction" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:463 +#: /app/lib/Controller/ApiV1TransactionController.php:541 msgid "This idempotency key was already used for a different transaction" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:472 +#: /app/lib/Controller/ApiV1TransactionController.php:550 msgid "This request is still being processed. Try again shortly" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:545 +#: /app/lib/Controller/ApiV1TransactionController.php:625 msgid "" "splits must be an array of {\"amount\", \"category_id\", \"description\"} " "objects" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:566 +#: /app/lib/Controller/ApiV1TransactionController.php:646 msgid "Failed to split the transaction" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:638 +#: /app/lib/Controller/ApiV1TransactionController.php:718 #: /app/lib/Controller/AttachmentController.php:46 #: /app/lib/Controller/AttachmentController.php:59 -#: /app/src/modules/transactions/TransactionsModule.js:2775 +#: /app/src/modules/transactions/TransactionsModule.js:2819 msgid "Failed to load attachments" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:663 +#: /app/lib/Controller/ApiV1TransactionController.php:743 #: /app/lib/Controller/AttachmentController.php:101 -#: /app/src/modules/transactions/TransactionsModule.js:2786 -#: /app/src/modules/transactions/TransactionsModule.js:2791 +#: /app/src/modules/transactions/TransactionsModule.js:2830 +#: /app/src/modules/transactions/TransactionsModule.js:2835 msgid "Failed to upload receipt" msgstr "" -#: /app/lib/Controller/ApiV1TransactionController.php:669 +#: /app/lib/Controller/ApiV1TransactionController.php:749 #: /app/lib/Controller/AttachmentController.php:57 #: /app/lib/Controller/AttachmentController.php:72 -#: /app/lib/Controller/AttachmentController.php:97 /app/src/main.js:3292 -#: /app/src/main.js:3530 -#: /app/src/modules/transactions/TransactionsModule.js:3591 -#: /app/src/modules/transactions/TransactionsModule.js:3698 +#: /app/lib/Controller/AttachmentController.php:97 /app/src/main.js:3326 +#: /app/src/main.js:3564 +#: /app/src/modules/transactions/TransactionsModule.js:3642 +#: /app/src/modules/transactions/TransactionsModule.js:3749 msgid "Transaction not found" msgstr "" #: /app/lib/Controller/AssetController.php:78 +#, fuzzy msgid "Failed to retrieve assets" -msgstr "" +msgstr "Error al obtener los activos" #: /app/lib/Controller/AssetController.php:90 +#, fuzzy msgid "Asset" -msgstr "" +msgstr "Activo" #: /app/lib/Controller/AssetController.php:103 #: /app/lib/Controller/AssetController.php:193 #: /app/lib/Controller/AssetController.php:310 #: /app/lib/Controller/PensionController.php:114 #: /app/lib/Controller/PensionController.php:215 -#: /app/lib/Controller/PensionController.php:340 -#: /app/lib/Controller/PensionController.php:407 -#: /app/lib/Controller/TransactionController.php:996 +#: /app/lib/Controller/PensionController.php:342 +#: /app/lib/Controller/PensionController.php:409 +#: /app/lib/Controller/TransactionController.php:1016 +#, fuzzy msgid "Invalid JSON data" -msgstr "" +msgstr "Datos JSON no válidos" #: /app/lib/Controller/AssetController.php:117 #: /app/lib/Controller/PensionController.php:131 +#, fuzzy msgid "Name and type are required" -msgstr "" +msgstr "El nombre y el tipo son obligatorios" #: /app/lib/Controller/AssetController.php:130 #: /app/lib/Controller/AssetController.php:217 -#, php-format +#, fuzzy, php-format msgid "Invalid asset type. Must be one of: %1$s" -msgstr "" +msgstr "Tipo de activo no válido. Debe ser uno de: %1$s" #: /app/lib/Controller/AssetController.php:145 #: /app/lib/Controller/AssetController.php:232 #: /app/lib/Controller/PensionController.php:159 #: /app/lib/Controller/PensionController.php:257 +#, fuzzy msgid "Currency must be a 3-letter code" -msgstr "" +msgstr "La moneda debe ser un código de 3 letras" #: /app/lib/Controller/AssetController.php:150 #: /app/lib/Controller/AssetController.php:237 +#, fuzzy msgid "Current value cannot be negative" -msgstr "" +msgstr "El valor actual no puede ser negativo" #: /app/lib/Controller/AssetController.php:153 #: /app/lib/Controller/AssetController.php:240 +#, fuzzy msgid "Purchase price cannot be negative" -msgstr "" +msgstr "El precio de compra no puede ser negativo" #: /app/lib/Controller/AssetController.php:156 #: /app/lib/Controller/AssetController.php:243 -#, php-format +#, fuzzy, php-format msgid "Annual change rate must be between -1 and 1 (e.g., 0.03 for 3%%)" -msgstr "" +msgstr "La tasa de cambio anual debe estar entre -1 y 1 (ej., 0.03 para 3%%)" #: /app/lib/Controller/AssetController.php:161 #: /app/lib/Controller/AssetController.php:248 +#, fuzzy msgid "Purchase date" -msgstr "" +msgstr "Fecha de compra" #: /app/lib/Controller/AssetController.php:180 +#, fuzzy msgid "Failed to create asset" -msgstr "" +msgstr "Error al crear el activo" #: /app/lib/Controller/AssetController.php:268 +#, fuzzy msgid "Failed to update asset" -msgstr "" +msgstr "Error al actualizar el activo" #: /app/lib/Controller/AssetController.php:279 +#, fuzzy msgid "Asset deleted successfully" -msgstr "" +msgstr "Activo eliminado correctamente" #: /app/lib/Controller/AssetController.php:281 #: /app/src/modules/assets/AssetsModule.js:403 +#, fuzzy msgid "Failed to delete asset" -msgstr "" +msgstr "Error al eliminar el activo" #: /app/lib/Controller/AssetController.php:297 -#: /app/lib/Controller/PensionController.php:326 +#: /app/lib/Controller/PensionController.php:328 +#, fuzzy msgid "Failed to retrieve snapshots" -msgstr "" +msgstr "Error al obtener las instantáneas" #: /app/lib/Controller/AssetController.php:317 +#, fuzzy msgid "Value and date are required" -msgstr "" +msgstr "El valor y la fecha son obligatorios" #: /app/lib/Controller/AssetController.php:322 +#, fuzzy msgid "Value cannot be negative" -msgstr "" +msgstr "El valor no puede ser negativo" #: /app/lib/Controller/AssetController.php:334 -#: /app/lib/Controller/PensionController.php:364 +#: /app/lib/Controller/PensionController.php:366 +#, fuzzy msgid "Failed to create snapshot" -msgstr "" +msgstr "Error al crear la instantánea" #: /app/lib/Controller/AssetController.php:345 -#: /app/lib/Controller/PensionController.php:375 +#: /app/lib/Controller/PensionController.php:377 +#, fuzzy msgid "Snapshot deleted successfully" -msgstr "" +msgstr "Instantánea eliminada correctamente" #: /app/lib/Controller/AssetController.php:347 -#: /app/lib/Controller/PensionController.php:377 +#: /app/lib/Controller/PensionController.php:379 +#, fuzzy msgid "Failed to delete snapshot" -msgstr "" +msgstr "Error al eliminar la instantánea" #: /app/lib/Controller/AssetController.php:363 +#, fuzzy msgid "Failed to retrieve asset summary" -msgstr "" +msgstr "Error al obtener el resumen del activo" #: /app/lib/Controller/AssetController.php:375 +#, fuzzy msgid "Failed to retrieve asset projection" -msgstr "" +msgstr "Error al obtener la proyección del activo" #: /app/lib/Controller/AssetController.php:387 +#, fuzzy msgid "Failed to retrieve combined asset projection" -msgstr "" +msgstr "Error al obtener la proyección combinada de activos" #: /app/lib/Controller/AssetController.php:407 +#, fuzzy msgid "Failed to retrieve asset value history" -msgstr "" +msgstr "Error al obtener el historial de valor del activo" #: /app/lib/Controller/AttachmentController.php:76 msgid "File not found" msgstr "" #: /app/lib/Controller/AttachmentController.php:78 -#: /app/src/modules/transactions/TransactionsModule.js:2801 -#: /app/src/modules/transactions/TransactionsModule.js:2806 +#: /app/src/modules/transactions/TransactionsModule.js:2845 +#: /app/src/modules/transactions/TransactionsModule.js:2850 msgid "Failed to attach file" msgstr "" @@ -524,7 +594,7 @@ msgid "Attachment not found" msgstr "" #: /app/lib/Controller/AttachmentController.php:118 -#: /app/src/modules/transactions/TransactionsModule.js:2816 +#: /app/src/modules/transactions/TransactionsModule.js:2860 msgid "Failed to remove attachment" msgstr "" @@ -602,239 +672,271 @@ msgstr "" msgid "Failed to re-authorize" msgstr "" -#: /app/lib/Controller/BillController.php:98 +#: /app/lib/Controller/BillController.php:107 +#, fuzzy msgid "Failed to retrieve bills" -msgstr "" +msgstr "Error al obtener las facturas" -#: /app/lib/Controller/BillController.php:121 -#: /app/lib/Controller/BillController.php:136 -#: /app/lib/Controller/BillController.php:758 -#: /app/lib/Controller/BillController.php:1162 -#: /app/lib/Controller/BillController.php:1268 /app/templates/index.php:3649 +#: /app/lib/Controller/BillController.php:148 +#: /app/lib/Controller/BillController.php:164 +#: /app/lib/Controller/BillController.php:800 +#: /app/lib/Controller/BillController.php:1288 +#: /app/lib/Controller/BillController.php:1394 /app/templates/index.php:3649 #: /app/templates/index.php:6166 +#, fuzzy msgid "Bill" -msgstr "" +msgstr "Factura" -#: /app/lib/Controller/BillController.php:121 -#: /app/lib/Controller/CategoryController.php:381 -#: /app/lib/Controller/CategoryController.php:475 -#: /app/lib/Controller/CategoryController.php:493 -#: /app/lib/Controller/CategoryController.php:512 -#: /app/lib/Controller/GoalsController.php:87 -#: /app/lib/Controller/GoalsController.php:316 -#: /app/lib/Controller/GoalsController.php:344 -#: /app/lib/Controller/GoalsController.php:363 -#: /app/lib/Controller/ImportRuleController.php:90 -#: /app/lib/Controller/ProjectController.php:186 -#: /app/lib/Controller/RecurringIncomeController.php:89 +#: /app/lib/Controller/BillController.php:148 +#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:514 +#: /app/lib/Controller/CategoryController.php:618 +#: /app/lib/Controller/CategoryController.php:636 +#: /app/lib/Controller/CategoryController.php:655 +#: /app/lib/Controller/GoalsController.php:92 +#: /app/lib/Controller/GoalsController.php:322 +#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:370 +#: /app/lib/Controller/ImportRuleController.php:91 +#: /app/lib/Controller/ProjectController.php:188 +#: /app/lib/Controller/RecurringIncomeController.php:93 #: /app/lib/Traits/ApiErrorHandlerTrait.php:211 #, php-format msgid "%1$s not found" msgstr "" -#: /app/lib/Controller/BillController.php:189 -#: /app/lib/Controller/BillController.php:622 -#: /app/lib/Service/BillService.php:86 +#: /app/lib/Controller/BillController.php:217 +#: /app/lib/Controller/BillController.php:652 +#: /app/lib/Service/BillService.php:167 msgid "Invalid amount type" msgstr "" -#: /app/lib/Controller/BillController.php:194 +#: /app/lib/Controller/BillController.php:222 +#, fuzzy msgid "Name and amount are required" -msgstr "" +msgstr "El nombre y el importe son obligatorios" -#: /app/lib/Controller/BillController.php:238 -#: /app/lib/Controller/BillController.php:707 -#: /app/lib/Service/BillService.php:403 /app/lib/Service/BillService.php:513 +#: /app/lib/Controller/BillController.php:266 +#: /app/lib/Controller/BillController.php:737 +#: /app/lib/Service/BillService.php:625 /app/lib/Service/BillService.php:751 +#, fuzzy msgid "Auto-pay requires an account to be set" -msgstr "" +msgstr "El pago automático requiere configurar una cuenta" -#: /app/lib/Controller/BillController.php:246 -#: /app/lib/Controller/BillController.php:641 -#: /app/lib/Service/BillService.php:408 +#: /app/lib/Controller/BillController.php:274 +#: /app/lib/Controller/BillController.php:671 +#: /app/lib/Service/BillService.php:630 +#, fuzzy msgid "Transfer requires a destination account" -msgstr "" +msgstr "La transferencia requiere una cuenta de destino" -#: /app/lib/Controller/BillController.php:254 -#: /app/lib/Controller/BillController.php:669 -#: /app/lib/Service/BillService.php:413 +#: /app/lib/Controller/BillController.php:282 +#: /app/lib/Controller/BillController.php:699 +#: /app/lib/Service/BillService.php:635 #: /app/src/modules/transfers/TransfersModule.js:848 +#, fuzzy msgid "Cannot transfer to the same account" -msgstr "" +msgstr "No se puede transferir a la misma cuenta" -#: /app/lib/Controller/BillController.php:277 -#: /app/lib/Controller/BillController.php:432 +#: /app/lib/Controller/BillController.php:305 +#: /app/lib/Controller/BillController.php:461 +#: /app/lib/Controller/BillController.php:1188 +#, fuzzy msgid "Due day must be between 1 and 31" -msgstr "" +msgstr "El día de vencimiento debe estar entre 1 y 31" -#: /app/lib/Controller/BillController.php:282 -#: /app/lib/Controller/BillController.php:444 +#: /app/lib/Controller/BillController.php:310 +#: /app/lib/Controller/BillController.php:473 +#: /app/lib/Controller/BillController.php:1191 +#, fuzzy msgid "Due month must be between 1 and 12" -msgstr "" +msgstr "El mes de vencimiento debe estar entre 1 y 12" -#: /app/lib/Controller/BillController.php:305 -#: /app/lib/Controller/BillController.php:497 +#: /app/lib/Controller/BillController.php:333 +#: /app/lib/Controller/BillController.php:527 +#, fuzzy msgid "Reminder days must be between 0 and 30" -msgstr "" +msgstr "Los días de recordatorio deben estar entre 0 y 30" -#: /app/lib/Controller/BillController.php:318 +#: /app/lib/Controller/BillController.php:346 +#, fuzzy msgid "Transaction date" -msgstr "" - -#: /app/lib/Controller/BillController.php:326 -#: /app/lib/Controller/BillController.php:539 -#: /app/lib/Controller/RecurringIncomeController.php:199 -#: /app/lib/Controller/RecurringIncomeController.php:311 +msgstr "Fecha de la transacción" + +#: /app/lib/Controller/BillController.php:354 +#: /app/lib/Controller/BillController.php:569 +#: /app/lib/Controller/BillController.php:1195 +#: /app/lib/Controller/RecurringIncomeController.php:205 +#: /app/lib/Controller/RecurringIncomeController.php:317 +#: /app/lib/Controller/RecurringIncomeController.php:584 #: /app/templates/index.php:3208 /app/templates/index.php:5171 msgid "Start date" msgstr "" -#: /app/lib/Controller/BillController.php:336 -#: /app/lib/Controller/BillController.php:550 /app/templates/index.php:3210 +#: /app/lib/Controller/BillController.php:364 +#: /app/lib/Controller/BillController.php:580 /app/templates/index.php:3210 +#, fuzzy msgid "End date" -msgstr "" +msgstr "Fecha de fin" -#: /app/lib/Controller/BillController.php:346 +#: /app/lib/Controller/BillController.php:374 msgid "Start date must be before the end date" msgstr "" -#: /app/lib/Controller/BillController.php:351 -#: /app/lib/Controller/BillController.php:563 +#: /app/lib/Controller/BillController.php:379 +#: /app/lib/Controller/BillController.php:593 +#, fuzzy msgid "Remaining payments must be at least 1" -msgstr "" +msgstr "Los pagos restantes deben ser al menos 1" -#: /app/lib/Controller/BillController.php:392 -#: /app/src/modules/bills/BillsModule.js:234 +#: /app/lib/Controller/BillController.php:421 +#: /app/src/modules/bills/BillsModule.js:243 +#, fuzzy msgid "Failed to create bill" -msgstr "" +msgstr "Error al crear la factura" -#: /app/lib/Controller/BillController.php:602 +#: /app/lib/Controller/BillController.php:632 msgid "" "The new amount does not match the bill's split template. Update the splits " "together with the amount." msgstr "" -#: /app/lib/Controller/BillController.php:743 +#: /app/lib/Controller/BillController.php:781 +#, fuzzy msgid "Failed to update bill" +msgstr "Error al actualizar la factura" + +#: /app/lib/Controller/BillController.php:795 +#: /app/lib/Controller/GoalsController.php:331 +#: /app/lib/Controller/ProjectController.php:164 +#: /app/lib/Controller/RecurringIncomeController.php:362 +msgid "Deleting a shared item needs Full control from its owner" msgstr "" -#: /app/lib/Controller/BillController.php:771 +#: /app/lib/Controller/BillController.php:813 msgid "Failed to find matching transactions" msgstr "" -#: /app/lib/Controller/BillController.php:784 +#: /app/lib/Controller/BillController.php:826 msgid "Failed to check for unrecorded payments" msgstr "" -#: /app/lib/Controller/BillController.php:801 -#: /app/src/modules/bills/BillsModule.js:164 +#: /app/lib/Controller/BillController.php:843 +#: /app/src/modules/bills/BillsModule.js:168 msgid "Failed to record the payment" msgstr "" -#: /app/lib/Controller/BillController.php:820 -#: /app/src/modules/bills/BillsModule.js:153 +#: /app/lib/Controller/BillController.php:862 +#: /app/src/modules/bills/BillsModule.js:157 msgid "Failed to dismiss the payment" msgstr "" -#: /app/lib/Controller/BillController.php:843 -#: /app/src/modules/bills/BillsModule.js:1248 +#: /app/lib/Controller/BillController.php:892 +#: /app/src/modules/bills/BillsModule.js:1271 +#, fuzzy msgid "Failed to mark bill as paid" -msgstr "" +msgstr "Error al marcar la factura como pagada" -#: /app/lib/Controller/BillController.php:880 +#: /app/lib/Controller/BillController.php:918 msgid "Failed to undo mark as paid" msgstr "" -#: /app/lib/Controller/BillController.php:899 -#: /app/src/modules/bills/BillsModule.js:1501 -#: /app/src/modules/bills/BillsModule.js:1508 +#: /app/lib/Controller/BillController.php:939 +#: /app/src/modules/bills/BillsModule.js:1405 +#: /app/src/modules/bills/BillsModule.js:1413 msgid "Failed to mark bill as unpaid" msgstr "" -#: /app/lib/Controller/BillController.php:916 -#: /app/src/modules/bills/BillsModule.js:1542 +#: /app/lib/Controller/BillController.php:967 +#: /app/src/modules/bills/BillsModule.js:1447 msgid "Failed to skip bill payment" msgstr "" -#: /app/lib/Controller/BillController.php:932 +#: /app/lib/Controller/BillController.php:983 msgid "Missing previous due date" msgstr "" -#: /app/lib/Controller/BillController.php:938 +#: /app/lib/Controller/BillController.php:991 msgid "Failed to undo skip" msgstr "" -#: /app/lib/Controller/BillController.php:952 -msgid "Failed to retrieve upcoming bills" -msgstr "" - -#: /app/lib/Controller/BillController.php:966 +#: /app/lib/Controller/BillController.php:1019 +#, fuzzy msgid "Failed to retrieve bills due this month" -msgstr "" +msgstr "Error al obtener las facturas que vencen este mes" -#: /app/lib/Controller/BillController.php:980 +#: /app/lib/Controller/BillController.php:1033 +#, fuzzy msgid "Failed to retrieve overdue bills" -msgstr "" +msgstr "Error al obtener las facturas vencidas" -#: /app/lib/Controller/BillController.php:993 +#: /app/lib/Controller/BillController.php:1052 +#, fuzzy msgid "Failed to retrieve bill summary" -msgstr "" +msgstr "Error al obtener el resumen de facturas" -#: /app/lib/Controller/BillController.php:1006 +#: /app/lib/Controller/BillController.php:1065 +#, fuzzy msgid "Failed to retrieve bill status" -msgstr "" +msgstr "Error al obtener el estado de las facturas" -#: /app/lib/Controller/BillController.php:1019 -#: /app/src/modules/bills/BillsModule.js:1586 +#: /app/lib/Controller/BillController.php:1080 +#: /app/src/modules/bills/BillsModule.js:1491 +#, fuzzy msgid "Failed to detect recurring bills" -msgstr "" +msgstr "Error al detectar las facturas recurrentes" -#: /app/lib/Controller/BillController.php:1033 +#: /app/lib/Controller/BillController.php:1094 msgid "Failed to load bill suggestions" msgstr "" -#: /app/lib/Controller/BillController.php:1050 -#: /app/src/modules/bills/BillsModule.js:253 +#: /app/lib/Controller/BillController.php:1111 +#: /app/src/modules/bills/BillsModule.js:262 msgid "Failed to dismiss suggestion" msgstr "" -#: /app/lib/Controller/BillController.php:1082 +#: /app/lib/Controller/BillController.php:1156 +#, fuzzy msgid "Failed to create bills from detected patterns" -msgstr "" +msgstr "Error al crear facturas a partir de los patrones detectados" -#: /app/lib/Controller/BillController.php:1097 -#: /app/lib/Controller/BillController.php:1130 +#: /app/lib/Controller/BillController.php:1223 +#: /app/lib/Controller/BillController.php:1256 +#, fuzzy msgid "Invalid year" -msgstr "" +msgstr "Año no válido" -#: /app/lib/Controller/BillController.php:1112 +#: /app/lib/Controller/BillController.php:1238 +#, fuzzy msgid "Failed to generate annual overview" -msgstr "" +msgstr "Error al generar el resumen anual" -#: /app/lib/Controller/BillController.php:1153 +#: /app/lib/Controller/BillController.php:1279 +#, fuzzy msgid "Failed to export bills calendar" -msgstr "" +msgstr "Error al exportar el calendario de facturas" -#: /app/lib/Controller/BillController.php:1162 -#: /app/lib/Controller/BillController.php:1269 +#: /app/lib/Controller/BillController.php:1288 +#: /app/lib/Controller/BillController.php:1395 #: /app/lib/Service/Export/TransactionCsvExporter.php:34 #: /app/lib/Service/Report/ReportExporter.php:279 #: /app/lib/Service/Report/ReportExporter.php:337 #: /app/lib/Service/Report/ReportExporter.php:378 #: /app/lib/Service/Report/ReportExporter.php:495 #: /app/lib/Service/Report/ReportExporter.php:572 -#: /app/lib/Service/Report/ReportExporter.php:615 /app/src/main.js:3622 -#: /app/src/main.js:3623 /app/src/modules/bills/BillsModule.js:965 -#: /app/src/modules/rules/RulesModule.js:937 -#: /app/src/modules/rules/RulesModule.js:1139 +#: /app/lib/Service/Report/ReportExporter.php:615 /app/src/main.js:3656 +#: /app/src/main.js:3657 /app/src/modules/bills/BillsModule.js:971 +#: /app/src/modules/rules/RulesModule.js:952 +#: /app/src/modules/rules/RulesModule.js:1154 #: /app/src/modules/rules/components/CriteriaBuilder.js:190 -#: /app/src/modules/transactions/TransactionsModule.js:2040 -#: /app/src/modules/transactions/TransactionsModule.js:3183 -#: /app/src/modules/transactions/TransactionsModule.js:3184 -#: /app/src/modules/transactions/TransactionsModule.js:3268 -#: /app/src/modules/transactions/TransactionsModule.js:3553 -#: /app/src/modules/transactions/TransactionsModule.js:3787 -#: /app/src/modules/transactions/TransactionsModule.js:3788 -#: /app/src/modules/transfers/TransfersModule.js:482 +#: /app/src/modules/transactions/TransactionsModule.js:2068 +#: /app/src/modules/transactions/TransactionsModule.js:3227 +#: /app/src/modules/transactions/TransactionsModule.js:3228 +#: /app/src/modules/transactions/TransactionsModule.js:3312 +#: /app/src/modules/transactions/TransactionsModule.js:3604 +#: /app/src/modules/transactions/TransactionsModule.js:3838 +#: /app/src/modules/transactions/TransactionsModule.js:3839 +#: /app/src/modules/transfers/TransfersModule.js:456 #: /app/templates/index.php:1051 /app/templates/index.php:1541 #: /app/templates/index.php:1793 /app/templates/index.php:1846 #: /app/templates/index.php:2400 /app/templates/index.php:2561 @@ -842,132 +944,153 @@ msgstr "" #: /app/templates/index.php:3412 /app/templates/index.php:3433 #: /app/templates/index.php:5451 /app/templates/index.php:5487 #: /app/templates/index.php:5523 /app/templates/index.php:5822 -#: /app/templates/index.php:6180 /app/templates/index.php:6439 -#: /app/templates/index.php:6520 /app/templates/index.php:7119 +#: /app/templates/index.php:6180 /app/templates/index.php:6440 +#: /app/templates/index.php:6521 /app/templates/index.php:7120 #: /app/templates/quick-add.php:40 msgid "Amount" msgstr "" -#: /app/lib/Controller/BillController.php:1162 -#: /app/src/modules/transfers/TransfersModule.js:500 +#: /app/lib/Controller/BillController.php:1288 +#: /app/src/modules/transfers/TransfersModule.js:474 #: /app/templates/index.php:5527 /app/templates/index.php:6186 -#: /app/templates/index.php:6676 +#: /app/templates/index.php:6677 msgid "Frequency" msgstr "" -#: /app/lib/Controller/BillController.php:1166 +#: /app/lib/Controller/BillController.php:1292 msgid "Annual Total" msgstr "" -#: /app/lib/Controller/BillController.php:1190 -#: /app/lib/Controller/BillController.php:1294 +#: /app/lib/Controller/BillController.php:1316 +#: /app/lib/Controller/BillController.php:1420 #: /app/lib/Service/Report/ReportExporter.php:298 #: /app/lib/Service/Report/ReportExporter.php:348 #: /app/lib/Service/Report/ReportExporter.php:421 #: /app/lib/Service/Report/ReportExporter.php:513 #: /app/lib/Service/Report/ReportExporter.php:584 #: /app/lib/Service/Report/ReportExporter.php:659 -#: /app/src/modules/categories/CategoriesModule.js:2355 -#: /app/src/modules/reports/ReportsModule.js:1853 /app/templates/index.php:7321 +#: /app/src/modules/categories/CategoriesModule.js:2417 +#: /app/src/modules/reports/ReportsModule.js:1854 /app/templates/index.php:7322 msgid "Total" msgstr "" -#: /app/lib/Controller/BillController.php:1230 -#: /app/src/modules/dashboard/DashboardModule.js:3162 -#: /app/src/modules/reports/ReportsModule.js:1998 +#: /app/lib/Controller/BillController.php:1356 +#: /app/src/modules/dashboard/DashboardModule.js:3359 +#: /app/src/modules/reports/ReportsModule.js:2006 msgid "Projected balance" msgstr "" -#: /app/lib/Controller/BillController.php:1245 +#: /app/lib/Controller/BillController.php:1371 #, php-format msgid "Bills Calendar %s" msgstr "" -#: /app/lib/Controller/BillController.php:1273 +#: /app/lib/Controller/BillController.php:1399 msgid "Annual" msgstr "" -#: /app/lib/Controller/BillController.php:1351 +#: /app/lib/Controller/BillController.php:1482 +msgid "" +"This account belongs to someone else, who cannot see one of the split " +"categories. Split with categories shared with them, or pay from one of your " +"own accounts." +msgstr "" + +#: /app/lib/Controller/BillController.php:1500 msgid "Split template must have at least 2 splits" msgstr "" -#: /app/lib/Controller/BillController.php:1359 +#: /app/lib/Controller/BillController.php:1508 msgid "Each split must have a positive amount" msgstr "" -#: /app/lib/Controller/BillController.php:1365 +#: /app/lib/Controller/BillController.php:1514 msgid "Split amounts must equal the bill amount" msgstr "" -#: /app/lib/Controller/BillController.php:1377 +#: /app/lib/Controller/BillController.php:1526 +#, fuzzy msgid "Invalid JSON in custom recurrence pattern" -msgstr "" +msgstr "JSON no válido en el patrón de recurrencia personalizado" -#: /app/lib/Controller/BillController.php:1384 +#: /app/lib/Controller/BillController.php:1533 +#, fuzzy msgid "Custom recurrence pattern must be a JSON object" -msgstr "" +msgstr "El patrón de recurrencia personalizado debe ser un objeto JSON" -#: /app/lib/Controller/BillController.php:1393 +#: /app/lib/Controller/BillController.php:1542 +#, fuzzy msgid "Months must be an array" -msgstr "" +msgstr "Los meses deben ser un array" -#: /app/lib/Controller/BillController.php:1400 +#: /app/lib/Controller/BillController.php:1549 +#, fuzzy msgid "At least one month must be specified" -msgstr "" +msgstr "Debe especificarse al menos un mes" -#: /app/lib/Controller/BillController.php:1408 +#: /app/lib/Controller/BillController.php:1557 +#, fuzzy msgid "Each month must be a number between 1 and 12" -msgstr "" +msgstr "Cada mes debe ser un número entre 1 y 12" -#: /app/lib/Controller/BillController.php:1421 +#: /app/lib/Controller/BillController.php:1570 +#, fuzzy msgid "Dates must be an array" -msgstr "" +msgstr "Las fechas deben ser un array" -#: /app/lib/Controller/BillController.php:1428 +#: /app/lib/Controller/BillController.php:1577 +#, fuzzy msgid "At least one date must be specified" -msgstr "" +msgstr "Debe especificarse al menos una fecha" -#: /app/lib/Controller/BillController.php:1436 +#: /app/lib/Controller/BillController.php:1585 +#, fuzzy msgid "Each date must have \"month\" and \"day\" fields" -msgstr "" +msgstr "Cada fecha debe tener los campos «mes» y «día»" -#: /app/lib/Controller/BillController.php:1443 +#: /app/lib/Controller/BillController.php:1592 +#, fuzzy msgid "Month must be a number between 1 and 12" -msgstr "" +msgstr "El mes debe ser un número entre 1 y 12" -#: /app/lib/Controller/BillController.php:1450 +#: /app/lib/Controller/BillController.php:1599 +#, fuzzy msgid "Day must be a number between 1 and 31" -msgstr "" +msgstr "El día debe ser un número entre 1 y 31" -#: /app/lib/Controller/BillController.php:1460 +#: /app/lib/Controller/BillController.php:1609 +#, fuzzy msgid "Custom pattern must contain either \"months\" or \"dates\" field" -msgstr "" +msgstr "El patrón personalizado debe contener el campo «months» o «dates»" #: /app/lib/Controller/CalendarFeedController.php:94 -#: /app/src/modules/bills/BillsModule.js:1164 +#: /app/src/modules/bills/BillsModule.js:1187 msgid "Failed to get calendar feed" msgstr "" #: /app/lib/Controller/CalendarFeedController.php:108 -#: /app/src/modules/bills/BillsModule.js:1210 +#: /app/src/modules/bills/BillsModule.js:1233 msgid "Failed to regenerate calendar feed token" msgstr "" -#: /app/lib/Controller/CategoryController.php:129 +#: /app/lib/Controller/CategoryController.php:134 +#, fuzzy msgid "Failed to retrieve category tree" -msgstr "" +msgstr "Error al obtener el árbol de categorías" -#: /app/lib/Controller/CategoryController.php:141 +#: /app/lib/Controller/CategoryController.php:146 +#, fuzzy msgid "Failed to retrieve transaction counts" -msgstr "" +msgstr "Error al obtener el recuento de transacciones" -#: /app/lib/Controller/CategoryController.php:153 -#: /app/lib/Controller/CategoryController.php:381 -#: /app/lib/Controller/CategoryController.php:475 -#: /app/lib/Controller/CategoryController.php:493 -#: /app/lib/Controller/CategoryController.php:499 -#: /app/lib/Controller/CategoryController.php:512 -#: /app/lib/Controller/CategoryController.php:519 +#: /app/lib/Controller/CategoryController.php:158 +#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:514 +#: /app/lib/Controller/CategoryController.php:618 +#: /app/lib/Controller/CategoryController.php:636 +#: /app/lib/Controller/CategoryController.php:642 +#: /app/lib/Controller/CategoryController.php:655 +#: /app/lib/Controller/CategoryController.php:662 #: /app/lib/Controller/YearOverYearController.php:287 #: /app/lib/Controller/YearOverYearController.php:389 #: /app/lib/Service/Export/TransactionCsvExporter.php:31 @@ -978,15 +1101,15 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:614 #: /app/lib/Service/Report/ReportExporter.php:639 #: /app/lib/Service/Report/ReportExporter.php:676 -#: /app/lib/Service/Report/ReportExporter.php:722 /app/src/main.js:3627 -#: /app/src/main.js:3628 /app/src/modules/dashboard/DashboardModule.js:2164 -#: /app/src/modules/reports/ReportsModule.js:1114 -#: /app/src/modules/reports/ReportsModule.js:1562 -#: /app/src/modules/transactions/TransactionsModule.js:3188 -#: /app/src/modules/transactions/TransactionsModule.js:3189 -#: /app/src/modules/transactions/TransactionsModule.js:3792 -#: /app/src/modules/transactions/TransactionsModule.js:3793 -#: /app/src/modules/transfers/TransfersModule.js:564 +#: /app/lib/Service/Report/ReportExporter.php:722 /app/src/main.js:3661 +#: /app/src/main.js:3662 /app/src/modules/dashboard/DashboardModule.js:2327 +#: /app/src/modules/reports/ReportsModule.js:1115 +#: /app/src/modules/reports/ReportsModule.js:1563 +#: /app/src/modules/transactions/TransactionsModule.js:3232 +#: /app/src/modules/transactions/TransactionsModule.js:3233 +#: /app/src/modules/transactions/TransactionsModule.js:3843 +#: /app/src/modules/transactions/TransactionsModule.js:3844 +#: /app/src/modules/transfers/TransfersModule.js:549 #: /app/templates/index.php:1059 /app/templates/index.php:1461 #: /app/templates/index.php:1539 /app/templates/index.php:1625 #: /app/templates/index.php:1785 /app/templates/index.php:1839 @@ -995,132 +1118,148 @@ msgstr "" #: /app/templates/index.php:3366 /app/templates/index.php:3411 #: /app/templates/index.php:3580 /app/templates/index.php:5161 #: /app/templates/index.php:5862 /app/templates/index.php:6253 -#: /app/templates/index.php:6723 /app/templates/index.php:7118 -#: /app/templates/index.php:7159 /app/templates/quick-add.php:55 +#: /app/templates/index.php:6724 /app/templates/index.php:7119 +#: /app/templates/index.php:7160 /app/templates/quick-add.php:55 +#, fuzzy msgid "Category" -msgstr "" +msgstr "Categoría" -#: /app/lib/Controller/CategoryController.php:281 +#: /app/lib/Controller/CategoryController.php:307 +#, fuzzy msgid "Invalid budget period. Must be monthly, weekly, yearly, or quarterly" msgstr "" +"Período de presupuesto no válido. Debe ser mensual, semanal, anual o " +"trimestral" -#: /app/lib/Controller/CategoryController.php:326 -#: /app/src/modules/categories/CategoriesModule.js:1389 +#: /app/lib/Controller/CategoryController.php:360 +#: /app/src/modules/categories/CategoriesModule.js:1411 +#, fuzzy msgid "Failed to update category" +msgstr "Error al actualizar la categoría" + +#: /app/lib/Controller/CategoryController.php:388 +msgid "A category can only be moved under another category with the same owner" +msgstr "" + +#: /app/lib/Controller/CategoryController.php:397 +msgid "Only the owner can add subcategories to a shared category" +msgstr "" + +#: /app/lib/Controller/CategoryController.php:418 +#: /app/lib/Controller/CategoryController.php:788 +msgid "Invalid budget period" +msgstr "" + +#: /app/lib/Controller/CategoryController.php:431 +#: /app/src/modules/categories/CategoriesModule.js:2386 +msgid "Only the owner can change the budget of a shared category" msgstr "" -#: /app/lib/Controller/CategoryController.php:352 +#: /app/lib/Controller/CategoryController.php:477 msgid "Invalid position" msgstr "" -#: /app/lib/Controller/CategoryController.php:360 +#: /app/lib/Controller/CategoryController.php:488 msgid "Shared categories cannot be nested" msgstr "" -#: /app/lib/Controller/CategoryController.php:366 -#: /app/lib/Controller/CategoryController.php:368 -#: /app/src/modules/categories/CategoriesModule.js:611 -#: /app/src/modules/categories/CategoriesModule.js:620 +#: /app/lib/Controller/CategoryController.php:499 +#: /app/lib/Controller/CategoryController.php:501 +#: /app/src/modules/categories/CategoriesModule.js:617 +#: /app/src/modules/categories/CategoriesModule.js:626 msgid "Failed to reorder category" msgstr "" -#: /app/lib/Controller/CategoryController.php:390 +#: /app/lib/Controller/CategoryController.php:533 +#: /app/lib/Service/CategoryService.php:324 msgid "Only the category owner can delete it" msgstr "" -#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:567 msgid "Failed to load report preferences" msgstr "" -#: /app/lib/Controller/CategoryController.php:440 +#: /app/lib/Controller/CategoryController.php:583 #: /app/lib/Service/GranularShareService.php:146 msgid "Category not found" msgstr "" -#: /app/lib/Controller/CategoryController.php:445 -#: /app/src/modules/categories/CategoriesModule.js:441 +#: /app/lib/Controller/CategoryController.php:588 +#: /app/src/modules/categories/CategoriesModule.js:444 msgid "Failed to update report preference" msgstr "" -#: /app/lib/Controller/CategoryController.php:462 -#: /app/lib/Controller/CategoryController.php:480 +#: /app/lib/Controller/CategoryController.php:605 +#: /app/lib/Controller/CategoryController.php:623 +#, fuzzy msgid "Failed to retrieve category spending" -msgstr "" - -#: /app/lib/Controller/CategoryController.php:531 -#: /app/lib/Controller/CategoryController.php:553 -#: /app/lib/Controller/CategoryController.php:583 -#: /app/lib/Controller/CategoryController.php:631 -msgid "Invalid month format. Use YYYY-MM" -msgstr "" +msgstr "Error al obtener el gasto por categoría" -#: /app/lib/Controller/CategoryController.php:559 +#: /app/lib/Controller/CategoryController.php:702 msgid "Failed to delete budget snapshot" msgstr "" -#: /app/lib/Controller/CategoryController.php:572 +#: /app/lib/Controller/CategoryController.php:715 msgid "Failed to retrieve snapshot months" msgstr "" -#: /app/lib/Controller/CategoryController.php:604 -msgid "Failed to retrieve effective budgets" -msgstr "" - -#: /app/lib/Controller/CategoryController.php:619 +#: /app/lib/Controller/CategoryController.php:770 msgid "Failed to retrieve recurring budgets" msgstr "" -#: /app/lib/Controller/CategoryController.php:637 -msgid "Invalid budget period" -msgstr "" - #: /app/lib/Controller/CategoryTransferController.php:64 -#: /app/src/modules/categories/CategoriesModule.js:1587 -#: /app/src/modules/categories/CategoriesModule.js:1599 +#: /app/src/modules/categories/CategoriesModule.js:1627 +#: /app/src/modules/categories/CategoriesModule.js:1639 msgid "Failed to export categories" msgstr "" #: /app/lib/Controller/CategoryTransferController.php:89 -#: /app/src/modules/categories/CategoriesModule.js:1623 -#: /app/src/modules/categories/CategoriesModule.js:1629 +#: /app/src/modules/categories/CategoriesModule.js:1663 +#: /app/src/modules/categories/CategoriesModule.js:1669 msgid "Failed to read the category file" msgstr "" #: /app/lib/Controller/CategoryTransferController.php:109 -#: /app/src/modules/categories/CategoriesModule.js:1697 -#: /app/src/modules/categories/CategoriesModule.js:1705 +#: /app/src/modules/categories/CategoriesModule.js:1737 +#: /app/src/modules/categories/CategoriesModule.js:1745 msgid "Failed to import categories" msgstr "" #: /app/lib/Controller/DebtController.php:58 +#, fuzzy msgid "Failed to retrieve debts" -msgstr "" +msgstr "Error al obtener las deudas" #: /app/lib/Controller/DebtController.php:79 +#, fuzzy msgid "Failed to retrieve debt summary" -msgstr "" +msgstr "Error al obtener el resumen de deudas" #: /app/lib/Controller/DebtController.php:96 +#, fuzzy msgid "Invalid strategy. Must be \"avalanche\" or \"snowball\"" -msgstr "" +msgstr "Estrategia no válida. Debe ser «avalanche» o «snowball»" #: /app/lib/Controller/DebtController.php:104 #: /app/lib/Controller/DebtController.php:153 +#, fuzzy msgid "Extra payment cannot be negative" -msgstr "" +msgstr "El pago adicional no puede ser negativo" #: /app/lib/Controller/DebtController.php:118 +#, fuzzy msgid "Failed to calculate payoff plan" -msgstr "" +msgstr "Error al calcular el plan de amortización" #: /app/lib/Controller/DebtController.php:136 msgid "Failed to get debt progress" msgstr "" -#: /app/lib/Controller/DebtController.php:166 /app/src/main.js:3094 -#: /app/src/main.js:3099 +#: /app/lib/Controller/DebtController.php:166 /app/src/main.js:3128 +#: /app/src/main.js:3133 +#, fuzzy msgid "Failed to compare strategies" -msgstr "" +msgstr "Error al comparar las estrategias" #: /app/lib/Controller/DebtScenarioController.php:59 msgid "Failed to retrieve debt scenarios" @@ -1185,158 +1324,185 @@ msgstr "" #: /app/lib/Controller/ExchangeRateController.php:111 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:38 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:39 +#, fuzzy msgid "Failed to load exchange rates" -msgstr "" +msgstr "Error al cargar los tipos de cambio" #: /app/lib/Controller/ExchangeRateController.php:127 +#, fuzzy msgid "Failed to get base currency" -msgstr "" +msgstr "Error al obtener la moneda base" #: /app/lib/Controller/ExchangeRateController.php:162 msgid "Failed to convert currency" msgstr "" #: /app/lib/Controller/ExchangeRateController.php:176 +#, fuzzy msgid "Exchange rates refreshed successfully" -msgstr "" +msgstr "Tipos de cambio actualizados correctamente" #: /app/lib/Controller/ExchangeRateController.php:179 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:351 +#, fuzzy msgid "Failed to refresh exchange rates" -msgstr "" +msgstr "Error al actualizar los tipos de cambio" #: /app/lib/Controller/ExchangeRateController.php:195 +#, fuzzy msgid "Currency and rate are required" -msgstr "" +msgstr "La moneda y el tipo son obligatorios" #: /app/lib/Controller/ExchangeRateController.php:205 +#, fuzzy msgid "Failed to set manual rate" -msgstr "" +msgstr "Error al establecer el tipo manual" #: /app/lib/Controller/ExchangeRateController.php:219 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:334 +#, fuzzy msgid "Failed to remove manual rate" -msgstr "" +msgstr "Error al eliminar el tipo manual" #: /app/lib/Controller/ForecastController.php:61 +#, fuzzy msgid "Failed to generate forecast" -msgstr "" +msgstr "Error al generar la previsión" #: /app/lib/Controller/ForecastController.php:90 +#, fuzzy msgid "Failed to generate cash flow forecast" -msgstr "" +msgstr "Error al generar la previsión de flujo de caja" #: /app/lib/Controller/ForecastController.php:110 +#, fuzzy msgid "Failed to retrieve spending trends" -msgstr "" +msgstr "Error al obtener las tendencias de gasto" #: /app/lib/Controller/ForecastController.php:130 +#, fuzzy msgid "Failed to run forecast scenarios" -msgstr "" +msgstr "Error al ejecutar los escenarios de previsión" #: /app/lib/Controller/ForecastController.php:154 +#, fuzzy msgid "Failed to generate enhanced forecast" -msgstr "" +msgstr "Error al generar la previsión mejorada" #: /app/lib/Controller/ForecastController.php:171 +#, fuzzy msgid "Failed to retrieve live forecast" -msgstr "" +msgstr "Error al obtener la previsión en tiempo real" #: /app/lib/Controller/ForecastController.php:189 +#, fuzzy msgid "Failed to export forecast" -msgstr "" +msgstr "Error al exportar la previsión" -#: /app/lib/Controller/GoalsController.php:75 +#: /app/lib/Controller/GoalsController.php:80 +#, fuzzy msgid "Failed to retrieve goals" -msgstr "" +msgstr "Error al obtener los objetivos" -#: /app/lib/Controller/GoalsController.php:87 -#: /app/lib/Controller/GoalsController.php:99 -#: /app/lib/Controller/GoalsController.php:316 -#: /app/lib/Controller/GoalsController.php:344 -#: /app/lib/Controller/GoalsController.php:363 /app/templates/index.php:5209 +#: /app/lib/Controller/GoalsController.php:92 +#: /app/lib/Controller/GoalsController.php:105 +#: /app/lib/Controller/GoalsController.php:322 +#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:370 /app/templates/index.php:5209 #: /app/templates/index.php:5281 +#, fuzzy msgid "Goal" -msgstr "" +msgstr "Objetivo" -#: /app/lib/Controller/GoalsController.php:137 -#: /app/lib/Controller/GoalsController.php:236 +#: /app/lib/Controller/GoalsController.php:143 +#: /app/lib/Controller/GoalsController.php:242 +#, fuzzy msgid "Target date" -msgstr "" +msgstr "Fecha objetivo" -#: /app/lib/Controller/GoalsController.php:147 -#: /app/lib/Controller/GoalsController.php:244 +#: /app/lib/Controller/GoalsController.php:153 +#: /app/lib/Controller/GoalsController.php:250 +#, fuzzy msgid "Target amount must be greater than zero" -msgstr "" +msgstr "El importe objetivo debe ser mayor que cero" -#: /app/lib/Controller/GoalsController.php:152 -#: /app/lib/Controller/GoalsController.php:249 +#: /app/lib/Controller/GoalsController.php:158 +#: /app/lib/Controller/GoalsController.php:255 +#, fuzzy msgid "Target months must be greater than zero" -msgstr "" +msgstr "Los meses objetivo deben ser mayores que cero" -#: /app/lib/Controller/GoalsController.php:157 -#: /app/lib/Controller/GoalsController.php:254 +#: /app/lib/Controller/GoalsController.php:163 +#: /app/lib/Controller/GoalsController.php:260 +#, fuzzy msgid "Current amount cannot be negative" -msgstr "" +msgstr "El importe actual no puede ser negativo" -#: /app/lib/Controller/GoalsController.php:162 -#: /app/lib/Controller/GoalsController.php:259 +#: /app/lib/Controller/GoalsController.php:168 +#: /app/lib/Controller/GoalsController.php:265 +#, fuzzy msgid "Invalid tag ID" -msgstr "" +msgstr "ID de etiqueta no válido" -#: /app/lib/Controller/GoalsController.php:167 -#: /app/lib/Controller/GoalsController.php:264 +#: /app/lib/Controller/GoalsController.php:173 +#: /app/lib/Controller/GoalsController.php:270 msgid "Invalid account ID" msgstr "" -#: /app/lib/Controller/GoalsController.php:193 +#: /app/lib/Controller/GoalsController.php:199 +#, fuzzy msgid "Failed to create goal" -msgstr "" +msgstr "Error al crear el objetivo" -#: /app/lib/Controller/GoalsController.php:303 +#: /app/lib/Controller/GoalsController.php:309 +#, fuzzy msgid "Failed to update goal" -msgstr "" +msgstr "Error al actualizar el objetivo" -#: /app/lib/Controller/GoalsController.php:324 -msgid "Only the goal owner can delete it" -msgstr "" - -#: /app/lib/Controller/GoalsController.php:330 +#: /app/lib/Controller/GoalsController.php:337 +#, fuzzy msgid "Goal deleted successfully" -msgstr "" +msgstr "Objetivo eliminado correctamente" -#: /app/lib/Controller/GoalsController.php:332 -#: /app/src/modules/savings/SavingsModule.js:460 +#: /app/lib/Controller/GoalsController.php:339 +#: /app/src/modules/savings/SavingsModule.js:462 +#, fuzzy msgid "Failed to delete goal" -msgstr "" +msgstr "Error al eliminar el objetivo" -#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:358 +#, fuzzy msgid "Failed to retrieve goal progress" -msgstr "" +msgstr "Error al obtener el progreso del objetivo" -#: /app/lib/Controller/GoalsController.php:370 +#: /app/lib/Controller/GoalsController.php:377 +#, fuzzy msgid "Failed to retrieve goal forecast" -msgstr "" +msgstr "Error al obtener la previsión del objetivo" #: /app/lib/Controller/ImportController.php:115 #: /app/lib/Controller/MigrationController.php:90 #: /app/lib/Controller/MigrationController.php:125 +#, fuzzy msgid "File upload failed" -msgstr "" +msgstr "Error al subir el archivo" #: /app/lib/Controller/ImportController.php:134 #: /app/src/modules/import/ImportModule.js:210 +#, fuzzy msgid "Failed to upload file" -msgstr "" +msgstr "Error al subir el archivo" #: /app/lib/Controller/ImportController.php:178 #: /app/lib/Controller/MigrationController.php:102 +#, fuzzy msgid "Failed to preview import" -msgstr "" +msgstr "Error al previsualizar la importación" #: /app/lib/Controller/ImportController.php:241 +#, fuzzy msgid "Failed to process import" -msgstr "" +msgstr "Error al procesar la importación" #: /app/lib/Controller/ImportController.php:265 msgid "CSV delimiter must be a single character" @@ -1353,98 +1519,115 @@ msgstr "" #: /app/lib/Controller/ImportController.php:317 #: /app/lib/Controller/ImportTemplateController.php:51 +#, fuzzy msgid "Failed to retrieve import templates" -msgstr "" +msgstr "Error al obtener las plantillas de importación" #: /app/lib/Controller/ImportController.php:329 +#, fuzzy msgid "Failed to retrieve import history" -msgstr "" +msgstr "Error al obtener el historial de importación" #: /app/lib/Controller/ImportController.php:341 +#, fuzzy msgid "Failed to validate file" -msgstr "" +msgstr "Error al validar el archivo" #: /app/lib/Controller/ImportController.php:363 +#, fuzzy msgid "Failed to execute import" -msgstr "" +msgstr "Error al ejecutar la importación" -#: /app/lib/Controller/ImportRuleController.php:66 +#: /app/lib/Controller/ImportRuleController.php:67 +#, fuzzy msgid "Failed to retrieve import rules" -msgstr "" +msgstr "Error al obtener las reglas de importación" -#: /app/lib/Controller/ImportRuleController.php:78 +#: /app/lib/Controller/ImportRuleController.php:79 msgid "Failed to retrieve rule groups" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:90 -#: /app/lib/Controller/ImportRuleController.php:103 -#: /app/lib/Controller/ImportRuleController.php:357 -#: /app/lib/Controller/ImportRuleController.php:373 +#: /app/lib/Controller/ImportRuleController.php:91 +#: /app/lib/Controller/ImportRuleController.php:104 +#: /app/lib/Controller/ImportRuleController.php:367 +#: /app/lib/Controller/ImportRuleController.php:383 +#, fuzzy msgid "Import rule" -msgstr "" +msgstr "Regla de importación" -#: /app/lib/Controller/ImportRuleController.php:138 +#: /app/lib/Controller/ImportRuleController.php:139 +#, fuzzy msgid "Criteria required for v2 rules" -msgstr "" +msgstr "Se requieren criterios para las reglas v2" -#: /app/lib/Controller/ImportRuleController.php:144 +#: /app/lib/Controller/ImportRuleController.php:145 +#, fuzzy msgid "Pattern, field, and matchType required for v1 rules" -msgstr "" +msgstr "Se requieren patrón, campo y tipo de coincidencia para las reglas v1" -#: /app/lib/Controller/ImportRuleController.php:156 -#: /app/lib/Controller/ImportRuleController.php:260 -#, php-format +#: /app/lib/Controller/ImportRuleController.php:157 +#: /app/lib/Controller/ImportRuleController.php:267 +#, fuzzy, php-format msgid "Invalid field. Must be one of: %1$s" -msgstr "" +msgstr "Campo no válido. Debe ser uno de: %1$s" -#: /app/lib/Controller/ImportRuleController.php:161 -#: /app/lib/Controller/ImportRuleController.php:268 -#, php-format +#: /app/lib/Controller/ImportRuleController.php:162 +#: /app/lib/Controller/ImportRuleController.php:275 +#, fuzzy, php-format msgid "Invalid match type. Must be one of: %1$s" -msgstr "" +msgstr "Tipo de coincidencia no válido. Debe ser uno de: %1$s" -#: /app/lib/Controller/ImportRuleController.php:167 -#: /app/lib/Controller/ImportRuleController.php:276 +#: /app/lib/Controller/ImportRuleController.php:169 +#: /app/lib/Controller/ImportRuleController.php:284 +#, fuzzy msgid "Invalid regex pattern" -msgstr "" +msgstr "Patrón de expresión regular no válido" -#: /app/lib/Controller/ImportRuleController.php:208 +#: /app/lib/Controller/ImportRuleController.php:215 +#, fuzzy msgid "Failed to create import rule" -msgstr "" +msgstr "Error al crear la regla de importación" -#: /app/lib/Controller/ImportRuleController.php:343 +#: /app/lib/Controller/ImportRuleController.php:353 +#, fuzzy msgid "Failed to update import rule" -msgstr "" +msgstr "Error al actualizar la regla de importación" -#: /app/lib/Controller/ImportRuleController.php:365 +#: /app/lib/Controller/ImportRuleController.php:375 msgid "Only the rule owner can delete it" msgstr "" -#: /app/lib/Controller/ImportRuleController.php:385 +#: /app/lib/Controller/ImportRuleController.php:395 +#, fuzzy msgid "Failed to test import rules" -msgstr "" +msgstr "Error al probar las reglas de importación" -#: /app/lib/Controller/ImportRuleController.php:411 +#: /app/lib/Controller/ImportRuleController.php:421 +#, fuzzy msgid "Failed to preview rule application" -msgstr "" +msgstr "Error al previsualizar la aplicación de la regla" -#: /app/lib/Controller/ImportRuleController.php:439 +#: /app/lib/Controller/ImportRuleController.php:449 +#, fuzzy msgid "Failed to test rule against transactions" -msgstr "" +msgstr "Error al probar la regla con las transacciones" -#: /app/lib/Controller/ImportRuleController.php:466 +#: /app/lib/Controller/ImportRuleController.php:476 +#, fuzzy msgid "Failed to apply rules to transactions" -msgstr "" +msgstr "Error al aplicar las reglas a las transacciones" -#: /app/lib/Controller/ImportRuleController.php:480 +#: /app/lib/Controller/ImportRuleController.php:490 +#, fuzzy msgid "Failed to migrate import rule" -msgstr "" +msgstr "Error al migrar la regla de importación" -#: /app/lib/Controller/ImportRuleController.php:497 +#: /app/lib/Controller/ImportRuleController.php:507 +#, fuzzy msgid "Failed to migrate import rules" -msgstr "" +msgstr "Error al migrar las reglas de importación" -#: /app/lib/Controller/ImportRuleController.php:513 +#: /app/lib/Controller/ImportRuleController.php:523 #: /app/lib/Traits/InputValidationTrait.php:108 msgid "Validation failed" msgstr "" @@ -1463,38 +1646,48 @@ msgid "Failed to update import template" msgstr "" #: /app/lib/Controller/MigrationController.php:67 +#, fuzzy msgid "Failed to export data" -msgstr "" +msgstr "Error al exportar los datos" #: /app/lib/Controller/MigrationController.php:134 +#, fuzzy msgid "" "Import not confirmed. This operation will replace ALL existing data. Pass " "confirmed=true to proceed." msgstr "" +"Importación no confirmada. Esta operación reemplazará TODOS los datos " +"existentes. Pasa confirmed=true para continuar." #: /app/lib/Controller/MigrationController.php:179 +#, fuzzy msgid "Failed to import data" -msgstr "" +msgstr "Error al importar los datos" #: /app/lib/Controller/NetWorthController.php:64 +#, fuzzy msgid "Failed to calculate net worth" -msgstr "" +msgstr "Error al calcular el patrimonio neto" #: /app/lib/Controller/NetWorthController.php:79 +#, fuzzy msgid "Failed to retrieve net worth snapshots" -msgstr "" +msgstr "Error al obtener las instantáneas del patrimonio neto" #: /app/lib/Controller/NetWorthController.php:99 +#, fuzzy msgid "Failed to create net worth snapshot" -msgstr "" +msgstr "Error al crear la instantánea del patrimonio neto" #: /app/lib/Controller/NetWorthController.php:112 +#, fuzzy msgid "Snapshot deleted" -msgstr "" +msgstr "Instantánea eliminada" #: /app/lib/Controller/NetWorthController.php:114 +#, fuzzy msgid "Snapshot" -msgstr "" +msgstr "Instantánea" #: /app/lib/Controller/OnboardingController.php:48 msgid "Failed to load the getting started checklist" @@ -1531,176 +1724,205 @@ msgstr "" msgid "Failed to clear the sample data" msgstr "" -#: /app/lib/Controller/PageController.php:155 +#: /app/lib/Controller/PageController.php:201 #: /app/src/config/dashboardWidgets.js:91 /app/templates/index.php:1025 #: /app/templates/quick-add.php:9 msgid "Quick Add Transaction" msgstr "" -#: /app/lib/Controller/PageController.php:156 /app/templates/quick-add.php:98 +#: /app/lib/Controller/PageController.php:202 /app/templates/quick-add.php:98 msgid "Quick Add" msgstr "" #: /app/lib/Controller/PensionController.php:88 +#, fuzzy msgid "Failed to retrieve pensions" -msgstr "" +msgstr "Error al obtener los planes de pensiones" #: /app/lib/Controller/PensionController.php:100 #: /app/src/modules/transactions/transactionRow.js:76 #: /app/src/utils/formatters.js:269 +#, fuzzy msgid "Pension" -msgstr "" +msgstr "Plan de pensiones" #: /app/lib/Controller/PensionController.php:144 #: /app/lib/Controller/PensionController.php:242 -#, php-format +#, fuzzy, php-format msgid "Invalid pension type. Must be one of: %1$s" -msgstr "" +msgstr "Tipo de pensión no válido. Debe ser uno de: %1$s" #: /app/lib/Controller/PensionController.php:164 #: /app/lib/Controller/PensionController.php:262 +#, fuzzy msgid "Current balance cannot be negative" -msgstr "" +msgstr "El saldo actual no puede ser negativo" #: /app/lib/Controller/PensionController.php:167 #: /app/lib/Controller/PensionController.php:265 +#, fuzzy msgid "Monthly contribution cannot be negative" -msgstr "" +msgstr "La contribución mensual no puede ser negativa" #: /app/lib/Controller/PensionController.php:170 #: /app/lib/Controller/PensionController.php:268 -#, php-format +#, fuzzy, php-format msgid "Expected return rate must be between 0%% and 100%%" -msgstr "" +msgstr "La tasa de rentabilidad esperada debe estar entre 0%% y 100%%" #: /app/lib/Controller/PensionController.php:173 #: /app/lib/Controller/PensionController.php:271 +#, fuzzy msgid "Retirement age must be between 18 and 100" -msgstr "" +msgstr "La edad de jubilación debe estar entre 18 y 100" #: /app/lib/Controller/PensionController.php:176 #: /app/lib/Controller/PensionController.php:274 +#, fuzzy msgid "Annual income cannot be negative" -msgstr "" +msgstr "Los ingresos anuales no pueden ser negativos" #: /app/lib/Controller/PensionController.php:179 #: /app/lib/Controller/PensionController.php:277 +#, fuzzy msgid "Transfer value cannot be negative" -msgstr "" +msgstr "El valor de la transferencia no puede ser negativo" #: /app/lib/Controller/PensionController.php:182 msgid "Projection target cannot be negative" msgstr "" #: /app/lib/Controller/PensionController.php:201 +#, fuzzy msgid "Failed to create pension" -msgstr "" +msgstr "Error al crear el plan de pensiones" -#: /app/lib/Controller/PensionController.php:297 +#: /app/lib/Controller/PensionController.php:299 +#, fuzzy msgid "Failed to update pension" -msgstr "" +msgstr "Error al actualizar el plan de pensiones" -#: /app/lib/Controller/PensionController.php:308 +#: /app/lib/Controller/PensionController.php:310 +#, fuzzy msgid "Pension deleted successfully" -msgstr "" +msgstr "Plan de pensiones eliminado correctamente" -#: /app/lib/Controller/PensionController.php:310 -#: /app/src/modules/pensions/PensionsModule.js:488 +#: /app/lib/Controller/PensionController.php:312 +#: /app/src/modules/pensions/PensionsModule.js:537 +#, fuzzy msgid "Failed to delete pension" -msgstr "" +msgstr "Error al eliminar el plan de pensiones" -#: /app/lib/Controller/PensionController.php:347 +#: /app/lib/Controller/PensionController.php:349 +#, fuzzy msgid "Balance and date are required" -msgstr "" +msgstr "El saldo y la fecha son obligatorios" -#: /app/lib/Controller/PensionController.php:352 +#: /app/lib/Controller/PensionController.php:354 +#, fuzzy msgid "Balance cannot be negative" -msgstr "" +msgstr "El saldo no puede ser negativo" -#: /app/lib/Controller/PensionController.php:393 +#: /app/lib/Controller/PensionController.php:395 +#, fuzzy msgid "Failed to retrieve contributions" -msgstr "" +msgstr "Error al obtener las aportaciones" -#: /app/lib/Controller/PensionController.php:419 -#: /app/lib/Controller/PensionController.php:471 +#: /app/lib/Controller/PensionController.php:421 +#: /app/lib/Controller/PensionController.php:475 +#, fuzzy msgid "Amount and date are required" -msgstr "" +msgstr "El importe y la fecha son obligatorios" -#: /app/lib/Controller/PensionController.php:424 -#: /app/lib/Controller/PensionController.php:474 -#: /app/lib/Controller/PensionController.php:583 +#: /app/lib/Controller/PensionController.php:426 +#: /app/lib/Controller/PensionController.php:478 +#: /app/lib/Controller/PensionController.php:589 +#, fuzzy msgid "Amount must be greater than zero" -msgstr "" +msgstr "El importe debe ser mayor que cero" -#: /app/lib/Controller/PensionController.php:449 +#: /app/lib/Controller/PensionController.php:453 +#, fuzzy msgid "Failed to create contribution" -msgstr "" +msgstr "Error al crear la aportación" -#: /app/lib/Controller/PensionController.php:497 -#: /app/src/modules/pensions/PensionsModule.js:984 +#: /app/lib/Controller/PensionController.php:503 +#: /app/src/modules/pensions/PensionsModule.js:1046 msgid "Failed to record withdrawal" msgstr "" -#: /app/lib/Controller/PensionController.php:508 +#: /app/lib/Controller/PensionController.php:514 +#, fuzzy msgid "Contribution deleted successfully" -msgstr "" +msgstr "Aportación eliminada correctamente" -#: /app/lib/Controller/PensionController.php:510 +#: /app/lib/Controller/PensionController.php:516 +#, fuzzy msgid "Failed to delete contribution" -msgstr "" +msgstr "Error al eliminar la aportación" -#: /app/lib/Controller/PensionController.php:528 +#: /app/lib/Controller/PensionController.php:534 msgid "Failed to retrieve balance history" msgstr "" -#: /app/lib/Controller/PensionController.php:542 +#: /app/lib/Controller/PensionController.php:548 msgid "Failed to retrieve pension activity" msgstr "" -#: /app/lib/Controller/PensionController.php:558 +#: /app/lib/Controller/PensionController.php:564 msgid "Failed to retrieve recurring contributions" msgstr "" -#: /app/lib/Controller/PensionController.php:580 +#: /app/lib/Controller/PensionController.php:586 msgid "Amount, frequency and next date are required" msgstr "" -#: /app/lib/Controller/PensionController.php:586 +#: /app/lib/Controller/PensionController.php:592 msgid "Next date" msgstr "" -#: /app/lib/Controller/PensionController.php:611 +#: /app/lib/Controller/PensionController.php:619 msgid "Failed to create recurring contribution" msgstr "" -#: /app/lib/Controller/PensionController.php:625 +#: /app/lib/Controller/PensionController.php:635 msgid "Failed to update recurring contribution" msgstr "" -#: /app/lib/Controller/PensionController.php:636 +#: /app/lib/Controller/PensionController.php:646 msgid "Recurring contribution deleted" msgstr "" -#: /app/lib/Controller/PensionController.php:638 +#: /app/lib/Controller/PensionController.php:648 msgid "Failed to delete recurring contribution" msgstr "" -#: /app/lib/Controller/PensionController.php:653 -#: /app/src/modules/pensions/PensionsModule.js:1109 +#: /app/lib/Controller/PensionController.php:672 +#: /app/src/modules/pensions/PensionsModule.js:1230 +#, fuzzy msgid "Failed to post contribution" -msgstr "" +msgstr "Error al registrar la aportación" -#: /app/lib/Controller/PensionController.php:669 +#: /app/lib/Controller/PensionController.php:690 +#: /app/src/modules/pensions/PensionsModule.js:1246 +#, fuzzy +msgid "Failed to undo the contribution" +msgstr "Error al eliminar la aportación" + +#: /app/lib/Controller/PensionController.php:706 +#, fuzzy msgid "Failed to retrieve pension summary" -msgstr "" +msgstr "Error al obtener el resumen del plan de pensiones" -#: /app/lib/Controller/PensionController.php:682 +#: /app/lib/Controller/PensionController.php:719 +#, fuzzy msgid "Failed to retrieve pension projection" -msgstr "" +msgstr "Error al obtener la proyección del plan de pensiones" -#: /app/lib/Controller/PensionController.php:695 +#: /app/lib/Controller/PensionController.php:732 +#, fuzzy msgid "Failed to retrieve combined pension projection" -msgstr "" +msgstr "Error al obtener la proyección combinada de pensiones" #: /app/lib/Controller/ProjectController.php:62 #: /app/src/modules/projects/ProjectsModule.js:39 @@ -1715,68 +1937,64 @@ msgstr "" #: /app/lib/Controller/ProjectController.php:107 #: /app/lib/Controller/ProjectController.php:147 -#: /app/lib/Controller/ProjectController.php:203 -#: /app/src/modules/projects/ProjectsModule.js:353 -#: /app/src/modules/projects/ProjectsModule.js:363 +#: /app/lib/Controller/ProjectController.php:205 +#: /app/src/modules/projects/ProjectsModule.js:354 +#: /app/src/modules/projects/ProjectsModule.js:364 msgid "Failed to save the project" msgstr "" -#: /app/lib/Controller/ProjectController.php:163 -msgid "Only the owner can delete this project" -msgstr "" - -#: /app/lib/Controller/ProjectController.php:172 -#: /app/src/modules/projects/ProjectsModule.js:201 -#: /app/src/modules/projects/ProjectsModule.js:207 +#: /app/lib/Controller/ProjectController.php:173 +#: /app/src/modules/projects/ProjectsModule.js:202 +#: /app/src/modules/projects/ProjectsModule.js:208 msgid "Failed to delete the project" msgstr "" -#: /app/lib/Controller/ProjectController.php:186 +#: /app/lib/Controller/ProjectController.php:188 msgid "Project" msgstr "" -#: /app/lib/Controller/ProjectController.php:193 -#: /app/src/modules/projects/ProjectsModule.js:332 +#: /app/lib/Controller/ProjectController.php:195 +#: /app/src/modules/projects/ProjectsModule.js:333 msgid "Enter a name for the project" msgstr "" -#: /app/lib/Controller/ProjectController.php:194 -#: /app/src/modules/projects/ProjectsModule.js:334 +#: /app/lib/Controller/ProjectController.php:196 +#: /app/src/modules/projects/ProjectsModule.js:335 msgid "The total must be more than zero" msgstr "" -#: /app/lib/Controller/ProjectController.php:195 +#: /app/lib/Controller/ProjectController.php:197 msgid "Choose one of your own expense categories" msgstr "" -#: /app/lib/Controller/ProjectController.php:196 -#: /app/src/modules/projects/ProjectsModule.js:335 +#: /app/lib/Controller/ProjectController.php:198 +#: /app/src/modules/projects/ProjectsModule.js:336 msgid "Enter a start date for the project" msgstr "" -#: /app/lib/Controller/ProjectController.php:197 -#: /app/src/modules/projects/ProjectsModule.js:336 +#: /app/lib/Controller/ProjectController.php:199 +#: /app/src/modules/projects/ProjectsModule.js:337 msgid "The end date cannot be before the start date" msgstr "" -#: /app/lib/Controller/ProjectController.php:198 +#: /app/lib/Controller/ProjectController.php:200 msgid "Every subcategory amount must be more than zero" msgstr "" -#: /app/lib/Controller/ProjectController.php:199 +#: /app/lib/Controller/ProjectController.php:201 msgid "Amounts can only go to subcategories of the project category" msgstr "" -#: /app/lib/Controller/ProjectController.php:200 +#: /app/lib/Controller/ProjectController.php:202 msgid "Each subcategory can only have one amount" msgstr "" -#: /app/lib/Controller/ProjectController.php:201 +#: /app/lib/Controller/ProjectController.php:203 msgid "A subcategory and one of its own subcategories cannot both have amounts" msgstr "" -#: /app/lib/Controller/ProjectController.php:202 -#: /app/src/modules/projects/ProjectsModule.js:338 +#: /app/lib/Controller/ProjectController.php:204 +#: /app/src/modules/projects/ProjectsModule.js:339 msgid "The subcategory amounts add up to more than the total" msgstr "" @@ -1795,76 +2013,93 @@ msgid "" msgstr "" #: /app/lib/Controller/ReconciliationController.php:58 +#, fuzzy msgid "Failed to load reconciliation session" -msgstr "" +msgstr "Error al cargar la sesión de conciliación" #: /app/lib/Controller/ReconciliationController.php:73 +#, fuzzy msgid "A reconciliation is already in progress for this account" -msgstr "" +msgstr "Ya hay una conciliación en curso para esta cuenta" #: /app/lib/Controller/ReconciliationController.php:159 +#, fuzzy msgid "Failed to load reconciliation history" -msgstr "" +msgstr "Error al cargar el historial de conciliación" -#: /app/lib/Controller/RecurringIncomeController.php:76 +#: /app/lib/Controller/RecurringIncomeController.php:80 +#, fuzzy msgid "Failed to retrieve recurring income" -msgstr "" +msgstr "Error al obtener los ingresos recurrentes" -#: /app/lib/Controller/RecurringIncomeController.php:89 -#: /app/lib/Controller/RecurringIncomeController.php:103 -#: /app/lib/Controller/RecurringIncomeController.php:339 -#: /app/lib/Controller/RecurringIncomeController.php:354 -#: /app/lib/Controller/RecurringIncomeController.php:411 -#: /app/lib/Controller/RecurringIncomeController.php:428 -#: /app/lib/Controller/RecurringIncomeController.php:450 -#: /app/lib/Service/AccountClosureService.php:81 +#: /app/lib/Controller/RecurringIncomeController.php:93 +#: /app/lib/Controller/RecurringIncomeController.php:109 +#: /app/lib/Controller/RecurringIncomeController.php:348 +#: /app/lib/Controller/RecurringIncomeController.php:367 +#: /app/lib/Controller/RecurringIncomeController.php:430 +#: /app/lib/Controller/RecurringIncomeController.php:447 +#: /app/lib/Controller/RecurringIncomeController.php:464 +#: /app/lib/Controller/RecurringIncomeController.php:486 +#: /app/lib/Service/AccountClosureService.php:82 +#, fuzzy msgid "Recurring income" -msgstr "" +msgstr "Ingresos recurrentes" -#: /app/lib/Controller/RecurringIncomeController.php:171 -#: /app/lib/Controller/RecurringIncomeController.php:297 +#: /app/lib/Controller/RecurringIncomeController.php:177 +#: /app/lib/Controller/RecurringIncomeController.php:303 +#: /app/lib/Controller/RecurringIncomeController.php:577 +#, fuzzy msgid "Expected day must be between 1 and 31" -msgstr "" +msgstr "El día esperado debe estar entre 1 y 31" -#: /app/lib/Controller/RecurringIncomeController.php:176 -#: /app/lib/Controller/RecurringIncomeController.php:304 +#: /app/lib/Controller/RecurringIncomeController.php:182 +#: /app/lib/Controller/RecurringIncomeController.php:310 +#: /app/lib/Controller/RecurringIncomeController.php:580 +#, fuzzy msgid "Expected month must be between 1 and 12" -msgstr "" +msgstr "El mes esperado debe estar entre 1 y 12" -#: /app/lib/Controller/RecurringIncomeController.php:236 +#: /app/lib/Controller/RecurringIncomeController.php:242 +#, fuzzy msgid "Failed to create recurring income" -msgstr "" +msgstr "Error al crear los ingresos recurrentes" -#: /app/lib/Controller/RecurringIncomeController.php:264 +#: /app/lib/Controller/RecurringIncomeController.php:270 +#, fuzzy msgid "No data provided" -msgstr "" +msgstr "No se han proporcionado datos" -#: /app/lib/Controller/RecurringIncomeController.php:352 +#: /app/lib/Controller/RecurringIncomeController.php:365 +#, fuzzy msgid "Recurring income deleted" -msgstr "" +msgstr "Ingresos recurrentes eliminados" -#: /app/lib/Controller/RecurringIncomeController.php:367 +#: /app/lib/Controller/RecurringIncomeController.php:380 +#, fuzzy msgid "Failed to retrieve upcoming income" -msgstr "" +msgstr "Error al obtener los ingresos próximos" -#: /app/lib/Controller/RecurringIncomeController.php:380 +#: /app/lib/Controller/RecurringIncomeController.php:393 +#, fuzzy msgid "Failed to retrieve expected income" -msgstr "" +msgstr "Error al obtener los ingresos esperados" -#: /app/lib/Controller/RecurringIncomeController.php:393 +#: /app/lib/Controller/RecurringIncomeController.php:406 +#, fuzzy msgid "Failed to retrieve income summary" -msgstr "" +msgstr "Error al obtener el resumen de ingresos" -#: /app/lib/Controller/RecurringIncomeController.php:442 +#: /app/lib/Controller/RecurringIncomeController.php:478 msgid "Previous expected date" msgstr "" -#: /app/lib/Controller/RecurringIncomeController.php:463 -#: /app/src/modules/income/IncomeModule.js:712 +#: /app/lib/Controller/RecurringIncomeController.php:499 +#: /app/src/modules/income/IncomeModule.js:719 +#, fuzzy msgid "Failed to detect recurring income" -msgstr "" +msgstr "Error al detectar los ingresos recurrentes" -#: /app/lib/Controller/RecurringIncomeController.php:496 +#: /app/lib/Controller/RecurringIncomeController.php:545 msgid "Failed to create recurring income from detected patterns" msgstr "" @@ -1885,7 +2120,7 @@ msgid "Failed to generate income and expenses report" msgstr "" #: /app/lib/Controller/ReportController.php:226 -#: /app/src/modules/reports/ReportsModule.js:1611 +#: /app/src/modules/reports/ReportsModule.js:1612 msgid "Failed to export report" msgstr "" @@ -1922,27 +2157,32 @@ msgid "Failed to generate tag set breakdown" msgstr "" #: /app/lib/Controller/ReportController.php:556 +#, fuzzy msgid "Failed to generate category monthly report" -msgstr "" +msgstr "Error al generar el informe mensual de categorías" #: /app/lib/Controller/SavedReportController.php:48 +#, fuzzy msgid "Failed to load saved reports" -msgstr "" +msgstr "Error al cargar los informes guardados" #: /app/lib/Controller/SavedReportController.php:63 #: /app/src/modules/reports/ReportsModule.js:381 #: /app/src/modules/reports/ReportsModule.js:387 +#, fuzzy msgid "Failed to save report" -msgstr "" +msgstr "Error al guardar el informe" #: /app/lib/Controller/SavedReportController.php:79 +#, fuzzy msgid "Failed to update saved report" -msgstr "" +msgstr "Error al actualizar el informe guardado" #: /app/lib/Controller/SavedReportController.php:93 #: /app/src/modules/reports/ReportsModule.js:411 +#, fuzzy msgid "Failed to delete saved report" -msgstr "" +msgstr "Error al eliminar el informe guardado" #: /app/lib/Controller/SettingController.php:103 msgid "Failed to retrieve settings" @@ -2009,57 +2249,57 @@ msgid "Monday" msgstr "" #: /app/lib/Controller/SettingController.php:321 -#: /app/src/modules/bills/BillsModule.js:331 -#: /app/src/modules/categories/CategoriesModule.js:2360 -#: /app/src/modules/income/IncomeModule.js:110 -#: /app/src/modules/transfers/TransfersModule.js:330 -#: /app/src/modules/transfers/TransfersModule.js:503 -#: /app/src/modules/transfers/TransfersModule.js:1103 +#: /app/src/modules/bills/BillsModule.js:319 +#: /app/src/modules/categories/CategoriesModule.js:2422 +#: /app/src/modules/income/IncomeModule.js:98 +#: /app/src/modules/transfers/TransfersModule.js:316 +#: /app/src/modules/transfers/TransfersModule.js:478 +#: /app/src/modules/transfers/TransfersModule.js:1120 #: /app/templates/index.php:4435 /app/templates/index.php:4594 -#: /app/templates/index.php:6188 /app/templates/index.php:6678 +#: /app/templates/index.php:6188 /app/templates/index.php:6679 msgid "Weekly" msgstr "" #: /app/lib/Controller/SettingController.php:322 -#: /app/src/modules/accounts/AccountsModule.js:1368 -#: /app/src/modules/bills/BillsModule.js:334 -#: /app/src/modules/categories/CategoriesModule.js:2359 -#: /app/src/modules/income/IncomeModule.js:113 -#: /app/src/modules/pensions/PensionsModule.js:1026 -#: /app/src/modules/transfers/TransfersModule.js:333 -#: /app/src/modules/transfers/TransfersModule.js:506 -#: /app/src/modules/transfers/TransfersModule.js:1106 +#: /app/src/modules/accounts/AccountsModule.js:1371 +#: /app/src/modules/bills/BillsModule.js:322 +#: /app/src/modules/categories/CategoriesModule.js:2421 +#: /app/src/modules/income/IncomeModule.js:101 +#: /app/src/modules/pensions/PensionsModule.js:1098 +#: /app/src/modules/transfers/TransfersModule.js:319 +#: /app/src/modules/transfers/TransfersModule.js:481 +#: /app/src/modules/transfers/TransfersModule.js:1123 #: /app/templates/index.php:4436 /app/templates/index.php:4595 #: /app/templates/index.php:5529 /app/templates/index.php:6088 -#: /app/templates/index.php:6191 /app/templates/index.php:6681 +#: /app/templates/index.php:6191 /app/templates/index.php:6682 msgid "Monthly" msgstr "" #: /app/lib/Controller/SettingController.php:323 -#: /app/src/modules/bills/BillsModule.js:335 -#: /app/src/modules/categories/CategoriesModule.js:2361 -#: /app/src/modules/income/IncomeModule.js:114 -#: /app/src/modules/pensions/PensionsModule.js:1027 -#: /app/src/modules/transfers/TransfersModule.js:334 -#: /app/src/modules/transfers/TransfersModule.js:507 -#: /app/src/modules/transfers/TransfersModule.js:1107 +#: /app/src/modules/bills/BillsModule.js:323 +#: /app/src/modules/categories/CategoriesModule.js:2423 +#: /app/src/modules/income/IncomeModule.js:102 +#: /app/src/modules/pensions/PensionsModule.js:1099 +#: /app/src/modules/transfers/TransfersModule.js:320 +#: /app/src/modules/transfers/TransfersModule.js:482 +#: /app/src/modules/transfers/TransfersModule.js:1124 #: /app/templates/index.php:4437 /app/templates/index.php:5530 -#: /app/templates/index.php:6192 /app/templates/index.php:6682 +#: /app/templates/index.php:6192 /app/templates/index.php:6683 msgid "Quarterly" msgstr "" #: /app/lib/Controller/SettingController.php:324 -#: /app/src/modules/accounts/AccountsModule.js:1369 -#: /app/src/modules/bills/BillsModule.js:337 -#: /app/src/modules/categories/CategoriesModule.js:2362 -#: /app/src/modules/income/IncomeModule.js:116 -#: /app/src/modules/pensions/PensionsModule.js:1028 -#: /app/src/modules/transfers/TransfersModule.js:336 -#: /app/src/modules/transfers/TransfersModule.js:508 -#: /app/src/modules/transfers/TransfersModule.js:1109 +#: /app/src/modules/accounts/AccountsModule.js:1372 +#: /app/src/modules/bills/BillsModule.js:325 +#: /app/src/modules/categories/CategoriesModule.js:2424 +#: /app/src/modules/income/IncomeModule.js:104 +#: /app/src/modules/pensions/PensionsModule.js:1100 +#: /app/src/modules/transfers/TransfersModule.js:322 +#: /app/src/modules/transfers/TransfersModule.js:484 +#: /app/src/modules/transfers/TransfersModule.js:1126 #: /app/templates/index.php:4438 /app/templates/index.php:5531 #: /app/templates/index.php:6089 /app/templates/index.php:6194 -#: /app/templates/index.php:6684 +#: /app/templates/index.php:6685 msgid "Yearly" msgstr "" @@ -2068,12 +2308,14 @@ msgid "Budget app initialized successfully" msgstr "" #: /app/lib/Controller/SetupController.php:70 +#, fuzzy msgid "Failed to initialize budget app" -msgstr "" +msgstr "Error al inicializar la aplicación de presupuestos" #: /app/lib/Controller/SetupController.php:88 +#, fuzzy msgid "Failed to get setup status" -msgstr "" +msgstr "Error al obtener el estado de la configuración" #: /app/lib/Controller/SetupController.php:102 #, php-format @@ -2081,8 +2323,9 @@ msgid "%1$s duplicate categories removed" msgstr "" #: /app/lib/Controller/SetupController.php:105 +#, fuzzy msgid "Failed to remove duplicate categories" -msgstr "" +msgstr "Error al eliminar las categorías duplicadas" #: /app/lib/Controller/SetupController.php:120 #, php-format @@ -2090,8 +2333,9 @@ msgid "Reset complete: deleted %1$s, created %2$s" msgstr "" #: /app/lib/Controller/SetupController.php:123 +#, fuzzy msgid "Failed to reset categories" -msgstr "" +msgstr "Error al restablecer las categorías" #: /app/lib/Controller/SetupController.php:140 msgid "" @@ -2099,105 +2343,125 @@ msgid "" "delete ALL your data." msgstr "" -#: /app/lib/Controller/SetupController.php:158 /app/src/main.js:2144 +#: /app/lib/Controller/SetupController.php:158 /app/src/main.js:2177 #: /app/src/modules/settings/SettingsModule.js:605 msgid "Factory reset completed successfully. All data has been deleted." msgstr "" -#: /app/lib/Controller/SetupController.php:162 /app/src/main.js:2137 +#: /app/lib/Controller/SetupController.php:162 /app/src/main.js:2170 #: /app/src/modules/settings/SettingsModule.js:598 msgid "Factory reset failed" msgstr "" #: /app/lib/Controller/SetupController.php:186 +#, fuzzy msgid "Balance recalculation failed" -msgstr "" +msgstr "Error al recalcular el saldo" -#: /app/lib/Controller/SetupController.php:201 /app/src/main.js:1739 +#: /app/lib/Controller/SetupController.php:201 /app/src/main.js:1742 +#, fuzzy msgid "Diagnosis failed" -msgstr "" +msgstr "Error en el diagnóstico" #: /app/lib/Controller/SetupController.php:218 +#, fuzzy msgid "No repair categories specified" -msgstr "" +msgstr "No se han especificado categorías de reparación" #: /app/lib/Controller/SetupController.php:229 +#, fuzzy msgid "No valid repair categories specified" -msgstr "" +msgstr "No se han especificado categorías de reparación válidas" -#: /app/lib/Controller/SetupController.php:256 /app/src/main.js:2004 +#: /app/lib/Controller/SetupController.php:264 /app/src/main.js:2037 +#, fuzzy msgid "Repair failed" -msgstr "" +msgstr "Error en la reparación" -#: /app/lib/Controller/SetupController.php:371 +#: /app/lib/Controller/SetupController.php:379 +#, fuzzy msgid "Failed to get system info" -msgstr "" +msgstr "Error al obtener la información del sistema" -#: /app/lib/Controller/ShareController.php:58 -#: /app/lib/Controller/ShareController.php:72 +#: /app/lib/Controller/ShareController.php:61 +#: /app/lib/Controller/ShareController.php:75 +#, fuzzy msgid "Failed to retrieve shares" -msgstr "" +msgstr "Error al obtener los elementos compartidos" -#: /app/lib/Controller/ShareController.php:86 +#: /app/lib/Controller/ShareController.php:89 +#, fuzzy msgid "Failed to retrieve pending shares" -msgstr "" +msgstr "Error al obtener los elementos compartidos pendientes" -#: /app/lib/Controller/ShareController.php:103 +#: /app/lib/Controller/ShareController.php:106 +#, fuzzy msgid "Failed to create share" -msgstr "" - -#: /app/lib/Controller/ShareController.php:119 -#: /app/lib/Controller/ShareController.php:137 -#: /app/lib/Controller/ShareController.php:155 -#: /app/lib/Controller/ShareController.php:173 -#: /app/lib/Controller/ShareController.php:198 -#: /app/lib/Controller/ShareController.php:232 +msgstr "Error al crear el elemento compartido" + +#: /app/lib/Controller/ShareController.php:122 +#: /app/lib/Controller/ShareController.php:140 +#: /app/lib/Controller/ShareController.php:160 +#: /app/lib/Controller/ShareController.php:179 +#: /app/lib/Controller/ShareController.php:204 +#: /app/lib/Controller/ShareController.php:241 +#, fuzzy msgid "Share" -msgstr "" +msgstr "Compartir" -#: /app/lib/Controller/ShareController.php:121 -#: /app/src/modules/sharing/SharingModule.js:413 +#: /app/lib/Controller/ShareController.php:124 +#: /app/src/modules/sharing/SharingModule.js:419 +#, fuzzy msgid "Failed to accept share" -msgstr "" +msgstr "Error al aceptar el elemento compartido" -#: /app/lib/Controller/ShareController.php:139 -#: /app/src/modules/sharing/SharingModule.js:421 +#: /app/lib/Controller/ShareController.php:142 +#: /app/src/modules/sharing/SharingModule.js:427 +#, fuzzy msgid "Failed to decline share" -msgstr "" +msgstr "Error al rechazar el elemento compartido" -#: /app/lib/Controller/ShareController.php:157 -#: /app/src/modules/sharing/SharingModule.js:431 +#: /app/lib/Controller/ShareController.php:162 +#: /app/src/modules/sharing/SharingModule.js:437 +#, fuzzy msgid "Failed to revoke share" -msgstr "" +msgstr "Error al revocar el elemento compartido" -#: /app/lib/Controller/ShareController.php:175 -#: /app/src/modules/sharing/SharingModule.js:441 +#: /app/lib/Controller/ShareController.php:181 +#: /app/src/modules/sharing/SharingModule.js:447 +#, fuzzy msgid "Failed to leave share" -msgstr "" +msgstr "Error al salir del elemento compartido" -#: /app/lib/Controller/ShareController.php:192 +#: /app/lib/Controller/ShareController.php:198 +#, fuzzy msgid "Share not found" -msgstr "" +msgstr "Elemento compartido no encontrado" -#: /app/lib/Controller/ShareController.php:200 +#: /app/lib/Controller/ShareController.php:206 +#, fuzzy msgid "Failed to retrieve share configuration" -msgstr "" +msgstr "Error al obtener la configuración de uso compartido" -#: /app/lib/Controller/ShareController.php:216 +#: /app/lib/Controller/ShareController.php:222 +#, fuzzy msgid "Invalid entity IDs" -msgstr "" +msgstr "ID de entidad no válidos" -#: /app/lib/Controller/ShareController.php:234 +#: /app/lib/Controller/ShareController.php:243 +#, fuzzy msgid "Failed to update share configuration" -msgstr "" +msgstr "Error al actualizar la configuración de uso compartido" -#: /app/lib/Controller/ShareController.php:255 +#: /app/lib/Controller/ShareController.php:264 +#, fuzzy msgid "Failed to retrieve auto-share configuration" -msgstr "" +msgstr "Error al obtener la configuración de uso compartido automático" -#: /app/lib/Controller/ShareController.php:274 +#: /app/lib/Controller/ShareController.php:283 +#, fuzzy msgid "Failed to update auto-share configuration" -msgstr "" +msgstr "Error al actualizar la configuración de uso compartido automático" #: /app/lib/Controller/SharedExpenseController.php:69 msgid "Failed to get contacts" @@ -2205,8 +2469,9 @@ msgstr "" #: /app/lib/Controller/SharedExpenseController.php:91 #: /app/src/utils/userPicker.js:114 +#, fuzzy msgid "Nextcloud user not found" -msgstr "" +msgstr "Usuario de Nextcloud no encontrado" #: /app/lib/Controller/SharedExpenseController.php:109 msgid "Failed to create contact" @@ -2230,17 +2495,20 @@ msgid "Failed to get balances" msgstr "" #: /app/lib/Controller/SharedExpenseController.php:267 +#, fuzzy msgid "Failed to get shared expenses" -msgstr "" +msgstr "Error al obtener los gastos compartidos" #: /app/lib/Controller/SharedExpenseController.php:289 +#, fuzzy msgid "Failed to get shared transactions" -msgstr "" +msgstr "Error al obtener las transacciones compartidas" #: /app/lib/Controller/SharedExpenseController.php:321 #: /app/lib/Controller/SharedExpenseController.php:348 +#, fuzzy msgid "This transaction is already shared with this contact" -msgstr "" +msgstr "Esta transacción ya se ha compartido con este contacto" #: /app/lib/Controller/SharedExpenseController.php:330 msgid "Failed to share expense" @@ -2296,8 +2564,9 @@ msgstr "" #: /app/lib/Controller/SharedExpenseController.php:507 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:585 +#, fuzzy msgid "Please select at least one expense to settle" -msgstr "" +msgstr "Seleccione al menos un gasto para liquidar" #: /app/lib/Controller/SharedExpenseController.php:522 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:607 @@ -2400,129 +2669,130 @@ msgstr "" msgid "Failed to delete global tag" msgstr "" -#: /app/lib/Controller/TransactionController.php:248 -#: /app/src/modules/accounts/AccountsModule.js:3451 -#: /app/src/modules/transactions/TransactionsModule.js:957 +#: /app/lib/Controller/TransactionController.php:251 +#: /app/src/modules/accounts/AccountsModule.js:3461 +#: /app/src/modules/transactions/TransactionsModule.js:983 msgid "Failed to export transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:281 -#: /app/lib/Controller/TransactionController.php:536 -#: /app/lib/Controller/TransactionController.php:608 -#: /app/lib/Controller/TransactionController.php:639 -#: /app/lib/Controller/TransactionController.php:667 -#: /app/lib/Controller/TransactionController.php:922 -#: /app/lib/Controller/TransactionController.php:964 -#: /app/lib/Controller/TransactionController.php:981 -#: /app/lib/Controller/TransactionController.php:1026 /app/src/main.js:1895 -#: /app/src/modules/dashboard/DashboardModule.js:1328 +#: /app/lib/Controller/TransactionController.php:284 +#: /app/lib/Controller/TransactionController.php:539 +#: /app/lib/Controller/TransactionController.php:614 +#: /app/lib/Controller/TransactionController.php:645 +#: /app/lib/Controller/TransactionController.php:673 +#: /app/lib/Controller/TransactionController.php:942 +#: /app/lib/Controller/TransactionController.php:984 +#: /app/lib/Controller/TransactionController.php:1001 +#: /app/lib/Controller/TransactionController.php:1046 /app/src/main.js:1922 +#: /app/src/modules/dashboard/DashboardModule.js:1387 #: /app/templates/index.php:5803 msgid "Transaction" msgstr "" -#: /app/lib/Controller/TransactionController.php:480 +#: /app/lib/Controller/TransactionController.php:483 +#, fuzzy msgid "Invalid status. Must be cleared, scheduled or pending" -msgstr "" +msgstr "Estado no válido. Debe ser liquidado, programado o pendiente" -#: /app/lib/Controller/TransactionController.php:511 -#: /app/src/modules/transactions/TransactionsModule.js:5096 +#: /app/lib/Controller/TransactionController.php:514 +#: /app/src/modules/transactions/TransactionsModule.js:5147 msgid "Failed to update transaction" msgstr "" -#: /app/lib/Controller/TransactionController.php:548 +#: /app/lib/Controller/TransactionController.php:551 msgid "Failed to search transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:560 +#: /app/lib/Controller/TransactionController.php:563 msgid "Failed to retrieve uncategorized transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:573 +#: /app/lib/Controller/TransactionController.php:576 msgid "Failed to categorize transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:689 /app/src/main.js:3518 -#: /app/src/modules/transactions/TransactionsModule.js:3690 +#: /app/lib/Controller/TransactionController.php:698 /app/src/main.js:3552 +#: /app/src/modules/transactions/TransactionsModule.js:3741 msgid "Failed to unlink transaction" msgstr "" -#: /app/lib/Controller/TransactionController.php:706 +#: /app/lib/Controller/TransactionController.php:726 msgid "Failed to bulk match transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:721 +#: /app/lib/Controller/TransactionController.php:741 msgid "Failed to scan for matches" msgstr "" -#: /app/lib/Controller/TransactionController.php:737 +#: /app/lib/Controller/TransactionController.php:757 msgid "No valid pairs provided" msgstr "" -#: /app/lib/Controller/TransactionController.php:743 +#: /app/lib/Controller/TransactionController.php:763 msgid "Failed to bulk link transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:756 -#: /app/lib/Controller/TransactionController.php:775 -#: /app/lib/Controller/TransactionController.php:794 -#: /app/lib/Controller/TransactionController.php:865 -#: /app/lib/Controller/TransactionController.php:898 +#: /app/lib/Controller/TransactionController.php:776 +#: /app/lib/Controller/TransactionController.php:795 +#: /app/lib/Controller/TransactionController.php:814 +#: /app/lib/Controller/TransactionController.php:885 +#: /app/lib/Controller/TransactionController.php:918 msgid "No transaction IDs provided" msgstr "" -#: /app/lib/Controller/TransactionController.php:762 -#: /app/src/modules/transactions/TransactionsModule.js:1092 +#: /app/lib/Controller/TransactionController.php:782 +#: /app/src/modules/transactions/TransactionsModule.js:1118 msgid "Failed to delete transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:781 +#: /app/lib/Controller/TransactionController.php:801 msgid "Failed to update reconcile status" msgstr "" -#: /app/lib/Controller/TransactionController.php:798 +#: /app/lib/Controller/TransactionController.php:818 msgid "No update fields provided" msgstr "" -#: /app/lib/Controller/TransactionController.php:806 +#: /app/lib/Controller/TransactionController.php:826 #, php-format msgid "Invalid fields: %1$s" msgstr "" -#: /app/lib/Controller/TransactionController.php:847 +#: /app/lib/Controller/TransactionController.php:867 msgid "Failed to bulk edit transactions" msgstr "" -#: /app/lib/Controller/TransactionController.php:869 +#: /app/lib/Controller/TransactionController.php:889 msgid "No tags provided" msgstr "" -#: /app/lib/Controller/TransactionController.php:881 +#: /app/lib/Controller/TransactionController.php:901 msgid "Failed to update transaction tags" msgstr "" -#: /app/lib/Controller/TransactionController.php:908 +#: /app/lib/Controller/TransactionController.php:928 msgid "Failed to load tag options" msgstr "" -#: /app/lib/Controller/TransactionController.php:937 +#: /app/lib/Controller/TransactionController.php:957 msgid "Invalid splits data" msgstr "" -#: /app/lib/Controller/TransactionController.php:952 +#: /app/lib/Controller/TransactionController.php:972 #, php-format msgid "Split %1$s: amount is required" msgstr "" -#: /app/lib/Controller/TransactionController.php:955 +#: /app/lib/Controller/TransactionController.php:975 #, php-format msgid "Split %1$s: amount cannot be zero" msgstr "" -#: /app/lib/Controller/TransactionController.php:1004 -#: /app/src/modules/bills/BillsModule.js:364 -#: /app/src/modules/dashboard/DashboardModule.js:1284 -#: /app/src/modules/rules/RulesModule.js:986 -#: /app/src/modules/transactions/TransactionsModule.js:5249 +#: /app/lib/Controller/TransactionController.php:1024 +#: /app/src/modules/bills/BillsModule.js:353 +#: /app/src/modules/dashboard/DashboardModule.js:1343 +#: /app/src/modules/rules/RulesModule.js:1001 +#: /app/src/modules/transactions/TransactionsModule.js:5300 #: /app/src/modules/transactions/transactionRow.js:68 #: /app/src/modules/transactions/transactionRow.js:182 #: /app/src/modules/transactions/transactionRow.js:224 @@ -2530,15 +2800,15 @@ msgstr "" msgid "Split" msgstr "" -#: /app/lib/Controller/TransactionController.php:1052 +#: /app/lib/Controller/TransactionController.php:1072 msgid "Failed to set transaction tags" msgstr "" -#: /app/lib/Controller/TransactionController.php:1067 +#: /app/lib/Controller/TransactionController.php:1087 msgid "Failed to clear transaction tags" msgstr "" -#: /app/lib/Controller/TransactionController.php:1085 +#: /app/lib/Controller/TransactionController.php:1105 msgid "Failed to find duplicates" msgstr "" @@ -2568,7 +2838,7 @@ msgstr "" #: /app/lib/Controller/YearOverYearController.php:238 #: /app/lib/Service/Report/ReportExporter.php:306 -#: /app/lib/Service/Report/ReportExporter.php:543 /app/src/main.js:2736 +#: /app/lib/Service/Report/ReportExporter.php:543 /app/src/main.js:2770 #: /app/templates/index.php:3486 /app/templates/index.php:3535 msgid "Month" msgstr "" @@ -2593,28 +2863,28 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:544 #: /app/lib/Service/Report/ReportExporter.php:594 #: /app/src/core/KeyboardShortcuts.js:354 -#: /app/src/modules/categories/CategoriesModule.js:763 -#: /app/src/modules/categories/CategoriesModule.js:905 -#: /app/src/modules/categories/CategoriesModule.js:1675 -#: /app/src/modules/dashboard/DashboardModule.js:2329 -#: /app/src/modules/dashboard/DashboardModule.js:2857 -#: /app/src/modules/dashboard/DashboardModule.js:3182 -#: /app/src/modules/dashboard/DashboardModule.js:3245 -#: /app/src/modules/dashboard/DashboardModule.js:5497 +#: /app/src/modules/categories/CategoriesModule.js:771 +#: /app/src/modules/categories/CategoriesModule.js:913 +#: /app/src/modules/categories/CategoriesModule.js:1715 +#: /app/src/modules/dashboard/DashboardModule.js:2492 +#: /app/src/modules/dashboard/DashboardModule.js:3054 +#: /app/src/modules/dashboard/DashboardModule.js:3379 +#: /app/src/modules/dashboard/DashboardModule.js:3442 +#: /app/src/modules/dashboard/DashboardModule.js:5751 #: /app/src/modules/help/HelpModule.js:33 #: /app/src/modules/reports/ReportsModule.js:751 -#: /app/src/modules/reports/ReportsModule.js:1144 -#: /app/src/modules/reports/ReportsModule.js:1450 -#: /app/src/modules/reports/ReportsModule.js:1466 -#: /app/src/modules/reports/ReportsModule.js:1511 -#: /app/src/modules/rules/components/ActionBuilder.js:327 +#: /app/src/modules/reports/ReportsModule.js:1145 +#: /app/src/modules/reports/ReportsModule.js:1451 +#: /app/src/modules/reports/ReportsModule.js:1467 +#: /app/src/modules/reports/ReportsModule.js:1512 +#: /app/src/modules/rules/components/ActionBuilder.js:418 #: /app/src/modules/rules/components/CriteriaBuilder.js:218 #: /app/templates/index.php:103 /app/templates/index.php:1047 #: /app/templates/index.php:1472 /app/templates/index.php:1636 #: /app/templates/index.php:1878 /app/templates/index.php:2224 #: /app/templates/index.php:3324 /app/templates/index.php:3342 #: /app/templates/index.php:3487 /app/templates/index.php:5811 -#: /app/templates/index.php:5817 /app/templates/index.php:6813 +#: /app/templates/index.php:5817 /app/templates/index.php:6814 #: /app/templates/quick-add.php:35 msgid "Income" msgstr "" @@ -2627,24 +2897,24 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:470 #: /app/lib/Service/Report/ReportExporter.php:545 #: /app/lib/Service/Report/ReportExporter.php:596 -#: /app/src/modules/dashboard/DashboardModule.js:2334 -#: /app/src/modules/dashboard/DashboardModule.js:2866 -#: /app/src/modules/dashboard/DashboardModule.js:3183 -#: /app/src/modules/dashboard/DashboardModule.js:3252 +#: /app/src/modules/dashboard/DashboardModule.js:2497 +#: /app/src/modules/dashboard/DashboardModule.js:3063 +#: /app/src/modules/dashboard/DashboardModule.js:3380 +#: /app/src/modules/dashboard/DashboardModule.js:3449 #: /app/src/modules/reports/ReportsModule.js:758 -#: /app/src/modules/reports/ReportsModule.js:1152 -#: /app/src/modules/reports/ReportsModule.js:1453 -#: /app/src/modules/reports/ReportsModule.js:1470 -#: /app/src/modules/reports/ReportsModule.js:1518 /app/templates/index.php:1875 +#: /app/src/modules/reports/ReportsModule.js:1153 +#: /app/src/modules/reports/ReportsModule.js:1454 +#: /app/src/modules/reports/ReportsModule.js:1471 +#: /app/src/modules/reports/ReportsModule.js:1519 /app/templates/index.php:1875 #: /app/templates/index.php:2221 /app/templates/index.php:3325 #: /app/templates/index.php:3360 /app/templates/index.php:3488 msgid "Expenses" msgstr "" #: /app/lib/Controller/YearOverYearController.php:250 -#: /app/src/modules/dashboard/DashboardModule.js:1038 -#: /app/src/modules/dashboard/DashboardModule.js:2248 -#: /app/src/modules/reports/ReportsModule.js:1474 +#: /app/src/modules/dashboard/DashboardModule.js:1097 +#: /app/src/modules/dashboard/DashboardModule.js:2411 +#: /app/src/modules/reports/ReportsModule.js:1475 #: /app/src/utils/formatters.js:263 msgid "Savings" msgstr "" @@ -2657,7 +2927,7 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:573 #: /app/lib/Service/Report/ReportExporter.php:616 #: /app/src/core/KeyboardShortcuts.js:350 -#: /app/src/modules/dashboard/DashboardModule.js:5496 +#: /app/src/modules/dashboard/DashboardModule.js:5750 #: /app/src/modules/help/HelpModule.js:29 /app/templates/index.php:63 #: /app/templates/index.php:1422 /app/templates/index.php:1572 #: /app/templates/index.php:2002 /app/templates/index.php:2596 @@ -2686,17 +2956,17 @@ msgstr "" #: /app/lib/Controller/YearOverYearController.php:295 #: /app/lib/Controller/YearOverYearController.php:403 #: /app/lib/Service/Report/ReportExporter.php:224 -#: /app/lib/Service/Report/ReportExporter.php:229 /app/src/main.js:2304 -#: /app/src/main.js:2307 /app/src/main.js:3353 -#: /app/src/modules/accounts/AccountsModule.js:3348 -#: /app/src/modules/dashboard/DashboardModule.js:2357 -#: /app/src/modules/dashboard/DashboardModule.js:2435 -#: /app/src/modules/dashboard/DashboardModule.js:2578 -#: /app/src/modules/dashboard/DashboardModule.js:2717 +#: /app/lib/Service/Report/ReportExporter.php:229 /app/src/main.js:2337 +#: /app/src/main.js:2340 /app/src/main.js:3387 +#: /app/src/modules/accounts/AccountsModule.js:3358 +#: /app/src/modules/dashboard/DashboardModule.js:2520 +#: /app/src/modules/dashboard/DashboardModule.js:2598 +#: /app/src/modules/dashboard/DashboardModule.js:2762 +#: /app/src/modules/dashboard/DashboardModule.js:2909 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:175 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:784 -#: /app/src/modules/transactions/TransactionsModule.js:3652 -#: /app/src/modules/transfers/TransfersModule.js:1281 +#: /app/src/modules/transactions/TransactionsModule.js:3703 +#: /app/src/modules/transfers/TransfersModule.js:1276 msgid "Unknown" msgstr "" @@ -2709,11 +2979,12 @@ msgid "Category Spending Comparison" msgstr "" #: /app/lib/Dashboard/BudgetOverviewWidget.php:43 +#, fuzzy msgid "Budget: Overview" -msgstr "" +msgstr "Presupuesto: Resumen" #: /app/lib/Dashboard/BudgetOverviewWidget.php:79 -#: /app/src/modules/dashboard/DashboardModule.js:1020 +#: /app/src/modules/dashboard/DashboardModule.js:1079 msgid "No accounts yet" msgstr "" @@ -2721,26 +2992,29 @@ msgstr "" #: /app/lib/Service/Mail/BudgetMailService.php:67 #: /app/src/modules/onboarding/OnboardingModule.js:82 #: /app/templates/quick-add.php:11 +#, fuzzy msgid "Open Budget" -msgstr "" +msgstr "Abrir Presupuesto" #: /app/lib/Dashboard/BudgetOverviewWidget.php:117 -#, php-format +#, fuzzy, php-format msgid "(excludes %1$s — no exchange rate)" -msgstr "" +msgstr "(excluye %1$s; sin tipo de cambio)" #: /app/lib/Dashboard/BudgetOverviewWidget.php:121 +#, fuzzy msgid "Total balance" -msgstr "" +msgstr "Saldo total" #: /app/lib/Dashboard/BudgetOverviewWidget.php:131 +#, fuzzy msgid "Budget this month" -msgstr "" +msgstr "Presupuesto de este mes" #: /app/lib/Dashboard/BudgetOverviewWidget.php:132 -#, php-format +#, fuzzy, php-format msgid "%1$s of %2$s spent (%3$s%%)" -msgstr "" +msgstr "%1$s de %2$s gastados (%3$s%%)" #: /app/lib/Dashboard/BudgetOverviewWidget.php:147 msgid "%n category over budget" @@ -2755,84 +3029,96 @@ msgstr[0] "" msgstr[1] "" #: /app/lib/Dashboard/BudgetOverviewWidget.php:153 +#, fuzzy msgid "Attention" -msgstr "" +msgstr "Atención" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:42 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:44 +#, fuzzy msgid "Budget: Upcoming bills" -msgstr "" +msgstr "Presupuesto: Próximas facturas" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:78 -#: /app/src/modules/dashboard/DashboardModule.js:1739 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:80 +#: /app/src/modules/dashboard/DashboardModule.js:1899 #: /app/templates/index.php:726 msgid "No upcoming bills" msgstr "" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:87 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:89 +#, fuzzy msgid "All bills" -msgstr "" +msgstr "Todas las facturas" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:116 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:120 +#, fuzzy msgid "overdue" -msgstr "" +msgstr "vencida" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:119 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:123 #: /app/lib/Notification/Notifier.php:57 +#, fuzzy msgid "due today" -msgstr "" +msgstr "vence hoy" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:122 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:126 msgid "due in %n day" msgid_plural "due in %n days" msgstr[0] "" msgstr[1] "" -#: /app/lib/Notification/Notifier.php:31 /app/lib/Service/DigestService.php:150 +#: /app/lib/Notification/Notifier.php:31 /app/lib/Service/DigestService.php:171 #: /app/specialAppInfoFakeDummyForL10nScript.php:2 #: /app/src/core/KeyboardShortcuts.js:353 -#: /app/src/modules/categories/CategoriesModule.js:926 -#: /app/src/modules/categories/CategoriesModule.js:2341 -#: /app/src/modules/dashboard/DashboardModule.js:2165 +#: /app/src/modules/categories/CategoriesModule.js:934 +#: /app/src/modules/categories/CategoriesModule.js:2402 +#: /app/src/modules/dashboard/DashboardModule.js:2328 #: /app/src/modules/help/HelpModule.js:32 -#: /app/src/modules/projects/ProjectsModule.js:145 /app/templates/index.php:93 +#: /app/src/modules/projects/ProjectsModule.js:146 /app/templates/index.php:93 #: /app/templates/index.php:2147 /app/templates/index.php:2232 #: /app/templates/index.php:5136 +#, fuzzy msgid "Budget" -msgstr "" +msgstr "Presupuesto" #: /app/lib/Notification/Notifier.php:46 +#, fuzzy msgid "Bill reminder: {bill}" -msgstr "" +msgstr "Recordatorio de factura: {bill}" #: /app/lib/Notification/Notifier.php:60 +#, fuzzy msgid "due tomorrow" -msgstr "" +msgstr "vence mañana" #: /app/lib/Notification/Notifier.php:61 -#, php-format +#, fuzzy, php-format msgid "due in %s days" -msgstr "" +msgstr "vence en %s días" #: /app/lib/Notification/Notifier.php:66 +#, fuzzy msgid "{bill} ({amount}) is {dueText}" -msgstr "" +msgstr "{bill} ({amount}) {dueText}" #: /app/lib/Notification/Notifier.php:99 +#, fuzzy msgid "Overdue bill: {bill}" -msgstr "" +msgstr "Factura vencida: {bill}" #: /app/lib/Notification/Notifier.php:111 +#, fuzzy msgid "1 day overdue" -msgstr "" +msgstr "1 día de retraso" #: /app/lib/Notification/Notifier.php:112 -#, php-format +#, fuzzy, php-format msgid "%s days overdue" -msgstr "" +msgstr "%s días de retraso" #: /app/lib/Notification/Notifier.php:116 +#, fuzzy msgid "{bill} ({amount}) is {overdueText}" -msgstr "" +msgstr "{bill} ({amount}) lleva {overdueText}" #: /app/lib/Notification/Notifier.php:149 msgid "Bill auto-paid: {bill}" @@ -2853,108 +3139,141 @@ msgid "" msgstr "" #: /app/lib/Notification/Notifier.php:239 +#, fuzzy msgid "Income auto-created: {income}" -msgstr "" +msgstr "Ingreso creado automáticamente: {income}" #: /app/lib/Notification/Notifier.php:251 +#, fuzzy msgid "" "{income} ({amount}) transaction was automatically created. Next expected: " "{nextExpectedDate}" msgstr "" +"La transacción {income} ({amount}) se ha creado automáticamente. Próxima " +"prevista: {nextExpectedDate}" #: /app/lib/Notification/Notifier.php:284 +#, fuzzy msgid "Auto-create failed: {income}" -msgstr "" +msgstr "Error en la creación automática: {income}" #: /app/lib/Notification/Notifier.php:296 +#, fuzzy msgid "" "Failed to auto-create transaction for {income} ({amount}). Reason: {reason}" msgstr "" +"Error al crear automáticamente la transacción para {income} ({amount}). " +"Motivo: {reason}" #: /app/lib/Notification/Notifier.php:329 -msgid "{user} shared their budget with you" +msgid "Scheduled contribution stopped: {pension}" msgstr "" #: /app/lib/Notification/Notifier.php:341 msgid "" +"The {amount} contribution to {pension} could not be posted, so auto-post has " +"been turned off. Reason: {reason}" +msgstr "" + +#: /app/lib/Notification/Notifier.php:374 +#, fuzzy +msgid "{user} shared their budget with you" +msgstr "{user} ha compartido su presupuesto" + +#: /app/lib/Notification/Notifier.php:386 +#, fuzzy +msgid "" "{user} has invited you to view their budget. Open Budget to accept or " "decline." msgstr "" +"{user} ha enviado una invitación para ver su presupuesto. Abra Presupuesto " +"para aceptar o rechazar." -#: /app/lib/Notification/Notifier.php:364 -#: /app/lib/Service/DigestService.php:127 +#: /app/lib/Notification/Notifier.php:409 +#: /app/lib/Service/DigestService.php:148 +#, fuzzy msgid "Your monthly budget digest" -msgstr "" +msgstr "Resumen mensual del presupuesto" -#: /app/lib/Notification/Notifier.php:365 -#: /app/lib/Service/DigestService.php:126 +#: /app/lib/Notification/Notifier.php:410 +#: /app/lib/Service/DigestService.php:147 msgid "Your weekly budget digest" msgstr "" -#: /app/lib/Notification/Notifier.php:385 -msgid "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " -"and one category is spending unusually." -msgid_plural "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " -"and {anomalies} categories are spending unusually." +#. TRANSLATORS: {income}, {expenses}, {net} are placeholders — do NOT translate them. Keep all {placeholder} names exactly as-is. +#: /app/lib/Notification/Notifier.php:425 +msgid "Income {income}, spending {expenses} ({net} net)." +msgstr "" + +#. TRANSLATORS: {bills} is a placeholder (the number of bills) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:427 +msgid "{bills} bill due soon." +msgid_plural "{bills} bills due soon." msgstr[0] "" msgstr[1] "" -#. TRANSLATORS: {income}, {expenses}, {net}, {bills} are placeholders — do NOT translate them. Keep all {placeholder} names exactly as-is. -#: /app/lib/Notification/Notifier.php:391 -msgid "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon." -msgstr "" +#. TRANSLATORS: {overdue} is a placeholder (the number of bills) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:433 +msgid "{overdue} bill is overdue." +msgid_plural "{overdue} bills are overdue." +msgstr[0] "" +msgstr[1] "" -#: /app/lib/Notification/Notifier.php:409 +#. TRANSLATORS: {anomalies} is a placeholder (the number of categories) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:440 +msgid "One category is spending unusually." +msgid_plural "{anomalies} categories are spending unusually." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Notification/Notifier.php:459 msgid "Unusual spending in {category}" msgstr "" -#: /app/lib/Notification/Notifier.php:417 +#: /app/lib/Notification/Notifier.php:467 #, php-format msgid "" "{category} spending is {percent}%% above your typical level — {amount} so " "far this month." msgstr "" -#: /app/lib/Notification/Notifier.php:438 +#: /app/lib/Notification/Notifier.php:488 msgid "Your Budget report for {month} is ready" msgstr "" -#: /app/lib/Notification/Notifier.php:446 +#: /app/lib/Notification/Notifier.php:496 msgid "{file} was saved to your Files." msgstr "" -#: /app/lib/Notification/Notifier.php:471 +#: /app/lib/Notification/Notifier.php:521 msgid "{user} added a receipt to your budget" msgstr "" -#: /app/lib/Notification/Notifier.php:483 +#: /app/lib/Notification/Notifier.php:533 msgid "{file} was saved to your Files for {transaction}." msgstr "" #. TRANSLATORS: {category} is replaced with the category name. Do NOT translate {category} — keep it exactly as-is. -#: /app/lib/Notification/Notifier.php:510 +#: /app/lib/Notification/Notifier.php:560 msgid "Approaching your {category} budget" msgstr "" #. TRANSLATORS: {category} is replaced with the category name. Do NOT translate {category} — keep it exactly as-is. -#: /app/lib/Notification/Notifier.php:513 +#: /app/lib/Notification/Notifier.php:563 msgid "{category} is over budget" msgstr "" -#: /app/lib/Notification/Notifier.php:525 +#: /app/lib/Notification/Notifier.php:575 #, php-format msgid "" "You have spent {spent} of your {budget} budget ({percent}%% of the limit)." msgstr "" -#: /app/lib/Notification/Notifier.php:544 +#: /app/lib/Notification/Notifier.php:594 msgid "Your balance is forecast to go negative" msgstr "" -#: /app/lib/Notification/Notifier.php:548 +#: /app/lib/Notification/Notifier.php:598 msgid "Your projected balance falls to {balance} in {month}." msgstr "" @@ -2962,173 +3281,250 @@ msgstr "" msgid "Budget transactions" msgstr "" -#: /app/lib/Service/AccountClosureService.php:62 +#: /app/lib/Service/AccountClosureService.php:63 #, php-format msgid "" "This account still has a balance of %1$s. Record the closing withdrawal, or " "adjust the opening balance so it reads zero, then close it." msgstr "" -#: /app/lib/Service/AccountClosureService.php:69 +#: /app/lib/Service/AccountClosureService.php:70 msgid "" "This account still has transactions dated after today. Delete or move them, " "then close it." msgstr "" -#: /app/lib/Service/AccountClosureService.php:79 +#: /app/lib/Service/AccountClosureService.php:80 #: /app/lib/Service/Bill/BillIcsService.php:54 #: /app/src/core/KeyboardShortcuts.js:355 -#: /app/src/modules/dashboard/DashboardModule.js:5500 +#: /app/src/modules/dashboard/DashboardModule.js:5754 #: /app/src/modules/help/HelpModule.js:34 -#: /app/src/modules/sharing/SharingModule.js:269 /app/templates/index.php:113 +#: /app/src/modules/sharing/SharingModule.js:274 /app/templates/index.php:113 #: /app/templates/index.php:2610 /app/templates/index.php:4765 msgid "Bills" msgstr "" -#: /app/lib/Service/AccountClosureService.php:80 +#: /app/lib/Service/AccountClosureService.php:81 #: /app/src/core/KeyboardShortcuts.js:356 #: /app/src/modules/help/HelpModule.js:35 /app/templates/index.php:123 msgid "Transfers" msgstr "" -#: /app/lib/Service/AccountClosureService.php:82 +#: /app/lib/Service/AccountClosureService.php:83 msgid "Pension contributions" msgstr "" -#: /app/lib/Service/AccountClosureService.php:83 +#: /app/lib/Service/AccountClosureService.php:84 msgid "Bank sync" msgstr "" -#: /app/lib/Service/AccountClosureService.php:84 +#: /app/lib/Service/AccountClosureService.php:85 msgid "Import rules" msgstr "" -#: /app/lib/Service/AccountClosureService.php:92 +#: /app/lib/Service/AccountClosureService.php:93 #, php-format msgid "" "This account is still used by %1$s. Reassign or deactivate them, then close " "it." msgstr "" -#: /app/lib/Service/AccountClosureService.php:174 +#: /app/lib/Service/AccountClosureService.php:218 #, php-format msgid "Pension #%1$s" msgstr "" -#: /app/lib/Service/AccountService.php:128 +#: /app/lib/Service/AccountService.php:134 msgid "" "Cannot delete account with existing transactions. Please delete all " "transactions first." msgstr "" -#: /app/lib/Service/AccountService.php:282 +#: /app/lib/Service/AccountService.php:295 msgid "This page is out of date. Please reload it before editing this account." msgstr "" -#: /app/lib/Service/BankSync/BankSyncService.php:184 +#: /app/lib/Service/BankSync/BankSyncService.php:186 msgid "" "No accounts are enabled for sync. Open Account Mappings to enable and map " "your accounts." msgstr "" -#: /app/lib/Service/BankSync/BankSyncService.php:196 +#: /app/lib/Service/BankSync/BankSyncService.php:198 #, php-format msgid "" "Found %1$s account(s). Please open Account Mappings to enable and map them, " "then sync again." msgstr "" -#: /app/lib/Service/BankSync/BankSyncService.php:425 +#: /app/lib/Service/BankSync/BankSyncService.php:473 #, php-format msgid "Sync completed with %1$s error(s)" msgstr "" -#: /app/lib/Service/Bill/BillIcsService.php:141 +#: /app/lib/Service/Bill/BillIcsService.php:142 #, php-format msgid "Bill due: %1$s" msgstr "" -#: /app/lib/Service/BillService.php:92 +#: /app/lib/Service/BillService.php:126 +msgid "" +"This bill uses an account you can no longer change. Edit the bill and choose " +"another account." +msgstr "" + +#: /app/lib/Service/BillService.php:173 msgid "This amount type requires a transfer with a destination account" msgstr "" -#: /app/lib/Service/BillService.php:96 +#: /app/lib/Service/BillService.php:177 msgid "This amount type is only available for transfers to a credit card" msgstr "" -#: /app/lib/Service/BillService.php:221 /app/lib/Service/BillService.php:262 +#: /app/lib/Service/BillService.php:192 +msgid "" +"The card has no minimum payment set. Set one on the card, or choose another " +"amount." +msgstr "" + +#: /app/lib/Service/BillService.php:328 /app/lib/Service/BillService.php:384 msgid "This bill has never been marked as paid" msgstr "" -#: /app/lib/Service/BillService.php:224 -msgid "Assign an account to the bill first" +#: /app/lib/Service/BillService.php:331 +msgid "Assign an account to the bill first" +msgstr "" + +#: /app/lib/Service/BillService.php:341 +msgid "" +"The account linked to this bill no longer exists. Edit the bill and choose " +"an account." +msgstr "" + +#: /app/lib/Service/BillService.php:346 +msgid "A transaction for this payment already exists" +msgstr "" + +#: /app/lib/Service/BillService.php:691 /app/lib/Service/BillService.php:798 +msgid "A one-time bill needs its due date" +msgstr "" + +#: /app/lib/Service/BillService.php:1004 +msgid "This bill has nothing left to pay" +msgstr "" + +#: /app/lib/Service/BillService.php:1010 +#: /app/lib/Service/RecurringIncomeService.php:261 +msgid "This payment was already recorded. Reload the page to see the next one." +msgstr "" + +#: /app/lib/Service/BillService.php:1056 +msgid "That transaction can't pay this bill" +msgstr "" + +#: /app/lib/Service/BillService.php:1096 +#, fuzzy +msgid "That transaction already pays another bill" +msgstr "Esta transacción ya se ha compartido con este contacto" + +#: /app/lib/Service/BillService.php:1356 /app/lib/Service/BillService.php:1370 +msgid "This bill has no recorded payment to undo" msgstr "" -#: /app/lib/Service/BillService.php:233 +#: /app/lib/Service/BillService.php:1379 msgid "" -"The account linked to this bill no longer exists. Edit the bill and choose " -"an account." +"This payment has been reconciled against a bank statement. Marking the bill " +"unpaid deletes it, so the account will no longer match that statement." msgstr "" -#: /app/lib/Service/BillService.php:242 -msgid "A transaction for this payment already exists" +#: /app/lib/Service/BillService.php:1408 +msgid "Cannot skip a one-time bill" msgstr "" -#: /app/lib/Service/BillService.php:1060 /app/lib/Service/BillService.php:1074 -msgid "This bill has no recorded payment to undo" +#: /app/lib/Service/BillService.php:1412 +msgid "Cannot skip an inactive bill" msgstr "" -#: /app/lib/Service/BillService.php:1102 -msgid "Cannot skip a one-time bill" +#: /app/lib/Service/BillService.php:1715 +#: /app/lib/Service/RecurringIncomeService.php:692 +#: /app/src/modules/accounts/AccountsModule.js:25 +#: /app/src/modules/transfers/TransfersModule.js:449 +#: /app/templates/index.php:1104 /app/templates/index.php:2802 +#: /app/templates/index.php:5157 /app/templates/index.php:5583 +#: /app/templates/index.php:7237 +msgid "Name" msgstr "" -#: /app/lib/Service/BillService.php:1106 -msgid "Cannot skip an inactive bill" +#: /app/lib/Service/BillService.php:1715 +#: /app/lib/Service/RecurringIncomeService.php:692 +#: /app/lib/Service/ValidationService.php:74 +#: /app/lib/Service/ValidationService.php:187 +#: /app/lib/Service/ValidationService.php:206 +#, php-format +msgid "%1$s is required" msgstr "" -#: /app/lib/Service/BillService.php:1525 +#: /app/lib/Service/BillService.php:2007 msgid "Auto-pay is not enabled for this bill" msgstr "" -#: /app/lib/Service/BillService.php:1538 +#: /app/lib/Service/BillService.php:2020 msgid "Bill has no account associated" msgstr "" -#: /app/lib/Service/BillService.php:1548 +#: /app/lib/Service/BillService.php:2037 +msgid "The payment could not be recorded" +msgstr "" + +#: /app/lib/Service/BillService.php:2042 msgid "Bill auto-paid successfully" msgstr "" -#: /app/lib/Service/CategoryService.php:149 -#: /app/lib/Service/CategoryService.php:189 +#: /app/lib/Service/CategoryService.php:154 +#: /app/lib/Service/CategoryService.php:201 msgid "A category with this name already exists at this level" msgstr "" -#: /app/lib/Service/CategoryService.php:179 +#: /app/lib/Service/CategoryService.php:186 msgid "Category cannot be its own parent" msgstr "" -#: /app/lib/Service/CategoryService.php:215 +#: /app/lib/Service/CategoryService.php:192 +#: /app/lib/Service/CategoryService.php:348 +msgid "A category cannot be nested inside itself" +msgstr "" + +#: /app/lib/Service/CategoryService.php:216 +#, fuzzy +msgid "Parent category not found" +msgstr "Elemento compartido no encontrado" + +#: /app/lib/Service/CategoryService.php:242 msgid "" "Cannot delete this category because it has transactions assigned to it. " "Please reassign or delete them first." msgstr "" -#: /app/lib/Service/CategoryService.php:279 -msgid "A category cannot be nested inside itself" +#: /app/lib/Service/CategoryService.php:327 +msgid "This category has subcategories, so only its owner can delete it" msgstr "" -#: /app/lib/Service/CategoryService.php:360 +#: /app/lib/Service/CategoryService.php:330 +msgid "This category has transactions, so only its owner can delete it" +msgstr "" + +#: /app/lib/Service/CategoryService.php:429 #, php-format msgid "" "This category is used by the project \"%1$s\". Change or delete the project " "first." msgstr "" -#: /app/lib/Service/CategoryService.php:638 +#: /app/lib/Service/CategoryService.php:707 msgid "A budget adjustment already exists for this month" msgstr "" -#: /app/lib/Service/CategoryService.php:714 +#: /app/lib/Service/CategoryService.php:783 msgid "No budget snapshot found for this category and month" msgstr "" @@ -3190,72 +3586,91 @@ msgstr "" msgid "\"%1$s\": the budget \"%2$s\" is not a number and was ignored" msgstr "" -#: /app/lib/Service/DigestService.php:132 +#: /app/lib/Service/DigestService.php:153 #, php-format msgid "Income %1$s, spending %2$s (%3$s net)." msgstr "" -#: /app/lib/Service/DigestService.php:140 +#: /app/lib/Service/DigestService.php:161 #, php-format msgid "%1$s of %2$s spent (%3$s%%) across %4$s budgeted categories." msgstr "" -#: /app/lib/Service/DigestService.php:148 +#: /app/lib/Service/DigestService.php:169 msgid "%n category is over budget." msgid_plural "%n categories are over budget." msgstr[0] "" msgstr[1] "" -#: /app/lib/Service/DigestService.php:158 +#: /app/lib/Service/DigestService.php:180 +msgid "and %n more" +msgid_plural "and %n more" +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Service/DigestService.php:185 +#, fuzzy +msgid "Overdue bills" +msgstr "Factura vencida: {bill}" + +#: /app/lib/Service/DigestService.php:188 msgid "Upcoming bills" msgstr "" -#: /app/lib/Service/DigestService.php:163 +#: /app/lib/Service/DigestService.php:193 #, php-format msgid "%1$s is %2$s%% above your typical spending (%3$s so far this month)." msgstr "" -#: /app/lib/Service/DigestService.php:168 +#: /app/lib/Service/DigestService.php:198 msgid "Unusual spending" msgstr "" -#: /app/lib/Service/DigestService.php:173 +#: /app/lib/Service/DigestService.php:203 msgid "Savings goals" msgstr "" -#: /app/lib/Service/DigestService.php:179 +#: /app/lib/Service/DigestService.php:209 msgid "Budget found %n possible recurring bill you are not tracking yet." msgid_plural "" "Budget found %n possible recurring bills you are not tracking yet." msgstr[0] "" msgstr[1] "" -#: /app/lib/Service/Export/TransactionCsvExporter.php:29 /app/src/main.js:3558 -#: /app/src/main.js:3634 /app/src/main.js:3635 -#: /app/src/modules/rules/RulesModule.js:936 -#: /app/src/modules/rules/RulesModule.js:1138 +#: /app/lib/Service/Export/TransactionCsvExporter.php:29 /app/src/main.js:3592 +#: /app/src/main.js:3668 /app/src/main.js:3669 +#: /app/src/modules/rules/RulesModule.js:951 +#: /app/src/modules/rules/RulesModule.js:1153 +#: /app/src/modules/rules/components/ActionBuilder.js:200 +#: /app/src/modules/rules/components/ActionBuilder.js:207 +#: /app/src/modules/rules/components/ActionBuilder.js:232 +#: /app/src/modules/rules/components/ActionBuilder.js:256 #: /app/src/modules/rules/components/CriteriaBuilder.js:188 -#: /app/src/modules/transactions/TransactionsModule.js:3195 -#: /app/src/modules/transactions/TransactionsModule.js:3196 -#: /app/src/modules/transactions/TransactionsModule.js:3799 -#: /app/src/modules/transactions/TransactionsModule.js:3800 +#: /app/src/modules/transactions/TransactionsModule.js:3239 +#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3850 +#: /app/src/modules/transactions/TransactionsModule.js:3851 #: /app/templates/index.php:1055 /app/templates/index.php:1056 #: /app/templates/index.php:1536 /app/templates/index.php:1777 #: /app/templates/index.php:1831 /app/templates/index.php:2422 #: /app/templates/index.php:2559 /app/templates/index.php:5600 #: /app/templates/index.php:5854 /app/templates/index.php:6174 -#: /app/templates/index.php:6435 /app/templates/index.php:6519 -#: /app/templates/index.php:6658 /app/templates/index.php:6884 -#: /app/templates/index.php:6985 /app/templates/quick-add.php:45 +#: /app/templates/index.php:6436 /app/templates/index.php:6520 +#: /app/templates/index.php:6659 /app/templates/index.php:6885 +#: /app/templates/index.php:6986 /app/templates/quick-add.php:45 msgid "Description" msgstr "" #: /app/lib/Service/Export/TransactionCsvExporter.php:30 +#: /app/src/modules/rules/components/ActionBuilder.js:201 +#: /app/src/modules/rules/components/ActionBuilder.js:208 +#: /app/src/modules/rules/components/ActionBuilder.js:233 +#: /app/src/modules/rules/components/ActionBuilder.js:257 #: /app/src/modules/rules/components/CriteriaBuilder.js:189 #: /app/templates/index.php:1538 /app/templates/index.php:1781 #: /app/templates/index.php:1835 /app/templates/index.php:3432 -#: /app/templates/index.php:5858 /app/templates/index.php:6436 -#: /app/templates/index.php:7167 /app/templates/quick-add.php:50 +#: /app/templates/index.php:5858 /app/templates/index.php:6437 +#: /app/templates/index.php:7168 /app/templates/quick-add.php:50 msgid "Vendor" msgstr "" @@ -3263,7 +3678,7 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:236 /app/templates/index.php:1043 #: /app/templates/index.php:1469 /app/templates/index.php:1633 #: /app/templates/index.php:3813 /app/templates/index.php:5589 -#: /app/templates/index.php:5805 /app/templates/index.php:6810 +#: /app/templates/index.php:5805 /app/templates/index.php:6811 #: /app/templates/quick-add.php:32 msgid "Type" msgstr "" @@ -3277,19 +3692,27 @@ msgstr "" #: /app/lib/Service/Export/TransactionCsvExporter.php:36 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:171 +#: /app/src/modules/rules/components/ActionBuilder.js:202 +#: /app/src/modules/rules/components/ActionBuilder.js:209 +#: /app/src/modules/rules/components/ActionBuilder.js:234 +#: /app/src/modules/rules/components/ActionBuilder.js:258 #: /app/src/modules/rules/components/CriteriaBuilder.js:192 -#: /app/templates/index.php:6437 /app/templates/index.php:7173 +#: /app/templates/index.php:6438 /app/templates/index.php:7174 msgid "Reference" msgstr "" #: /app/lib/Service/Export/TransactionCsvExporter.php:37 +#: /app/src/modules/rules/components/ActionBuilder.js:203 +#: /app/src/modules/rules/components/ActionBuilder.js:210 +#: /app/src/modules/rules/components/ActionBuilder.js:235 +#: /app/src/modules/rules/components/ActionBuilder.js:259 #: /app/src/modules/rules/components/CriteriaBuilder.js:193 -#: /app/src/modules/transfers/TransfersModule.js:575 +#: /app/src/modules/transfers/TransfersModule.js:560 #: /app/templates/index.php:2427 /app/templates/index.php:2560 #: /app/templates/index.php:5262 /app/templates/index.php:5922 -#: /app/templates/index.php:6286 /app/templates/index.php:6438 -#: /app/templates/index.php:6753 /app/templates/index.php:7179 -#: /app/templates/index.php:7286 /app/templates/index.php:7332 +#: /app/templates/index.php:6286 /app/templates/index.php:6439 +#: /app/templates/index.php:6754 /app/templates/index.php:7180 +#: /app/templates/index.php:7287 /app/templates/index.php:7333 #: /app/templates/quick-add.php:65 msgid "Notes" msgstr "" @@ -3307,33 +3730,33 @@ msgid "Split of" msgstr "" #: /app/lib/Service/Export/TransactionCsvExporter.php:144 -#: /app/src/modules/categories/CategoriesModule.js:763 -#: /app/src/modules/categories/CategoriesModule.js:1675 -#: /app/src/modules/rules/components/ActionBuilder.js:322 +#: /app/src/modules/categories/CategoriesModule.js:771 +#: /app/src/modules/categories/CategoriesModule.js:1715 +#: /app/src/modules/rules/components/ActionBuilder.js:413 #: /app/src/modules/rules/components/CriteriaBuilder.js:217 #: /app/templates/index.php:1046 /app/templates/index.php:1473 #: /app/templates/index.php:1637 /app/templates/index.php:5810 -#: /app/templates/index.php:5816 /app/templates/index.php:6812 +#: /app/templates/index.php:5816 /app/templates/index.php:6813 #: /app/templates/quick-add.php:34 msgid "Expense" msgstr "" -#: /app/lib/Service/GranularShareService.php:330 +#: /app/lib/Service/GranularShareService.php:377 #, php-format msgid "Invalid entity type: %1$s" msgstr "" -#: /app/lib/Service/GranularShareService.php:335 +#: /app/lib/Service/GranularShareService.php:382 #, php-format msgid "Invalid permission: %1$s" msgstr "" -#: /app/lib/Service/GranularShareService.php:341 +#: /app/lib/Service/GranularShareService.php:388 #: /app/lib/Service/ShareService.php:195 msgid "You are not the owner of this share" msgstr "" -#: /app/lib/Service/GranularShareService.php:348 +#: /app/lib/Service/GranularShareService.php:395 msgid "Some entities do not belong to you" msgstr "" @@ -3392,47 +3815,47 @@ msgid "" "camt.053/camt.052 XML is supported." msgstr "" -#: /app/lib/Service/ImportService.php:137 +#: /app/lib/Service/ImportService.php:139 #, php-format msgid "Failed to process upload: %1$s" msgstr "" -#: /app/lib/Service/ImportService.php:381 -#: /app/lib/Service/ImportService.php:390 +#: /app/lib/Service/ImportService.php:383 +#: /app/lib/Service/ImportService.php:392 msgid "Import file not found" msgstr "" -#: /app/lib/Service/ImportService.php:749 -#: /app/lib/Service/ImportService.php:1324 +#: /app/lib/Service/ImportService.php:751 +#: /app/lib/Service/ImportService.php:1346 msgid "Account ID is required for single-account imports" msgstr "" -#: /app/lib/Service/ImportService.php:834 -#: /app/lib/Service/ImportService.php:1412 +#: /app/lib/Service/ImportService.php:836 +#: /app/lib/Service/ImportService.php:1434 msgid "This row has no account, and no account was chosen for the import" msgstr "" -#: /app/lib/Service/ImportService.php:1170 +#: /app/lib/Service/ImportService.php:1172 #, php-format msgid "Destination account %1$s not found" msgstr "" -#: /app/lib/Service/ImportService.php:1269 +#: /app/lib/Service/ImportService.php:1271 #, php-format msgid "Failed to recalculate balance for account %1$s" msgstr "" -#: /app/lib/Service/ImportService.php:1413 +#: /app/lib/Service/ImportService.php:1435 #, php-format msgid "Could not resolve account: %1$s" msgstr "" -#: /app/lib/Service/ImportService.php:2220 +#: /app/lib/Service/ImportService.php:2262 #, php-format msgid "The %1$s format reads CSV files only" msgstr "" -#: /app/lib/Service/ImportService.php:2244 +#: /app/lib/Service/ImportService.php:2286 #, php-format msgid "This file does not look like a %1$s export. Columns missing: %2$s" msgstr "" @@ -3460,19 +3883,95 @@ msgstr "" msgid "Cannot convert rate: no exchange rate available for base currency %1$s" msgstr "" -#: /app/lib/Service/MigrationService.php:558 +#: /app/lib/Service/MigrationService.php:397 +msgid "" +"%n item you shared could not be matched to the restored data, so it is no " +"longer shared. Share it again in Settings if you still want to." +msgid_plural "" +"%n items you shared could not be matched to the restored data, so they are " +"no longer shared. Share them again in Settings if you still want to." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Service/MigrationService.php:404 +msgid "" +"%n bill or transfer lost its account in the restore: the account is not in " +"this backup, or not shared with you any more. Its auto-pay is off; edit it " +"to choose an account." +msgid_plural "" +"%n bills or transfers lost their account in the restore: the account is not " +"in this backup, or not shared with you any more. Their auto-pay is off; edit " +"them to choose an account." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Service/MigrationService.php:411 +msgid "" +"%n item of someone you share with used an account, category or bill that did " +"not come back in this restore, and has been unlinked from it." +msgid_plural "" +"%n items of people you share with used an account, category or bill that did " +"not come back in this restore, and have been unlinked from it." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Service/MigrationService.php:643 #, php-format msgid "" "This backup cannot be imported: %1$s is larger than %2$s MB when unpacked" msgstr "" -#: /app/lib/Service/MigrationService.php:559 +#: /app/lib/Service/MigrationService.php:644 #, php-format msgid "" "This backup cannot be imported: its files add up to more than %1$s MB when " "unpacked" msgstr "" +#: /app/lib/Service/PensionRecurringService.php:235 +msgid "This scheduled contribution is paused" +msgstr "" + +#: /app/lib/Service/PensionRecurringService.php:238 +msgid "" +"This contribution was already posted. Reload the page to see the next one." +msgstr "" + +#: /app/lib/Service/PensionRecurringService.php:270 +msgid "This scheduled contribution has no post to undo" +msgstr "" + +#: /app/lib/Service/PensionRecurringService.php:376 +#, php-format +msgid "" +"%1$s is a defined benefit or state pension, which takes no contributions" +msgstr "" + +#: /app/lib/Service/PensionRecurringService.php:385 +msgid "" +"Choose how often the contribution is made: weekly, every two weeks, monthly, " +"quarterly, every six months or yearly" +msgstr "" + +#: /app/lib/Service/PensionService.php:148 +msgid "" +"Delete this pension's scheduled contributions before making it a defined " +"benefit or state pension" +msgstr "" + +#: /app/lib/Service/PensionService.php:431 +msgid "" +"The account for this contribution no longer exists or is no longer shared " +"with you" +msgstr "" + +#: /app/lib/Service/PensionService.php:434 +#, php-format +msgid "" +"%1$s is shared with you read-only, so pension money cannot be paid into or " +"out of it" +msgstr "" + #: /app/lib/Service/ReconciliationService.php:68 #: /app/lib/Service/ReconciliationService.php:99 msgid "Invalid statement date" @@ -3491,15 +3990,42 @@ msgstr "" msgid "No reconciliation in progress for this account" msgstr "" -#: /app/lib/Service/RecurringIncomeService.php:285 +#: /app/lib/Service/RecurringIncomeService.php:211 +msgid "No account set for income" +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:258 +msgid "This income has no payment to receive" +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:305 +msgid "This income has no recorded receipt to undo" +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:410 +#, fuzzy +msgid "Recurring income cannot use a custom schedule" +msgstr "Ingresos recurrentes eliminados" + +#: /app/lib/Service/RecurringIncomeService.php:413 +msgid "A one-time income needs the date it is expected" +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:426 +msgid "" +"This income uses an account you can no longer change. Edit it and choose " +"another account." +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:452 msgid "Cannot skip a one-time income" msgstr "" -#: /app/lib/Service/RecurringIncomeService.php:288 +#: /app/lib/Service/RecurringIncomeService.php:455 msgid "Cannot skip an inactive income" msgstr "" -#: /app/lib/Service/RecurringIncomeService.php:293 +#: /app/lib/Service/RecurringIncomeService.php:460 msgid "This income has no expected date to skip" msgstr "" @@ -3526,7 +4052,7 @@ msgstr "" #: /app/lib/Service/Report/MonthNames.php:25 #: /app/lib/Service/Report/MonthNames.php:46 /app/templates/index.php:3541 #: /app/templates/index.php:3654 /app/templates/index.php:6208 -#: /app/templates/index.php:6234 /app/templates/index.php:6710 +#: /app/templates/index.php:6234 /app/templates/index.php:6711 msgid "May" msgstr "" @@ -3566,57 +4092,57 @@ msgid "Dec" msgstr "" #: /app/lib/Service/Report/MonthNames.php:42 /app/templates/index.php:3537 -#: /app/templates/index.php:6230 /app/templates/index.php:6706 +#: /app/templates/index.php:6230 /app/templates/index.php:6707 msgid "January" msgstr "" #: /app/lib/Service/Report/MonthNames.php:43 /app/templates/index.php:3538 -#: /app/templates/index.php:6231 /app/templates/index.php:6707 +#: /app/templates/index.php:6231 /app/templates/index.php:6708 msgid "February" msgstr "" #: /app/lib/Service/Report/MonthNames.php:44 /app/templates/index.php:3539 -#: /app/templates/index.php:6232 /app/templates/index.php:6708 +#: /app/templates/index.php:6232 /app/templates/index.php:6709 msgid "March" msgstr "" #: /app/lib/Service/Report/MonthNames.php:45 /app/templates/index.php:3540 -#: /app/templates/index.php:6233 /app/templates/index.php:6709 +#: /app/templates/index.php:6233 /app/templates/index.php:6710 msgid "April" msgstr "" #: /app/lib/Service/Report/MonthNames.php:47 /app/templates/index.php:3542 -#: /app/templates/index.php:6235 /app/templates/index.php:6711 +#: /app/templates/index.php:6235 /app/templates/index.php:6712 msgid "June" msgstr "" #: /app/lib/Service/Report/MonthNames.php:48 /app/templates/index.php:3543 -#: /app/templates/index.php:6236 /app/templates/index.php:6712 +#: /app/templates/index.php:6236 /app/templates/index.php:6713 msgid "July" msgstr "" #: /app/lib/Service/Report/MonthNames.php:49 /app/templates/index.php:3544 -#: /app/templates/index.php:6237 /app/templates/index.php:6713 +#: /app/templates/index.php:6237 /app/templates/index.php:6714 msgid "August" msgstr "" #: /app/lib/Service/Report/MonthNames.php:50 /app/templates/index.php:3545 -#: /app/templates/index.php:6238 /app/templates/index.php:6714 +#: /app/templates/index.php:6238 /app/templates/index.php:6715 msgid "September" msgstr "" #: /app/lib/Service/Report/MonthNames.php:51 /app/templates/index.php:3546 -#: /app/templates/index.php:6239 /app/templates/index.php:6715 +#: /app/templates/index.php:6239 /app/templates/index.php:6716 msgid "October" msgstr "" #: /app/lib/Service/Report/MonthNames.php:52 /app/templates/index.php:3547 -#: /app/templates/index.php:6240 /app/templates/index.php:6716 +#: /app/templates/index.php:6240 /app/templates/index.php:6717 msgid "November" msgstr "" #: /app/lib/Service/Report/MonthNames.php:53 /app/templates/index.php:3548 -#: /app/templates/index.php:6241 /app/templates/index.php:6717 +#: /app/templates/index.php:6241 /app/templates/index.php:6718 msgid "December" msgstr "" @@ -3662,7 +4188,7 @@ msgid "Net Income" msgstr "" #: /app/lib/Service/Report/ReportExporter.php:209 -#: /app/src/modules/dashboard/DashboardModule.js:1709 +#: /app/src/modules/dashboard/DashboardModule.js:1830 msgid "On track" msgstr "" @@ -3711,7 +4237,7 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:241 #: /app/lib/Service/Report/ReportExporter.php:439 -#: /app/src/modules/accounts/AccountsModule.js:2707 +#: /app/src/modules/accounts/AccountsModule.js:2713 #: /app/templates/index.php:1259 /app/templates/index.php:3070 #: /app/templates/index.php:3825 /app/templates/index.php:5356 #: /app/templates/index.php:5426 @@ -3728,10 +4254,10 @@ msgstr "" #: /app/src/modules/accounts/AccountsModule.js:30 #: /app/src/modules/accounts/AccountsModule.js:510 #: /app/src/modules/accounts/AccountsModule.js:511 -#: /app/src/modules/dashboard/DashboardModule.js:2941 -#: /app/src/modules/dashboard/DashboardModule.js:3176 +#: /app/src/modules/dashboard/DashboardModule.js:3138 +#: /app/src/modules/dashboard/DashboardModule.js:3373 #: /app/src/modules/forecast/ForecastModule.js:310 -#: /app/src/modules/pensions/PensionsModule.js:606 +#: /app/src/modules/pensions/PensionsModule.js:651 #: /app/templates/index.php:1105 /app/templates/index.php:1543 #: /app/templates/index.php:1797 /app/templates/index.php:1849 #: /app/templates/index.php:3327 @@ -3780,12 +4306,12 @@ msgid "Average Monthly Net" msgstr "" #: /app/lib/Service/Report/ReportExporter.php:337 -#: /app/lib/Service/Report/ReportExporter.php:571 /app/templates/index.php:6670 +#: /app/lib/Service/Report/ReportExporter.php:571 /app/templates/index.php:6671 msgid "Source" msgstr "" #: /app/lib/Service/Report/ReportExporter.php:357 -#: /app/src/modules/categories/CategoriesModule.js:2357 +#: /app/src/modules/categories/CategoriesModule.js:2419 #: /app/templates/index.php:597 /app/templates/index.php:2034 #: /app/templates/index.php:2233 /app/templates/index.php:3195 msgid "Period" @@ -3802,18 +4328,18 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:402 #: /app/lib/Service/Report/ReportExporter.php:641 -#: /app/src/modules/categories/CategoriesModule.js:2365 -#: /app/src/modules/dashboard/DashboardModule.js:2166 -#: /app/src/modules/projects/ProjectsModule.js:146 +#: /app/src/modules/categories/CategoriesModule.js:2427 +#: /app/src/modules/dashboard/DashboardModule.js:2329 +#: /app/src/modules/projects/ProjectsModule.js:147 #: /app/templates/index.php:2234 /app/templates/index.php:5137 msgid "Spent" msgstr "" #: /app/lib/Service/Report/ReportExporter.php:403 #: /app/lib/Service/Report/ReportExporter.php:642 -#: /app/src/modules/categories/CategoriesModule.js:2368 -#: /app/src/modules/dashboard/DashboardModule.js:2167 -#: /app/src/modules/projects/ProjectsModule.js:147 +#: /app/src/modules/categories/CategoriesModule.js:2430 +#: /app/src/modules/dashboard/DashboardModule.js:2330 +#: /app/src/modules/projects/ProjectsModule.js:148 #: /app/templates/index.php:2202 /app/templates/index.php:2235 #: /app/templates/index.php:5138 msgid "Remaining" @@ -3845,13 +4371,13 @@ msgstr "" #: /app/lib/Service/Report/ReportExporter.php:680 #: /app/lib/Service/Report/ReportExporter.php:726 -#: /app/src/modules/reports/ReportsModule.js:1116 +#: /app/src/modules/reports/ReportsModule.js:1117 msgid "Overall" msgstr "" #: /app/lib/Service/Report/ReportExporter.php:693 #: /app/lib/Service/Report/ReportExporter.php:739 -#: /app/src/modules/reports/ReportsModule.js:1099 +#: /app/src/modules/reports/ReportsModule.js:1100 msgid "Net total" msgstr "" @@ -3859,6 +4385,28 @@ msgstr "" msgid "Category Income & Expenses by Month" msgstr "" +#: /app/lib/Service/Report/ReportExporter.php:749 +#: /app/src/config/dashboardWidgets.js:26 /app/src/main.js:1924 +#: /app/src/main.js:3663 /app/src/modules/accounts/AccountsModule.js:1870 +#: /app/src/modules/categories/CategoriesModule.js:831 +#: /app/src/modules/dashboard/DashboardModule.js:1312 +#: /app/src/modules/import/ImportModule.js:189 +#: /app/src/modules/import/ImportModule.js:2032 +#: /app/src/modules/reports/ReportsModule.js:1089 +#: /app/src/modules/rules/RulesModule.js:1006 +#: /app/src/modules/transactions/TransactionsModule.js:532 +#: /app/src/modules/transactions/TransactionsModule.js:1209 +#: /app/src/modules/transactions/TransactionsModule.js:3234 +#: /app/src/modules/transactions/TransactionsModule.js:3845 +#: /app/src/modules/transactions/TransactionsModule.js:4692 +#: /app/src/modules/transactions/transactionRow.js:122 +#: /app/src/modules/transactions/transactionRow.js:183 +#: /app/src/modules/transactions/transactionRow.js:225 +#: /app/templates/index.php:539 /app/templates/index.php:1464 +#: /app/templates/index.php:1628 /app/templates/quick-add.php:57 +msgid "Uncategorized" +msgstr "" + #: /app/lib/Service/Report/ScheduledReportService.php:76 #: /app/lib/Service/Report/ScheduledReportService.php:77 #, php-format @@ -3941,13 +4489,6 @@ msgstr "" msgid "This share is not pending" msgstr "" -#: /app/lib/Service/ValidationService.php:74 -#: /app/lib/Service/ValidationService.php:187 -#: /app/lib/Service/ValidationService.php:206 -#, php-format -msgid "%1$s is required" -msgstr "" - #: /app/lib/Service/ValidationService.php:85 #, php-format msgid "%1$s must be at least %2$s characters" @@ -4147,7 +4688,7 @@ msgid "" msgstr "" #: /app/src/config/dashboardWidgets.js:8 -#: /app/src/modules/dashboard/DashboardModule.js:2951 +#: /app/src/modules/dashboard/DashboardModule.js:3148 #: /app/templates/index.php:371 /app/templates/index.php:1158 msgid "Net Worth" msgstr "" @@ -4165,10 +4706,10 @@ msgid "Net Savings" msgstr "" #: /app/src/config/dashboardWidgets.js:12 -#: /app/src/modules/dashboard/DashboardModule.js:2007 -#: /app/src/modules/dashboard/DashboardModule.js:2013 -#: /app/src/modules/pensions/PensionsModule.js:156 -#: /app/src/modules/pensions/PensionsModule.js:162 /app/templates/index.php:423 +#: /app/src/modules/dashboard/DashboardModule.js:2170 +#: /app/src/modules/dashboard/DashboardModule.js:2176 +#: /app/src/modules/pensions/PensionsModule.js:179 +#: /app/src/modules/pensions/PensionsModule.js:185 /app/templates/index.php:423 msgid "Pension Worth" msgstr "" @@ -4203,26 +4744,6 @@ msgstr "" msgid "Account Expenses" msgstr "" -#: /app/src/config/dashboardWidgets.js:26 /app/src/main.js:1897 -#: /app/src/main.js:3629 /app/src/modules/accounts/AccountsModule.js:1864 -#: /app/src/modules/categories/CategoriesModule.js:823 -#: /app/src/modules/dashboard/DashboardModule.js:1253 -#: /app/src/modules/import/ImportModule.js:189 -#: /app/src/modules/import/ImportModule.js:2032 -#: /app/src/modules/rules/RulesModule.js:991 -#: /app/src/modules/transactions/TransactionsModule.js:510 -#: /app/src/modules/transactions/TransactionsModule.js:1183 -#: /app/src/modules/transactions/TransactionsModule.js:3190 -#: /app/src/modules/transactions/TransactionsModule.js:3794 -#: /app/src/modules/transactions/TransactionsModule.js:4641 -#: /app/src/modules/transactions/transactionRow.js:122 -#: /app/src/modules/transactions/transactionRow.js:183 -#: /app/src/modules/transactions/transactionRow.js:225 -#: /app/templates/index.php:539 /app/templates/index.php:1464 -#: /app/templates/index.php:1628 /app/templates/quick-add.php:57 -msgid "Uncategorized" -msgstr "" - #: /app/src/config/dashboardWidgets.js:27 /app/templates/index.php:552 msgid "Low Balance Alert" msgstr "" @@ -4255,7 +4776,7 @@ msgstr "" #: /app/src/config/dashboardWidgets.js:39 #: /app/src/core/KeyboardShortcuts.js:349 #: /app/src/modules/help/HelpModule.js:28 -#: /app/src/modules/sharing/SharingModule.js:267 /app/templates/index.php:53 +#: /app/src/modules/sharing/SharingModule.js:272 /app/templates/index.php:53 #: /app/templates/index.php:696 /app/templates/index.php:774 #: /app/templates/index.php:1080 /app/templates/index.php:1215 #: /app/templates/index.php:4757 @@ -4278,14 +4799,14 @@ msgstr "" #: /app/src/config/dashboardWidgets.js:43 #: /app/src/core/KeyboardShortcuts.js:357 #: /app/src/modules/help/HelpModule.js:36 -#: /app/src/modules/sharing/SharingModule.js:271 /app/templates/index.php:133 +#: /app/src/modules/sharing/SharingModule.js:276 /app/templates/index.php:133 #: /app/templates/index.php:744 /app/templates/index.php:2932 msgid "Savings Goals" msgstr "" #: /app/src/config/dashboardWidgets.js:44 #: /app/src/modules/help/HelpModule.js:37 -#: /app/src/modules/sharing/SharingModule.js:272 /app/templates/index.php:143 +#: /app/src/modules/sharing/SharingModule.js:277 /app/templates/index.php:143 #: /app/templates/index.php:755 /app/templates/index.php:3010 msgid "Projects" msgstr "" @@ -4413,25 +4934,25 @@ msgid "Dashboard" msgstr "" #: /app/src/core/KeyboardShortcuts.js:351 -#: /app/src/modules/dashboard/DashboardModule.js:5150 +#: /app/src/modules/dashboard/DashboardModule.js:5389 #: /app/src/modules/help/HelpModule.js:30 -#: /app/src/modules/sharing/SharingModule.js:268 /app/templates/index.php:73 +#: /app/src/modules/sharing/SharingModule.js:273 /app/templates/index.php:73 #: /app/templates/index.php:1871 /app/templates/index.php:4753 msgid "Categories" msgstr "" #: /app/src/core/KeyboardShortcuts.js:352 -#: /app/src/modules/accounts/AccountsModule.js:1901 -#: /app/src/modules/bills/BillsModule.js:1699 +#: /app/src/modules/accounts/AccountsModule.js:1907 +#: /app/src/modules/bills/BillsModule.js:1609 #: /app/src/modules/help/HelpModule.js:31 #: /app/src/modules/reports/ReportsModule.js:432 -#: /app/src/modules/rules/RulesModule.js:822 -#: /app/src/modules/savings/SavingsModule.js:295 +#: /app/src/modules/rules/RulesModule.js:837 +#: /app/src/modules/savings/SavingsModule.js:297 #: /app/src/modules/tagsets/TagSetsModule.js:601 -#: /app/src/modules/transactions/TransactionsModule.js:548 -#: /app/src/modules/transactions/TransactionsModule.js:1345 -#: /app/src/modules/transactions/TransactionsModule.js:4811 -#: /app/src/modules/transfers/TransfersModule.js:1146 +#: /app/src/modules/transactions/TransactionsModule.js:570 +#: /app/src/modules/transactions/TransactionsModule.js:1371 +#: /app/src/modules/transactions/TransactionsModule.js:4862 +#: /app/src/modules/transfers/TransfersModule.js:1163 #: /app/templates/index.php:83 /app/templates/index.php:1514 #: /app/templates/index.php:1697 /app/templates/index.php:1789 #: /app/templates/index.php:1843 /app/templates/index.php:2091 @@ -4445,7 +4966,7 @@ msgid "Pensions" msgstr "" #: /app/src/core/KeyboardShortcuts.js:360 -#: /app/src/modules/dashboard/DashboardModule.js:2958 +#: /app/src/modules/dashboard/DashboardModule.js:3155 #: /app/src/modules/help/HelpModule.js:40 /app/templates/index.php:173 #: /app/templates/index.php:1185 /app/templates/index.php:3921 #: /app/templates/index.php:4004 @@ -4454,7 +4975,7 @@ msgstr "" #: /app/src/core/KeyboardShortcuts.js:361 #: /app/src/modules/help/HelpModule.js:41 /app/templates/index.php:183 -#: /app/templates/index.php:4198 /app/templates/index.php:7365 +#: /app/templates/index.php:4198 /app/templates/index.php:7366 msgid "Shared Expenses" msgstr "" @@ -4472,7 +4993,7 @@ msgstr "" #: /app/src/modules/help/HelpModule.js:44 #: /app/src/modules/rules/RulesModule.js:144 /app/templates/index.php:227 #: /app/templates/index.php:1442 /app/templates/index.php:1892 -#: /app/templates/index.php:2751 /app/templates/index.php:6786 +#: /app/templates/index.php:2751 /app/templates/index.php:6787 msgid "Import" msgstr "" @@ -4539,32 +5060,31 @@ msgid "Move a focused subcategory out one level" msgstr "" #: /app/src/core/KeyboardShortcuts.js:396 -#: /app/src/core/KeyboardShortcuts.js:416 /app/src/main.js:1022 +#: /app/src/core/KeyboardShortcuts.js:416 /app/src/main.js:1025 msgid "Keyboard shortcuts" msgstr "" -#: /app/src/core/KeyboardShortcuts.js:417 /app/src/main.js:1940 -#: /app/src/main.js:1947 /app/src/main.js:1951 -#: /app/src/modules/bills/BillsModule.js:1187 -#: /app/src/modules/bills/BillsModule.js:1384 +#: /app/src/core/KeyboardShortcuts.js:417 /app/src/main.js:1967 +#: /app/src/main.js:1974 /app/src/main.js:1978 +#: /app/src/modules/bills/BillsModule.js:1210 #: /app/src/modules/import/ImportModule.js:2348 #: /app/src/modules/import/ImportModule.js:2361 #: /app/src/modules/sharing/SharingModule.js:126 -#: /app/src/modules/transactions/TransactionsModule.js:5147 -#: /app/src/modules/transfers/TransfersModule.js:165 -#: /app/src/modules/transfers/TransfersModule.js:466 -#: /app/src/utils/modals.js:81 /app/templates/index.php:2717 -#: /app/templates/index.php:2915 /app/templates/index.php:3805 -#: /app/templates/index.php:5095 /app/templates/index.php:5116 -#: /app/templates/index.php:5122 /app/templates/index.php:5146 -#: /app/templates/index.php:5282 /app/templates/index.php:5310 -#: /app/templates/index.php:5422 /app/templates/index.php:5447 -#: /app/templates/index.php:5483 /app/templates/index.php:5519 -#: /app/templates/index.php:5573 /app/templates/index.php:5663 -#: /app/templates/index.php:5772 /app/templates/index.php:6618 -#: /app/templates/index.php:7033 /app/templates/index.php:7382 -#: /app/templates/index.php:7444 /app/templates/index.php:7545 -#: /app/templates/index.php:7555 +#: /app/src/modules/transactions/TransactionsModule.js:5198 +#: /app/src/modules/transfers/TransfersModule.js:170 +#: /app/src/modules/transfers/TransfersModule.js:440 +#: /app/src/utils/matchingDialog.js:74 /app/src/utils/modals.js:81 +#: /app/templates/index.php:2717 /app/templates/index.php:2915 +#: /app/templates/index.php:3805 /app/templates/index.php:5095 +#: /app/templates/index.php:5116 /app/templates/index.php:5122 +#: /app/templates/index.php:5146 /app/templates/index.php:5282 +#: /app/templates/index.php:5310 /app/templates/index.php:5422 +#: /app/templates/index.php:5447 /app/templates/index.php:5483 +#: /app/templates/index.php:5519 /app/templates/index.php:5573 +#: /app/templates/index.php:5663 /app/templates/index.php:5772 +#: /app/templates/index.php:6619 /app/templates/index.php:7034 +#: /app/templates/index.php:7383 /app/templates/index.php:7445 +#: /app/templates/index.php:7546 /app/templates/index.php:7556 msgid "Close" msgstr "" @@ -4572,33 +5092,33 @@ msgstr "" msgid "This page could not be loaded. Reload the page to try again." msgstr "" -#: /app/src/main.js:520 /app/src/modules/import/ImportModule.js:1991 +#: /app/src/main.js:523 /app/src/modules/import/ImportModule.js:1991 #: /app/src/modules/import/ImportModule.js:2031 msgid "Duplicate" msgstr "" -#: /app/src/main.js:522 +#: /app/src/main.js:525 msgid "Share expense" msgstr "" -#: /app/src/main.js:525 +#: /app/src/main.js:528 msgid "Unlink transfer" msgstr "" -#: /app/src/main.js:527 +#: /app/src/main.js:530 msgid "Match transfer" msgstr "" -#: /app/src/main.js:530 /app/src/main.js:2917 +#: /app/src/main.js:533 /app/src/main.js:2951 #: /app/src/modules/accounts/AccountsModule.js:612 -#: /app/src/modules/accounts/AccountsModule.js:1383 +#: /app/src/modules/accounts/AccountsModule.js:1386 #: /app/src/modules/assets/AssetsModule.js:169 #: /app/src/modules/import/ImportModule.js:660 -#: /app/src/modules/pensions/PensionsModule.js:123 -#: /app/src/modules/pensions/PensionsModule.js:797 -#: /app/src/modules/pensions/PensionsModule.js:798 -#: /app/src/modules/pensions/PensionsModule.js:1043 -#: /app/src/modules/savings/SavingsModule.js:141 +#: /app/src/modules/pensions/PensionsModule.js:146 +#: /app/src/modules/pensions/PensionsModule.js:843 +#: /app/src/modules/pensions/PensionsModule.js:844 +#: /app/src/modules/pensions/PensionsModule.js:1127 +#: /app/src/modules/savings/SavingsModule.js:143 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:192 #: /app/src/modules/tagsets/TagSetsModule.js:84 /app/templates/index.php:1177 #: /app/templates/index.php:1720 /app/templates/index.php:1971 @@ -4606,209 +5126,245 @@ msgstr "" msgid "Delete" msgstr "" -#: /app/src/main.js:925 +#: /app/src/main.js:928 msgid "Failed to load data" msgstr "" -#: /app/src/main.js:943 +#: /app/src/main.js:946 msgid "" "Your session has expired, so account names could not be loaded. Reload the " "page to restore them." msgstr "" -#: /app/src/main.js:944 +#: /app/src/main.js:947 msgid "" "Your session has expired, so categories could not be loaded. Reload the page " "to restore them." msgstr "" -#: /app/src/main.js:949 +#: /app/src/main.js:952 msgid "" "Accounts could not be loaded (error {status}). Transactions will show as " "\"Unknown Account\" until this is resolved." msgstr "" -#: /app/src/main.js:950 +#: /app/src/main.js:953 msgid "" "Categories could not be loaded (error {status}). Transactions will show as " "\"Uncategorized\" until this is resolved." msgstr "" -#: /app/src/main.js:1018 +#: /app/src/main.js:1021 msgid "Read full guide" msgstr "" -#: /app/src/main.js:1023 +#: /app/src/main.js:1026 msgid "Budget can be driven from the keyboard — press" msgstr "" -#: /app/src/main.js:1023 +#: /app/src/main.js:1026 msgid "anytime to see the full list." msgstr "" -#: /app/src/main.js:1024 +#: /app/src/main.js:1027 msgid "Show keyboard shortcuts" msgstr "" -#: /app/src/main.js:1028 +#: /app/src/main.js:1031 msgid "Quick Links" msgstr "" -#: /app/src/main.js:1030 +#: /app/src/main.js:1033 msgid "Getting Started Guide" msgstr "" -#: /app/src/main.js:1031 +#: /app/src/main.js:1034 msgid "Importing Bank Statements" msgstr "" -#: /app/src/main.js:1032 +#: /app/src/main.js:1035 msgid "Budget Tracking" msgstr "" -#: /app/src/main.js:1033 +#: /app/src/main.js:1036 msgid "Auto-Categorisation Rules" msgstr "" -#: /app/src/main.js:1038 /app/templates/index.php:4989 +#: /app/src/main.js:1041 /app/templates/index.php:4989 msgid "Support Budget" msgstr "" -#: /app/src/main.js:1039 +#: /app/src/main.js:1042 msgid "Free and open source. If Budget helps you, a donation keeps it going." msgstr "" -#: /app/src/main.js:1041 /app/templates/index.php:4999 +#: /app/src/main.js:1044 /app/templates/index.php:4999 msgid "Sponsor on GitHub" msgstr "" -#: /app/src/main.js:1042 /app/templates/index.php:5002 +#: /app/src/main.js:1045 /app/templates/index.php:5002 msgid "Donate via PayPal" msgstr "" -#: /app/src/main.js:1502 /app/src/modules/accounts/AccountsModule.js:1562 +#: /app/src/main.js:1505 /app/src/modules/accounts/AccountsModule.js:1565 msgid "Failed to load transactions" msgstr "" -#: /app/src/main.js:1548 +#: /app/src/main.js:1551 msgid "{displayed} of {total} transactions" msgstr "" -#: /app/src/main.js:1549 /app/src/modules/dashboard/DashboardModule.js:2586 +#: /app/src/main.js:1552 /app/src/modules/dashboard/DashboardModule.js:2770 #: /app/src/modules/import/ImportModule.js:2148 msgid "%n transaction" msgid_plural "%n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/main.js:1574 +#: /app/src/main.js:1577 msgid "Total: {amount}" msgstr "" -#: /app/src/main.js:1593 /app/src/modules/accounts/AccountsModule.js:1712 +#: /app/src/main.js:1596 /app/src/modules/accounts/AccountsModule.js:1715 msgid "Page {current} of {total}" msgstr "" -#: /app/src/main.js:1704 +#: /app/src/main.js:1707 msgid "Recalculating..." msgstr "" -#: /app/src/main.js:1709 +#: /app/src/main.js:1712 msgid "Recalculation failed" msgstr "" -#: /app/src/main.js:1713 +#: /app/src/main.js:1716 msgid "Recalculated {updated} of {total} account balances" msgstr "" -#: /app/src/main.js:1716 +#: /app/src/main.js:1719 msgid "All account balances are correct" msgstr "" -#: /app/src/main.js:1720 +#: /app/src/main.js:1723 msgid "Failed to recalculate balances: {error}" msgstr "" -#: /app/src/main.js:1735 +#: /app/src/main.js:1738 msgid "Scanning..." msgstr "" -#: /app/src/main.js:1745 +#: /app/src/main.js:1748 msgid "Failed to scan for issues: {error}" msgstr "" -#: /app/src/main.js:1776 +#: /app/src/main.js:1779 msgid "No data integrity issues found. Everything looks good!" msgstr "" -#: /app/src/main.js:1778 +#: /app/src/main.js:1781 msgid "Found {count} issue(s) across {categories} categories." msgstr "" -#: /app/src/main.js:1784 /app/src/main.js:1845 +#: /app/src/main.js:1789 +msgid "Looks like a second payment for {occurrence} (other payment on {date})" +msgstr "" + +#: /app/src/main.js:1790 /app/src/main.js:1797 /app/src/main.js:1867 msgid "(unnamed)" msgstr "" -#: /app/src/main.js:1787 -msgid "duplicate of" +#: /app/src/main.js:1790 +msgid "Also recorded as {description} on {date}" +msgstr "" + +#: /app/src/main.js:1792 +msgid "reconciled" msgstr "" -#: /app/src/main.js:1794 +#: /app/src/main.js:1808 msgid "Duplicate Auto-Generated Transactions" msgstr "" -#: /app/src/main.js:1797 /app/src/main.js:1858 /app/src/main.js:1909 -msgid "and {more} more" +#: /app/src/main.js:1812 +msgid "" +"Only ticked rows are deleted. Rows that come ticked are bill payments the " +"app recorded that an imported bank transaction records as well. The others " +"only look like duplicates and may be real payments: check them in the " +"account first, and tick only the ones you are sure about." msgstr "" -#: /app/src/main.js:1806 +#: /app/src/main.js:1824 msgid "Due: {date}" msgstr "" -#: /app/src/main.js:1807 /app/src/main.js:1827 +#: /app/src/main.js:1825 /app/src/main.js:1849 msgid "Paid: {date}" msgstr "" -#: /app/src/main.js:1814 +#: /app/src/main.js:1826 /app/src/main.js:1870 +msgid "Check: not changed" +msgstr "" + +#: /app/src/main.js:1830 +msgid "" +"Repairing moves these bills on to their next due date, with their pending " +"transaction. Bills marked Check are left as they are: their due date is " +"before the last payment, which is also how an overdue bill with another " +"payment still owed looks. If that payment was made, use Skip on the Bills " +"page." +msgstr "" + +#: /app/src/main.js:1836 msgid "Bills with Stuck Due Dates" msgstr "" -#: /app/src/main.js:1834 +#: /app/src/main.js:1856 msgid "Paid One-Time Bills Still Active" msgstr "" -#: /app/src/main.js:1855 +#: /app/src/main.js:1876 +msgid "" +"Repairing marks these as scheduled, so they count in the balance from their " +"date. Bill payments and reconciled transactions marked Check are left as " +"they are: check their dates on the Transactions page." +msgstr "" + +#: /app/src/main.js:1882 msgid "Future Transactions Not Marked as Scheduled" msgstr "" -#: /app/src/main.js:1872 +#: /app/src/main.js:1885 /app/src/main.js:1936 +msgid "and {more} more" +msgstr "" + +#: /app/src/main.js:1899 msgid "Now: {amount} in credit" msgstr "" -#: /app/src/main.js:1873 +#: /app/src/main.js:1900 msgid "After repair: {amount} owed" msgstr "" -#: /app/src/main.js:1880 +#: /app/src/main.js:1907 msgid "Debts Recorded as Being in Credit" msgstr "" -#: /app/src/main.js:1884 +#: /app/src/main.js:1911 msgid "" "These debts hold a positive balance, so the app is counting them as money " "you have rather than money you owe. Untick any you really have overpaid — " "those are recorded as genuine credits and left out of future scans." msgstr "" -#: /app/src/main.js:1897 +#: /app/src/main.js:1924 msgid "Listed under {category}" msgstr "" -#: /app/src/main.js:1904 +#: /app/src/main.js:1931 msgid "Split Transactions Carrying a Category" msgstr "" -#: /app/src/main.js:1908 +#: /app/src/main.js:1935 msgid "" "A split transaction keeps its categories on its individual parts, so it " "should not carry one of its own. These picked one up from an older version " @@ -4817,236 +5373,236 @@ msgid "" "part of it, is left exactly as it is." msgstr "" -#: /app/src/main.js:1919 +#: /app/src/main.js:1946 msgid "Stored: {amount}" msgstr "" -#: /app/src/main.js:1920 +#: /app/src/main.js:1947 msgid "Expected: {amount}" msgstr "" -#: /app/src/main.js:1921 +#: /app/src/main.js:1948 msgid "Diff: {amount}" msgstr "" -#: /app/src/main.js:1928 +#: /app/src/main.js:1955 msgid "Account Balance Inconsistencies" msgstr "" -#: /app/src/main.js:1939 +#: /app/src/main.js:1966 msgid "Data Integrity Report" msgstr "" -#: /app/src/main.js:1948 /app/src/main.js:2045 +#: /app/src/main.js:1975 /app/src/main.js:2078 msgid "Fix Selected Issues" msgstr "" -#: /app/src/main.js:1985 +#: /app/src/main.js:2012 msgid "No categories selected" msgstr "" -#: /app/src/main.js:1998 +#: /app/src/main.js:2031 msgid "Repairing..." msgstr "" -#: /app/src/main.js:2012 +#: /app/src/main.js:2045 msgid "{count} duplicate transactions removed" msgstr "" -#: /app/src/main.js:2015 +#: /app/src/main.js:2048 msgid "{count} bill due dates fixed" msgstr "" -#: /app/src/main.js:2018 +#: /app/src/main.js:2051 msgid "{count} one-time bills deactivated" msgstr "" -#: /app/src/main.js:2021 +#: /app/src/main.js:2054 msgid "{count} future transactions set to scheduled" msgstr "" -#: /app/src/main.js:2024 +#: /app/src/main.js:2057 msgid "{count} split transactions had a stray category removed" msgstr "" -#: /app/src/main.js:2027 +#: /app/src/main.js:2060 msgid "{count} debts re-recorded as owed" msgstr "" -#: /app/src/main.js:2029 +#: /app/src/main.js:2062 msgid "{count} confirmed as genuine credits" msgstr "" -#: /app/src/main.js:2033 +#: /app/src/main.js:2066 msgid "{count} account balances corrected" msgstr "" -#: /app/src/main.js:2036 +#: /app/src/main.js:2069 msgid "Repair complete: {details}" msgstr "" -#: /app/src/main.js:2043 +#: /app/src/main.js:2076 msgid "Repair failed: {error}" msgstr "" -#: /app/src/main.js:2129 /app/src/modules/settings/SettingsModule.js:592 -#: /app/src/modules/transactions/TransactionsModule.js:5310 +#: /app/src/main.js:2162 /app/src/modules/settings/SettingsModule.js:592 +#: /app/src/modules/transactions/TransactionsModule.js:5361 msgid "Deleting..." msgstr "" -#: /app/src/main.js:2158 /app/src/modules/settings/SettingsModule.js:619 -#: /app/templates/index.php:7428 +#: /app/src/main.js:2191 /app/src/modules/settings/SettingsModule.js:619 +#: /app/templates/index.php:7429 msgid "Delete Everything" msgstr "" -#: /app/src/main.js:2161 /app/src/modules/settings/SettingsModule.js:622 +#: /app/src/main.js:2194 /app/src/modules/settings/SettingsModule.js:622 msgid "Failed to perform factory reset" msgstr "" -#: /app/src/main.js:2234 +#: /app/src/main.js:2267 msgid "Exporting..." msgstr "" -#: /app/src/main.js:2238 +#: /app/src/main.js:2271 msgid "Export failed" msgstr "" -#: /app/src/main.js:2262 +#: /app/src/main.js:2295 msgid "Export completed successfully" msgstr "" -#: /app/src/main.js:2265 +#: /app/src/main.js:2298 msgid "Failed to export data: {error}" msgstr "" -#: /app/src/main.js:2274 +#: /app/src/main.js:2307 msgid "Please select a ZIP file" msgstr "" -#: /app/src/main.js:2287 +#: /app/src/main.js:2320 msgid "Validating file..." msgstr "" -#: /app/src/main.js:2296 /app/src/main.js:2300 +#: /app/src/main.js:2329 /app/src/main.js:2333 msgid "Invalid export file" msgstr "" -#: /app/src/main.js:2331 +#: /app/src/main.js:2364 msgid "Failed to preview file: {error}" msgstr "" -#: /app/src/main.js:2343 +#: /app/src/main.js:2376 msgid "No file selected" msgstr "" -#: /app/src/main.js:2348 +#: /app/src/main.js:2381 msgid "" "This will PERMANENTLY DELETE all your existing data and replace it with the " "imported data." msgstr "" -#: /app/src/main.js:2348 +#: /app/src/main.js:2381 msgid "Are you absolutely sure you want to continue?" msgstr "" -#: /app/src/main.js:2358 +#: /app/src/main.js:2391 msgid "Importing data... This may take a moment." msgstr "" -#: /app/src/main.js:2368 /app/src/main.js:2374 +#: /app/src/main.js:2401 /app/src/main.js:2407 #: /app/src/modules/import/ImportModule.js:2449 msgid "Import failed" msgstr "" -#: /app/src/main.js:2382 +#: /app/src/main.js:2415 msgid "Import Successful!" msgstr "" -#: /app/src/main.js:2383 +#: /app/src/main.js:2416 msgid "Your data has been imported successfully." msgstr "" -#: /app/src/main.js:2385 +#: /app/src/main.js:2418 msgid "categories" msgstr "" -#: /app/src/main.js:2386 +#: /app/src/main.js:2419 msgid "accounts" msgstr "" -#: /app/src/main.js:2387 +#: /app/src/main.js:2420 msgid "transactions" msgstr "" -#: /app/src/main.js:2388 +#: /app/src/main.js:2421 msgid "bills" msgstr "" -#: /app/src/main.js:2389 +#: /app/src/main.js:2422 msgid "import rules" msgstr "" -#: /app/src/main.js:2390 +#: /app/src/main.js:2423 msgid "settings" msgstr "" -#: /app/src/main.js:2401 +#: /app/src/main.js:2435 msgid "Import completed successfully" msgstr "" -#: /app/src/main.js:2409 +#: /app/src/main.js:2443 msgid "Import Failed" msgstr "" -#: /app/src/main.js:2411 +#: /app/src/main.js:2445 msgid "Your existing data has not been modified." msgstr "" -#: /app/src/main.js:2654 +#: /app/src/main.js:2688 msgid "Failed to calculate scenario" msgstr "" -#: /app/src/main.js:2699 /app/src/modules/dashboard/DashboardModule.js:950 -#: /app/src/modules/reports/ReportsModule.js:1570 +#: /app/src/main.js:2733 /app/src/modules/dashboard/DashboardModule.js:1009 +#: /app/src/modules/reports/ReportsModule.js:1571 msgid "N/A" msgstr "" -#: /app/src/main.js:2874 /app/src/main.js:2972 +#: /app/src/main.js:2908 /app/src/main.js:3006 msgid "Interest Rate" msgstr "" -#: /app/src/main.js:2875 /app/templates/index.php:1276 +#: /app/src/main.js:2909 /app/templates/index.php:1276 msgid "Min Payment" msgstr "" -#: /app/src/main.js:2876 +#: /app/src/main.js:2910 msgid "Payoff" msgstr "" -#: /app/src/main.js:2876 +#: /app/src/main.js:2910 msgid "month {month}" msgstr "" -#: /app/src/main.js:2877 /app/templates/index.php:4141 +#: /app/src/main.js:2911 /app/templates/index.php:4141 msgid "Total Interest" msgstr "" -#: /app/src/main.js:2900 +#: /app/src/main.js:2934 msgid "No scenarios yet. Create one to compare strategies." msgstr "" -#: /app/src/main.js:2905 /app/src/main.js:3136 +#: /app/src/main.js:2939 /app/src/main.js:3170 msgid "Snowball" msgstr "" -#: /app/src/main.js:2905 /app/src/main.js:3125 +#: /app/src/main.js:2939 /app/src/main.js:3159 msgid "Avalanche" msgstr "" -#: /app/src/main.js:2916 /app/src/modules/accounts/AccountsModule.js:609 +#: /app/src/main.js:2950 /app/src/modules/accounts/AccountsModule.js:609 #: /app/src/modules/assets/AssetsModule.js:166 -#: /app/src/modules/pensions/PensionsModule.js:120 -#: /app/src/modules/savings/SavingsModule.js:138 +#: /app/src/modules/pensions/PensionsModule.js:143 +#: /app/src/modules/savings/SavingsModule.js:140 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:189 #: /app/src/modules/tagsets/TagSetsModule.js:83 /app/templates/index.php:1223 #: /app/templates/index.php:1967 /app/templates/index.php:4016 @@ -5054,215 +5610,207 @@ msgstr "" msgid "Edit" msgstr "" -#: /app/src/main.js:2918 +#: /app/src/main.js:2952 msgid "Set as active" msgstr "" -#: /app/src/main.js:2932 +#: /app/src/main.js:2966 msgid "Edit Scenario" msgstr "" -#: /app/src/main.js:2932 /app/templates/index.php:4120 +#: /app/src/main.js:2966 /app/templates/index.php:4120 #: /app/templates/index.php:4122 /app/templates/index.php:5689 msgid "New Scenario" msgstr "" -#: /app/src/main.js:2986 +#: /app/src/main.js:3020 msgid "Please enter a scenario name" msgstr "" -#: /app/src/main.js:3040 +#: /app/src/main.js:3074 msgid "Failed to save scenario" msgstr "" -#: /app/src/main.js:3045 +#: /app/src/main.js:3079 msgid "Are you sure you want to delete this scenario?" msgstr "" -#: /app/src/main.js:3064 +#: /app/src/main.js:3098 msgid "Failed to delete scenario" msgstr "" -#: /app/src/main.js:3080 +#: /app/src/main.js:3114 msgid "Failed to activate scenario" msgstr "" -#: /app/src/main.js:3127 /app/src/main.js:3138 +#: /app/src/main.js:3161 /app/src/main.js:3172 msgid "Months to payoff" msgstr "" -#: /app/src/main.js:3131 /app/src/main.js:3142 +#: /app/src/main.js:3165 /app/src/main.js:3176 msgid "Total interest" msgstr "" -#: /app/src/main.js:3160 +#: /app/src/main.js:3194 msgid "Avalanche Recommended" msgstr "" -#: /app/src/main.js:3161 +#: /app/src/main.js:3195 msgid "Snowball Recommended" msgstr "" -#: /app/src/main.js:3161 +#: /app/src/main.js:3195 msgid "Either Works" msgstr "" -#: /app/src/main.js:3164 +#: /app/src/main.js:3198 msgid "Avalanche saves {amount} in interest" msgstr "" -#: /app/src/main.js:3165 +#: /app/src/main.js:3199 msgid "Snowball saves {amount} in interest" msgstr "" -#: /app/src/main.js:3201 +#: /app/src/main.js:3235 msgid "Hide" msgstr "" -#: /app/src/main.js:3201 +#: /app/src/main.js:3235 msgid "Show" msgstr "" -#: /app/src/main.js:3311 -#: /app/src/modules/transactions/TransactionsModule.js:3610 +#: /app/src/main.js:3345 +#: /app/src/modules/transactions/TransactionsModule.js:3661 #: /app/src/modules/transactions/transactionRow.js:287 msgid "Unknown Account" msgstr "" -#: /app/src/main.js:3355 -#: /app/src/modules/transactions/TransactionsModule.js:3654 +#: /app/src/main.js:3389 +#: /app/src/modules/transactions/TransactionsModule.js:3705 msgid "Link as Transfer" msgstr "" -#: /app/src/main.js:3364 -#: /app/src/modules/transactions/TransactionsModule.js:3663 +#: /app/src/main.js:3398 +#: /app/src/modules/transactions/TransactionsModule.js:3714 msgid "Failed to search for matches. Please try again." msgstr "" -#: /app/src/main.js:3374 -#: /app/src/modules/transactions/TransactionsModule.js:3670 +#: /app/src/main.js:3408 +#: /app/src/modules/transactions/TransactionsModule.js:3721 msgid "Transactions linked as transfer" msgstr "" -#: /app/src/main.js:3380 -#: /app/src/modules/transactions/TransactionsModule.js:3676 -#: /app/src/modules/transactions/TransactionsModule.js:4348 -#: /app/src/modules/transactions/TransactionsModule.js:4420 +#: /app/src/main.js:3414 +#: /app/src/modules/transactions/TransactionsModule.js:3727 +#: /app/src/modules/transactions/TransactionsModule.js:4399 +#: /app/src/modules/transactions/TransactionsModule.js:4471 msgid "Failed to link transactions" msgstr "" -#: /app/src/main.js:3404 +#: /app/src/main.js:3438 msgid "Select an account for the other side of the transfer" msgstr "" -#: /app/src/main.js:3409 +#: /app/src/main.js:3443 msgid "Transfer created and linked" msgstr "" -#: /app/src/main.js:3415 -#: /app/src/modules/transactions/TransactionsModule.js:2933 +#: /app/src/main.js:3449 +#: /app/src/modules/transactions/TransactionsModule.js:2977 msgid "Failed to create transfer" msgstr "" -#: /app/src/main.js:3434 +#: /app/src/main.js:3468 msgid "Could not navigate to linked transaction" msgstr "" -#: /app/src/main.js:3509 -#: /app/src/modules/transactions/TransactionsModule.js:3681 +#: /app/src/main.js:3543 +#: /app/src/modules/transactions/TransactionsModule.js:3732 msgid "" "Are you sure you want to unlink this transaction from its transfer pair?" msgstr "" -#: /app/src/main.js:3515 -#: /app/src/modules/transactions/TransactionsModule.js:3687 +#: /app/src/main.js:3549 +#: /app/src/modules/transactions/TransactionsModule.js:3738 msgid "Transaction unlinked" msgstr "" -#: /app/src/main.js:3546 -#: /app/src/modules/transactions/TransactionsModule.js:3714 +#: /app/src/main.js:3580 +#: /app/src/modules/transactions/TransactionsModule.js:3765 msgid "Edit Transaction Splits" msgstr "" -#: /app/src/main.js:3546 -#: /app/src/modules/transactions/TransactionsModule.js:3714 -#: /app/templates/index.php:7098 +#: /app/src/main.js:3580 +#: /app/src/modules/transactions/TransactionsModule.js:3765 +#: /app/templates/index.php:7099 msgid "Split Transaction" msgstr "" -#: /app/src/main.js:3562 +#: /app/src/main.js:3596 msgid "Total Amount" msgstr "" -#: /app/src/main.js:3636 -#: /app/src/modules/transactions/TransactionsModule.js:3196 -#: /app/src/modules/transactions/TransactionsModule.js:3801 +#: /app/src/main.js:3670 +#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3852 #: /app/templates/index.php:5550 msgid "Optional note" msgstr "" -#: /app/src/main.js:3640 /app/src/modules/bills/BillsModule.js:992 -#: /app/src/modules/transactions/TransactionsModule.js:3805 +#: /app/src/main.js:3674 /app/src/modules/bills/BillsModule.js:998 +#: /app/src/modules/transactions/TransactionsModule.js:3856 msgid "Remove split" msgstr "" -#: /app/src/main.js:3760 -#: /app/src/modules/transactions/TransactionsModule.js:3873 +#: /app/src/main.js:3794 +#: /app/src/modules/transactions/TransactionsModule.js:3924 msgid "A split transaction must have at least 2 parts" msgstr "" -#: /app/src/main.js:3766 -#: /app/src/modules/transactions/TransactionsModule.js:3879 +#: /app/src/main.js:3800 +#: /app/src/modules/transactions/TransactionsModule.js:3930 msgid "" "Split amounts ({splitTotal}) must equal transaction amount ({totalAmount})" msgstr "" -#: /app/src/main.js:3777 -#: /app/src/modules/transactions/TransactionsModule.js:3890 +#: /app/src/main.js:3811 +#: /app/src/modules/transactions/TransactionsModule.js:3941 msgid "Transaction split successfully" msgstr "" -#: /app/src/main.js:3781 -#: /app/src/modules/transactions/TransactionsModule.js:3894 +#: /app/src/main.js:3815 +#: /app/src/modules/transactions/TransactionsModule.js:3945 msgid "Failed to save splits" msgstr "" -#: /app/src/main.js:3792 -#: /app/src/modules/transactions/TransactionsModule.js:3902 +#: /app/src/main.js:3826 +#: /app/src/modules/transactions/TransactionsModule.js:3953 msgid "" "Are you sure you want to remove the split and revert to a single transaction?" msgstr "" -#: /app/src/main.js:3800 -#: /app/src/modules/transactions/TransactionsModule.js:3910 +#: /app/src/main.js:3834 +#: /app/src/modules/transactions/TransactionsModule.js:3961 msgid "Transaction unsplit successfully" msgstr "" -#: /app/src/main.js:3804 -#: /app/src/modules/transactions/TransactionsModule.js:3914 +#: /app/src/main.js:3838 +#: /app/src/modules/transactions/TransactionsModule.js:3965 msgid "Failed to unsplit transaction" msgstr "" -#: /app/src/main.js:3943 +#: /app/src/main.js:3977 msgid "At least one column must remain visible" msgstr "" -#: /app/src/main.js:3963 +#: /app/src/main.js:3997 msgid "Failed to save column visibility" msgstr "" -#: /app/src/main.js:3970 +#: /app/src/main.js:4004 msgid "Failed to save column preferences" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:25 -#: /app/src/modules/transfers/TransfersModule.js:475 -#: /app/templates/index.php:1104 /app/templates/index.php:2802 -#: /app/templates/index.php:5157 /app/templates/index.php:5583 -#: /app/templates/index.php:7236 -msgid "Name" -msgstr "" - #: /app/src/modules/accounts/AccountsModule.js:26 /app/templates/index.php:1106 msgid "Account type" msgstr "" @@ -5337,7 +5885,7 @@ msgid "Excluded" msgstr "" #: /app/src/modules/accounts/AccountsModule.js:561 -#: /app/src/modules/accounts/AccountsModule.js:2662 +#: /app/src/modules/accounts/AccountsModule.js:2668 msgid "Edit Account" msgstr "" @@ -5346,13 +5894,13 @@ msgid "Delete Account" msgstr "" #: /app/src/modules/accounts/AccountsModule.js:634 -#: /app/src/modules/accounts/AccountsModule.js:2406 +#: /app/src/modules/accounts/AccountsModule.js:2412 #: /app/templates/index.php:1039 msgid "Select account" msgstr "" #: /app/src/modules/accounts/AccountsModule.js:678 -#: /app/src/modules/categories/CategoriesModule.js:1315 +#: /app/src/modules/categories/CategoriesModule.js:1337 msgid "%n selected" msgid_plural "%n selected" msgstr[0] "" @@ -5368,7 +5916,12 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/accounts/AccountsModule.js:733 +#: /app/src/modules/accounts/AccountsModule.js:712 +msgid "" +"Any bills, transfers or recurring income that use them are switched off." +msgstr "" + +#: /app/src/modules/accounts/AccountsModule.js:734 msgid "" "%n account still has transactions: {names}. Delete it along with its {rows} " "transaction(s)? This cannot be undone." @@ -5378,435 +5931,440 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/accounts/AccountsModule.js:751 +#: /app/src/modules/accounts/AccountsModule.js:752 msgid "%n account and {count} transaction(s) deleted" msgid_plural "%n accounts and {count} transaction(s) deleted" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/accounts/AccountsModule.js:754 +#: /app/src/modules/accounts/AccountsModule.js:755 msgid "%n account deleted" msgid_plural "%n accounts deleted" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/accounts/AccountsModule.js:757 -#: /app/src/modules/categories/CategoriesModule.js:1355 +#: /app/src/modules/accounts/AccountsModule.js:758 +#: /app/src/modules/categories/CategoriesModule.js:1377 msgid "Failed to delete: {errors}" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:771 +#: /app/src/modules/accounts/AccountsModule.js:772 msgid "Failed to delete accounts: {error}" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:889 +#: /app/src/modules/accounts/AccountsModule.js:890 msgid "Always shown" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1128 +#: /app/src/modules/accounts/AccountsModule.js:1129 msgid "Failed to load account details" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1240 +#: /app/src/modules/accounts/AccountsModule.js:1241 msgid "Day {day} each month" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1293 -#: /app/src/modules/accounts/AccountsModule.js:1294 -#: /app/src/modules/accounts/AccountsModule.js:1295 #: /app/src/modules/accounts/AccountsModule.js:1296 #: /app/src/modules/accounts/AccountsModule.js:1297 +#: /app/src/modules/accounts/AccountsModule.js:1298 #: /app/src/modules/accounts/AccountsModule.js:1299 +#: /app/src/modules/accounts/AccountsModule.js:1300 +#: /app/src/modules/accounts/AccountsModule.js:1302 #: /app/templates/index.php:1358 /app/templates/index.php:1362 #: /app/templates/index.php:1366 /app/templates/index.php:1370 #: /app/templates/index.php:1374 /app/templates/index.php:1382 msgid "Not provided" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1300 +#: /app/src/modules/accounts/AccountsModule.js:1303 #: /app/templates/index.php:1386 msgid "Never" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1367 +#: /app/src/modules/accounts/AccountsModule.js:1370 +#: /app/src/modules/transfers/TransfersModule.js:477 #: /app/templates/index.php:6087 msgid "Daily" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1370 +#: /app/src/modules/accounts/AccountsModule.js:1373 msgid "Simple" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1399 -#: /app/src/modules/accounts/AccountsModule.js:1404 +#: /app/src/modules/accounts/AccountsModule.js:1402 +#: /app/src/modules/accounts/AccountsModule.js:1407 msgid "Failed to delete rate change" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1401 +#: /app/src/modules/accounts/AccountsModule.js:1404 msgid "Rate change deleted" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1418 +#: /app/src/modules/accounts/AccountsModule.js:1421 msgid "Enter new annual interest rate (%)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1423 +#: /app/src/modules/accounts/AccountsModule.js:1426 msgid "Invalid rate. Must be between 0 and 999.9999" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1427 +#: /app/src/modules/accounts/AccountsModule.js:1430 msgid "Effective date (YYYY-MM-DD)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1430 +#: /app/src/modules/accounts/AccountsModule.js:1433 msgid "Compounding frequency (daily, monthly, yearly, simple)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1444 -#: /app/src/modules/accounts/AccountsModule.js:1449 +#: /app/src/modules/accounts/AccountsModule.js:1447 +#: /app/src/modules/accounts/AccountsModule.js:1452 msgid "Failed to add rate change" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1446 +#: /app/src/modules/accounts/AccountsModule.js:1449 msgid "Rate change added" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1498 +#: /app/src/modules/accounts/AccountsModule.js:1501 msgid "" "Some historical exchange rates could not be found. P&L may be approximate." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1577 +#: /app/src/modules/accounts/AccountsModule.js:1580 #: /app/src/modules/import/ImportModule.js:1978 msgid "No transactions found" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1578 +#: /app/src/modules/accounts/AccountsModule.js:1581 msgid "This account doesn't have any transactions yet." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1740 -#: /app/src/utils/billDates.js:36 +#: /app/src/modules/accounts/AccountsModule.js:1746 +#: /app/src/utils/billDates.js:102 msgid "No due date" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1742 +#: /app/src/modules/accounts/AccountsModule.js:1748 msgid "{date} (statement balance)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1743 +#: /app/src/modules/accounts/AccountsModule.js:1749 msgid "{date} (current balance)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1744 +#: /app/src/modules/accounts/AccountsModule.js:1750 msgid "{date} (minimum payment)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1786 +#: /app/src/modules/accounts/AccountsModule.js:1792 msgid "{account} payment" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1864 -#: /app/src/modules/transactions/TransactionsModule.js:510 +#: /app/src/modules/accounts/AccountsModule.js:1870 +#: /app/src/modules/transactions/TransactionsModule.js:532 #: /app/templates/index.php:1463 /app/templates/index.php:1627 msgid "All Categories" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1918 +#: /app/src/modules/accounts/AccountsModule.js:1924 #: /app/src/modules/reports/ReportsModule.js:457 #: /app/src/modules/tagsets/TagSetsModule.js:591 -#: /app/src/modules/transactions/TransactionsModule.js:565 -#: /app/src/modules/transactions/TransactionsModule.js:1320 +#: /app/src/modules/transactions/TransactionsModule.js:587 +#: /app/src/modules/transactions/TransactionsModule.js:1346 msgid "No tags available" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:1929 +#: /app/src/modules/accounts/AccountsModule.js:1935 #: /app/src/modules/reports/ReportsModule.js:469 -#: /app/src/modules/transactions/TransactionsModule.js:576 -#: /app/src/modules/transactions/TransactionsModule.js:4793 +#: /app/src/modules/transactions/TransactionsModule.js:598 +#: /app/src/modules/transactions/TransactionsModule.js:4844 msgid "Type to filter tags..." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2012 +#: /app/src/modules/accounts/AccountsModule.js:2018 #: /app/src/modules/reports/ReportsModule.js:535 -#: /app/src/modules/transactions/TransactionsModule.js:660 -#: /app/src/modules/transactions/TransactionsModule.js:4868 +#: /app/src/modules/transactions/TransactionsModule.js:682 +#: /app/src/modules/transactions/TransactionsModule.js:4919 msgid "No tags found" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2130 -#: /app/src/modules/transactions/TransactionsModule.js:520 +#: /app/src/modules/accounts/AccountsModule.js:2136 +#: /app/src/modules/transactions/TransactionsModule.js:542 #: /app/templates/index.php:1739 msgid "Select account to reconcile" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2210 -#: /app/src/modules/accounts/AccountsModule.js:2312 +#: /app/src/modules/accounts/AccountsModule.js:2216 +#: /app/src/modules/accounts/AccountsModule.js:2318 msgid "No accounts available. Please create an account first." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2213 -#: /app/src/modules/accounts/AccountsModule.js:2315 +#: /app/src/modules/accounts/AccountsModule.js:2219 +#: /app/src/modules/accounts/AccountsModule.js:2321 #: /app/src/modules/import/ImportModule.js:2429 msgid "Please select an account" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2217 -#: /app/src/modules/accounts/AccountsModule.js:2319 +#: /app/src/modules/accounts/AccountsModule.js:2223 +#: /app/src/modules/accounts/AccountsModule.js:2325 msgid "Please enter a date" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2221 -#: /app/src/modules/accounts/AccountsModule.js:2323 +#: /app/src/modules/accounts/AccountsModule.js:2227 +#: /app/src/modules/accounts/AccountsModule.js:2329 msgid "Please select a transaction type" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2225 -#: /app/src/modules/accounts/AccountsModule.js:2327 -#: /app/src/modules/savings/SavingsModule.js:487 +#: /app/src/modules/accounts/AccountsModule.js:2231 +#: /app/src/modules/accounts/AccountsModule.js:2333 +#: /app/src/modules/savings/SavingsModule.js:489 msgid "Please enter a valid amount" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2229 -#: /app/src/modules/accounts/AccountsModule.js:2331 +#: /app/src/modules/accounts/AccountsModule.js:2235 +#: /app/src/modules/accounts/AccountsModule.js:2337 msgid "Please enter a description" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2257 -#: /app/src/modules/accounts/AccountsModule.js:2276 -#: /app/src/modules/transactions/TransactionsModule.js:2975 -#: /app/src/modules/transactions/TransactionsModule.js:2982 -#: /app/src/modules/transactions/TransactionsModule.js:3032 +#: /app/src/modules/accounts/AccountsModule.js:2263 +#: /app/src/modules/accounts/AccountsModule.js:2282 +#: /app/src/modules/transactions/TransactionsModule.js:3019 +#: /app/src/modules/transactions/TransactionsModule.js:3026 +#: /app/src/modules/transactions/TransactionsModule.js:3076 #: /app/templates/quick-add.php:185 msgid "Failed to save transaction" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2267 +#: /app/src/modules/accounts/AccountsModule.js:2273 msgid "Transaction saved successfully" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2350 -#: /app/src/modules/accounts/AccountsModule.js:2365 +#: /app/src/modules/accounts/AccountsModule.js:2356 +#: /app/src/modules/accounts/AccountsModule.js:2371 msgid "Failed to add transaction" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2353 +#: /app/src/modules/accounts/AccountsModule.js:2359 msgid "Transaction added successfully!" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2418 -#: /app/src/modules/bills/BillsModule.js:911 -#: /app/src/modules/bills/BillsModule.js:975 -#: /app/src/modules/income/IncomeModule.js:465 -#: /app/src/modules/transactions/TransactionsModule.js:1958 -#: /app/src/modules/transfers/TransfersModule.js:566 +#: /app/src/modules/accounts/AccountsModule.js:2424 +#: /app/src/modules/bills/BillsModule.js:917 +#: /app/src/modules/bills/BillsModule.js:981 +#: /app/src/modules/income/IncomeModule.js:461 +#: /app/src/modules/transactions/TransactionsModule.js:1986 +#: /app/src/modules/transfers/TransfersModule.js:551 #: /app/templates/index.php:1061 /app/templates/index.php:5864 -#: /app/templates/index.php:6255 /app/templates/index.php:6725 +#: /app/templates/index.php:6255 /app/templates/index.php:6726 msgid "No category" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2437 +#: /app/src/modules/accounts/AccountsModule.js:2443 msgid "Form error: Account name field not found" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2443 +#: /app/src/modules/accounts/AccountsModule.js:2449 msgid "Form error: Account type field not found" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2497 -#: /app/src/modules/accounts/AccountsModule.js:2511 +#: /app/src/modules/accounts/AccountsModule.js:2503 +#: /app/src/modules/accounts/AccountsModule.js:2517 msgid "" "Enter the amount owed as a positive number. Tick \"This account is in " "credit\" if the lender owes you instead." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2548 +#: /app/src/modules/accounts/AccountsModule.js:2554 msgid "Please enter an account name" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2555 +#: /app/src/modules/accounts/AccountsModule.js:2561 msgid "Please select an account type" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2562 +#: /app/src/modules/accounts/AccountsModule.js:2568 msgid "Account name is too long (maximum 255 characters)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2569 +#: /app/src/modules/accounts/AccountsModule.js:2575 msgid "Please enter a valid balance amount" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2589 +#: /app/src/modules/accounts/AccountsModule.js:2595 msgid "Account saved successfully" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2612 +#: /app/src/modules/accounts/AccountsModule.js:2618 msgid "Unknown error occurred" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2613 +#: /app/src/modules/accounts/AccountsModule.js:2619 msgid "Failed to save account: {error}" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2643 +#: /app/src/modules/accounts/AccountsModule.js:2649 msgid "" "This account has a balance of {balance}. It must be zero before it can be " "closed." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2672 +#: /app/src/modules/accounts/AccountsModule.js:2678 #: /app/templates/index.php:1122 msgid "Add Account" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2703 +#: /app/src/modules/accounts/AccountsModule.js:2709 msgid "Balance is calculated from transactions" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2711 +#: /app/src/modules/accounts/AccountsModule.js:2717 msgid "Calculated from transactions" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2779 +#: /app/src/modules/accounts/AccountsModule.js:2785 msgid "•••••••• (leave blank to keep current)" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2801 +#: /app/src/modules/accounts/AccountsModule.js:2807 msgid "Failed to load account data" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2872 -#: /app/src/modules/accounts/AccountsModule.js:2884 +#: /app/src/modules/accounts/AccountsModule.js:2878 +#: /app/src/modules/accounts/AccountsModule.js:2890 msgid "Amount owed" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2873 +#: /app/src/modules/accounts/AccountsModule.js:2879 #: /app/templates/index.php:5992 msgid "Opening Balance" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2878 +#: /app/src/modules/accounts/AccountsModule.js:2884 msgid "" "Enter what you owe as a plain positive number — the app records it as a debt " "for you." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2879 +#: /app/src/modules/accounts/AccountsModule.js:2885 #: /app/templates/index.php:5994 msgid "The starting balance when this account was created" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2885 -#: /app/src/modules/accounts/AccountsModule.js:2927 +#: /app/src/modules/accounts/AccountsModule.js:2891 +#: /app/src/modules/accounts/AccountsModule.js:2933 #: /app/templates/index.php:6007 msgid "Starting Balance" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2894 +#: /app/src/modules/accounts/AccountsModule.js:2900 msgid "" "This account is currently recorded as being in credit — as if the lender " "owes you this money, which adds it to your net worth. If you actually owe " "it, untick the box above and save." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2931 +#: /app/src/modules/accounts/AccountsModule.js:2937 #: /app/templates/index.php:6009 msgid "The balance this account starts with" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:2990 +#: /app/src/modules/accounts/AccountsModule.js:2997 msgid "" "Are you sure you want to delete this account? This action cannot be undone." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3007 +#: /app/src/modules/accounts/AccountsModule.js:2998 +msgid "Any bills, transfers or recurring income that use it are switched off." +msgstr "" + +#: /app/src/modules/accounts/AccountsModule.js:3017 msgid "" "This account still has {count} transaction(s). Delete them along with the " "account? This cannot be undone." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3008 +#: /app/src/modules/accounts/AccountsModule.js:3018 msgid "" "This account still has transactions. Delete them along with the account? " "This cannot be undone." msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3016 +#: /app/src/modules/accounts/AccountsModule.js:3026 msgid "Account and its {count} transaction(s) deleted" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3017 +#: /app/src/modules/accounts/AccountsModule.js:3027 msgid "Account deleted successfully" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3027 +#: /app/src/modules/accounts/AccountsModule.js:3037 msgid "Failed to delete account: {error}" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3246 +#: /app/src/modules/accounts/AccountsModule.js:3256 msgid "Valid" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3311 +#: /app/src/modules/accounts/AccountsModule.js:3321 #: /app/templates/index.php:5979 msgid "Checking Account" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3316 +#: /app/src/modules/accounts/AccountsModule.js:3326 #: /app/templates/index.php:5980 msgid "Savings Account" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3321 -#: /app/src/modules/dashboard/DashboardModule.js:1039 +#: /app/src/modules/accounts/AccountsModule.js:3331 +#: /app/src/modules/dashboard/DashboardModule.js:1098 #: /app/src/utils/formatters.js:264 /app/templates/index.php:5981 msgid "Credit Card" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3326 -#: /app/src/modules/dashboard/DashboardModule.js:1040 +#: /app/src/modules/accounts/AccountsModule.js:3336 +#: /app/src/modules/dashboard/DashboardModule.js:1099 #: /app/src/utils/formatters.js:265 msgid "Investment" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3331 -#: /app/src/modules/dashboard/DashboardModule.js:1042 +#: /app/src/modules/accounts/AccountsModule.js:3341 +#: /app/src/modules/dashboard/DashboardModule.js:1101 #: /app/src/utils/formatters.js:267 msgid "Loan" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3336 -#: /app/src/modules/dashboard/DashboardModule.js:1041 +#: /app/src/modules/accounts/AccountsModule.js:3346 +#: /app/src/modules/dashboard/DashboardModule.js:1100 #: /app/src/utils/formatters.js:266 /app/templates/index.php:5986 msgid "Cash" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3341 +#: /app/src/modules/accounts/AccountsModule.js:3351 #: /app/src/utils/formatters.js:270 /app/templates/index.php:5987 msgid "Cryptocurrency" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3363 +#: /app/src/modules/accounts/AccountsModule.js:3373 msgid "Credit utilization very high" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3369 +#: /app/src/modules/accounts/AccountsModule.js:3379 msgid "Credit utilization high" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3379 +#: /app/src/modules/accounts/AccountsModule.js:3389 msgid "Negative balance" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3388 +#: /app/src/modules/accounts/AccountsModule.js:3398 msgid "Exceeds overdraft limit" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3395 +#: /app/src/modules/accounts/AccountsModule.js:3405 msgid "Account is in good standing" msgstr "" -#: /app/src/modules/accounts/AccountsModule.js:3427 +#: /app/src/modules/accounts/AccountsModule.js:3437 msgid "No transactions to export" msgstr "" @@ -5832,8 +6390,8 @@ msgid "Collectibles" msgstr "" #: /app/src/modules/assets/AssetsModule.js:109 -#: /app/src/modules/dashboard/DashboardModule.js:2252 -#: /app/src/modules/dashboard/DashboardModule.js:5503 +#: /app/src/modules/dashboard/DashboardModule.js:2415 +#: /app/src/modules/dashboard/DashboardModule.js:5757 #: /app/templates/index.php:5595 msgid "Other" msgstr "" @@ -5853,7 +6411,7 @@ msgid "View Details" msgstr "" #: /app/src/modules/assets/AssetsModule.js:213 -#: /app/src/modules/dashboard/DashboardModule.js:2051 +#: /app/src/modules/dashboard/DashboardModule.js:2214 msgid "%n asset" msgid_plural "%n assets" msgstr[0] "" @@ -5920,7 +6478,7 @@ msgstr "" #: /app/src/modules/projects/ProjectsModule.js:87 #: /app/src/modules/sharing/SharingModule.js:122 #: /app/src/modules/sharing/SharingModule.js:152 /app/templates/index.php:2778 -#: /app/templates/index.php:2791 /app/templates/index.php:6482 +#: /app/templates/index.php:2791 /app/templates/index.php:6483 msgid "Active" msgstr "" @@ -6014,7 +6572,7 @@ msgstr "" #: /app/src/modules/bank-sync/BankSyncModule.js:358 #: /app/templates/index.php:1560 /app/templates/index.php:1815 #: /app/templates/index.php:1863 /app/templates/index.php:2575 -#: /app/templates/index.php:7495 +#: /app/templates/index.php:7496 msgid "Next" msgstr "" @@ -6045,7 +6603,7 @@ msgid "No banks found for this country." msgstr "" #: /app/src/modules/bank-sync/BankSyncModule.js:533 -#: /app/templates/index.php:7522 +#: /app/templates/index.php:7523 msgid "Connect" msgstr "" @@ -6075,7 +6633,7 @@ msgid "Authorization check failed: {error}" msgstr "" #: /app/src/modules/bank-sync/BankSyncModule.js:579 -#: /app/templates/index.php:7544 +#: /app/templates/index.php:7545 msgid "I've Completed Authorization" msgstr "" @@ -6161,785 +6719,678 @@ msgstr "" msgid "Pending transactions will be included during sync" msgstr "" -#: /app/src/modules/bills/BillsModule.js:64 -#: /app/src/modules/bills/BillsModule.js:67 +#: /app/src/modules/bills/BillsModule.js:68 +#: /app/src/modules/bills/BillsModule.js:71 msgid "Failed to load bills" msgstr "" -#: /app/src/modules/bills/BillsModule.js:101 +#: /app/src/modules/bills/BillsModule.js:105 msgid "Marked paid on {date}" msgstr "" -#: /app/src/modules/bills/BillsModule.js:105 +#: /app/src/modules/bills/BillsModule.js:109 msgid "Record transaction" msgstr "" -#: /app/src/modules/bills/BillsModule.js:106 +#: /app/src/modules/bills/BillsModule.js:110 msgid "" "One-time bills leave the list after payment — open it here to assign an " "account" msgstr "" -#: /app/src/modules/bills/BillsModule.js:106 +#: /app/src/modules/bills/BillsModule.js:110 msgid "Assign an account" msgstr "" -#: /app/src/modules/bills/BillsModule.js:108 -#: /app/src/modules/bills/BillsModule.js:385 -#: /app/src/modules/transfers/TransfersModule.js:377 +#: /app/src/modules/bills/BillsModule.js:112 +#: /app/src/modules/bills/BillsModule.js:374 +#: /app/src/modules/transfers/TransfersModule.js:363 msgid "Revert the last payment" msgstr "" -#: /app/src/modules/bills/BillsModule.js:108 -#: /app/src/modules/bills/BillsModule.js:387 -#: /app/src/modules/transfers/TransfersModule.js:379 +#: /app/src/modules/bills/BillsModule.js:112 +#: /app/src/modules/bills/BillsModule.js:376 +#: /app/src/modules/transfers/TransfersModule.js:365 msgid "Mark Unpaid" msgstr "" -#: /app/src/modules/bills/BillsModule.js:110 +#: /app/src/modules/bills/BillsModule.js:114 msgid "Keep the bill as paid and stop listing this payment" msgstr "" -#: /app/src/modules/bills/BillsModule.js:110 -#: /app/src/modules/bills/BillsModule.js:203 -#: /app/src/modules/transactions/TransactionsModule.js:1766 +#: /app/src/modules/bills/BillsModule.js:114 +#: /app/src/modules/bills/BillsModule.js:207 +#: /app/src/modules/transactions/TransactionsModule.js:1792 msgid "Dismiss" msgstr "" -#: /app/src/modules/bills/BillsModule.js:160 +#: /app/src/modules/bills/BillsModule.js:164 msgid "Transaction recorded" msgstr "" -#: /app/src/modules/bills/BillsModule.js:199 -#: /app/src/modules/bills/BillsModule.js:1610 -#: /app/src/modules/income/IncomeModule.js:740 -#: /app/src/modules/transfers/TransfersModule.js:1293 -#, javascript-format +#: /app/src/modules/bills/BillsModule.js:203 +#: /app/src/modules/bills/BillsModule.js:1515 +#: /app/src/modules/income/IncomeModule.js:748 +#: /app/src/modules/transfers/TransfersModule.js:1288 +#, no-javascript-format msgid "{percent}% confidence" msgstr "" -#: /app/src/modules/bills/BillsModule.js:202 +#: /app/src/modules/bills/BillsModule.js:206 msgid "Create bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:236 +#: /app/src/modules/bills/BillsModule.js:245 msgid "Bill \"{name}\" created" msgstr "" -#: /app/src/modules/bills/BillsModule.js:239 +#: /app/src/modules/bills/BillsModule.js:248 msgid "Failed to create bill: {message}" msgstr "" -#: /app/src/modules/bills/BillsModule.js:259 +#: /app/src/modules/bills/BillsModule.js:268 msgid "Dismiss all suggestions? They will not be shown again." msgstr "" -#: /app/src/modules/bills/BillsModule.js:269 +#: /app/src/modules/bills/BillsModule.js:278 msgid "Failed to dismiss suggestions" msgstr "" -#: /app/src/modules/bills/BillsModule.js:317 -#: /app/src/modules/reports/ReportsModule.js:1908 -#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 -#: /app/src/modules/transfers/TransfersModule.js:315 -#: /app/templates/index.php:2690 -msgid "Paid" +#: /app/src/modules/bills/BillsModule.js:320 +#: /app/src/modules/income/IncomeModule.js:99 +#: /app/src/modules/transfers/TransfersModule.js:317 +#: /app/src/modules/transfers/TransfersModule.js:479 +#: /app/src/modules/transfers/TransfersModule.js:1121 +#: /app/templates/index.php:6189 /app/templates/index.php:6680 +msgid "Bi-Weekly" msgstr "" -#: /app/src/modules/bills/BillsModule.js:320 -#: /app/src/modules/transfers/TransfersModule.js:139 +#: /app/src/modules/bills/BillsModule.js:321 +#: /app/src/modules/income/IncomeModule.js:100 #: /app/src/modules/transfers/TransfersModule.js:318 -#: /app/templates/index.php:2662 /app/templates/index.php:2689 -msgid "Overdue" +#: /app/src/modules/transfers/TransfersModule.js:480 +#: /app/src/modules/transfers/TransfersModule.js:1122 +#: /app/templates/index.php:6190 /app/templates/index.php:6681 +msgid "Semi-Monthly" msgstr "" -#: /app/src/modules/bills/BillsModule.js:323 -#: /app/src/modules/transfers/TransfersModule.js:138 +#: /app/src/modules/bills/BillsModule.js:324 +#: /app/src/modules/income/IncomeModule.js:103 #: /app/src/modules/transfers/TransfersModule.js:321 -#: /app/templates/index.php:2688 -msgid "Due Soon" +#: /app/src/modules/transfers/TransfersModule.js:483 +#: /app/src/modules/transfers/TransfersModule.js:1125 +#: /app/templates/index.php:6193 /app/templates/index.php:6684 +msgid "Semi-Annually" msgstr "" #: /app/src/modules/bills/BillsModule.js:326 #: /app/src/modules/income/IncomeModule.js:105 -#: /app/src/modules/projects/ProjectsModule.js:86 -#: /app/src/modules/transfers/TransfersModule.js:324 -msgid "Upcoming" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:332 -#: /app/src/modules/income/IncomeModule.js:111 -#: /app/src/modules/transfers/TransfersModule.js:331 -#: /app/src/modules/transfers/TransfersModule.js:504 -#: /app/src/modules/transfers/TransfersModule.js:1104 -#: /app/templates/index.php:6189 /app/templates/index.php:6679 -msgid "Bi-Weekly" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:333 -#: /app/src/modules/income/IncomeModule.js:112 -#: /app/src/modules/transfers/TransfersModule.js:332 -#: /app/src/modules/transfers/TransfersModule.js:505 -#: /app/src/modules/transfers/TransfersModule.js:1105 -#: /app/templates/index.php:6190 /app/templates/index.php:6680 -msgid "Semi-Monthly" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:336 -#: /app/src/modules/income/IncomeModule.js:115 -#: /app/src/modules/transfers/TransfersModule.js:335 -#: /app/src/modules/transfers/TransfersModule.js:1108 -#: /app/templates/index.php:6193 /app/templates/index.php:6683 -msgid "Semi-Annually" +#: /app/src/modules/transfers/TransfersModule.js:315 +#: /app/src/modules/transfers/TransfersModule.js:476 +#: /app/src/modules/transfers/TransfersModule.js:1127 +#: /app/templates/index.php:6195 /app/templates/index.php:6686 +msgid "One-Time" msgstr "" -#: /app/src/modules/bills/BillsModule.js:338 -#: /app/src/modules/income/IncomeModule.js:117 -#: /app/src/modules/transfers/TransfersModule.js:329 -#: /app/src/modules/transfers/TransfersModule.js:502 -#: /app/src/modules/transfers/TransfersModule.js:1110 -#: /app/templates/index.php:6195 /app/templates/index.php:6685 -msgid "One-Time" +#: /app/src/modules/bills/BillsModule.js:352 +msgid "" +"This date was filled in for the bill, not entered. Edit the bill to check it." msgstr "" -#: /app/src/modules/bills/BillsModule.js:364 /app/templates/index.php:5872 +#: /app/src/modules/bills/BillsModule.js:352 +#, fuzzy +msgid "Check date" +msgstr "Fecha de compra" + +#: /app/src/modules/bills/BillsModule.js:353 /app/templates/index.php:5872 #: /app/templates/index.php:6266 msgid "Split across categories" msgstr "" -#: /app/src/modules/bills/BillsModule.js:365 -#: /app/src/modules/transfers/TransfersModule.js:359 +#: /app/src/modules/bills/BillsModule.js:354 +#: /app/src/modules/transfers/TransfersModule.js:345 msgid "Auto-pay enabled" msgstr "" -#: /app/src/modules/bills/BillsModule.js:365 -#: /app/src/modules/transfers/TransfersModule.js:359 +#: /app/src/modules/bills/BillsModule.js:354 +#: /app/src/modules/transfers/TransfersModule.js:345 msgid "Auto-pay" msgstr "" -#: /app/src/modules/bills/BillsModule.js:366 -#: /app/src/modules/transfers/TransfersModule.js:360 +#: /app/src/modules/bills/BillsModule.js:355 +#: /app/src/modules/transfers/TransfersModule.js:346 msgid "Auto-pay failed - disabled" msgstr "" -#: /app/src/modules/bills/BillsModule.js:366 -#: /app/src/modules/transfers/TransfersModule.js:360 +#: /app/src/modules/bills/BillsModule.js:355 +#: /app/src/modules/transfers/TransfersModule.js:346 msgid "Auto-pay Failed" msgstr "" -#: /app/src/modules/bills/BillsModule.js:367 +#: /app/src/modules/bills/BillsModule.js:356 msgid "Remaining payments" msgstr "" -#: /app/src/modules/bills/BillsModule.js:367 +#: /app/src/modules/bills/BillsModule.js:356 msgid "{count} left" msgstr "" -#: /app/src/modules/bills/BillsModule.js:368 +#: /app/src/modules/bills/BillsModule.js:357 msgid "Ends {date}" msgstr "" -#: /app/src/modules/bills/BillsModule.js:373 -#: /app/src/modules/transfers/TransfersModule.js:365 +#: /app/src/modules/bills/BillsModule.js:362 +#: /app/src/modules/transfers/TransfersModule.js:351 msgid "Mark as paid" msgstr "" -#: /app/src/modules/bills/BillsModule.js:375 -#: /app/src/modules/transfers/TransfersModule.js:367 +#: /app/src/modules/bills/BillsModule.js:364 +#: /app/src/modules/transfers/TransfersModule.js:353 msgid "Mark Paid" msgstr "" -#: /app/src/modules/bills/BillsModule.js:379 -#: /app/src/modules/income/IncomeModule.js:151 -#: /app/src/modules/transfers/TransfersModule.js:371 +#: /app/src/modules/bills/BillsModule.js:368 +#: /app/src/modules/income/IncomeModule.js:139 +#: /app/src/modules/transfers/TransfersModule.js:357 msgid "Skip this payment" msgstr "" -#: /app/src/modules/bills/BillsModule.js:381 -#: /app/src/modules/income/IncomeModule.js:153 -#: /app/src/modules/transfers/TransfersModule.js:373 +#: /app/src/modules/bills/BillsModule.js:370 +#: /app/src/modules/income/IncomeModule.js:141 +#: /app/src/modules/transfers/TransfersModule.js:359 msgid "Skip" msgstr "" -#: /app/src/modules/bills/BillsModule.js:390 +#: /app/src/modules/bills/BillsModule.js:379 msgid "Edit bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:393 +#: /app/src/modules/bills/BillsModule.js:382 msgid "Delete bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:642 +#: /app/src/modules/bills/BillsModule.js:618 +msgid "" +"This date was filled in for the bill when it was saved without one. Check " +"it, then save." +msgstr "" + +#: /app/src/modules/bills/BillsModule.js:633 msgid "Edit Bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:727 /app/templates/index.php:2622 +#: /app/src/modules/bills/BillsModule.js:719 /app/templates/index.php:2622 msgid "Add Bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:801 +#: /app/src/modules/bills/BillsModule.js:794 /app/src/utils/formSelects.js:29 msgid "Unavailable (not shared with you)" msgstr "" -#: /app/src/modules/bills/BillsModule.js:872 -#: /app/src/modules/transfers/TransfersModule.js:761 +#: /app/src/modules/bills/BillsModule.js:867 +#: /app/src/modules/transfers/TransfersModule.js:753 msgid "Due Date" msgstr "" -#: /app/src/modules/bills/BillsModule.js:872 -#: /app/src/modules/transfers/TransfersModule.js:545 -#: /app/src/modules/transfers/TransfersModule.js:761 +#: /app/src/modules/bills/BillsModule.js:867 +#: /app/src/modules/transfers/TransfersModule.js:530 +#: /app/src/modules/transfers/TransfersModule.js:753 #: /app/templates/index.php:6298 msgid "Start Date" msgstr "" -#: /app/src/modules/bills/BillsModule.js:876 +#: /app/src/modules/bills/BillsModule.js:871 msgid "" "The date this bill is due. It can be in the past - an invoice you are " "entering late stays due on its own date." msgstr "" -#: /app/src/modules/bills/BillsModule.js:877 /app/templates/index.php:6300 +#: /app/src/modules/bills/BillsModule.js:872 /app/templates/index.php:6300 msgid "Bill only occurs on or after this date (optional)" msgstr "" -#: /app/src/modules/bills/BillsModule.js:892 -#: /app/src/modules/transfers/TransfersModule.js:773 +#: /app/src/modules/bills/BillsModule.js:889 +#: /app/src/modules/transfers/TransfersModule.js:765 msgid "Due Day (1-7)" msgstr "" -#: /app/src/modules/bills/BillsModule.js:893 -#: /app/src/modules/income/IncomeModule.js:437 -#: /app/src/modules/transfers/TransfersModule.js:774 +#: /app/src/modules/bills/BillsModule.js:890 +#: /app/src/modules/income/IncomeModule.js:433 +#: /app/src/modules/transfers/TransfersModule.js:766 msgid "Day of the week (1=Monday, 7=Sunday)" msgstr "" -#: /app/src/modules/bills/BillsModule.js:896 -#: /app/src/modules/bills/BillsModule.js:900 /app/templates/index.php:6221 +#: /app/src/modules/bills/BillsModule.js:899 +#: /app/src/modules/income/IncomeModule.js:450 +#: /app/src/modules/transfers/TransfersModule.js:781 +msgid "Follows the start date" +msgstr "" + +#: /app/src/modules/bills/BillsModule.js:902 +#: /app/src/modules/bills/BillsModule.js:906 /app/templates/index.php:6221 msgid "Due Day" msgstr "" -#: /app/src/modules/bills/BillsModule.js:897 +#: /app/src/modules/bills/BillsModule.js:903 msgid "Day of the selected months when bill is due" msgstr "" -#: /app/src/modules/bills/BillsModule.js:901 /app/templates/index.php:6223 +#: /app/src/modules/bills/BillsModule.js:907 /app/templates/index.php:6223 msgid "Day of the month when bill is due" msgstr "" -#: /app/src/modules/bills/BillsModule.js:920 -#: /app/src/modules/income/IncomeModule.js:474 /app/templates/index.php:6274 -#: /app/templates/index.php:6733 +#: /app/src/modules/bills/BillsModule.js:926 +#: /app/src/modules/income/IncomeModule.js:470 /app/templates/index.php:6274 +#: /app/templates/index.php:6734 msgid "No specific account" msgstr "" -#: /app/src/modules/bills/BillsModule.js:982 /app/templates/index.php:7120 +#: /app/src/modules/bills/BillsModule.js:988 /app/templates/index.php:7121 msgid "Description (optional)" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1019 +#: /app/src/modules/bills/BillsModule.js:1027 msgid "Balanced" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1022 +#: /app/src/modules/bills/BillsModule.js:1030 msgid "{amount} remaining" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1025 +#: /app/src/modules/bills/BillsModule.js:1033 #: /app/src/modules/projects/ProjectsModule.js:110 msgid "{amount} over" msgstr "" #: /app/src/modules/bills/BillsModule.js:1101 +msgid "Choose the date this bill is due" +msgstr "" + +#: /app/src/modules/bills/BillsModule.js:1124 msgid "Please select at least one month for custom frequency" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1120 +#: /app/src/modules/bills/BillsModule.js:1143 msgid "Bill created successfully" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1120 +#: /app/src/modules/bills/BillsModule.js:1143 msgid "Bill updated successfully" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1124 +#: /app/src/modules/bills/BillsModule.js:1147 msgid "Failed to save bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1134 +#: /app/src/modules/bills/BillsModule.js:1157 msgid "Failed to load bill" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1139 +#: /app/src/modules/bills/BillsModule.js:1162 msgid "Are you sure you want to delete this bill?" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1146 +#: /app/src/modules/bills/BillsModule.js:1169 +#, fuzzy msgid "Bill deleted successfully" -msgstr "" +msgstr "Factura eliminada correctamente" -#: /app/src/modules/bills/BillsModule.js:1150 +#: /app/src/modules/bills/BillsModule.js:1173 +#, fuzzy msgid "Failed to delete bill" -msgstr "" +msgstr "Error al eliminar la factura" -#: /app/src/modules/bills/BillsModule.js:1177 +#: /app/src/modules/bills/BillsModule.js:1200 msgid "Bills calendar subscription" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1178 +#: /app/src/modules/bills/BillsModule.js:1201 msgid "" "Subscribe to this URL from any calendar app (Nextcloud Calendar, " "Thunderbird, your phone) to see upcoming bill due dates. Bills appear as all-" "day events for the next 12 months and refresh automatically." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1180 +#: /app/src/modules/bills/BillsModule.js:1203 msgid "Subscription URL" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1183 +#: /app/src/modules/bills/BillsModule.js:1206 msgid "" "Anyone with this URL can read your bill names and amounts. Regenerate the " "link if it leaks." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1185 +#: /app/src/modules/bills/BillsModule.js:1208 msgid "Copy link" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1186 +#: /app/src/modules/bills/BillsModule.js:1209 msgid "Regenerate link" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1196 +#: /app/src/modules/bills/BillsModule.js:1219 msgid "Link copied to clipboard" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1199 +#: /app/src/modules/bills/BillsModule.js:1222 msgid "Press Ctrl+C to copy the selected link" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1204 +#: /app/src/modules/bills/BillsModule.js:1227 msgid "" "Regenerate the link? Existing calendar subscriptions will stop updating." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1208 +#: /app/src/modules/bills/BillsModule.js:1231 msgid "New link generated" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1292 +#: /app/src/modules/bills/BillsModule.js:1313 msgid "Bill marked as paid. Linked to existing transaction." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1296 +#: /app/src/modules/bills/BillsModule.js:1317 msgid "" "No transaction was recorded for this payment — your account balance will not " "reflect it." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1297 +#: /app/src/modules/bills/BillsModule.js:1318 msgid "Bill marked as paid. No transaction created." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1306 +#: /app/src/modules/bills/BillsModule.js:1327 msgid "" "The bill was marked as paid, but linking the selected transaction failed. " "You can link it manually from the transaction." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1308 +#: /app/src/modules/bills/BillsModule.js:1329 msgid "" "No transaction was recorded for this payment — your account balance will not " "reflect it. Assign an account to the bill, or add the transaction manually." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1310 +#: /app/src/modules/bills/BillsModule.js:1331 msgid "Bill marked as paid — without a transaction." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1314 -msgid "Bill marked as paid. Transaction created." -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1315 +#: /app/src/modules/bills/BillsModule.js:1341 msgid "Bill marked as paid. Future transaction created." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1343 -msgid "Exact amount" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1344 -msgid "Similar amount (±5%)" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1345 -msgid "Approximate amount (±20%)" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1346 -msgid "Vendor matches" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1347 -msgid "Vendor partially matches" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1348 -msgid "Description matches" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1349 -msgid "Description partially matches" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1350 -msgid "Same day" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1351 -msgid "±1 day" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1352 -msgid "±3 days" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1353 -msgid "±7 days" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1358 -#: /app/src/modules/transactions/TransactionsModule.js:5225 -msgid "(no description)" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1371 -msgid "Strong match" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1383 -msgid "Existing Transaction Found" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1387 -msgid "" -"We found existing transactions that may already represent this bill payment " -"({billName}, {amount}). Would you like to link one instead of creating a new " -"transaction?" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1388 -msgid "" -"Whichever you choose, the bill is marked as paid and moves on to its next " -"due date." -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1395 -msgid "Create a new transaction instead" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1401 -msgid "Don't create any transaction (just mark as paid)" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1402 -msgid "Your account balance will NOT reflect this payment." -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1407 -#: /app/src/modules/categories/CategoriesModule.js:1934 -#: /app/src/modules/transfers/TransfersModule.js:171 -#: /app/src/modules/transfers/TransfersModule.js:611 -#: /app/src/utils/dialogs.js:237 /app/src/utils/dialogs.js:262 -#: /app/templates/index.php:1721 /app/templates/index.php:1751 -#: /app/templates/index.php:2577 /app/templates/index.php:2726 -#: /app/templates/index.php:2924 /app/templates/index.php:4779 -#: /app/templates/index.php:5083 /app/templates/index.php:5104 -#: /app/templates/index.php:5193 /app/templates/index.php:5271 -#: /app/templates/index.php:5291 /app/templates/index.php:5411 -#: /app/templates/index.php:5435 /app/templates/index.php:5471 -#: /app/templates/index.php:5507 /app/templates/index.php:5554 -#: /app/templates/index.php:5645 /app/templates/index.php:5679 -#: /app/templates/index.php:5754 /app/templates/index.php:5785 -#: /app/templates/index.php:5951 /app/templates/index.php:6148 -#: /app/templates/index.php:6381 /app/templates/index.php:6551 -#: /app/templates/index.php:6639 /app/templates/index.php:6768 -#: /app/templates/index.php:6787 /app/templates/index.php:6863 -#: /app/templates/index.php:6893 /app/templates/index.php:6924 -#: /app/templates/index.php:6963 /app/templates/index.php:6994 -#: /app/templates/index.php:7090 /app/templates/index.php:7146 -#: /app/templates/index.php:7186 /app/templates/index.php:7212 -#: /app/templates/index.php:7250 /app/templates/index.php:7292 -#: /app/templates/index.php:7338 /app/templates/index.php:7425 -#: /app/templates/index.php:7496 -msgid "Cancel" -msgstr "" - -#: /app/src/modules/bills/BillsModule.js:1408 -#: /app/src/modules/categories/CategoriesModule.js:1933 -#: /app/src/utils/dialogs.js:236 -msgid "Confirm" +#: /app/src/modules/bills/BillsModule.js:1342 +msgid "Bill marked as paid. Transaction created." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1469 -#: /app/src/modules/bills/BillsModule.js:1562 -#: /app/src/modules/income/IncomeModule.js:621 -#: /app/src/modules/income/IncomeModule.js:687 -#: /app/src/modules/transfers/TransfersModule.js:1036 +#: /app/src/modules/bills/BillsModule.js:1374 +#: /app/src/modules/bills/BillsModule.js:1467 +#: /app/src/modules/income/IncomeModule.js:628 +#: /app/src/modules/income/IncomeModule.js:694 +#: /app/src/modules/transfers/TransfersModule.js:1068 msgid "Action undone" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1472 -#: /app/src/modules/bills/BillsModule.js:1565 -#: /app/src/modules/income/IncomeModule.js:624 -#: /app/src/modules/income/IncomeModule.js:690 -#: /app/src/modules/transfers/TransfersModule.js:1039 +#: /app/src/modules/bills/BillsModule.js:1377 +#: /app/src/modules/bills/BillsModule.js:1470 +#: /app/src/modules/income/IncomeModule.js:631 +#: /app/src/modules/income/IncomeModule.js:697 +#: /app/src/modules/transfers/TransfersModule.js:1071 msgid "Failed to undo action: {message}" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1487 -#: /app/src/modules/transfers/TransfersModule.js:1050 +#: /app/src/modules/bills/BillsModule.js:1392 +#: /app/src/modules/transfers/TransfersModule.js:1082 msgid "" "Mark this bill as unpaid? Transactions created for the payment will be " "deleted, a linked imported transaction will be unlinked, and the bill " "schedule rolled back." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1492 -#: /app/src/modules/transfers/TransfersModule.js:1053 +#: /app/src/modules/bills/BillsModule.js:1397 +#: /app/src/modules/transfers/TransfersModule.js:1085 msgid "" "Auto-pay is on for this bill — it may pay it again on the next run. Disable " "auto-pay first if the payment should not recur." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1505 +#: /app/src/modules/bills/BillsModule.js:1410 msgid "Payment reverted — the bill is marked as unpaid." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1519 -#: /app/src/modules/transfers/TransfersModule.js:988 +#: /app/src/modules/bills/BillsModule.js:1424 +#: /app/src/modules/transfers/TransfersModule.js:1020 msgid "Skip this payment and advance to the next due date?" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1535 -#: /app/src/modules/transfers/TransfersModule.js:1008 +#: /app/src/modules/bills/BillsModule.js:1440 +#: /app/src/modules/transfers/TransfersModule.js:1040 msgid "Payment skipped. Advanced to next due date." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1572 -#: /app/src/modules/income/IncomeModule.js:697 -#: /app/src/modules/transfers/TransfersModule.js:1248 +#: /app/src/modules/bills/BillsModule.js:1477 +#: /app/src/modules/income/IncomeModule.js:704 +#: /app/src/modules/transfers/TransfersModule.js:1241 msgid "Detecting..." msgstr "" -#: /app/src/modules/bills/BillsModule.js:1578 -#: /app/src/modules/transfers/TransfersModule.js:1254 +#: /app/src/modules/bills/BillsModule.js:1483 +#: /app/src/modules/transfers/TransfersModule.js:1249 msgid "No recurring transactions detected" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1589 /app/templates/index.php:2618 +#: /app/src/modules/bills/BillsModule.js:1494 /app/templates/index.php:2618 msgid "Detect Bills" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1626 +#: /app/src/modules/bills/BillsModule.js:1536 msgid "Please select at least one bill to add" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1638 +#: /app/src/modules/bills/BillsModule.js:1548 msgid "%n bill added successfully" msgid_plural "%n bills added successfully" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/bills/BillsModule.js:1642 +#: /app/src/modules/bills/BillsModule.js:1552 msgid "Failed to add selected bills" msgstr "" -#: /app/src/modules/bills/BillsModule.js:1735 +#: /app/src/modules/bills/BillsModule.js:1645 #: /app/src/modules/tagsets/TagSetsModule.js:635 -#: /app/src/modules/transfers/TransfersModule.js:1182 +#: /app/src/modules/transfers/TransfersModule.js:1199 msgid "No tags defined" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:112 -#: /app/src/modules/categories/CategoriesModule.js:115 +#: /app/src/modules/categories/CategoriesModule.js:113 +#: /app/src/modules/categories/CategoriesModule.js:116 msgid "Failed to load categories" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:320 +#: /app/src/modules/categories/CategoriesModule.js:321 msgid "Collapse" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:320 +#: /app/src/modules/categories/CategoriesModule.js:321 msgid "Expand" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:333 +#: /app/src/modules/categories/CategoriesModule.js:334 +msgid "Shared by {owner} — you have full control" +msgstr "" + +#: /app/src/modules/categories/CategoriesModule.js:334 +msgid "Shared (full control)" +msgstr "" + +#: /app/src/modules/categories/CategoriesModule.js:336 msgid "Shared by {owner} — you can edit" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:333 +#: /app/src/modules/categories/CategoriesModule.js:336 msgid "Shared (editable)" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:335 +#: /app/src/modules/categories/CategoriesModule.js:338 #: /app/src/modules/projects/ProjectsModule.js:57 #: /app/src/modules/rules/RulesModule.js:132 -#: /app/src/modules/savings/SavingsModule.js:126 +#: /app/src/modules/savings/SavingsModule.js:128 msgid "Shared by {owner}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:335 +#: /app/src/modules/categories/CategoriesModule.js:338 #: /app/src/modules/projects/ProjectsModule.js:57 #: /app/src/modules/rules/RulesModule.js:132 -#: /app/src/modules/savings/SavingsModule.js:126 +#: /app/src/modules/savings/SavingsModule.js:128 #: /app/src/modules/transactions/transactionRow.js:71 msgid "Shared" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:337 +#: /app/src/modules/categories/CategoriesModule.js:340 msgid "Hidden from your reports — the owner and other viewers are unaffected" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:337 +#: /app/src/modules/categories/CategoriesModule.js:340 msgid "Hidden from my reports" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:345 +#: /app/src/modules/categories/CategoriesModule.js:348 msgid "Show in my reports" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:345 +#: /app/src/modules/categories/CategoriesModule.js:348 msgid "Hide from my reports" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:349 +#: /app/src/modules/categories/CategoriesModule.js:352 msgid "Delete {name}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:435 +#: /app/src/modules/categories/CategoriesModule.js:438 msgid "Category hidden from your reports" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:436 +#: /app/src/modules/categories/CategoriesModule.js:439 msgid "Category shown in your reports again" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:600 +#: /app/src/modules/categories/CategoriesModule.js:606 msgid "Shared categories can only be reordered among themselves" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:616 +#: /app/src/modules/categories/CategoriesModule.js:622 msgid "Category reordered successfully" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:682 -#: /app/src/modules/dashboard/DashboardModule.js:5101 +#: /app/src/modules/categories/CategoriesModule.js:700 +#: /app/src/modules/dashboard/DashboardModule.js:5333 #: /app/src/modules/reports/ReportsModule.js:204 #: /app/src/modules/reports/ReportsModule.js:207 #: /app/src/modules/reports/ReportsModule.js:209 -#: /app/src/modules/reports/ReportsModule.js:1702 -#: /app/src/modules/transactions/TransactionsModule.js:503 +#: /app/src/modules/reports/ReportsModule.js:1703 +#: /app/src/modules/transactions/TransactionsModule.js:525 #: /app/templates/index.php:594 /app/templates/index.php:616 #: /app/templates/index.php:634 /app/templates/index.php:685 #: /app/templates/index.php:1620 /app/templates/index.php:2032 -#: /app/templates/index.php:3617 /app/templates/index.php:6570 +#: /app/templates/index.php:3617 /app/templates/index.php:6571 msgid "All Accounts" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:784 +#: /app/src/modules/categories/CategoriesModule.js:792 msgid "Increasing" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:785 +#: /app/src/modules/categories/CategoriesModule.js:793 msgid "Decreasing" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:786 +#: /app/src/modules/categories/CategoriesModule.js:794 msgid "Stable" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:803 +#: /app/src/modules/categories/CategoriesModule.js:811 #: /app/templates/index.php:2052 msgid "No transactions in this category yet." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:832 +#: /app/src/modules/categories/CategoriesModule.js:840 #: /app/src/modules/transactions/transactionRow.js:67 msgid "" "Part of a split transaction. The amount shown is the part in this category." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:832 +#: /app/src/modules/categories/CategoriesModule.js:840 #: /app/src/modules/transactions/transactionRow.js:68 msgid "Split part" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:833 +#: /app/src/modules/categories/CategoriesModule.js:841 msgid "Split part of {total}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:906 +#: /app/src/modules/categories/CategoriesModule.js:914 msgid "Spending" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1051 +#: /app/src/modules/categories/CategoriesModule.js:1059 msgid "Root" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1075 +#: /app/src/modules/categories/CategoriesModule.js:1083 #: /app/templates/index.php:1884 /app/templates/index.php:1948 msgid "Add Category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1128 +#: /app/src/modules/categories/CategoriesModule.js:1138 msgid "Edit Shared Category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1129 +#: /app/src/modules/categories/CategoriesModule.js:1139 msgid "Edit Category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1167 +#: /app/src/modules/categories/CategoriesModule.js:1185 msgid "" "Are you sure you want to delete the category \"{name}\"? This action cannot " "be undone." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1176 -#: /app/src/modules/categories/CategoriesModule.js:1205 +#: /app/src/modules/categories/CategoriesModule.js:1198 +#: /app/src/modules/categories/CategoriesModule.js:1227 msgid "Category deleted; its transactions are now Uncategorized" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1177 -#: /app/src/modules/categories/CategoriesModule.js:1206 +#: /app/src/modules/categories/CategoriesModule.js:1199 +#: /app/src/modules/categories/CategoriesModule.js:1228 +#, fuzzy msgid "Category deleted successfully" -msgstr "" +msgstr "Categoría eliminada correctamente" -#: /app/src/modules/categories/CategoriesModule.js:1183 -#: /app/src/modules/categories/CategoriesModule.js:1215 -#: /app/src/modules/categories/CategoriesModule.js:1227 +#: /app/src/modules/categories/CategoriesModule.js:1205 +#: /app/src/modules/categories/CategoriesModule.js:1237 +#: /app/src/modules/categories/CategoriesModule.js:1249 +#, fuzzy msgid "Failed to delete category" -msgstr "" +msgstr "Error al eliminar la categoría" -#: /app/src/modules/categories/CategoriesModule.js:1194 +#: /app/src/modules/categories/CategoriesModule.js:1216 msgid "this category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1196 +#: /app/src/modules/categories/CategoriesModule.js:1218 msgid "" "Are you sure you want to delete \"{name}\"? This action cannot be undone." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1243 +#: /app/src/modules/categories/CategoriesModule.js:1265 msgid "" "This category still has transactions assigned to it. Move them to " "Uncategorized and delete \"{name}\"?" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1323 +#: /app/src/modules/categories/CategoriesModule.js:1345 msgid "" "Are you sure you want to delete %n category? This action cannot be undone." msgid_plural "" @@ -6947,941 +7398,1019 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/categories/CategoriesModule.js:1335 -#: /app/src/modules/pensions/PensionsModule.js:834 -#: /app/src/modules/pensions/PensionsModule.js:1096 +#: /app/src/modules/categories/CategoriesModule.js:1357 +#: /app/src/modules/pensions/PensionsModule.js:884 +#: /app/src/modules/pensions/PensionsModule.js:1183 msgid "Failed to delete" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1347 +#: /app/src/modules/categories/CategoriesModule.js:1369 msgid "%n category deleted successfully" msgid_plural "%n categories deleted successfully" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/categories/CategoriesModule.js:1370 +#: /app/src/modules/categories/CategoriesModule.js:1392 msgid "Give %n category a new color? Its current color will be replaced." msgid_plural "" "Give %n categories new colors? Their current colors will be replaced." msgstr[0] "" msgstr[1] "" -#: /app/src/modules/categories/CategoriesModule.js:1399 +#: /app/src/modules/categories/CategoriesModule.js:1421 msgid "%n category recolored" msgid_plural "%n categories recolored" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/categories/CategoriesModule.js:1405 +#: /app/src/modules/categories/CategoriesModule.js:1427 msgid "Failed to recolor: {errors}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1478 -#: /app/templates/index.php:6820 +#: /app/src/modules/categories/CategoriesModule.js:1507 +#: /app/templates/index.php:6821 msgid "None (Top Level)" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1497 +#: /app/src/modules/categories/CategoriesModule.js:1536 msgid "Category name is required" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1534 -#: /app/src/modules/categories/CategoriesModule.js:1549 +#: /app/src/modules/categories/CategoriesModule.js:1574 +#: /app/src/modules/categories/CategoriesModule.js:1589 msgid "Failed to save category" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1537 +#: /app/src/modules/categories/CategoriesModule.js:1577 msgid "Category updated successfully" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1537 +#: /app/src/modules/categories/CategoriesModule.js:1577 msgid "Category created successfully" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1564 -#: /app/src/modules/categories/CategoriesModule.js:1572 +#: /app/src/modules/categories/CategoriesModule.js:1604 +#: /app/src/modules/categories/CategoriesModule.js:1612 msgid "Failed to create default categories" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1567 +#: /app/src/modules/categories/CategoriesModule.js:1607 msgid "Default categories created successfully" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1615 -#: /app/src/modules/rules/RulesModule.js:1363 +#: /app/src/modules/categories/CategoriesModule.js:1655 +#: /app/src/modules/rules/RulesModule.js:1378 msgid "Could not read that file: {error}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1641 +#: /app/src/modules/categories/CategoriesModule.js:1681 msgid "" "{create} new categories will be created. {exists} already exist and will be " "left unchanged." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1642 +#: /app/src/modules/categories/CategoriesModule.js:1682 msgid "%n new category will be created." msgid_plural "%n new categories will be created." msgstr[0] "" msgstr[1] "" -#: /app/src/modules/categories/CategoriesModule.js:1661 +#: /app/src/modules/categories/CategoriesModule.js:1701 msgid "Import %n category" msgid_plural "Import %n categories" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/categories/CategoriesModule.js:1662 +#: /app/src/modules/categories/CategoriesModule.js:1702 msgid "Nothing to import" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1672 +#: /app/src/modules/categories/CategoriesModule.js:1712 msgid "Exists" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1673 +#: /app/src/modules/categories/CategoriesModule.js:1713 #: /app/src/modules/import/ImportModule.js:1992 msgid "New" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1700 +#: /app/src/modules/categories/CategoriesModule.js:1740 msgid "Imported %n category" msgid_plural "Imported %n categories" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/categories/CategoriesModule.js:1900 +#: /app/src/modules/categories/CategoriesModule.js:1964 msgid "Budgets adjusted from {month}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1901 +#: /app/src/modules/categories/CategoriesModule.js:1965 msgid "Remove adjustment" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1914 +#: /app/src/modules/categories/CategoriesModule.js:1978 msgid "Adjust budgets from this month" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1930 +#: /app/src/modules/categories/CategoriesModule.js:1994 msgid "" "This will save the current budget values as a new baseline from {month} " "onwards. Previous months will keep their existing values. You can edit the " "new values after confirming." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1932 +#: /app/src/modules/categories/CategoriesModule.js:1996 msgid "Adjust budgets from {month}?" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1945 -#: /app/src/modules/categories/CategoriesModule.js:1965 +#: /app/src/modules/categories/CategoriesModule.js:1997 +#: /app/src/utils/dialogs.js:236 /app/src/utils/matchingDialog.js:98 +msgid "Confirm" +msgstr "" + +#: /app/src/modules/categories/CategoriesModule.js:1998 +#: /app/src/modules/transfers/TransfersModule.js:176 +#: /app/src/modules/transfers/TransfersModule.js:596 +#: /app/src/utils/dialogs.js:237 /app/src/utils/dialogs.js:262 +#: /app/src/utils/matchingDialog.js:97 /app/templates/index.php:1721 +#: /app/templates/index.php:1751 /app/templates/index.php:2577 +#: /app/templates/index.php:2726 /app/templates/index.php:2924 +#: /app/templates/index.php:4779 /app/templates/index.php:5083 +#: /app/templates/index.php:5104 /app/templates/index.php:5193 +#: /app/templates/index.php:5271 /app/templates/index.php:5291 +#: /app/templates/index.php:5411 /app/templates/index.php:5435 +#: /app/templates/index.php:5471 /app/templates/index.php:5507 +#: /app/templates/index.php:5554 /app/templates/index.php:5645 +#: /app/templates/index.php:5679 /app/templates/index.php:5754 +#: /app/templates/index.php:5785 /app/templates/index.php:5951 +#: /app/templates/index.php:6148 /app/templates/index.php:6382 +#: /app/templates/index.php:6552 /app/templates/index.php:6640 +#: /app/templates/index.php:6769 /app/templates/index.php:6788 +#: /app/templates/index.php:6864 /app/templates/index.php:6894 +#: /app/templates/index.php:6925 /app/templates/index.php:6964 +#: /app/templates/index.php:6995 /app/templates/index.php:7091 +#: /app/templates/index.php:7147 /app/templates/index.php:7187 +#: /app/templates/index.php:7213 /app/templates/index.php:7251 +#: /app/templates/index.php:7293 /app/templates/index.php:7339 +#: /app/templates/index.php:7426 /app/templates/index.php:7497 +msgid "Cancel" +msgstr "" + +#: /app/src/modules/categories/CategoriesModule.js:2009 +#: /app/src/modules/categories/CategoriesModule.js:2029 msgid "Failed to create budget adjustment" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1959 +#: /app/src/modules/categories/CategoriesModule.js:2023 msgid "" "Budget adjusted from {month}. You can now edit values for this month onwards." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1974 +#: /app/src/modules/categories/CategoriesModule.js:2038 msgid "Budget adjustment created." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:1975 -#: /app/src/modules/transactions/TransactionsModule.js:4177 -#: /app/src/modules/transactions/TransactionsModule.js:4332 +#: /app/src/modules/categories/CategoriesModule.js:2039 +#: /app/src/modules/transactions/TransactionsModule.js:4228 +#: /app/src/modules/transactions/TransactionsModule.js:4383 #: /app/src/utils/notifications.js:73 msgid "Undo" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2008 +#: /app/src/modules/categories/CategoriesModule.js:2072 msgid "Budget adjustment removed" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2011 +#: /app/src/modules/categories/CategoriesModule.js:2075 msgid "Failed to remove budget adjustment" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2337 +#: /app/src/modules/categories/CategoriesModule.js:2397 msgid "" "Envelope budgeting on: unspent budget carries to next month. Click to turn " "off." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2337 +#: /app/src/modules/categories/CategoriesModule.js:2397 msgid "Turn on envelope budgeting: unspent budget carries to next month" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2338 +#: /app/src/modules/categories/CategoriesModule.js:2398 msgid "Envelope budgeting" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2344 +#: /app/src/modules/categories/CategoriesModule.js:2405 msgid "Budget for {category}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2350 +#: /app/src/modules/categories/CategoriesModule.js:2412 msgid "Auto-calculated from recurring bills/income. Enter a value to override." msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2350 -#: /app/src/modules/pensions/PensionsModule.js:1034 +#: /app/src/modules/categories/CategoriesModule.js:2412 +#: /app/src/modules/pensions/PensionsModule.js:1108 msgid "auto" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2352 +#: /app/src/modules/categories/CategoriesModule.js:2414 msgid "{base} − {over} overspent = {available} available" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2353 +#: /app/src/modules/categories/CategoriesModule.js:2415 msgid "{base} + {carried} carried = {available} available" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2354 +#: /app/src/modules/categories/CategoriesModule.js:2416 msgid "(projected)" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2358 +#: /app/src/modules/categories/CategoriesModule.js:2420 msgid "Budget period for {category}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2371 +#: /app/src/modules/categories/CategoriesModule.js:2433 #: /app/templates/index.php:2236 /app/templates/index.php:5139 msgid "Progress" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2378 +#: /app/src/modules/categories/CategoriesModule.js:2440 msgid "No budget set" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2452 +#: /app/src/modules/categories/CategoriesModule.js:2514 msgid "Envelope budgeting enabled — unspent budget now carries to next month" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2453 +#: /app/src/modules/categories/CategoriesModule.js:2515 msgid "Envelope budgeting disabled" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2456 +#: /app/src/modules/categories/CategoriesModule.js:2518 msgid "Failed to update envelope setting" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2565 +#: /app/src/modules/categories/CategoriesModule.js:2639 msgid "Budget updated" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2568 +#: /app/src/modules/categories/CategoriesModule.js:2642 msgid "Failed to update budget: {message}" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2657 +#: /app/src/modules/categories/CategoriesModule.js:2731 msgid "Over-assigned: {income} in, {budgeted} budgeted" msgstr "" -#: /app/src/modules/categories/CategoriesModule.js:2659 +#: /app/src/modules/categories/CategoriesModule.js:2733 msgid "{income} in, {budgeted} budgeted" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:403 -#: /app/src/modules/dashboard/DashboardModule.js:425 -#: /app/src/modules/dashboard/DashboardModule.js:517 +#: /app/src/modules/dashboard/DashboardModule.js:404 +#: /app/src/modules/dashboard/DashboardModule.js:426 +#: /app/src/modules/dashboard/DashboardModule.js:518 msgid "{percent}% vs last month" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:442 -#, javascript-format +#: /app/src/modules/dashboard/DashboardModule.js:443 +#, no-javascript-format msgid "{percent}% savings rate" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Great" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Good" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Low" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:616 -#: /app/src/modules/dashboard/DashboardModule.js:686 -msgid "Last 7 days" -msgstr "" - #: /app/src/modules/dashboard/DashboardModule.js:617 -#: /app/src/modules/dashboard/DashboardModule.js:689 -msgid "Last 30 days" +#: /app/src/modules/dashboard/DashboardModule.js:687 +msgid "Last 7 days" msgstr "" #: /app/src/modules/dashboard/DashboardModule.js:618 #: /app/src/modules/dashboard/DashboardModule.js:690 -msgid "Last 90 days" +msgid "Last 30 days" msgstr "" #: /app/src/modules/dashboard/DashboardModule.js:619 #: /app/src/modules/dashboard/DashboardModule.js:691 -msgid "Last 6 months" +msgid "Last 90 days" msgstr "" #: /app/src/modules/dashboard/DashboardModule.js:620 #: /app/src/modules/dashboard/DashboardModule.js:692 -msgid "Last year" +msgid "Last 6 months" msgstr "" #: /app/src/modules/dashboard/DashboardModule.js:621 -#: /app/src/modules/dashboard/DashboardModule.js:695 +#: /app/src/modules/dashboard/DashboardModule.js:693 +msgid "Last year" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:622 +#: /app/src/modules/dashboard/DashboardModule.js:696 msgid "Current budget period" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:703 #: /app/src/modules/dashboard/DashboardModule.js:704 +#: /app/src/modules/dashboard/DashboardModule.js:705 #: /app/templates/index.php:2597 msgid "Date Range" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:789 -#: /app/src/modules/dashboard/DashboardModule.js:791 +#: /app/src/modules/dashboard/DashboardModule.js:726 +msgid "Exclude shared bills" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:742 +msgid "Show bills overdue for more than a week" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:845 +#: /app/src/modules/dashboard/DashboardModule.js:847 msgid "All accounts" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:907 +#: /app/src/modules/dashboard/DashboardModule.js:966 msgid "%n category under budget" msgid_plural "%n categories under budget" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/dashboard/DashboardModule.js:933 +#: /app/src/modules/dashboard/DashboardModule.js:992 msgid "{onTrack}/{total} on track" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:964 +#: /app/src/modules/dashboard/DashboardModule.js:1023 msgid "Debt free by {date}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:990 +#: /app/src/modules/dashboard/DashboardModule.js:1049 msgid "Rates unavailable for {currencies}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:992 +#: /app/src/modules/dashboard/DashboardModule.js:1051 msgid "Converted to {currency} at current rates" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1037 -#: /app/src/modules/dashboard/DashboardModule.js:2247 +#: /app/src/modules/dashboard/DashboardModule.js:1096 +#: /app/src/modules/dashboard/DashboardModule.js:2410 #: /app/src/utils/formatters.js:262 msgid "Checking" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1067 +#: /app/src/modules/dashboard/DashboardModule.js:1126 msgid "All accounts hidden" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1113 +#: /app/src/modules/dashboard/DashboardModule.js:1172 msgid "No accounts" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1139 -#: /app/src/modules/rules/components/ActionBuilder.js:144 +#: /app/src/modules/dashboard/DashboardModule.js:1198 +#: /app/src/modules/rules/components/ActionBuilder.js:150 msgid "Move up" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1140 -#: /app/src/modules/rules/components/ActionBuilder.js:145 +#: /app/src/modules/dashboard/DashboardModule.js:1199 +#: /app/src/modules/rules/components/ActionBuilder.js:151 msgid "Move down" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1284 +#: /app/src/modules/dashboard/DashboardModule.js:1343 #: /app/src/modules/transactions/transactionRow.js:68 msgid "Split transaction" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1306 +#: /app/src/modules/dashboard/DashboardModule.js:1365 msgid "No recent transactions" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1388 +#: /app/src/modules/dashboard/DashboardModule.js:1447 msgid "No budget alerts. %n category is muted." msgid_plural "No budget alerts. %n categories are muted." msgstr[0] "" msgstr[1] "" -#: /app/src/modules/dashboard/DashboardModule.js:1389 +#: /app/src/modules/dashboard/DashboardModule.js:1448 msgid "No budget alerts from the budgets you set." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1407 -#, javascript-format +#: /app/src/modules/dashboard/DashboardModule.js:1466 +#, no-javascript-format msgid "{percent}% over" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1408 +#: /app/src/modules/dashboard/DashboardModule.js:1467 msgid "{percent}% used" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1444 +#: /app/src/modules/dashboard/DashboardModule.js:1503 msgid "(from a bill)" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1480 +#: /app/src/modules/dashboard/DashboardModule.js:1539 msgid "No category has a budget yet." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1519 +#: /app/src/modules/dashboard/DashboardModule.js:1578 msgid "Failed to save the budget alert filter" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1569 +#: /app/src/modules/dashboard/DashboardModule.js:1616 +#: /app/templates/index.php:1943 /app/templates/index.php:2244 +msgid "No categories yet" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:1690 msgid "Highest rate: {rate}% APR" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1600 +#: /app/src/modules/dashboard/DashboardModule.js:1721 #: /app/templates/index.php:770 /app/templates/index.php:4129 msgid "Total Debt" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1601 +#: /app/src/modules/dashboard/DashboardModule.js:1722 msgid "Debt Free" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1676 +#: /app/src/modules/dashboard/DashboardModule.js:1797 msgid "remaining" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1679 +#: /app/src/modules/dashboard/DashboardModule.js:1800 msgid "paid off" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1707 +#: /app/src/modules/dashboard/DashboardModule.js:1828 msgid "Ahead of schedule" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1708 +#: /app/src/modules/dashboard/DashboardModule.js:1829 msgid "Behind schedule" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1754 -#: /app/src/modules/dashboard/DashboardModule.js:2494 +#: /app/src/modules/dashboard/DashboardModule.js:1914 +#: /app/src/modules/dashboard/DashboardModule.js:2657 msgid "Overdue by %n day" msgid_plural "Overdue by %n days" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/dashboard/DashboardModule.js:1757 -#: /app/src/modules/dashboard/DashboardModule.js:2497 +#: /app/src/modules/dashboard/DashboardModule.js:1917 +#: /app/src/modules/dashboard/DashboardModule.js:2660 +#: /app/src/modules/pensions/PensionsModule.js:33 msgid "Due today" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1760 -#: /app/src/modules/dashboard/DashboardModule.js:2500 +#: /app/src/modules/dashboard/DashboardModule.js:1920 +#: /app/src/modules/dashboard/DashboardModule.js:2663 msgid "Due in %n day" msgid_plural "Due in %n days" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/dashboard/DashboardModule.js:1762 +#: /app/src/modules/dashboard/DashboardModule.js:1922 msgid "Due {date}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1782 -#: /app/src/modules/dashboard/DashboardModule.js:1800 +#: /app/src/modules/dashboard/DashboardModule.js:1942 +#: /app/src/modules/dashboard/DashboardModule.js:1960 #: /app/templates/index.php:737 msgid "No budgets configured" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1889 +#: /app/src/modules/dashboard/DashboardModule.js:2052 #: /app/templates/index.php:748 /app/templates/index.php:2988 msgid "No savings goals yet" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1905 +#: /app/src/modules/dashboard/DashboardModule.js:2068 msgid "Target: {amount}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1911 +#: /app/src/modules/dashboard/DashboardModule.js:2074 msgid "{amount} saved" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:1974 +#: /app/src/modules/dashboard/DashboardModule.js:2137 #: /app/src/modules/projects/ProjectsModule.js:78 msgid "{spent} of {total}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2010 -#: /app/src/modules/pensions/PensionsModule.js:159 +#: /app/src/modules/dashboard/DashboardModule.js:2173 +#: /app/src/modules/pensions/PensionsModule.js:182 msgid "Pension Income" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2017 -#: /app/src/modules/pensions/PensionsModule.js:166 +#: /app/src/modules/dashboard/DashboardModule.js:2180 +#: /app/src/modules/pensions/PensionsModule.js:189 msgid "%n pension" msgid_plural "%n pensions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/dashboard/DashboardModule.js:2020 -#: /app/src/modules/pensions/PensionsModule.js:169 +#: /app/src/modules/dashboard/DashboardModule.js:2183 +#: /app/src/modules/pensions/PensionsModule.js:192 msgid "{amount}/yr income" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2060 +#: /app/src/modules/dashboard/DashboardModule.js:2223 msgid "{amount} ({percent}%) vs 30d ago" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2077 -#: /app/src/modules/dashboard/DashboardModule.js:2084 -#: /app/src/modules/dashboard/DashboardModule.js:2089 +#: /app/src/modules/dashboard/DashboardModule.js:2240 +#: /app/src/modules/dashboard/DashboardModule.js:2247 +#: /app/src/modules/dashboard/DashboardModule.js:2252 #: /app/templates/index.php:848 msgid "No spending data" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2123 -#: /app/src/modules/dashboard/DashboardModule.js:2231 +#: /app/src/modules/dashboard/DashboardModule.js:2286 +#: /app/src/modules/dashboard/DashboardModule.js:2394 #: /app/templates/index.php:857 /app/templates/index.php:884 msgid "No account data" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2156 +#: /app/src/modules/dashboard/DashboardModule.js:2319 #: /app/templates/index.php:866 msgid "No budget data" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2196 +#: /app/src/modules/dashboard/DashboardModule.js:2359 #: /app/templates/index.php:875 msgid "No savings goals" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2249 +#: /app/src/modules/dashboard/DashboardModule.js:2412 msgid "Credit Cards" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2250 +#: /app/src/modules/dashboard/DashboardModule.js:2413 msgid "Investments" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2251 +#: /app/src/modules/dashboard/DashboardModule.js:2414 msgid "Loans" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2259 +#: /app/src/modules/dashboard/DashboardModule.js:2422 msgid "%n account" msgid_plural "%n accounts" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/dashboard/DashboardModule.js:2271 +#: /app/src/modules/dashboard/DashboardModule.js:2434 #: /app/templates/index.php:893 msgid "No accounts to reconcile" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2284 +#: /app/src/modules/dashboard/DashboardModule.js:2447 msgid "All accounts reconciled" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2292 +#: /app/src/modules/dashboard/DashboardModule.js:2455 msgid "Up to date" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2308 +#: /app/src/modules/dashboard/DashboardModule.js:2471 msgid "No data available" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2347 +#: /app/src/modules/dashboard/DashboardModule.js:2510 msgid "No large transactions" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2371 +#: /app/src/modules/dashboard/DashboardModule.js:2534 msgid "No spending data for this period" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2390 +#: /app/src/modules/dashboard/DashboardModule.js:2553 msgid "Daily average" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2401 +#: /app/src/modules/dashboard/DashboardModule.js:2564 msgid "No pensions to project" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2406 +#: /app/src/modules/dashboard/DashboardModule.js:2569 msgid "" "Set your date of birth in your Nextcloud profile for an accurate horizon" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2412 +#: /app/src/modules/dashboard/DashboardModule.js:2575 msgid "Projected at retirement" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2416 +#: /app/src/modules/dashboard/DashboardModule.js:2579 msgid "Projected income / yr" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2428 +#: /app/src/modules/dashboard/DashboardModule.js:2591 msgid "No unmatched transfers" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2448 +#: /app/src/modules/dashboard/DashboardModule.js:2611 msgid "No category trends available" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2480 +#: /app/src/modules/dashboard/DashboardModule.js:2643 msgid "No bills due soon" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2546 -#: /app/src/modules/dashboard/DashboardModule.js:2552 +#: /app/src/modules/dashboard/DashboardModule.js:2718 msgid "No recurring income set up" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2573 -#: /app/src/modules/import/ImportModule.js:2624 +#: /app/src/modules/dashboard/DashboardModule.js:2733 +msgid "Monthly income" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:2734 +msgid "{received} of {due} received this month" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:2738 +msgid "Income received this month" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:2757 +#: /app/src/modules/import/ImportModule.js:2633 msgid "No recent imports" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2599 +#: /app/src/modules/dashboard/DashboardModule.js:2783 msgid "No import rules configured" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2607 +#: /app/src/modules/dashboard/DashboardModule.js:2791 msgid "Active rules" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2611 +#: /app/src/modules/dashboard/DashboardModule.js:2795 msgid "Total rules" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2622 +#: /app/src/modules/dashboard/DashboardModule.js:2806 msgid "No spending data available" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2632 +#: /app/src/modules/dashboard/DashboardModule.js:2816 msgid "Per day" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2636 +#: /app/src/modules/dashboard/DashboardModule.js:2820 msgid "Projected monthly" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2651 +#: /app/src/modules/dashboard/DashboardModule.js:2835 msgid "Uncategorized transactions" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2765 +#: /app/src/modules/dashboard/DashboardModule.js:2957 #: /app/src/modules/reports/ReportsModule.js:896 msgid "Click to view transactions" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2791 +#: /app/src/modules/dashboard/DashboardModule.js:2982 +msgid "%n category hidden" +msgid_plural "%n categories hidden" +msgstr[0] "" +msgstr[1] "" + +#: /app/src/modules/dashboard/DashboardModule.js:2987 msgid "Total Spending" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2887 +#: /app/src/modules/dashboard/DashboardModule.js:3084 msgid "{month} (so far)" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:2965 +#: /app/src/modules/dashboard/DashboardModule.js:3162 #: /app/templates/index.php:1194 msgid "Liabilities" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3058 +#: /app/src/modules/dashboard/DashboardModule.js:3255 msgid "Asset Value" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3081 +#: /app/src/modules/dashboard/DashboardModule.js:3278 msgid "Portfolio" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3154 +#: /app/src/modules/dashboard/DashboardModule.js:3351 #: /app/templates/index.php:800 msgid "Now" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3301 +#: /app/src/modules/dashboard/DashboardModule.js:3498 msgid "just now" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3303 +#: /app/src/modules/dashboard/DashboardModule.js:3500 msgid "%n hour ago" msgid_plural "%n hours ago" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/dashboard/DashboardModule.js:3306 +#: /app/src/modules/dashboard/DashboardModule.js:3503 msgid "yesterday" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3308 +#: /app/src/modules/dashboard/DashboardModule.js:3505 msgid "%n day ago" msgid_plural "%n days ago" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/dashboard/DashboardModule.js:3311 -#: /app/src/modules/dashboard/DashboardModule.js:3313 +#: /app/src/modules/dashboard/DashboardModule.js:3508 +#: /app/src/modules/dashboard/DashboardModule.js:3510 msgid "Snapshots recorded automatically daily" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3311 +#: /app/src/modules/dashboard/DashboardModule.js:3508 msgid "Last: {time}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3316 +#: /app/src/modules/dashboard/DashboardModule.js:3513 msgid "Record now" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3587 +#: /app/src/modules/dashboard/DashboardModule.js:3784 msgid "Net worth snapshot recorded" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3595 +#: /app/src/modules/dashboard/DashboardModule.js:3792 msgid "Failed to record snapshot" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3855 +#: /app/src/modules/dashboard/DashboardModule.js:4052 msgid "Failed to save dashboard layout" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3917 +#: /app/src/modules/dashboard/DashboardModule.js:4114 #: /app/templates/index.php:649 msgid "No net worth history yet" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3918 +#: /app/src/modules/dashboard/DashboardModule.js:4115 msgid "Snapshots are recorded automatically every day." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3932 +#: /app/src/modules/dashboard/DashboardModule.js:4129 #: /app/templates/index.php:673 msgid "No asset value history yet" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3933 +#: /app/src/modules/dashboard/DashboardModule.js:4130 #: /app/templates/index.php:674 msgid "Add snapshots to your assets to track their combined value over time." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:3941 +#: /app/src/modules/dashboard/DashboardModule.js:4138 #: /app/templates/index.php:687 /app/templates/index.php:723 msgid "View All" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4789 +#: /app/src/modules/dashboard/DashboardModule.js:5016 msgid "Failed to save dashboard lock state" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4807 -#: /app/src/modules/dashboard/DashboardModule.js:4818 +#: /app/src/modules/dashboard/DashboardModule.js:5034 +#: /app/src/modules/dashboard/DashboardModule.js:5045 #: /app/templates/index.php:352 msgid "Unlock Dashboard" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4807 -#: /app/src/modules/dashboard/DashboardModule.js:4833 +#: /app/src/modules/dashboard/DashboardModule.js:5034 +#: /app/src/modules/dashboard/DashboardModule.js:5060 msgid "Lock Dashboard" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4819 +#: /app/src/modules/dashboard/DashboardModule.js:5046 #: /app/templates/index.php:329 msgid "Dashboard is locked. Click unlock to reorder tiles." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4834 +#: /app/src/modules/dashboard/DashboardModule.js:5062 +msgid "Use the arrows on each tile to reorder your dashboard" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:5063 msgid "Drag tiles to reorder your dashboard" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4879 +#: /app/src/modules/dashboard/DashboardModule.js:5108 msgid "Extra small" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4880 +#: /app/src/modules/dashboard/DashboardModule.js:5109 msgid "Small" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4881 +#: /app/src/modules/dashboard/DashboardModule.js:5110 msgid "Medium" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4882 +#: /app/src/modules/dashboard/DashboardModule.js:5111 msgid "Large" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4909 +#: /app/src/modules/dashboard/DashboardModule.js:5138 msgid "Move earlier" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4909 +#: /app/src/modules/dashboard/DashboardModule.js:5138 msgid "Move later" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4937 -#: /app/src/modules/dashboard/DashboardModule.js:5031 -#: /app/templates/index.php:7437 +#: /app/src/modules/dashboard/DashboardModule.js:5166 +#: /app/src/modules/dashboard/DashboardModule.js:5263 +#: /app/templates/index.php:7438 msgid "Tile Settings" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4955 +#: /app/src/modules/dashboard/DashboardModule.js:5184 msgid "Remove tile" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:4955 +#: /app/src/modules/dashboard/DashboardModule.js:5184 msgid "Hide tile" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5061 +#: /app/src/modules/dashboard/DashboardModule.js:5293 msgid "Look ahead" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5064 +#: /app/src/modules/dashboard/DashboardModule.js:5296 msgid "Next 30 days" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5065 +#: /app/src/modules/dashboard/DashboardModule.js:5297 msgid "Next 60 days" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5066 +#: /app/src/modules/dashboard/DashboardModule.js:5298 msgid "Next 90 days" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5075 +#: /app/src/modules/dashboard/DashboardModule.js:5307 msgid "Forecast horizon" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5078 +#: /app/src/modules/dashboard/DashboardModule.js:5310 msgid "Next 3 months" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5079 +#: /app/src/modules/dashboard/DashboardModule.js:5311 msgid "Next 6 months" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5080 +#: /app/src/modules/dashboard/DashboardModule.js:5312 msgid "Next 12 months" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5089 +#: /app/src/modules/dashboard/DashboardModule.js:5321 msgid "Years to compare" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5092 +#: /app/src/modules/dashboard/DashboardModule.js:5324 msgid "Last 2 years" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5093 +#: /app/src/modules/dashboard/DashboardModule.js:5325 msgid "Last 3 years" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5094 +#: /app/src/modules/dashboard/DashboardModule.js:5326 msgid "Last 5 years" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5125 +#: /app/src/modules/dashboard/DashboardModule.js:5357 #: /app/templates/index.php:3222 msgid "Exclude shared accounts" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5139 +#: /app/src/modules/dashboard/DashboardModule.js:5378 msgid "Show legend" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5154 +#: /app/src/modules/dashboard/DashboardModule.js:5393 msgid "Show top-level categories only" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5169 -#: /app/src/modules/dashboard/DashboardModule.js:5170 +#: /app/src/modules/dashboard/DashboardModule.js:5408 +#: /app/src/modules/dashboard/DashboardModule.js:5409 msgid "Chart Type" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5180 -#: /app/src/modules/dashboard/DashboardModule.js:5181 +#: /app/src/modules/dashboard/DashboardModule.js:5419 +#: /app/src/modules/dashboard/DashboardModule.js:5420 msgid "Rows to show" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5196 -#: /app/src/modules/dashboard/DashboardModule.js:5197 +#: /app/src/modules/dashboard/DashboardModule.js:5435 +#: /app/src/modules/dashboard/DashboardModule.js:5436 msgid "Display Format" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5209 +#: /app/src/modules/dashboard/DashboardModule.js:5448 msgid "Show change indicator" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5223 +#: /app/src/modules/dashboard/DashboardModule.js:5462 msgid "No settings available for this tile." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5230 +#: /app/src/modules/dashboard/DashboardModule.js:5469 msgid "Drag to reorder. Toggle visibility for each item." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5248 +#: /app/src/modules/dashboard/DashboardModule.js:5487 msgid "Only categories with a budget I set" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5250 +#: /app/src/modules/dashboard/DashboardModule.js:5489 msgid "Leaves out the budgets worked out from your bills and recurring income." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5251 +#: /app/src/modules/dashboard/DashboardModule.js:5490 msgid "Untick a category to stop it alerting, here and in notifications." msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5487 +#: /app/src/modules/dashboard/DashboardModule.js:5510 +msgid "Categories to show" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:5511 +msgid "" +"Untick a category to leave it off this tile, along with its subcategories. " +"Reports and totals still count it." +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:5741 msgid "All tiles are visible" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5493 +#: /app/src/modules/dashboard/DashboardModule.js:5747 msgid "Insights & Analytics" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5494 +#: /app/src/modules/dashboard/DashboardModule.js:5748 msgid "Budgeting" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5495 +#: /app/src/modules/dashboard/DashboardModule.js:5749 msgid "Forecasting" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5498 +#: /app/src/modules/dashboard/DashboardModule.js:5752 #: /app/templates/index.php:5736 msgid "Debts" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5499 +#: /app/src/modules/dashboard/DashboardModule.js:5753 msgid "Goals" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5501 +#: /app/src/modules/dashboard/DashboardModule.js:5755 msgid "Alerts" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5502 +#: /app/src/modules/dashboard/DashboardModule.js:5756 msgid "Interactive" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5524 +#: /app/src/modules/dashboard/DashboardModule.js:5778 msgid "Hero" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5533 -#: /app/src/modules/dashboard/DashboardModule.js:5567 +#: /app/src/modules/dashboard/DashboardModule.js:5787 +#: /app/src/modules/dashboard/DashboardModule.js:5821 msgid "Add {name}" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5555 +#: /app/src/modules/dashboard/DashboardModule.js:5809 msgid "Add Another" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5629 +#: /app/src/modules/dashboard/DashboardModule.js:5883 msgid "Maximum of {max} instances reached" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5699 +#: /app/src/modules/dashboard/DashboardModule.js:5953 msgid "Tile added" msgstr "" -#: /app/src/modules/dashboard/DashboardModule.js:5737 +#: /app/src/modules/dashboard/DashboardModule.js:5991 msgid "Tile removed" msgstr "" @@ -7906,7 +8435,7 @@ msgid "Manual" msgstr "" #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:173 -#: /app/templates/index.php:4532 /app/templates/index.php:6412 +#: /app/templates/index.php:4532 /app/templates/index.php:6413 msgid "None" msgstr "" @@ -8156,7 +8685,7 @@ msgid "" msgstr "" #: /app/src/modules/help/HelpModule.js:52 /app/templates/index.php:287 -#: /app/templates/index.php:4960 /app/templates/index.php:7561 +#: /app/templates/index.php:4960 /app/templates/index.php:7562 msgid "Help & Docs" msgstr "" @@ -8493,7 +9022,7 @@ msgid "{matching} of {total} rows would be added as income" msgstr "" #: /app/src/modules/import/ImportModule.js:1935 -#, javascript-format +#, no-javascript-format msgid "" "but {percent}% of what is already in {account} is an expense. If that looks " "wrong, go back and map the column holding the transaction type before " @@ -8505,7 +9034,7 @@ msgid "{matching} of {total} rows would be added as an expense" msgstr "" #: /app/src/modules/import/ImportModule.js:1944 -#, javascript-format +#, no-javascript-format msgid "" "but {percent}% of what is already in {account} is income. If that looks " "wrong, go back and map the column holding the transaction type before " @@ -8633,187 +9162,178 @@ msgstr[1] "" msgid "Failed to import transactions: {message}" msgstr "" -#: /app/src/modules/import/ImportModule.js:2518 +#: /app/src/modules/import/ImportModule.js:2527 msgid "Auto-linked {count} transfer pairs" msgstr "" -#: /app/src/modules/import/ImportModule.js:2634 +#: /app/src/modules/import/ImportModule.js:2643 #: /app/src/modules/projects/ProjectsModule.js:95 msgid "{start} to {end}" msgstr "" -#: /app/src/modules/import/ImportModule.js:2648 +#: /app/src/modules/import/ImportModule.js:2657 msgid "0 Bytes" msgstr "" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "Bytes" msgstr "" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "KB" msgstr "" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "MB" msgstr "" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "GB" msgstr "" -#: /app/src/modules/income/IncomeModule.js:51 #: /app/src/modules/income/IncomeModule.js:54 +#: /app/src/modules/income/IncomeModule.js:57 msgid "Failed to load recurring income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:96 -#: /app/src/modules/transfers/TransfersModule.js:140 -#: /app/templates/index.php:1423 /app/templates/index.php:2974 -msgid "Completed" -msgstr "" - -#: /app/src/modules/income/IncomeModule.js:99 -#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 -#: /app/templates/index.php:2888 -msgid "Received" -msgstr "" - -#: /app/src/modules/income/IncomeModule.js:102 /app/templates/index.php:2887 -msgid "Expected Soon" -msgstr "" - -#: /app/src/modules/income/IncomeModule.js:136 -msgid "No date set" -msgstr "" - -#: /app/src/modules/income/IncomeModule.js:140 +#: /app/src/modules/income/IncomeModule.js:128 msgid "Auto-create enabled" msgstr "" -#: /app/src/modules/income/IncomeModule.js:140 +#: /app/src/modules/income/IncomeModule.js:128 msgid "Auto-create" msgstr "" -#: /app/src/modules/income/IncomeModule.js:145 +#: /app/src/modules/income/IncomeModule.js:133 msgid "Mark as received" msgstr "" -#: /app/src/modules/income/IncomeModule.js:147 +#: /app/src/modules/income/IncomeModule.js:135 msgid "Mark Received" msgstr "" -#: /app/src/modules/income/IncomeModule.js:156 +#: /app/src/modules/income/IncomeModule.js:144 msgid "Edit income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:159 +#: /app/src/modules/income/IncomeModule.js:147 msgid "Delete income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:349 +#: /app/src/modules/income/IncomeModule.js:324 msgid "Edit Recurring Income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:370 +#: /app/src/modules/income/IncomeModule.js:356 msgid "Add Recurring Income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:436 +#: /app/src/modules/income/IncomeModule.js:403 /app/templates/index.php:6698 +msgid "First payment date" +msgstr "" + +#: /app/src/modules/income/IncomeModule.js:406 +msgid "The date this income is expected. It can be in the past." +msgstr "" + +#: /app/src/modules/income/IncomeModule.js:407 /app/templates/index.php:6700 +msgid "Payments repeat from this date (optional)" +msgstr "" + +#: /app/src/modules/income/IncomeModule.js:432 msgid "Expected Day (1-7)" msgstr "" -#: /app/src/modules/income/IncomeModule.js:440 /app/templates/index.php:6691 +#: /app/src/modules/income/IncomeModule.js:436 /app/templates/index.php:6692 msgid "Expected Day" msgstr "" -#: /app/src/modules/income/IncomeModule.js:441 /app/templates/index.php:6693 +#: /app/src/modules/income/IncomeModule.js:437 /app/templates/index.php:6694 msgid "Day of the month when income is expected" msgstr "" -#: /app/src/modules/income/IncomeModule.js:454 -#: /app/src/modules/transfers/TransfersModule.js:789 -msgid "Follows the start date" +#: /app/src/modules/income/IncomeModule.js:498 +msgid "Choose the date this income is expected" msgstr "" -#: /app/src/modules/income/IncomeModule.js:520 +#: /app/src/modules/income/IncomeModule.js:534 msgid "Income source created successfully" msgstr "" -#: /app/src/modules/income/IncomeModule.js:520 +#: /app/src/modules/income/IncomeModule.js:534 msgid "Income source updated successfully" msgstr "" -#: /app/src/modules/income/IncomeModule.js:524 +#: /app/src/modules/income/IncomeModule.js:538 msgid "Failed to save income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:529 +#: /app/src/modules/income/IncomeModule.js:543 msgid "Are you sure you want to delete this recurring income?" msgstr "" -#: /app/src/modules/income/IncomeModule.js:536 +#: /app/src/modules/income/IncomeModule.js:550 msgid "Income source deleted successfully" msgstr "" -#: /app/src/modules/income/IncomeModule.js:540 +#: /app/src/modules/income/IncomeModule.js:554 msgid "Failed to delete income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:578 +#: /app/src/modules/income/IncomeModule.js:594 msgid "Income marked as received. Transaction created." msgstr "" -#: /app/src/modules/income/IncomeModule.js:579 +#: /app/src/modules/income/IncomeModule.js:595 msgid "Income marked as received." msgstr "" -#: /app/src/modules/income/IncomeModule.js:590 +#: /app/src/modules/income/IncomeModule.js:605 msgid "Failed to mark income as received" msgstr "" -#: /app/src/modules/income/IncomeModule.js:637 +#: /app/src/modules/income/IncomeModule.js:644 msgid "Skip this payment and advance to the next expected date?" msgstr "" -#: /app/src/modules/income/IncomeModule.js:644 -#: /app/src/modules/income/IncomeModule.js:667 +#: /app/src/modules/income/IncomeModule.js:651 +#: /app/src/modules/income/IncomeModule.js:674 msgid "Failed to skip income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:660 +#: /app/src/modules/income/IncomeModule.js:667 msgid "Payment skipped. Advanced to next expected date." msgstr "" -#: /app/src/modules/income/IncomeModule.js:703 +#: /app/src/modules/income/IncomeModule.js:710 msgid "No recurring income patterns found in your transactions" msgstr "" -#: /app/src/modules/income/IncomeModule.js:715 /app/templates/index.php:2835 +#: /app/src/modules/income/IncomeModule.js:722 /app/templates/index.php:2835 msgid "Detect Income" msgstr "" -#: /app/src/modules/income/IncomeModule.js:736 +#: /app/src/modules/income/IncomeModule.js:744 msgid "%n occurrence" msgid_plural "%n occurrences" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/income/IncomeModule.js:737 +#: /app/src/modules/income/IncomeModule.js:745 msgid "Source: {source}" msgstr "" -#: /app/src/modules/income/IncomeModule.js:754 +#: /app/src/modules/income/IncomeModule.js:767 msgid "Please select at least one income source to add" msgstr "" -#: /app/src/modules/income/IncomeModule.js:767 +#: /app/src/modules/income/IncomeModule.js:780 msgid "%n income source added successfully" msgid_plural "%n income sources added successfully" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/income/IncomeModule.js:771 +#: /app/src/modules/income/IncomeModule.js:784 msgid "Failed to add selected income sources" msgstr "" @@ -8966,242 +9486,294 @@ msgstr "" msgid "Sample data cleared" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:37 -#: /app/src/modules/pensions/PensionsModule.js:40 +#: /app/src/modules/pensions/PensionsModule.js:26 +msgid "Paused" +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:30 +#: /app/src/modules/transfers/TransfersModule.js:144 +#: /app/src/utils/billDates.js:36 /app/src/utils/incomeStatus.js:52 +#: /app/templates/index.php:2662 /app/templates/index.php:2689 +msgid "Overdue" +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:60 +#: /app/src/modules/pensions/PensionsModule.js:63 msgid "Failed to load pensions" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:90 -#: /app/src/modules/pensions/PensionsModule.js:514 +#: /app/src/modules/pensions/PensionsModule.js:113 +#: /app/src/modules/pensions/PensionsModule.js:563 msgid "Workplace" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:91 -#: /app/src/modules/pensions/PensionsModule.js:515 +#: /app/src/modules/pensions/PensionsModule.js:114 +#: /app/src/modules/pensions/PensionsModule.js:564 msgid "Personal" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:92 -#: /app/src/modules/pensions/PensionsModule.js:516 +#: /app/src/modules/pensions/PensionsModule.js:115 +#: /app/src/modules/pensions/PensionsModule.js:565 #: /app/templates/index.php:5330 msgid "SIPP" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:93 -#: /app/src/modules/pensions/PensionsModule.js:517 +#: /app/src/modules/pensions/PensionsModule.js:116 +#: /app/src/modules/pensions/PensionsModule.js:566 #: /app/templates/index.php:5331 msgid "Defined Benefit" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:94 -#: /app/src/modules/pensions/PensionsModule.js:518 +#: /app/src/modules/pensions/PensionsModule.js:117 +#: /app/src/modules/pensions/PensionsModule.js:567 #: /app/templates/index.php:5332 msgid "State Pension" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:102 -#: /app/src/modules/pensions/PensionsModule.js:533 +#: /app/src/modules/pensions/PensionsModule.js:125 +#: /app/src/modules/pensions/PensionsModule.js:582 msgid "{amount}/year" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:114 +#: /app/src/modules/pensions/PensionsModule.js:137 msgid "{amount}/month" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:117 +#: /app/src/modules/pensions/PensionsModule.js:140 msgid "View details" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:158 +#: /app/src/modules/pensions/PensionsModule.js:181 msgid "{amount}/yr" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:192 +#: /app/src/modules/pensions/PensionsModule.js:215 msgid "" "Set your date of birth in your Nextcloud profile for accurate retirement " "projections." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:396 +#: /app/src/modules/pensions/PensionsModule.js:419 msgid "Edit Pension" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:418 +#: /app/src/modules/pensions/PensionsModule.js:441 #: /app/templates/index.php:3711 /app/templates/index.php:5308 msgid "Add Pension" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:468 +#: /app/src/modules/pensions/PensionsModule.js:515 msgid "Failed to save pension" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:474 +#: /app/src/modules/pensions/PensionsModule.js:521 msgid "Pension updated" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:474 +#: /app/src/modules/pensions/PensionsModule.js:521 msgid "Pension added" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:481 +#: /app/src/modules/pensions/PensionsModule.js:528 msgid "" "Are you sure you want to delete this pension? This action cannot be undone." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:494 +#: /app/src/modules/pensions/PensionsModule.js:529 +msgid "" +"Its balance updates, contributions and schedules are deleted with it. Any " +"bank transactions that paid into or out of it stay in your accounts, and " +"still count as money moved to or from a pension rather than spending or " +"income." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:543 msgid "Pension deleted" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:582 +#: /app/src/modules/pensions/PensionsModule.js:627 msgid "Balance history is unavailable." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:587 +#: /app/src/modules/pensions/PensionsModule.js:632 msgid "Add at least two balance updates to see history." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:639 -#: /app/src/modules/pensions/PensionsModule.js:655 +#: /app/src/modules/pensions/PensionsModule.js:684 +#: /app/src/modules/pensions/PensionsModule.js:700 msgid "Projection is unavailable." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:648 +#: /app/src/modules/pensions/PensionsModule.js:693 msgid "No projection available for this pension type." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:672 +#: /app/src/modules/pensions/PensionsModule.js:717 msgid "Projected value (today's money)" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:672 +#: /app/src/modules/pensions/PensionsModule.js:717 msgid "Projected value" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:683 +#: /app/src/modules/pensions/PensionsModule.js:728 +#: /app/src/modules/rules/components/ActionBuilder.js:206 msgid "Target" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:727 +#: /app/src/modules/pensions/PensionsModule.js:772 msgid "Projected {projected} of {target} target ({pct} there)" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:741 -#: /app/src/modules/pensions/PensionsModule.js:815 +#: /app/src/modules/pensions/PensionsModule.js:786 +#: /app/src/modules/pensions/PensionsModule.js:861 msgid "Activity is unavailable." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:746 +#: /app/src/modules/pensions/PensionsModule.js:792 msgid "No activity yet" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:753 +#: /app/src/modules/pensions/PensionsModule.js:799 msgid "an account" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:764 +#: /app/src/modules/pensions/PensionsModule.js:810 msgid "Contribution from {account}" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:771 +#: /app/src/modules/pensions/PensionsModule.js:817 msgid "Withdrawal to {account}" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:772 +#: /app/src/modules/pensions/PensionsModule.js:818 msgid "Withdrawal" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:778 +#: /app/src/modules/pensions/PensionsModule.js:824 msgid "Balance Update" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:783 +#: /app/src/modules/pensions/PensionsModule.js:829 msgid "Contribution" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:791 +#: /app/src/modules/pensions/PensionsModule.js:837 msgid "Linked to a bank transaction" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:791 +#: /app/src/modules/pensions/PensionsModule.js:837 msgid "linked" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:823 +#: /app/src/modules/pensions/PensionsModule.js:869 msgid "Delete this balance update?" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:824 +#: /app/src/modules/pensions/PensionsModule.js:870 msgid "" -"Delete this entry? If it is linked to a bank transaction, that transaction " -"will be removed too." +"Delete this entry? A bank transaction the app booked for it is removed too; " +"one that came from a statement import or bank sync stays in its account." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:842 -#: /app/src/modules/pensions/PensionsModule.js:1099 +#: /app/src/modules/pensions/PensionsModule.js:873 +msgid "" +"Its bank transaction was reconciled against a bank statement. Deleting it " +"will make past reconciliations no longer match." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:892 +#: /app/src/modules/pensions/PensionsModule.js:1186 msgid "Deleted" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:879 +#: /app/src/modules/pensions/PensionsModule.js:932 msgid "Failed to update balance" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:886 +#: /app/src/modules/pensions/PensionsModule.js:939 msgid "Balance updated" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:913 -#: /app/src/modules/pensions/PensionsModule.js:1055 +#: /app/src/modules/pensions/PensionsModule.js:969 +#: /app/src/modules/pensions/PensionsModule.js:1139 #: /app/templates/index.php:5461 /app/templates/index.php:5541 msgid "Not from a tracked account" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:938 +#: /app/src/modules/pensions/PensionsModule.js:997 msgid "Failed to log contribution" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:947 +#: /app/src/modules/pensions/PensionsModule.js:1006 msgid "Contribution logged" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:960 +#: /app/src/modules/pensions/PensionsModule.js:1019 #: /app/templates/index.php:5497 msgid "Not into a tracked account" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:992 +#: /app/src/modules/pensions/PensionsModule.js:1054 msgid "Withdrawal recorded" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1021 +#: /app/src/modules/pensions/PensionsModule.js:1093 msgid "No scheduled contributions" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1034 +#: /app/src/modules/pensions/PensionsModule.js:1108 msgid "manual" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1039 +#: /app/src/modules/pensions/PensionsModule.js:1112 +msgid "from {account}" +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1117 +#: /app/src/modules/pensions/PensionsModule.js:1223 +msgid "Post now" +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1123 msgid "Next: {date}" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1042 -msgid "Post now" +#: /app/src/modules/pensions/PensionsModule.js:1168 +msgid "Failed to save recurring contribution" +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1172 +msgid "Recurring contribution saved" +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1179 +msgid "Delete this scheduled contribution?" +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1221 +msgid "" +"Post the {date} contribution of {amount} from {account} now? It is recorded " +"with today's date." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1081 -msgid "Failed to save recurring contribution" +#: /app/src/modules/pensions/PensionsModule.js:1222 +msgid "" +"Post the {date} contribution of {amount} now? It is recorded with today's " +"date." msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1085 -msgid "Recurring contribution saved" +#: /app/src/modules/pensions/PensionsModule.js:1233 +msgid "Contribution posted" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1092 -msgid "Delete this scheduled contribution?" +#: /app/src/modules/pensions/PensionsModule.js:1249 +msgid "Contribution undone" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:1115 -msgid "Contribution posted" +#: /app/src/modules/projects/ProjectsModule.js:86 +#: /app/src/utils/billDates.js:38 /app/src/utils/incomeStatus.js:55 +msgid "Upcoming" msgstr "" #: /app/src/modules/projects/ProjectsModule.js:88 /app/templates/index.php:3023 @@ -9220,67 +9792,67 @@ msgstr "" msgid "{amount} left" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:155 +#: /app/src/modules/projects/ProjectsModule.js:156 msgid "Not counted in this project" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:170 +#: /app/src/modules/projects/ProjectsModule.js:171 msgid "Directly in {category}" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:173 +#: /app/src/modules/projects/ProjectsModule.js:174 msgid "Unallocated" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:178 +#: /app/src/modules/projects/ProjectsModule.js:179 msgid "No subcategories or amounts yet" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:196 +#: /app/src/modules/projects/ProjectsModule.js:197 msgid "" "Delete the project \"{name}\"? Its categories and transactions are not " "changed." msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:204 +#: /app/src/modules/projects/ProjectsModule.js:205 msgid "Project deleted" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:257 +#: /app/src/modules/projects/ProjectsModule.js:258 msgid "Edit Project" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:257 +#: /app/src/modules/projects/ProjectsModule.js:258 #: /app/templates/index.php:3013 /app/templates/index.php:3020 #: /app/templates/index.php:5154 msgid "New Project" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:265 +#: /app/src/modules/projects/ProjectsModule.js:266 msgid "Choose a category…" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:300 +#: /app/src/modules/projects/ProjectsModule.js:301 msgid "No amount" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:312 +#: /app/src/modules/projects/ProjectsModule.js:313 msgid "The subcategory amounts are {amount} over the total" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:313 +#: /app/src/modules/projects/ProjectsModule.js:314 msgid "Unallocated: {amount}" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:333 +#: /app/src/modules/projects/ProjectsModule.js:334 msgid "Choose a category for the project" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:356 +#: /app/src/modules/projects/ProjectsModule.js:357 msgid "Project saved" msgstr "" -#: /app/src/modules/projects/ProjectsModule.js:356 +#: /app/src/modules/projects/ProjectsModule.js:357 msgid "Project created" msgstr "" @@ -9328,98 +9900,110 @@ msgstr "" msgid "No data for the selected period." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1105 +#: /app/src/modules/reports/ReportsModule.js:1106 msgid "" "You have accounts in more than one currency. Amounts are summed in their " "original currency without conversion." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1160 +#: /app/src/modules/reports/ReportsModule.js:1161 msgid "Net Cash Flow" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1301 /app/templates/index.php:3187 +#: /app/src/modules/reports/ReportsModule.js:1302 /app/templates/index.php:3187 #: /app/templates/index.php:3503 msgid "Money Flow" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1427 +#: /app/src/modules/reports/ReportsModule.js:1428 msgid "Failed to generate comparison" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1461 +#: /app/src/modules/reports/ReportsModule.js:1462 msgid "YTD" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1486 +#: /app/src/modules/reports/ReportsModule.js:1487 msgid "{monthName} - Year over Year Comparison" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1487 +#: /app/src/modules/reports/ReportsModule.js:1488 msgid "Annual Income & Expenses" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1564 +#: /app/src/modules/reports/ReportsModule.js:1565 msgid "Change" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1608 +#: /app/src/modules/reports/ReportsModule.js:1609 msgid "Report exported as {format}" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1811 +#: /app/src/modules/reports/ReportsModule.js:1812 msgid "Failed to generate bills calendar" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1839 +#: /app/src/modules/reports/ReportsModule.js:1840 msgid "Total Bills" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1911 +#: /app/src/modules/reports/ReportsModule.js:1909 +#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 +#: /app/src/utils/billDates.js:35 /app/templates/index.php:2690 +msgid "Paid" +msgstr "" + +#: /app/src/modules/reports/ReportsModule.js:1912 msgid "No payment recorded - the bill has moved on from this date" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1914 +#: /app/src/modules/reports/ReportsModule.js:1915 msgid "Due" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1919 -#: /app/src/modules/transactions/TransactionsModule.js:1988 +#: /app/src/modules/reports/ReportsModule.js:1920 +#: /app/src/modules/transactions/TransactionsModule.js:2016 #: /app/src/modules/transactions/transactionRow.js:55 -#: /app/src/modules/transfers/TransfersModule.js:473 +#: /app/src/modules/transfers/TransfersModule.js:447 #: /app/templates/index.php:5812 /app/templates/index.php:5818 msgid "Transfer" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1937 +#: /app/src/modules/reports/ReportsModule.js:1938 msgid "Monthly Totals" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1956 +#: /app/src/modules/reports/ReportsModule.js:1962 +msgid "" +"The projected balance is only shown for your own accounts, not ones shared " +"with you." +msgstr "" + +#: /app/src/modules/reports/ReportsModule.js:1964 msgid "" "Pick an account above to see its projected balance for the rest of the year." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1959 +#: /app/src/modules/reports/ReportsModule.js:1967 msgid "The projected balance is only shown for the current year." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1977 +#: /app/src/modules/reports/ReportsModule.js:1985 msgid "Bills {bills}, transfers in {transfers}, income {income}" msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1986 +#: /app/src/modules/reports/ReportsModule.js:1994 msgid "" "{account} today: {balance}. Each month carries on from the month before, " "less the bills and plus the transfers and recurring income still due." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:1991 +#: /app/src/modules/reports/ReportsModule.js:1999 msgid "Lowest: {balance} in {month}." msgstr "" -#: /app/src/modules/reports/ReportsModule.js:2027 -#: /app/src/modules/reports/ReportsModule.js:2029 +#: /app/src/modules/reports/ReportsModule.js:2035 +#: /app/src/modules/reports/ReportsModule.js:2037 msgid "%n bill" msgid_plural "%n bills" msgstr[0] "" @@ -9528,98 +10112,114 @@ msgid "NOT" msgstr "" #: /app/src/modules/rules/RulesModule.js:242 -#: /app/src/modules/rules/RulesModule.js:271 +#: /app/src/modules/rules/RulesModule.js:286 msgid "Category #{id}" msgstr "" #: /app/src/modules/rules/RulesModule.js:247 -#: /app/src/modules/rules/RulesModule.js:277 +#: /app/src/modules/rules/RulesModule.js:292 msgid "Vendor:" msgstr "" #: /app/src/modules/rules/RulesModule.js:250 -#: /app/src/modules/rules/RulesModule.js:281 -msgid "Set notes" +msgid "Set description" msgstr "" #: /app/src/modules/rules/RulesModule.js:253 -msgid "Set tags" +#: /app/src/modules/rules/RulesModule.js:296 +msgid "Set notes" msgstr "" #: /app/src/modules/rules/RulesModule.js:256 -msgid "Type:" +msgid "Set tags" msgstr "" #: /app/src/modules/rules/RulesModule.js:259 -msgid "Move account" +msgid "Type:" msgstr "" #: /app/src/modules/rules/RulesModule.js:262 +msgid "Move account" +msgstr "" + +#: /app/src/modules/rules/RulesModule.js:265 msgid "Set reference" msgstr "" -#: /app/src/modules/rules/RulesModule.js:285 +#: /app/src/modules/rules/RulesModule.js:270 +msgid "Regular expression: {source} → {target}" +msgstr "" + +#: /app/src/modules/rules/RulesModule.js:274 +msgid "Case change on {field}" +msgstr "" + +#: /app/src/modules/rules/RulesModule.js:277 +msgid "Replace in {field}" +msgstr "" + +#: /app/src/modules/rules/RulesModule.js:300 msgid "No actions" msgstr "" -#: /app/src/modules/rules/RulesModule.js:413 -#: /app/src/modules/rules/RulesModule.js:432 +#: /app/src/modules/rules/RulesModule.js:428 +#: /app/src/modules/rules/RulesModule.js:447 msgid "rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:413 -#: /app/src/modules/rules/RulesModule.js:432 +#: /app/src/modules/rules/RulesModule.js:428 +#: /app/src/modules/rules/RulesModule.js:447 msgid "rules" msgstr "" -#: /app/src/modules/rules/RulesModule.js:413 +#: /app/src/modules/rules/RulesModule.js:428 msgid "active" msgstr "" -#: /app/src/modules/rules/RulesModule.js:414 +#: /app/src/modules/rules/RulesModule.js:429 msgid "Run all rules in this group" msgstr "" -#: /app/src/modules/rules/RulesModule.js:414 +#: /app/src/modules/rules/RulesModule.js:429 msgid "Run Group" msgstr "" -#: /app/src/modules/rules/RulesModule.js:431 +#: /app/src/modules/rules/RulesModule.js:446 msgid "Ungrouped" msgstr "" -#: /app/src/modules/rules/RulesModule.js:722 +#: /app/src/modules/rules/RulesModule.js:737 msgid "This rule has been upgraded to the new format with advanced features" msgstr "" -#: /app/src/modules/rules/RulesModule.js:725 +#: /app/src/modules/rules/RulesModule.js:740 msgid "Failed to upgrade rule format" msgstr "" -#: /app/src/modules/rules/RulesModule.js:741 +#: /app/src/modules/rules/RulesModule.js:756 msgid "Edit Rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:769 /app/templates/index.php:2756 +#: /app/src/modules/rules/RulesModule.js:784 /app/templates/index.php:2756 msgid "Add Rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:874 -#: /app/src/modules/rules/RulesModule.js:1225 +#: /app/src/modules/rules/RulesModule.js:889 +#: /app/src/modules/rules/RulesModule.js:1240 msgid "Error: CriteriaBuilder not initialized" msgstr "" -#: /app/src/modules/rules/RulesModule.js:880 -#: /app/src/modules/rules/RulesModule.js:1064 -#: /app/src/modules/rules/RulesModule.js:1230 +#: /app/src/modules/rules/RulesModule.js:895 +#: /app/src/modules/rules/RulesModule.js:1079 +#: /app/src/modules/rules/RulesModule.js:1245 msgid "Invalid criteria: {errors}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:895 +#: /app/src/modules/rules/RulesModule.js:910 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:508 #: /app/src/modules/sharing/SharingModule.js:32 -#: /app/src/modules/transactions/TransactionsModule.js:1289 -#: /app/src/modules/transactions/TransactionsModule.js:4767 +#: /app/src/modules/transactions/TransactionsModule.js:1315 +#: /app/src/modules/transactions/TransactionsModule.js:4818 #: /app/src/utils/loading.js:33 /app/templates/index.php:902 #: /app/templates/index.php:912 /app/templates/index.php:921 #: /app/templates/index.php:930 /app/templates/index.php:939 @@ -9630,220 +10230,220 @@ msgstr "" msgid "Loading..." msgstr "" -#: /app/src/modules/rules/RulesModule.js:914 +#: /app/src/modules/rules/RulesModule.js:929 msgid "Failed to preview rule: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:918 /app/templates/index.php:6548 +#: /app/src/modules/rules/RulesModule.js:933 /app/templates/index.php:6549 msgid "Preview Matches" msgstr "" -#: /app/src/modules/rules/RulesModule.js:938 -#: /app/src/modules/rules/RulesModule.js:1140 /app/templates/index.php:6521 +#: /app/src/modules/rules/RulesModule.js:953 +#: /app/src/modules/rules/RulesModule.js:1155 /app/templates/index.php:6522 msgid "Current Category" msgstr "" -#: /app/src/modules/rules/RulesModule.js:956 +#: /app/src/modules/rules/RulesModule.js:971 msgid "No matching transactions found" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1002 /app/templates/quick-add.php:160 +#: /app/src/modules/rules/RulesModule.js:1017 /app/templates/quick-add.php:160 msgid "Saving..." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1010 +#: /app/src/modules/rules/RulesModule.js:1025 msgid "Failed to save rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1014 -#: /app/src/modules/rules/RulesModule.js:1680 +#: /app/src/modules/rules/RulesModule.js:1029 +#: /app/src/modules/rules/RulesModule.js:1695 msgid "Running..." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1028 -#: /app/src/modules/rules/RulesModule.js:1695 +#: /app/src/modules/rules/RulesModule.js:1043 +#: /app/src/modules/rules/RulesModule.js:1710 msgid "Rule applied: %n transaction updated" msgid_plural "Rule applied: %n transactions updated" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/rules/RulesModule.js:1034 -#: /app/src/modules/rules/RulesModule.js:1152 -#: /app/src/modules/rules/RulesModule.js:1700 -#: /app/src/modules/rules/RulesModule.js:1739 +#: /app/src/modules/rules/RulesModule.js:1049 +#: /app/src/modules/rules/RulesModule.js:1167 +#: /app/src/modules/rules/RulesModule.js:1715 +#: /app/src/modules/rules/RulesModule.js:1754 msgid "No transactions were updated" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1039 -#: /app/src/modules/rules/RulesModule.js:1704 +#: /app/src/modules/rules/RulesModule.js:1054 +#: /app/src/modules/rules/RulesModule.js:1719 msgid "Failed to run rule: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1042 /app/templates/index.php:6549 +#: /app/src/modules/rules/RulesModule.js:1057 /app/templates/index.php:6550 msgid "Run Rule Now" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1059 +#: /app/src/modules/rules/RulesModule.js:1074 msgid "CriteriaBuilder not initialized" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1071 +#: /app/src/modules/rules/RulesModule.js:1086 msgid "ActionBuilder not initialized" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1076 -#: /app/src/modules/rules/RulesModule.js:1241 +#: /app/src/modules/rules/RulesModule.js:1091 +#: /app/src/modules/rules/RulesModule.js:1256 msgid "Invalid actions: {errors}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1145 +#: /app/src/modules/rules/RulesModule.js:1160 msgid "{count} updated" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1200 +#: /app/src/modules/rules/RulesModule.js:1215 msgid "Rule updated successfully" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1200 +#: /app/src/modules/rules/RulesModule.js:1215 msgid "Rule created successfully" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1209 +#: /app/src/modules/rules/RulesModule.js:1224 msgid "Failed to save rule: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1236 +#: /app/src/modules/rules/RulesModule.js:1251 msgid "Error: ActionBuilder not initialized" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1324 +#: /app/src/modules/rules/RulesModule.js:1339 msgid "You have no rules to export." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1346 +#: /app/src/modules/rules/RulesModule.js:1361 msgid "Exported %n rule" msgid_plural "Exported %n rules" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/rules/RulesModule.js:1372 +#: /app/src/modules/rules/RulesModule.js:1387 msgid "No rules found in that file." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1390 +#: /app/src/modules/rules/RulesModule.js:1405 msgid "" "No rules could be imported. They may reference categories or accounts that " "don't exist here." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1392 +#: /app/src/modules/rules/RulesModule.js:1407 msgid "" "Imported {imported}; {failed} could not be imported (they may reference " "categories or accounts that don't exist here)." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1394 +#: /app/src/modules/rules/RulesModule.js:1409 msgid "Imported %n rule" msgid_plural "Imported %n rules" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/rules/RulesModule.js:1458 +#: /app/src/modules/rules/RulesModule.js:1473 msgid "Invalid JSON: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1462 +#: /app/src/modules/rules/RulesModule.js:1477 msgid "Rule JSON must be a single object." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1509 +#: /app/src/modules/rules/RulesModule.js:1524 msgid "" "This JSON could not be loaded into the builder. Fix the structure, or save " "directly from JSON." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1587 +#: /app/src/modules/rules/RulesModule.js:1602 msgid "Rule JSON copied to clipboard" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1592 +#: /app/src/modules/rules/RulesModule.js:1607 msgid "Could not copy automatically — the text is selected, press Ctrl+C" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1602 +#: /app/src/modules/rules/RulesModule.js:1617 msgid "Failed to load rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1607 +#: /app/src/modules/rules/RulesModule.js:1622 msgid "Are you sure you want to delete this rule?" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1612 +#: /app/src/modules/rules/RulesModule.js:1627 msgid "Rule deleted successfully" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1616 +#: /app/src/modules/rules/RulesModule.js:1631 msgid "Failed to delete rule" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1644 +#: /app/src/modules/rules/RulesModule.js:1659 msgid "Rule enabled" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1644 +#: /app/src/modules/rules/RulesModule.js:1659 msgid "Rule disabled" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1647 +#: /app/src/modules/rules/RulesModule.js:1662 msgid "Failed to update rule: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1664 +#: /app/src/modules/rules/RulesModule.js:1679 msgid "Run rule \"{name}\" on matching transactions?" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1707 /app/templates/index.php:6638 +#: /app/src/modules/rules/RulesModule.js:1722 /app/templates/index.php:6639 msgid "Run" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1714 +#: /app/src/modules/rules/RulesModule.js:1729 msgid "No active rules in this group" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1718 +#: /app/src/modules/rules/RulesModule.js:1733 msgid "Run {count} active rules in group \"{name}\"?" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1734 +#: /app/src/modules/rules/RulesModule.js:1749 msgid "Group applied: %n transaction updated" msgid_plural "Group applied: %n transactions updated" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/rules/RulesModule.js:1743 +#: /app/src/modules/rules/RulesModule.js:1758 msgid "Failed to run group rules: {error}" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1805 +#: /app/src/modules/rules/RulesModule.js:1820 msgid "" "Apply rules to matching transactions? This will modify the selected " "transactions." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1814 +#: /app/src/modules/rules/RulesModule.js:1829 msgid "Applying..." msgstr "" -#: /app/src/modules/rules/RulesModule.js:1832 +#: /app/src/modules/rules/RulesModule.js:1847 msgid "Rules applied: {success} updated, {skipped} skipped, {failed} failed" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1841 +#: /app/src/modules/rules/RulesModule.js:1856 msgid "Failed to apply rules" msgstr "" -#: /app/src/modules/rules/RulesModule.js:1844 /app/templates/index.php:2743 -#: /app/templates/index.php:6617 +#: /app/src/modules/rules/RulesModule.js:1859 /app/templates/index.php:2743 +#: /app/templates/index.php:6618 msgid "Apply Rules" msgstr "" @@ -9853,263 +10453,377 @@ msgid "+ Add Action" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:91 -#: /app/src/modules/rules/components/ActionBuilder.js:124 +#: /app/src/modules/rules/components/ActionBuilder.js:127 msgid "Set Category" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:92 -#: /app/src/modules/rules/components/ActionBuilder.js:125 +#: /app/src/modules/rules/components/ActionBuilder.js:128 msgid "Set Vendor" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:93 -#: /app/src/modules/rules/components/ActionBuilder.js:126 +#: /app/src/modules/rules/components/ActionBuilder.js:129 msgid "Set Description" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:94 -#: /app/src/modules/rules/components/ActionBuilder.js:127 +#: /app/src/modules/rules/components/ActionBuilder.js:130 msgid "Set Notes" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:95 -#: /app/src/modules/rules/components/ActionBuilder.js:128 +#: /app/src/modules/rules/components/ActionBuilder.js:131 msgid "Add Tags" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:96 -#: /app/src/modules/rules/components/ActionBuilder.js:129 +#: /app/src/modules/rules/components/ActionBuilder.js:132 msgid "Set Account" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:97 -#: /app/src/modules/rules/components/ActionBuilder.js:130 +#: /app/src/modules/rules/components/ActionBuilder.js:133 msgid "Set Transaction Type" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:98 -#: /app/src/modules/rules/components/ActionBuilder.js:131 +#: /app/src/modules/rules/components/ActionBuilder.js:134 msgid "Set Reference" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:99 -#: /app/src/modules/rules/components/ActionBuilder.js:132 -msgid "Exclude from Forecast" +#: /app/src/modules/rules/components/ActionBuilder.js:135 +msgid "Regex Replace" msgstr "" #: /app/src/modules/rules/components/ActionBuilder.js:100 -#: /app/src/modules/rules/components/ActionBuilder.js:133 +#: /app/src/modules/rules/components/ActionBuilder.js:136 +msgid "Change Case" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:101 +#: /app/src/modules/rules/components/ActionBuilder.js:137 +msgid "Replace Text" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:102 +#: /app/src/modules/rules/components/ActionBuilder.js:138 +msgid "Exclude from Forecast" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:103 +#: /app/src/modules/rules/components/ActionBuilder.js:139 msgid "Auto-Link as Transfer" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:104 +#: /app/src/modules/rules/components/ActionBuilder.js:107 msgid "Stop processing after this rule" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:105 +#: /app/src/modules/rules/components/ActionBuilder.js:108 msgid "If checked, no rules with lower priority will run if this rule matches" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:116 +#: /app/src/modules/rules/components/ActionBuilder.js:119 msgid "No actions yet. Use the dropdown below to add actions." msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:146 +#: /app/src/modules/rules/components/ActionBuilder.js:152 msgid "Remove action" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:179 +#: /app/src/modules/rules/components/ActionBuilder.js:191 msgid "Unknown action type" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:187 -#: /app/src/modules/rules/components/ActionBuilder.js:188 -msgid "Category:" -msgstr "" - -#: /app/src/modules/rules/components/ActionBuilder.js:189 -msgid "-- Select Category --" +#: /app/src/modules/rules/components/ActionBuilder.js:199 +#: /app/src/modules/rules/components/CriteriaBuilder.js:187 +msgid "Field" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:194 -#: /app/src/modules/rules/components/ActionBuilder.js:195 -#: /app/src/modules/rules/components/ActionBuilder.js:211 #: /app/src/modules/rules/components/ActionBuilder.js:212 -#: /app/src/modules/rules/components/ActionBuilder.js:228 -#: /app/src/modules/rules/components/ActionBuilder.js:229 -#: /app/src/modules/rules/components/ActionBuilder.js:245 -#: /app/src/modules/rules/components/ActionBuilder.js:246 -#: /app/src/modules/rules/components/ActionBuilder.js:286 -#: /app/src/modules/rules/components/ActionBuilder.js:287 -#: /app/src/modules/rules/components/ActionBuilder.js:342 -#: /app/src/modules/rules/components/ActionBuilder.js:343 -msgid "Behavior:" +msgid "Behavior" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:196 #: /app/src/modules/rules/components/ActionBuilder.js:213 -#: /app/src/modules/rules/components/ActionBuilder.js:230 -#: /app/src/modules/rules/components/ActionBuilder.js:344 +#: /app/src/modules/rules/components/ActionBuilder.js:287 +#: /app/src/modules/rules/components/ActionBuilder.js:304 +#: /app/src/modules/rules/components/ActionBuilder.js:321 +#: /app/src/modules/rules/components/ActionBuilder.js:435 msgid "Always set" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:197 #: /app/src/modules/rules/components/ActionBuilder.js:214 -#: /app/src/modules/rules/components/ActionBuilder.js:231 -#: /app/src/modules/rules/components/ActionBuilder.js:345 +#: /app/src/modules/rules/components/ActionBuilder.js:288 +#: /app/src/modules/rules/components/ActionBuilder.js:305 +#: /app/src/modules/rules/components/ActionBuilder.js:322 +#: /app/src/modules/rules/components/ActionBuilder.js:436 msgid "Only if empty" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:206 -#: /app/src/modules/rules/components/ActionBuilder.js:207 +#: /app/src/modules/rules/components/ActionBuilder.js:218 +#: /app/templates/index.php:6458 +msgid "Pattern" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:219 +msgid "Pattern: /\\d+/" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:220 +msgid "Replacement" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:221 +msgid "Replacement: e.g., X or $1" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:230 +#: /app/src/modules/rules/components/ActionBuilder.js:231 +#: /app/src/modules/rules/components/ActionBuilder.js:254 +#: /app/src/modules/rules/components/ActionBuilder.js:255 +msgid "Field:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:239 +#: /app/src/modules/rules/components/ActionBuilder.js:240 +msgid "Mode:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:241 +msgid "Uppercase" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:242 +msgid "Lowercase" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:243 +msgid "Title Case" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:244 +msgid "Sentence case" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:261 +#: /app/src/modules/rules/components/ActionBuilder.js:262 +msgid "Find:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:263 +msgid "e.g., ACME" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:266 +#: /app/src/modules/rules/components/ActionBuilder.js:267 +msgid "Replace:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:268 +msgid "e.g., Amazon" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:278 +#: /app/src/modules/rules/components/ActionBuilder.js:279 +msgid "Category:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:280 +msgid "-- Select Category --" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:285 +#: /app/src/modules/rules/components/ActionBuilder.js:286 +#: /app/src/modules/rules/components/ActionBuilder.js:302 +#: /app/src/modules/rules/components/ActionBuilder.js:303 +#: /app/src/modules/rules/components/ActionBuilder.js:319 +#: /app/src/modules/rules/components/ActionBuilder.js:320 +#: /app/src/modules/rules/components/ActionBuilder.js:336 +#: /app/src/modules/rules/components/ActionBuilder.js:337 +#: /app/src/modules/rules/components/ActionBuilder.js:377 +#: /app/src/modules/rules/components/ActionBuilder.js:378 +#: /app/src/modules/rules/components/ActionBuilder.js:433 +#: /app/src/modules/rules/components/ActionBuilder.js:434 +msgid "Behavior:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:297 +#: /app/src/modules/rules/components/ActionBuilder.js:298 msgid "Vendor Name:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:208 +#: /app/src/modules/rules/components/ActionBuilder.js:299 msgid "e.g., Amazon, Starbucks" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:223 -#: /app/src/modules/rules/components/ActionBuilder.js:224 -#: /app/src/modules/transactions/TransactionsModule.js:3726 -#: /app/templates/index.php:7103 +#: /app/src/modules/rules/components/ActionBuilder.js:314 +#: /app/src/modules/rules/components/ActionBuilder.js:315 +#: /app/src/modules/transactions/TransactionsModule.js:3777 +#: /app/templates/index.php:7104 msgid "Description:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:225 +#: /app/src/modules/rules/components/ActionBuilder.js:316 msgid "e.g., Grocery purchase, Salary" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:240 -#: /app/src/modules/rules/components/ActionBuilder.js:241 +#: /app/src/modules/rules/components/ActionBuilder.js:331 +#: /app/src/modules/rules/components/ActionBuilder.js:332 msgid "Notes Text:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:242 +#: /app/src/modules/rules/components/ActionBuilder.js:333 msgid "Text to add to transaction notes" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:247 +#: /app/src/modules/rules/components/ActionBuilder.js:338 msgid "Replace notes" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:248 +#: /app/src/modules/rules/components/ActionBuilder.js:339 msgid "Append to notes" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:253 -#: /app/src/modules/rules/components/ActionBuilder.js:254 +#: /app/src/modules/rules/components/ActionBuilder.js:344 +#: /app/src/modules/rules/components/ActionBuilder.js:345 msgid "Separator:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:255 +#: /app/src/modules/rules/components/ActionBuilder.js:346 msgid "e.g., | or -" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:268 +#: /app/src/modules/rules/components/ActionBuilder.js:359 msgid "Tags to Add:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:270 +#: /app/src/modules/rules/components/ActionBuilder.js:361 msgid "No tag sets available" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:288 +#: /app/src/modules/rules/components/ActionBuilder.js:379 msgid "Merge with existing tags" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:289 +#: /app/src/modules/rules/components/ActionBuilder.js:380 msgid "Replace all tags" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:300 -#: /app/src/modules/rules/components/ActionBuilder.js:301 +#: /app/src/modules/rules/components/ActionBuilder.js:391 +#: /app/src/modules/rules/components/ActionBuilder.js:392 msgid "Account:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:302 +#: /app/src/modules/rules/components/ActionBuilder.js:393 msgid "-- Select Account --" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:309 +#: /app/src/modules/rules/components/ActionBuilder.js:400 msgid "This will reassign the transaction to a different account" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:317 +#: /app/src/modules/rules/components/ActionBuilder.js:408 msgid "Transaction Type:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:337 -#: /app/src/modules/rules/components/ActionBuilder.js:338 +#: /app/src/modules/rules/components/ActionBuilder.js:428 +#: /app/src/modules/rules/components/ActionBuilder.js:429 msgid "Reference Value:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:339 +#: /app/src/modules/rules/components/ActionBuilder.js:430 msgid "e.g., CHECK-1234, AUTO" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:355 -#: /app/src/modules/rules/components/ActionBuilder.js:356 +#: /app/src/modules/rules/components/ActionBuilder.js:446 +#: /app/src/modules/rules/components/ActionBuilder.js:447 msgid "Forecast:" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:357 +#: /app/src/modules/rules/components/ActionBuilder.js:448 msgid "Exclude from forecast" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:358 +#: /app/src/modules/rules/components/ActionBuilder.js:449 msgid "Include in forecast" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:362 +#: /app/src/modules/rules/components/ActionBuilder.js:453 msgid "" "Extraordinary one-time amounts are left out of the forecast averages (they " "still affect your real balance)." msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:370 +#: /app/src/modules/rules/components/ActionBuilder.js:461 msgid "" "After import, automatically find and link a matching transaction from " "another account as a transfer pair. Matches by amount, opposite type, and " "date proximity (within 3 days)." msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:529 +#: /app/src/modules/rules/components/ActionBuilder.js:649 msgid "Action {number}: Missing type" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:536 +#: /app/src/modules/rules/components/ActionBuilder.js:656 msgid "Action {number}: Category not selected" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:541 +#: /app/src/modules/rules/components/ActionBuilder.js:661 msgid "Action {number}: Vendor name is empty" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:546 +#: /app/src/modules/rules/components/ActionBuilder.js:666 msgid "Action {number}: Description is empty" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:551 +#: /app/src/modules/rules/components/ActionBuilder.js:671 msgid "Action {number}: Notes text is empty" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:556 +#: /app/src/modules/rules/components/ActionBuilder.js:676 msgid "Action {number}: No tags selected" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:561 +#: /app/src/modules/rules/components/ActionBuilder.js:681 msgid "Action {number}: Account not selected" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:566 +#: /app/src/modules/rules/components/ActionBuilder.js:686 msgid "Action {number}: Invalid transaction type" msgstr "" -#: /app/src/modules/rules/components/ActionBuilder.js:571 +#: /app/src/modules/rules/components/ActionBuilder.js:691 msgid "Action {number}: Reference value is empty" msgstr "" +#: /app/src/modules/rules/components/ActionBuilder.js:696 +msgid "Action {number}: Regex field is invalid" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:699 +msgid "Action {number}: Regex target field is invalid" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:702 +msgid "Action {number}: Regex pattern is empty" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:707 +#: /app/src/modules/rules/components/ActionBuilder.js:715 +msgid "Action {number}: Text field is invalid" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:710 +msgid "Action {number}: Case mode is invalid" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:718 +msgid "Action {number}: Replace text target is empty" +msgstr "" + #: /app/src/modules/rules/components/CriteriaBuilder.js:155 msgid "How conditions combine" msgstr "" @@ -10134,10 +10848,6 @@ msgstr "" msgid "+ Add Group" msgstr "" -#: /app/src/modules/rules/components/CriteriaBuilder.js:187 -msgid "Field" -msgstr "" - #: /app/src/modules/rules/components/CriteriaBuilder.js:191 #: /app/templates/index.php:2432 msgid "Transaction Type" @@ -10153,7 +10863,7 @@ msgid "Import Source" msgstr "" #: /app/src/modules/rules/components/CriteriaBuilder.js:199 -#: /app/templates/index.php:6445 +#: /app/templates/index.php:6446 msgid "Match Type" msgstr "" @@ -10251,16 +10961,12 @@ msgstr "" msgid "Condition at {path} has no pattern value" msgstr "" -#: /app/src/modules/rules/components/CriteriaBuilder.js:546 -msgid "Condition at {path} has invalid regex pattern: {error}" -msgstr "" - -#: /app/src/modules/rules/components/CriteriaBuilder.js:557 +#: /app/src/modules/rules/components/CriteriaBuilder.js:551 msgid "" "Condition at {path} 'between' pattern must have 'min' and 'max' properties" msgstr "" -#: /app/src/modules/rules/components/CriteriaBuilder.js:560 +#: /app/src/modules/rules/components/CriteriaBuilder.js:554 msgid "Condition at {path} 'between' pattern must be valid JSON with min/max" msgstr "" @@ -10269,91 +10975,91 @@ msgstr "" msgid "Failed to load savings goals" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:104 +#: /app/src/modules/savings/SavingsModule.js:106 msgid "Target date passed" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:106 +#: /app/src/modules/savings/SavingsModule.js:108 msgid "Target date: Today" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:108 +#: /app/src/modules/savings/SavingsModule.js:110 msgid "%n day left" msgid_plural "%n days left" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/savings/SavingsModule.js:110 +#: /app/src/modules/savings/SavingsModule.js:112 msgid "Target: {date}" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:116 +#: /app/src/modules/savings/SavingsModule.js:118 msgid "Goal reached!" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:118 +#: /app/src/modules/savings/SavingsModule.js:120 msgid "Auto-tracked" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:120 +#: /app/src/modules/savings/SavingsModule.js:122 msgid "+ Add money" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:154 +#: /app/src/modules/savings/SavingsModule.js:156 msgid "of {amount}" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:250 +#: /app/src/modules/savings/SavingsModule.js:252 msgid "Auto-calculated from tag" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:266 /app/templates/index.php:5237 +#: /app/src/modules/savings/SavingsModule.js:268 /app/templates/index.php:5237 msgid "No linked account" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:288 /app/templates/index.php:5245 +#: /app/src/modules/savings/SavingsModule.js:290 /app/templates/index.php:5245 msgid "No linked tag" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:347 +#: /app/src/modules/savings/SavingsModule.js:349 msgid "Edit Savings Goal" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:347 /app/templates/index.php:5202 +#: /app/src/modules/savings/SavingsModule.js:349 /app/templates/index.php:5202 msgid "Add Savings Goal" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:423 -#: /app/src/modules/savings/SavingsModule.js:437 +#: /app/src/modules/savings/SavingsModule.js:425 +#: /app/src/modules/savings/SavingsModule.js:439 msgid "Failed to save goal" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:433 +#: /app/src/modules/savings/SavingsModule.js:435 msgid "Goal updated" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:433 +#: /app/src/modules/savings/SavingsModule.js:435 msgid "Goal created" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:449 +#: /app/src/modules/savings/SavingsModule.js:451 msgid "Are you sure you want to delete this savings goal?" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:456 +#: /app/src/modules/savings/SavingsModule.js:458 msgid "Goal deleted" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:470 -#: /app/src/modules/savings/SavingsModule.js:496 +#: /app/src/modules/savings/SavingsModule.js:472 +#: /app/src/modules/savings/SavingsModule.js:498 msgid "This goal is auto-tracked via a tag" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:510 +#: /app/src/modules/savings/SavingsModule.js:512 msgid "Added {amount} to goal" msgstr "" -#: /app/src/modules/savings/SavingsModule.js:514 +#: /app/src/modules/savings/SavingsModule.js:516 msgid "Failed to add money to goal" msgstr "" @@ -10496,7 +11202,7 @@ msgid "Edit Contact" msgstr "" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:268 -#: /app/templates/index.php:4202 /app/templates/index.php:7221 +#: /app/templates/index.php:4202 /app/templates/index.php:7222 msgid "Add Contact" msgstr "" @@ -10527,7 +11233,7 @@ msgid "Failed to load contact details" msgstr "" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:433 -#: /app/templates/index.php:7371 +#: /app/templates/index.php:7372 msgid "No shared expenses" msgstr "" @@ -10544,10 +11250,15 @@ msgid "Open" msgstr "" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:468 -#: /app/templates/index.php:7377 +#: /app/templates/index.php:7378 msgid "No settlements yet" msgstr "" +#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 +#: /app/src/utils/incomeStatus.js:54 /app/templates/index.php:2888 +msgid "Received" +msgstr "" + #: /app/src/modules/shared-expenses/SharedExpensesModule.js:518 msgid "No unsettled expenses" msgstr "" @@ -10728,7 +11439,7 @@ msgid "Budgets shared with you by other users." msgstr "" #: /app/src/modules/sharing/SharingModule.js:155 -#: /app/src/modules/transactions/TransactionsModule.js:1616 +#: /app/src/modules/transactions/TransactionsModule.js:1642 msgid "Leave" msgstr "" @@ -10736,86 +11447,100 @@ msgstr "" msgid "Failed to load configuration" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:270 /app/templates/index.php:2831 +#: /app/src/modules/sharing/SharingModule.js:270 +msgid "Read & Write, plus deleting them." +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:273 +msgid "" +"Read & Write, plus the type, parent, subcategories, budget and report " +"settings. Only you can delete." +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:275 /app/templates/index.php:2831 msgid "Recurring Income" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:273 /app/templates/index.php:4769 +#: /app/src/modules/sharing/SharingModule.js:278 /app/templates/index.php:4769 msgid "Import Rules" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:289 +#: /app/src/modules/sharing/SharingModule.js:294 msgid "" "Automatically share new items of this type at the permission selected here" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:291 +#: /app/src/modules/sharing/SharingModule.js:296 msgid "Auto-share new" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:293 -#: /app/src/modules/sharing/SharingModule.js:339 /app/templates/index.php:1922 +#: /app/src/modules/sharing/SharingModule.js:298 +#: /app/src/modules/sharing/SharingModule.js:345 /app/templates/index.php:1922 msgid "Select All" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:295 +#: /app/src/modules/sharing/SharingModule.js:300 msgid "Read only" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:296 +#: /app/src/modules/sharing/SharingModule.js:301 msgid "Read & Write" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:321 +#: /app/src/modules/sharing/SharingModule.js:302 +msgid "Full control" +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:327 msgid "Save Configuration" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:339 -#: /app/src/modules/transactions/TransactionsModule.js:5212 +#: /app/src/modules/sharing/SharingModule.js:345 +#: /app/src/modules/transactions/TransactionsModule.js:5263 msgid "Deselect All" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:387 +#: /app/src/modules/sharing/SharingModule.js:393 msgid "Failed to save some sections: {types}" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:389 +#: /app/src/modules/sharing/SharingModule.js:395 msgid "Share configuration saved" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:396 +#: /app/src/modules/sharing/SharingModule.js:402 msgid "Please enter a username" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:402 +#: /app/src/modules/sharing/SharingModule.js:408 msgid "Invitation sent to {user}" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:404 +#: /app/src/modules/sharing/SharingModule.js:410 msgid "Failed to share budget" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:410 +#: /app/src/modules/sharing/SharingModule.js:416 msgid "Share accepted — reloading budget data" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:419 +#: /app/src/modules/sharing/SharingModule.js:425 msgid "Share declined" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:425 +#: /app/src/modules/sharing/SharingModule.js:431 msgid "Are you sure? The user will lose access to your budget." msgstr "" -#: /app/src/modules/sharing/SharingModule.js:428 +#: /app/src/modules/sharing/SharingModule.js:434 msgid "Share revoked" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:435 +#: /app/src/modules/sharing/SharingModule.js:441 msgid "Are you sure you want to leave this shared budget?" msgstr "" -#: /app/src/modules/sharing/SharingModule.js:438 +#: /app/src/modules/sharing/SharingModule.js:444 msgid "Left shared budget — reloading your data" msgstr "" @@ -10842,18 +11567,18 @@ msgstr "" #: /app/src/modules/tagsets/TagSetsModule.js:82 #: /app/src/modules/tagsets/TagSetsModule.js:386 #: /app/src/modules/tagsets/TagSetsModule.js:717 /app/templates/index.php:5078 -#: /app/templates/index.php:6953 +#: /app/templates/index.php:6954 msgid "Hidden" msgstr "" -#: /app/src/modules/tagsets/TagSetsModule.js:180 /app/templates/index.php:6933 +#: /app/src/modules/tagsets/TagSetsModule.js:180 /app/templates/index.php:6934 msgid "Edit Tag" msgstr "" #: /app/src/modules/tagsets/TagSetsModule.js:188 #: /app/src/modules/tagsets/TagSetsModule.js:726 /app/templates/index.php:2094 -#: /app/templates/index.php:5060 /app/templates/index.php:6902 -#: /app/templates/index.php:6923 +#: /app/templates/index.php:5060 /app/templates/index.php:6903 +#: /app/templates/index.php:6924 msgid "Add Tag" msgstr "" @@ -10893,8 +11618,8 @@ msgstr "" msgid "Tag Sets" msgstr "" -#: /app/src/modules/tagsets/TagSetsModule.js:356 /app/templates/index.php:6872 -#: /app/templates/index.php:6892 +#: /app/src/modules/tagsets/TagSetsModule.js:356 /app/templates/index.php:6873 +#: /app/templates/index.php:6893 msgid "Add Tag Set" msgstr "" @@ -10978,7 +11703,7 @@ msgstr "" msgid "No tag sets yet." msgstr "" -#: /app/src/modules/tagsets/TagSetsModule.js:729 /app/templates/index.php:6972 +#: /app/src/modules/tagsets/TagSetsModule.js:729 /app/templates/index.php:6973 msgid "Edit Tag Set" msgstr "" @@ -11002,35 +11727,41 @@ msgstr "" msgid "Tag updated successfully" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:480 +#: /app/src/modules/transactions/TransactionsModule.js:365 +msgid "" +"This transaction is scheduled, so it is not on a statement yet and cannot be " +"ticked." +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:502 msgid "{category} + {count} subcategory" msgid_plural "{category} + {count} subcategories" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:937 +#: /app/src/modules/transactions/TransactionsModule.js:963 msgid "Failed to select all matching transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:984 +#: /app/src/modules/transactions/TransactionsModule.js:1010 msgid "All {total} transactions matching the current filter are selected." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:985 +#: /app/src/modules/transactions/TransactionsModule.js:1011 msgid "Clear selection" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1000 +#: /app/src/modules/transactions/TransactionsModule.js:1026 msgid "All %n transaction on this page is selected." msgid_plural "All %n transactions on this page are selected." msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1001 +#: /app/src/modules/transactions/TransactionsModule.js:1027 msgid "Select all {total} matching transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1061 +#: /app/src/modules/transactions/TransactionsModule.js:1087 msgid "" "Are you sure you want to delete %n transaction? This action cannot be undone." msgid_plural "" @@ -11039,7 +11770,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1064 +#: /app/src/modules/transactions/TransactionsModule.js:1090 msgid "" "%n of these was auto-generated from bill payments. Deleting real payments " "will cause your balance to diverge from your bank statement." @@ -11049,95 +11780,95 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1080 +#: /app/src/modules/transactions/TransactionsModule.js:1106 msgid "Successfully deleted %n transaction" msgid_plural "Successfully deleted %n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1088 -#: /app/src/modules/transactions/TransactionsModule.js:5347 +#: /app/src/modules/transactions/TransactionsModule.js:1114 +#: /app/src/modules/transactions/TransactionsModule.js:5398 msgid "Failed to delete %n transaction" msgid_plural "Failed to delete %n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1101 +#: /app/src/modules/transactions/TransactionsModule.js:1127 msgid "Are you sure you want to mark %n transaction as reconciled?" msgid_plural "Are you sure you want to mark %n transactions as reconciled?" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1115 +#: /app/src/modules/transactions/TransactionsModule.js:1141 msgid "Successfully reconciled %n transaction" msgid_plural "Successfully reconciled %n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1123 +#: /app/src/modules/transactions/TransactionsModule.js:1149 msgid "Failed to reconcile %n transaction" msgid_plural "Failed to reconcile %n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1127 +#: /app/src/modules/transactions/TransactionsModule.js:1153 msgid "Failed to reconcile transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1136 +#: /app/src/modules/transactions/TransactionsModule.js:1162 msgid "Are you sure you want to mark %n transaction as unreconciled?" msgid_plural "Are you sure you want to mark %n transactions as unreconciled?" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1150 +#: /app/src/modules/transactions/TransactionsModule.js:1176 msgid "Successfully unreconciled %n transaction" msgid_plural "Successfully unreconciled %n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1158 +#: /app/src/modules/transactions/TransactionsModule.js:1184 msgid "Failed to unreconcile %n transaction" msgid_plural "Failed to unreconcile %n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1162 +#: /app/src/modules/transactions/TransactionsModule.js:1188 msgid "Failed to unreconcile transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1182 -#: /app/templates/index.php:7161 +#: /app/src/modules/transactions/TransactionsModule.js:1208 +#: /app/templates/index.php:7162 msgid "Don't change" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1214 +#: /app/src/modules/transactions/TransactionsModule.js:1240 msgid "Please fill in at least one field to update" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1218 +#: /app/src/modules/transactions/TransactionsModule.js:1244 msgid "Are you sure you want to update %n transaction?" msgid_plural "Are you sure you want to update %n transactions?" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1232 +#: /app/src/modules/transactions/TransactionsModule.js:1258 msgid "Successfully updated %n transaction" msgid_plural "Successfully updated %n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1243 +#: /app/src/modules/transactions/TransactionsModule.js:1269 msgid "Failed to update %n transaction" msgid_plural "Failed to update %n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1247 +#: /app/src/modules/transactions/TransactionsModule.js:1273 msgid "Failed to update transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1283 +#: /app/src/modules/transactions/TransactionsModule.js:1309 msgid "" "Add or remove tags on %n selected transaction. Tags you leave unchecked are " "not touched." @@ -11147,76 +11878,76 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1349 +#: /app/src/modules/transactions/TransactionsModule.js:1375 msgid "applies to {count} of {total}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1365 +#: /app/src/modules/transactions/TransactionsModule.js:1391 msgid "%n selected transaction is in a category these tags do not cover." msgid_plural "" "%n selected transactions are in categories these tags do not cover." msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1397 +#: /app/src/modules/transactions/TransactionsModule.js:1423 msgid "Please select at least one tag to add or remove" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1411 -#: /app/src/modules/transactions/TransactionsModule.js:1435 +#: /app/src/modules/transactions/TransactionsModule.js:1437 +#: /app/src/modules/transactions/TransactionsModule.js:1461 msgid "Failed to update tags" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1431 +#: /app/src/modules/transactions/TransactionsModule.js:1457 msgid "Failed to update tags on %n transaction" msgid_plural "Failed to update tags on %n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1449 +#: /app/src/modules/transactions/TransactionsModule.js:1475 msgid "Updated tags on %n transaction" msgid_plural "Updated tags on %n transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1457 +#: /app/src/modules/transactions/TransactionsModule.js:1483 msgid "{tag} applied to {count} of them" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1490 +#: /app/src/modules/transactions/TransactionsModule.js:1516 msgid "Server error ({status}) — check the Nextcloud logs" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1501 +#: /app/src/modules/transactions/TransactionsModule.js:1527 msgid "Please fill in all reconciliation fields" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1514 +#: /app/src/modules/transactions/TransactionsModule.js:1540 msgid "Failed to start reconciliation" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1518 +#: /app/src/modules/transactions/TransactionsModule.js:1544 msgid "A reconciliation is already in progress for this account. Resume it?" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1527 +#: /app/src/modules/transactions/TransactionsModule.js:1553 msgid "Failed to start reconciliation: {message}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1568 +#: /app/src/modules/transactions/TransactionsModule.js:1594 msgid "Reconciliation started — tick the transactions on your statement" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1596 -#: /app/src/modules/transfers/TransfersModule.js:492 +#: /app/src/modules/transactions/TransactionsModule.js:1622 +#: /app/src/modules/transfers/TransfersModule.js:466 msgid "Statement balance" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1600 +#: /app/src/modules/transactions/TransactionsModule.js:1626 msgid "Starting balance" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1601 +#: /app/src/modules/transactions/TransactionsModule.js:1627 msgid "" "Where the account stood before this statement: the balance at your last " "reconciliation, or — the first time — the account’s opening balance plus " @@ -11224,587 +11955,605 @@ msgid "" "opening balance." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1604 +#: /app/src/modules/transactions/TransactionsModule.js:1630 msgid "Ticked ({count})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1608 +#: /app/src/modules/transactions/TransactionsModule.js:1634 msgid "Difference" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1613 +#: /app/src/modules/transactions/TransactionsModule.js:1639 msgid "Finish" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1614 +#: /app/src/modules/transactions/TransactionsModule.js:1640 msgid "Tick %n transaction up to {date}" msgid_plural "Tick all %n transactions up to {date}" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1615 +#: /app/src/modules/transactions/TransactionsModule.js:1641 msgid "Create {amount} adjustment" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1616 +#: /app/src/modules/transactions/TransactionsModule.js:1642 msgid "Keep the session and come back later" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1617 +#: /app/src/modules/transactions/TransactionsModule.js:1643 msgid "Cancel session" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1646 +#: /app/src/modules/transactions/TransactionsModule.js:1672 msgid "Failed to tick transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1656 +#: /app/src/modules/transactions/TransactionsModule.js:1682 msgid "Failed to tick transactions: {message}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1707 +#: /app/src/modules/transactions/TransactionsModule.js:1733 msgid "Failed to update reconciliation" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1718 +#: /app/src/modules/transactions/TransactionsModule.js:1744 msgid "Failed to update reconciliation: {message}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1764 +#: /app/src/modules/transactions/TransactionsModule.js:1790 msgid "A reconciliation is in progress for this account (statement of {date})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1765 +#: /app/src/modules/transactions/TransactionsModule.js:1791 msgid "Resume" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1811 +#: /app/src/modules/transactions/TransactionsModule.js:1837 msgid "" "Cancel this reconciliation? Ticked transactions will be released (nothing is " "marked reconciled)." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1819 +#: /app/src/modules/transactions/TransactionsModule.js:1845 msgid "Failed to cancel" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1822 +#: /app/src/modules/transactions/TransactionsModule.js:1848 msgid "Reconciliation cancelled" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1824 +#: /app/src/modules/transactions/TransactionsModule.js:1850 msgid "Failed to cancel reconciliation: {message}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1846 +#: /app/src/modules/transactions/TransactionsModule.js:1872 msgid "Reconciliation completed — {count} transactions marked as reconciled" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1849 +#: /app/src/modules/transactions/TransactionsModule.js:1875 msgid "%n older uncleared transaction was not ticked and remains unreconciled" msgid_plural "" "%n older uncleared transactions were not ticked and remain unreconciled" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:1854 +#: /app/src/modules/transactions/TransactionsModule.js:1880 msgid "Failed to complete reconciliation: {error}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1871 +#: /app/src/modules/transactions/TransactionsModule.js:1899 msgid "Reconciliation Adjustment" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1872 +#: /app/src/modules/transactions/TransactionsModule.js:1900 msgid "Adjustment to match statement balance of {amount}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1874 +#: /app/src/modules/transactions/TransactionsModule.js:1902 msgid "Failed to create adjustment" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1887 +#: /app/src/modules/transactions/TransactionsModule.js:1915 msgid "Adjustment transaction created" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1892 +#: /app/src/modules/transactions/TransactionsModule.js:1920 msgid "Failed to create adjustment: {message}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1916 +#: /app/src/modules/transactions/TransactionsModule.js:1944 #: /app/templates/index.php:5833 msgid "Choose an account" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1937 -#: /app/src/modules/transfers/TransfersModule.js:515 -#: /app/src/modules/transfers/TransfersModule.js:527 +#: /app/src/modules/transactions/TransactionsModule.js:1965 +#: /app/src/modules/transfers/TransfersModule.js:492 +#: /app/src/modules/transfers/TransfersModule.js:504 #: /app/templates/index.php:2519 /app/templates/quick-add.php:24 msgid "Select account..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1974 +#: /app/src/modules/transactions/TransactionsModule.js:2002 #: /app/src/modules/transactions/transactionRow.js:211 #: /app/src/modules/transactions/transactionRow.js:293 #: /app/src/modules/transactions/transactionRow.js:294 msgid "Edit transaction" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:1975 +#: /app/src/modules/transactions/TransactionsModule.js:2003 #: /app/templates/index.php:5794 msgid "New transaction" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2232 -#: /app/src/modules/transactions/TransactionsModule.js:2255 +#: /app/src/modules/transactions/TransactionsModule.js:2277 +#: /app/src/modules/transactions/TransactionsModule.js:2299 msgid "Failed to load transaction" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2359 -#: /app/src/modules/transactions/TransactionsModule.js:2370 +#: /app/src/modules/transactions/TransactionsModule.js:2403 +#: /app/src/modules/transactions/TransactionsModule.js:2414 msgid "The receipt could not be read" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2400 +#: /app/src/modules/transactions/TransactionsModule.js:2444 msgid "date" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2404 +#: /app/src/modules/transactions/TransactionsModule.js:2448 msgid "amount" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2407 +#: /app/src/modules/transactions/TransactionsModule.js:2451 msgid "description" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2408 +#: /app/src/modules/transactions/TransactionsModule.js:2452 msgid "vendor" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2414 +#: /app/src/modules/transactions/TransactionsModule.js:2458 msgid "category" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2509 +#: /app/src/modules/transactions/TransactionsModule.js:2553 msgid "Savings / discount" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2514 +#: /app/src/modules/transactions/TransactionsModule.js:2558 msgid "VAT / tax" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2553 +#: /app/src/modules/transactions/TransactionsModule.js:2597 msgid "Split into {count} lines from the receipt. Set a category on each." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2564 +#: /app/src/modules/transactions/TransactionsModule.js:2608 msgid "Filled in: {fields}. Check them before saving." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2565 +#: /app/src/modules/transactions/TransactionsModule.js:2609 msgid "" "Nothing was filled in — the fields already had values. Clear one and scan " "again to use the receipt." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2569 +#: /app/src/modules/transactions/TransactionsModule.js:2613 msgid "Read {count} items from the receipt." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2572 +#: /app/src/modules/transactions/TransactionsModule.js:2616 msgid "The items do not add up to the total — worth a look." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2575 +#: /app/src/modules/transactions/TransactionsModule.js:2619 msgid "Receipt currency: {currency}." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2577 +#: /app/src/modules/transactions/TransactionsModule.js:2621 msgid "The photo will be attached when you save." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2595 +#: /app/src/modules/transactions/TransactionsModule.js:2639 msgid "" "These items cannot be split individually: they do not add up to the total, " "so the parts would not balance." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2604 +#: /app/src/modules/transactions/TransactionsModule.js:2648 msgid "Split into {count} lines" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2606 +#: /app/src/modules/transactions/TransactionsModule.js:2650 msgid "the savings as a negative line" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2607 +#: /app/src/modules/transactions/TransactionsModule.js:2651 msgid "the tax as its own line" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2609 +#: /app/src/modules/transactions/TransactionsModule.js:2653 msgid " and " msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2609 +#: /app/src/modules/transactions/TransactionsModule.js:2653 msgid "One line per item, plus {extras}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2610 +#: /app/src/modules/transactions/TransactionsModule.js:2654 msgid "One line per item on the receipt" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2660 +#: /app/src/modules/transactions/TransactionsModule.js:2704 msgid "Select receipt" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2698 +#: /app/src/modules/transactions/TransactionsModule.js:2742 msgid "No receipts yet — they are attached when you save." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2706 +#: /app/src/modules/transactions/TransactionsModule.js:2750 msgid "on save" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2707 -#: /app/src/modules/transactions/TransactionsModule.js:2763 +#: /app/src/modules/transactions/TransactionsModule.js:2751 +#: /app/src/modules/transactions/TransactionsModule.js:2807 msgid "Remove attachment" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2755 +#: /app/src/modules/transactions/TransactionsModule.js:2799 msgid "Receipt" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2757 +#: /app/src/modules/transactions/TransactionsModule.js:2801 msgid "The file no longer exists in your Files" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2765 +#: /app/src/modules/transactions/TransactionsModule.js:2809 msgid "No receipts attached" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2844 -#: /app/src/modules/transactions/TransactionsModule.js:5038 +#: /app/src/modules/transactions/TransactionsModule.js:2888 +#: /app/src/modules/transactions/TransactionsModule.js:5089 msgid "" "This transaction was reconciled against a bank statement. Changing its " "amount, type, account or date will make past reconciliations no longer " "match. Continue?" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2861 +#: /app/src/modules/transactions/TransactionsModule.js:2905 msgid "Please select destination account" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2865 +#: /app/src/modules/transactions/TransactionsModule.js:2909 msgid "Cannot transfer to same account" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:2918 +#: /app/src/modules/transactions/TransactionsModule.js:2962 msgid "Transfer created successfully" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3014 +#: /app/src/modules/transactions/TransactionsModule.js:3058 msgid "The transaction was saved, but {count} receipt(s) could not be attached" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3018 -#: /app/src/modules/transactions/TransactionsModule.js:5093 +#: /app/src/modules/transactions/TransactionsModule.js:3062 +#: /app/src/modules/transactions/TransactionsModule.js:5144 msgid "Transaction updated" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3018 +#: /app/src/modules/transactions/TransactionsModule.js:3062 msgid "Transaction created" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3201 +#: /app/src/modules/transactions/TransactionsModule.js:3245 msgid "Remove" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3239 +#: /app/src/modules/transactions/TransactionsModule.js:3283 msgid "Fully allocated" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3284 msgid "Remaining: {amount}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3265 +#: /app/src/modules/transactions/TransactionsModule.js:3309 msgid "Auto-calculated from the transaction total minus the other splits" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3268 +#: /app/src/modules/transactions/TransactionsModule.js:3312 msgid "Amount (remaining)" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3322 +#: /app/src/modules/transactions/TransactionsModule.js:3366 msgid "A split needs at least two parts with an amount." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3328 +#: /app/src/modules/transactions/TransactionsModule.js:3372 msgid "Split amounts must add up to the transaction total ({total})." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3399 +#: /app/src/modules/transactions/TransactionsModule.js:3443 msgid "The transaction was saved, but not split: {reason}" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3400 +#: /app/src/modules/transactions/TransactionsModule.js:3444 msgid "The transaction was saved, but its splits could not be stored" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3406 -#: /app/src/modules/transactions/TransactionsModule.js:3421 +#: /app/src/modules/transactions/TransactionsModule.js:3450 +#: /app/src/modules/transactions/TransactionsModule.js:3472 msgid "Are you sure you want to delete this transaction?" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3415 +#: /app/src/modules/transactions/TransactionsModule.js:3459 msgid "This will decrease the account balance by {amount}." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3416 +#: /app/src/modules/transactions/TransactionsModule.js:3460 msgid "This will increase the account balance by {amount}." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3419 +#: /app/src/modules/transactions/TransactionsModule.js:3467 +msgid "" +"This is the upcoming payment of a bill, not money that has moved. Deleting " +"it removes the scheduled entry until the bill is next paid; the bill itself " +"stays, and the account balance does not change. Are you sure?" +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:3468 +msgid "" +"This transaction is scheduled and not in the account balance yet, so the " +"balance does not change. Are you sure you want to delete it?" +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:3470 msgid "This transaction was auto-generated from a bill payment." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3419 +#: /app/src/modules/transactions/TransactionsModule.js:3470 msgid "" "If this is a real payment, deleting it will cause your balance to diverge " "from your bank statement. Are you sure?" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3426 +#: /app/src/modules/transactions/TransactionsModule.js:3477 msgid "" "This transaction was reconciled against a bank statement. Deleting it will " "make past reconciliations no longer match." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3430 +#: /app/src/modules/transactions/TransactionsModule.js:3481 msgid "" "This transaction funds a pension contribution. Deleting it will unlink it " "from that contribution (the contribution itself is kept)." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3441 -#: /app/src/modules/transactions/TransactionsModule.js:3464 +#: /app/src/modules/transactions/TransactionsModule.js:3492 +#: /app/src/modules/transactions/TransactionsModule.js:3515 msgid "Failed to delete transaction" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3451 +#: /app/src/modules/transactions/TransactionsModule.js:3502 msgid "Transaction deleted" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3545 +#: /app/src/modules/transactions/TransactionsModule.js:3596 msgid "Amount ({currency})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3546 +#: /app/src/modules/transactions/TransactionsModule.js:3597 msgid "Destination Amount ({currency})" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3722 -#: /app/templates/index.php:7111 +#: /app/src/modules/transactions/TransactionsModule.js:3773 +#: /app/templates/index.php:7112 msgid "Date:" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3730 +#: /app/src/modules/transactions/TransactionsModule.js:3781 msgid "Total Amount:" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3960 +#: /app/src/modules/transactions/TransactionsModule.js:4011 msgid "Date window (days):" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3965 +#: /app/src/modules/transactions/TransactionsModule.js:4016 msgid "" "Matches must be within this many days of each other. Use 0 for exact date " "match." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3968 +#: /app/src/modules/transactions/TransactionsModule.js:4019 msgid "Matching mode:" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3973 +#: /app/src/modules/transactions/TransactionsModule.js:4024 msgid "Auto-link exact matches" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3974 +#: /app/src/modules/transactions/TransactionsModule.js:4025 msgid "Single-match pairs linked automatically. Multi-match shown for review." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3980 +#: /app/src/modules/transactions/TransactionsModule.js:4031 msgid "Review all matches" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:3981 +#: /app/src/modules/transactions/TransactionsModule.js:4032 msgid "All candidates shown for your confirmation before linking." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4013 -#: /app/templates/index.php:7049 +#: /app/src/modules/transactions/TransactionsModule.js:4064 +#: /app/templates/index.php:7050 msgid "Scanning for matching transactions..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4024 -#: /app/templates/index.php:7082 +#: /app/src/modules/transactions/TransactionsModule.js:4075 +#: /app/templates/index.php:7083 msgid "No matching transactions found." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4039 +#: /app/src/modules/transactions/TransactionsModule.js:4090 msgid "Failed to scan for matches. Please try again." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4059 +#: /app/src/modules/transactions/TransactionsModule.js:4110 msgid "Linking %n exact match pair..." msgid_plural "Linking %n exact match pairs..." msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:4127 +#: /app/src/modules/transactions/TransactionsModule.js:4178 msgid "Exact Matches" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4128 +#: /app/src/modules/transactions/TransactionsModule.js:4179 msgid "" "These transactions have exactly one match. Uncheck any you don't want to " "link." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4254 +#: /app/src/modules/transactions/TransactionsModule.js:4305 msgid "Select a match (%n option):" msgid_plural "Select a match (%n options):" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:4258 +#: /app/src/modules/transactions/TransactionsModule.js:4309 msgid "Link Selected" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4286 +#: /app/src/modules/transactions/TransactionsModule.js:4337 msgid "No matches selected" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4293 +#: /app/src/modules/transactions/TransactionsModule.js:4344 msgid "Linking..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4300 +#: /app/src/modules/transactions/TransactionsModule.js:4351 msgid "Linked %n pair" msgid_plural "Linked %n pairs" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:4302 +#: /app/src/modules/transactions/TransactionsModule.js:4353 msgid "%n failed" msgid_plural "%n failed" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:4314 +#: /app/src/modules/transactions/TransactionsModule.js:4365 msgid "Linked Pairs" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4315 +#: /app/src/modules/transactions/TransactionsModule.js:4366 msgid "These transactions have been linked. Click Undo to unlink a pair." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4352 -#: /app/templates/index.php:7089 +#: /app/src/modules/transactions/TransactionsModule.js:4403 +#: /app/templates/index.php:7090 msgid "Confirm Selected" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4379 +#: /app/src/modules/transactions/TransactionsModule.js:4430 msgid "Match undone" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4381 +#: /app/src/modules/transactions/TransactionsModule.js:4432 msgid "Failed to undo match" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4390 +#: /app/src/modules/transactions/TransactionsModule.js:4441 msgid "Please select a match first" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4418 +#: /app/src/modules/transactions/TransactionsModule.js:4469 msgid "Transactions linked" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4560 +#: /app/src/modules/transactions/TransactionsModule.js:4611 msgid "Enter description..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4592 -#: /app/src/utils/userPicker.js:66 /app/templates/index.php:7231 +#: /app/src/modules/transactions/TransactionsModule.js:4643 +#: /app/src/utils/userPicker.js:66 /app/templates/index.php:7232 msgid "Type to search..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4625 +#: /app/src/modules/transactions/TransactionsModule.js:4676 msgid "No categories found" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4779 +#: /app/src/modules/transactions/TransactionsModule.js:4830 msgid "No tags" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:4935 +#: /app/src/modules/transactions/TransactionsModule.js:4986 msgid "Error loading tags" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5146 +#: /app/src/modules/transactions/TransactionsModule.js:5197 msgid "Find Duplicate Transactions" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5152 +#: /app/src/modules/transactions/TransactionsModule.js:5203 msgid "Scanning for duplicates..." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5188 +#: /app/src/modules/transactions/TransactionsModule.js:5239 msgid "No duplicate transactions found." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5198 +#: /app/src/modules/transactions/TransactionsModule.js:5249 msgid "Failed to scan for duplicates. Please try again." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5207 +#: /app/src/modules/transactions/TransactionsModule.js:5258 msgid "" "Found {groupCount} group(s) with {duplicateCount} suspected duplicate(s). " "The oldest transaction in each group is kept by default. Review and adjust " "the selection, then delete the checked items." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5210 -#: /app/src/modules/transactions/TransactionsModule.js:5355 +#: /app/src/modules/transactions/TransactionsModule.js:5261 +#: /app/src/modules/transactions/TransactionsModule.js:5406 #: /app/templates/index.php:1932 msgid "Delete Selected" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5236 +#: /app/src/modules/transactions/TransactionsModule.js:5276 +#: /app/src/utils/matchingDialog.js:48 +msgid "(no description)" +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:5287 msgid "keep" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5237 +#: /app/src/modules/transactions/TransactionsModule.js:5288 msgid "bill" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5239 +#: /app/src/modules/transactions/TransactionsModule.js:5290 msgid "scheduled" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5240 +#: /app/src/modules/transactions/TransactionsModule.js:5291 msgid "pending" msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5301 +#: /app/src/modules/transactions/TransactionsModule.js:5352 msgid "Delete %n suspected duplicate transaction? This cannot be undone." msgid_plural "" "Delete %n suspected duplicate transactions? This cannot be undone." msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:5303 +#: /app/src/modules/transactions/TransactionsModule.js:5354 msgid "" "%n of these was generated from bill payments. Make sure they are truly " "duplicates before deleting." @@ -11814,17 +12563,17 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:5319 +#: /app/src/modules/transactions/TransactionsModule.js:5370 msgid "Deleted %n duplicate transaction" msgid_plural "Deleted %n duplicate transactions" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transactions/TransactionsModule.js:5342 +#: /app/src/modules/transactions/TransactionsModule.js:5393 msgid "All duplicates have been resolved." msgstr "" -#: /app/src/modules/transactions/TransactionsModule.js:5351 +#: /app/src/modules/transactions/TransactionsModule.js:5402 msgid "Failed to delete duplicates" msgstr "" @@ -11907,221 +12656,246 @@ msgstr "" msgid "More actions" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:55 -#: /app/src/modules/transfers/TransfersModule.js:68 +#: /app/src/modules/transfers/TransfersModule.js:58 +#: /app/src/modules/transfers/TransfersModule.js:73 msgid "Failed to load transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:82 +#: /app/src/modules/transfers/TransfersModule.js:87 msgid "Recurring Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:84 +#: /app/src/modules/transfers/TransfersModule.js:89 msgid "Detect recurring transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:86 -#: /app/src/modules/transfers/TransfersModule.js:1264 +#: /app/src/modules/transfers/TransfersModule.js:91 +#: /app/src/modules/transfers/TransfersModule.js:1259 msgid "Find Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:88 +#: /app/src/modules/transfers/TransfersModule.js:93 msgid "Add new transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:90 -#: /app/src/modules/transfers/TransfersModule.js:459 -#: /app/src/modules/transfers/TransfersModule.js:609 +#: /app/src/modules/transfers/TransfersModule.js:95 +#: /app/src/modules/transfers/TransfersModule.js:433 +#: /app/src/modules/transfers/TransfersModule.js:594 msgid "Add Transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:103 +#: /app/src/modules/transfers/TransfersModule.js:108 msgid "Active Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:112 +#: /app/src/modules/transfers/TransfersModule.js:117 #: /app/templates/index.php:2653 msgid "Due This Month" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:121 +#: /app/src/modules/transfers/TransfersModule.js:126 #: /app/templates/index.php:2671 /app/templates/index.php:2861 msgid "Monthly Total" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:130 +#: /app/src/modules/transfers/TransfersModule.js:135 msgid "Completed This Month" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:137 +#: /app/src/modules/transfers/TransfersModule.js:142 msgid "All Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:152 +#: /app/src/modules/transfers/TransfersModule.js:143 +#: /app/src/utils/billDates.js:37 /app/templates/index.php:2688 +msgid "Due Soon" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:145 +#: /app/src/utils/incomeStatus.js:43 /app/templates/index.php:1423 +#: /app/templates/index.php:2974 +msgid "Completed" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:157 msgid "No recurring transfers yet" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:153 +#: /app/src/modules/transfers/TransfersModule.js:158 msgid "" "Set up automatic transfers between your accounts to automate savings or bill " "payments." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:156 +#: /app/src/modules/transfers/TransfersModule.js:161 msgid "Add Your First Transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:164 +#: /app/src/modules/transfers/TransfersModule.js:169 msgid "Detected Recurring Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:167 +#: /app/src/modules/transfers/TransfersModule.js:172 msgid "" "These recurring transactions may be transfers between your accounts. Select " "the ones to add and choose the destination account." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:170 +#: /app/src/modules/transfers/TransfersModule.js:175 msgid "Add Selected as Transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:382 +#: /app/src/modules/transfers/TransfersModule.js:368 msgid "Edit transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:385 +#: /app/src/modules/transfers/TransfersModule.js:371 msgid "Delete transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:459 +#: /app/src/modules/transfers/TransfersModule.js:433 msgid "Edit Transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:477 +#: /app/src/modules/transfers/TransfersModule.js:451 msgid "e.g., Monthly Savings" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:489 +#: /app/src/modules/transfers/TransfersModule.js:463 msgid "Amount type" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:491 +#: /app/src/modules/transfers/TransfersModule.js:465 msgid "Fixed amount" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:493 +#: /app/src/modules/transfers/TransfersModule.js:467 msgid "Current balance" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:494 +#: /app/src/modules/transfers/TransfersModule.js:468 msgid "Minimum payment" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:513 +#: /app/src/modules/transfers/TransfersModule.js:485 +#: /app/templates/index.php:6196 +msgid "Custom" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:490 msgid "From Account" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:525 +#: /app/src/modules/transfers/TransfersModule.js:502 #: /app/templates/index.php:5837 msgid "To Account" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:537 -#: /app/src/modules/transfers/TransfersModule.js:777 +#: /app/src/modules/transfers/TransfersModule.js:514 +#: /app/src/modules/transfers/TransfersModule.js:769 msgid "Day of Month (1-31)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:539 +#: /app/src/modules/transfers/TransfersModule.js:516 msgid "e.g., 15" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:554 +#: /app/src/modules/transfers/TransfersModule.js:522 +#: /app/templates/index.php:6227 +msgid "Due Month" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:526 +msgid "The month the cycle starts from" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:539 #: /app/templates/index.php:712 /app/templates/index.php:734 #: /app/templates/index.php:5233 /app/templates/index.php:5852 -#: /app/templates/index.php:5969 /app/templates/index.php:6803 +#: /app/templates/index.php:5969 /app/templates/index.php:6804 msgid "Details" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:556 +#: /app/src/modules/transfers/TransfersModule.js:541 msgid "Transaction Description Pattern (Optional)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:558 +#: /app/src/modules/transfers/TransfersModule.js:543 msgid "e.g., Savings Transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:560 +#: /app/src/modules/transfers/TransfersModule.js:545 msgid "Used to match imported transactions" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:569 +#: /app/src/modules/transfers/TransfersModule.js:554 msgid "Category for created transactions (optional)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:577 +#: /app/src/modules/transfers/TransfersModule.js:562 msgid "Optional notes..." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:584 +#: /app/src/modules/transfers/TransfersModule.js:569 msgid "Also create transactions now" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:586 +#: /app/src/modules/transfers/TransfersModule.js:571 msgid "Creates paired debit/credit transactions immediately" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:590 -#: /app/templates/index.php:6339 +#: /app/src/modules/transfers/TransfersModule.js:575 +#: /app/templates/index.php:6340 msgid "Transaction Date" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:592 -#: /app/templates/index.php:6341 +#: /app/src/modules/transfers/TransfersModule.js:577 +#: /app/templates/index.php:6342 msgid "Leave empty to use next due date" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:599 +#: /app/src/modules/transfers/TransfersModule.js:584 msgid "Enable auto-pay (automatically create transactions when due)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:609 +#: /app/src/modules/transfers/TransfersModule.js:594 msgid "Update Transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:667 +#: /app/src/modules/transfers/TransfersModule.js:652 msgid "" "Pays what was owed at the due date. Later charges roll to the next payment" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:668 +#: /app/src/modules/transfers/TransfersModule.js:653 msgid "Pays everything owed on the card at payment time" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:669 +#: /app/src/modules/transfers/TransfersModule.js:654 msgid "Pays the card's minimum payment, never more than is owed" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:682 +#: /app/src/modules/transfers/TransfersModule.js:667 msgid "Resolved from the card at each payment" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:766 +#: /app/src/modules/transfers/TransfersModule.js:758 msgid "The date this transfer is due. It can be in the past." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:778 +#: /app/src/modules/transfers/TransfersModule.js:770 msgid "Day of the month when the transfer is due" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:796 +#: /app/src/modules/transfers/TransfersModule.js:788 msgid "The transfer repeats from this date (optional)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:797 +#: /app/src/modules/transfers/TransfersModule.js:789 msgid "Transfer only occurs on or after this date (optional)" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:819 +#: /app/src/modules/transfers/TransfersModule.js:816 msgid "Please enter the date the transfer is due" msgstr "" @@ -12133,120 +12907,126 @@ msgstr "" msgid "Please select a destination account" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:882 -#: /app/src/modules/transfers/TransfersModule.js:895 +#: /app/src/modules/transfers/TransfersModule.js:887 +#: /app/src/modules/transfers/TransfersModule.js:900 msgid "Failed to save transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:886 +#: /app/src/modules/transfers/TransfersModule.js:891 msgid "Transfer updated" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:886 +#: /app/src/modules/transfers/TransfersModule.js:891 msgid "Transfer added" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:901 +#: /app/src/modules/transfers/TransfersModule.js:906 msgid "Are you sure you want to delete this transfer?" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:908 -#: /app/src/modules/transfers/TransfersModule.js:918 +#: /app/src/modules/transfers/TransfersModule.js:913 +#: /app/src/modules/transfers/TransfersModule.js:923 msgid "Failed to delete transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:911 +#: /app/src/modules/transfers/TransfersModule.js:916 msgid "Transfer deleted" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:932 -#: /app/src/modules/transfers/TransfersModule.js:944 +#: /app/src/modules/transfers/TransfersModule.js:937 +#: /app/src/modules/transfers/TransfersModule.js:949 msgid "Failed to update transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:936 +#: /app/src/modules/transfers/TransfersModule.js:941 msgid "Transfer deactivated" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:936 +#: /app/src/modules/transfers/TransfersModule.js:941 msgid "Transfer activated" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:964 -#: /app/src/modules/transfers/TransfersModule.js:974 +#: /app/src/modules/transfers/TransfersModule.js:990 +#: /app/src/modules/transfers/TransfersModule.js:1006 msgid "Failed to mark transfer as paid" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:967 +#: /app/src/modules/transfers/TransfersModule.js:996 +msgid "" +"The transfer was marked as paid, but no transactions were recorded. Check " +"both accounts, or add the transfer manually." +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:998 msgid "Transfer marked as paid" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:995 -#: /app/src/modules/transfers/TransfersModule.js:1014 +#: /app/src/modules/transfers/TransfersModule.js:1027 +#: /app/src/modules/transfers/TransfersModule.js:1046 msgid "Failed to skip transfer" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1062 -#: /app/src/modules/transfers/TransfersModule.js:1071 +#: /app/src/modules/transfers/TransfersModule.js:1093 +#: /app/src/modules/transfers/TransfersModule.js:1103 msgid "Failed to mark transfer as unpaid" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1068 +#: /app/src/modules/transfers/TransfersModule.js:1100 msgid "Payment reverted — the transfer is marked as unpaid." msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1078 +#: /app/src/modules/transfers/TransfersModule.js:1110 msgid "Statement" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1079 +#: /app/src/modules/transfers/TransfersModule.js:1111 msgid "Full balance" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1080 +#: /app/src/modules/transfers/TransfersModule.js:1112 msgid "Minimum" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1083 +#: /app/src/modules/transfers/TransfersModule.js:1115 msgid "Amount is resolved from the card at each payment" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1261 +#: /app/src/modules/transfers/TransfersModule.js:1256 msgid "Failed to detect recurring transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1294 +#: /app/src/modules/transfers/TransfersModule.js:1289 msgid "From: {account}" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1297 -#: /app/src/modules/transfers/TransfersModule.js:1298 +#: /app/src/modules/transfers/TransfersModule.js:1292 +#: /app/src/modules/transfers/TransfersModule.js:1293 msgid "To:" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1299 +#: /app/src/modules/transfers/TransfersModule.js:1294 msgid "— Select destination —" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1316 +#: /app/src/modules/transfers/TransfersModule.js:1325 msgid "Please select at least one transfer to add" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1327 +#: /app/src/modules/transfers/TransfersModule.js:1336 msgid "Please select a destination account for all selected transfers" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1333 +#: /app/src/modules/transfers/TransfersModule.js:1342 msgid "Source and destination accounts must be different" msgstr "" -#: /app/src/modules/transfers/TransfersModule.js:1350 +#: /app/src/modules/transfers/TransfersModule.js:1359 msgid "%n transfer added successfully" msgid_plural "%n transfers added successfully" msgstr[0] "" msgstr[1] "" -#: /app/src/modules/transfers/TransfersModule.js:1353 +#: /app/src/modules/transfers/TransfersModule.js:1362 msgid "Failed to add selected transfers" msgstr "" @@ -12254,11 +13034,11 @@ msgstr "" msgid "{name} (closed)" msgstr "" -#: /app/src/utils/billDates.js:29 +#: /app/src/utils/billDates.js:95 msgid "Paid {paidDate}, next due {dueDate}" msgstr "" -#: /app/src/utils/billDates.js:34 +#: /app/src/utils/billDates.js:100 msgid "Paid {date}" msgstr "" @@ -12298,10 +13078,107 @@ msgstr "" msgid "Week of {date}" msgstr "" +#: /app/src/utils/incomeStatus.js:35 +msgid "Received {date}" +msgstr "" + +#: /app/src/utils/incomeStatus.js:39 +msgid "No date set" +msgstr "" + +#: /app/src/utils/incomeStatus.js:43 /app/templates/index.php:2792 +msgid "Inactive" +msgstr "" + +#: /app/src/utils/incomeStatus.js:53 /app/templates/index.php:2887 +msgid "Expected Soon" +msgstr "" + +#: /app/src/utils/incomeStatus.js:59 +msgid "Received {receivedDate}, next expected {expectedDate}" +msgstr "" + #: /app/src/utils/loading.js:84 msgid "Retry" msgstr "" +#: /app/src/utils/matchingDialog.js:33 +msgid "Exact amount" +msgstr "" + +#: /app/src/utils/matchingDialog.js:34 +msgid "Similar amount (±5%)" +msgstr "" + +#: /app/src/utils/matchingDialog.js:35 +msgid "Approximate amount (±20%)" +msgstr "" + +#: /app/src/utils/matchingDialog.js:36 +msgid "Vendor matches" +msgstr "" + +#: /app/src/utils/matchingDialog.js:37 +msgid "Vendor partially matches" +msgstr "" + +#: /app/src/utils/matchingDialog.js:38 +msgid "Description matches" +msgstr "" + +#: /app/src/utils/matchingDialog.js:39 +msgid "Description partially matches" +msgstr "" + +#: /app/src/utils/matchingDialog.js:40 +msgid "Same day" +msgstr "" + +#: /app/src/utils/matchingDialog.js:41 +msgid "±1 day" +msgstr "" + +#: /app/src/utils/matchingDialog.js:42 +msgid "±3 days" +msgstr "" + +#: /app/src/utils/matchingDialog.js:43 +msgid "±7 days" +msgstr "" + +#: /app/src/utils/matchingDialog.js:61 +msgid "Strong match" +msgstr "" + +#: /app/src/utils/matchingDialog.js:73 +msgid "Existing Transaction Found" +msgstr "" + +#: /app/src/utils/matchingDialog.js:77 +msgid "" +"We found existing transactions that may already represent this bill payment " +"({billName}, {amount}). Would you like to link one instead of creating a new " +"transaction?" +msgstr "" + +#: /app/src/utils/matchingDialog.js:78 +msgid "" +"Whichever you choose, the bill is marked as paid and moves on to its next " +"due date." +msgstr "" + +#: /app/src/utils/matchingDialog.js:85 +msgid "Create a new transaction instead" +msgstr "" + +#: /app/src/utils/matchingDialog.js:91 +msgid "Don't create any transaction (just mark as paid)" +msgstr "" + +#: /app/src/utils/matchingDialog.js:92 +msgid "Your account balance will NOT reflect this payment." +msgstr "" + #: /app/src/utils/multiselect.js:32 msgid "Select column(s)..." msgstr "" @@ -12330,7 +13207,7 @@ msgstr "" msgid "Tools & Settings" msgstr "" -#: /app/templates/index.php:217 /app/templates/index.php:7554 +#: /app/templates/index.php:217 /app/templates/index.php:7555 msgid "Help" msgstr "" @@ -12667,7 +13544,7 @@ msgid "Filters" msgstr "" #: /app/templates/index.php:1458 /app/templates/index.php:1615 -#: /app/templates/index.php:6564 +#: /app/templates/index.php:6565 msgid "Filter Transactions" msgstr "" @@ -12680,12 +13557,12 @@ msgid "Cleared" msgstr "" #: /app/templates/index.php:1489 /app/templates/index.php:1662 -#: /app/templates/index.php:6575 +#: /app/templates/index.php:6576 msgid "From Date" msgstr "" #: /app/templates/index.php:1494 /app/templates/index.php:1667 -#: /app/templates/index.php:6580 +#: /app/templates/index.php:6581 msgid "To Date" msgstr "" @@ -12718,7 +13595,7 @@ msgid "Save Preset" msgstr "" #: /app/templates/index.php:1544 /app/templates/index.php:1854 -#: /app/templates/index.php:2805 /app/templates/index.php:6471 +#: /app/templates/index.php:2805 /app/templates/index.php:6472 msgid "Actions" msgstr "" @@ -12834,7 +13711,7 @@ msgstr "" msgid "250 per page" msgstr "" -#: /app/templates/index.php:1824 /app/templates/index.php:7315 +#: /app/templates/index.php:1824 /app/templates/index.php:7316 msgid "Select all" msgstr "" @@ -12870,10 +13747,6 @@ msgstr "" msgid "Recolor" msgstr "" -#: /app/templates/index.php:1943 /app/templates/index.php:2244 -msgid "No categories yet" -msgstr "" - #: /app/templates/index.php:1944 msgid "" "Create your first category to start organizing your transactions, or use our " @@ -13367,10 +14240,6 @@ msgstr "" msgid "Search rules" msgstr "" -#: /app/templates/index.php:2792 -msgid "Inactive" -msgstr "" - #: /app/templates/index.php:2801 msgid "Pri" msgstr "" @@ -13597,9 +14466,9 @@ msgstr "" #: /app/templates/index.php:3175 /app/templates/index.php:5084 #: /app/templates/index.php:5105 /app/templates/index.php:5192 #: /app/templates/index.php:5555 /app/templates/index.php:5950 -#: /app/templates/index.php:6147 /app/templates/index.php:6380 -#: /app/templates/index.php:6550 /app/templates/index.php:6767 -#: /app/templates/index.php:6862 /app/templates/index.php:7249 +#: /app/templates/index.php:6147 /app/templates/index.php:6381 +#: /app/templates/index.php:6551 /app/templates/index.php:6768 +#: /app/templates/index.php:6863 /app/templates/index.php:7250 msgid "Save" msgstr "" @@ -13840,7 +14709,7 @@ msgid "Edit pension" msgstr "" #: /app/templates/index.php:3817 /app/templates/index.php:4859 -#: /app/templates/index.php:5338 /app/templates/index.php:7457 +#: /app/templates/index.php:5338 /app/templates/index.php:7458 msgid "Provider" msgstr "" @@ -14299,7 +15168,7 @@ msgstr "" msgid "Space ( )" msgstr "" -#: /app/templates/index.php:4538 /app/templates/index.php:6513 +#: /app/templates/index.php:4538 /app/templates/index.php:6514 msgid "Preview:" msgstr "" @@ -14414,7 +15283,7 @@ msgstr "" msgid "CSV" msgstr "" -#: /app/templates/index.php:4689 /app/templates/index.php:6397 +#: /app/templates/index.php:4689 /app/templates/index.php:6398 msgid "JSON" msgstr "" @@ -14715,7 +15584,7 @@ msgstr "" msgid "Open docs site" msgstr "" -#: /app/templates/index.php:4973 /app/templates/index.php:7562 +#: /app/templates/index.php:4973 /app/templates/index.php:7563 msgid "Report an Issue" msgstr "" @@ -14788,8 +15657,8 @@ msgstr "" msgid "Copy to Clipboard" msgstr "" -#: /app/templates/index.php:5065 /app/templates/index.php:6911 -#: /app/templates/index.php:6943 +#: /app/templates/index.php:5065 /app/templates/index.php:6912 +#: /app/templates/index.php:6944 msgid "Tag Name" msgstr "" @@ -14798,8 +15667,8 @@ msgid "e.g., Business, Vacation, Groceries" msgstr "" #: /app/templates/index.php:5069 /app/templates/index.php:5254 -#: /app/templates/index.php:6826 /app/templates/index.php:6915 -#: /app/templates/index.php:6947 +#: /app/templates/index.php:6827 /app/templates/index.php:6916 +#: /app/templates/index.php:6948 msgid "Color" msgstr "" @@ -14807,7 +15676,7 @@ msgstr "" msgid "Color (hex code)" msgstr "" -#: /app/templates/index.php:5080 /app/templates/index.php:6955 +#: /app/templates/index.php:5080 /app/templates/index.php:6956 msgid "" "Stop offering this tag when tagging new transactions. Transactions that " "already have it keep it." @@ -15326,10 +16195,10 @@ msgid "Save transaction" msgstr "" #: /app/templates/index.php:5951 /app/templates/index.php:6148 -#: /app/templates/index.php:6381 /app/templates/index.php:6551 -#: /app/templates/index.php:6768 /app/templates/index.php:6787 -#: /app/templates/index.php:6863 /app/templates/index.php:7146 -#: /app/templates/index.php:7186 /app/templates/index.php:7212 +#: /app/templates/index.php:6382 /app/templates/index.php:6552 +#: /app/templates/index.php:6769 /app/templates/index.php:6788 +#: /app/templates/index.php:6864 /app/templates/index.php:7147 +#: /app/templates/index.php:7187 /app/templates/index.php:7213 msgid "Cancel and close dialog" msgstr "" @@ -15488,11 +16357,11 @@ msgstr "" msgid "Name of the vendor or recurring bill" msgstr "" -#: /app/templates/index.php:6175 /app/templates/index.php:6659 +#: /app/templates/index.php:6175 /app/templates/index.php:6660 msgid "Transaction description (optional)" msgstr "" -#: /app/templates/index.php:6176 /app/templates/index.php:6660 +#: /app/templates/index.php:6176 /app/templates/index.php:6661 msgid "Used as the description when transactions are auto-generated" msgstr "" @@ -15500,10 +16369,6 @@ msgstr "" msgid "Expected bill amount" msgstr "" -#: /app/templates/index.php:6196 -msgid "Custom" -msgstr "" - #: /app/templates/index.php:6198 msgid "How often this bill is due" msgstr "" @@ -15516,11 +16381,7 @@ msgstr "" msgid "Select which months this bill occurs" msgstr "" -#: /app/templates/index.php:6227 -msgid "Due Month" -msgstr "" - -#: /app/templates/index.php:6229 /app/templates/index.php:6705 +#: /app/templates/index.php:6229 /app/templates/index.php:6706 msgid "Select month..." msgstr "" @@ -15548,7 +16409,7 @@ msgstr "" msgid "Account used to pay this bill (optional)" msgstr "" -#: /app/templates/index.php:6280 /app/templates/index.php:6747 +#: /app/templates/index.php:6280 /app/templates/index.php:6748 msgid "Auto-detect Pattern" msgstr "" @@ -15562,11 +16423,11 @@ msgid "" "date) automatically mark the bill as paid" msgstr "" -#: /app/templates/index.php:6287 /app/templates/index.php:6754 +#: /app/templates/index.php:6287 /app/templates/index.php:6755 msgid "Additional notes..." msgstr "" -#: /app/templates/index.php:6288 /app/templates/index.php:6755 +#: /app/templates/index.php:6288 /app/templates/index.php:6756 msgid "Any additional notes (optional)" msgstr "" @@ -15574,876 +16435,864 @@ msgstr "" msgid "Schedule" msgstr "" -#: /app/templates/index.php:6304 +#: /app/templates/index.php:6305 msgid "End Date" msgstr "" -#: /app/templates/index.php:6306 +#: /app/templates/index.php:6307 msgid "Bill will automatically stop after this date (optional)" msgstr "" -#: /app/templates/index.php:6310 +#: /app/templates/index.php:6311 msgid "Remaining Payments" msgstr "" -#: /app/templates/index.php:6311 +#: /app/templates/index.php:6312 msgid "e.g., 10" msgstr "" -#: /app/templates/index.php:6312 +#: /app/templates/index.php:6313 msgid "Number of payments left before bill auto-deactivates (optional)" msgstr "" -#: /app/templates/index.php:6316 +#: /app/templates/index.php:6317 msgid "Reminder" msgstr "" -#: /app/templates/index.php:6318 +#: /app/templates/index.php:6319 msgid "No reminder" msgstr "" -#: /app/templates/index.php:6319 +#: /app/templates/index.php:6320 msgid "On due date" msgstr "" -#: /app/templates/index.php:6320 +#: /app/templates/index.php:6321 msgid "1 day before" msgstr "" -#: /app/templates/index.php:6321 +#: /app/templates/index.php:6322 msgid "2 days before" msgstr "" -#: /app/templates/index.php:6322 +#: /app/templates/index.php:6323 msgid "3 days before" msgstr "" -#: /app/templates/index.php:6323 +#: /app/templates/index.php:6324 msgid "5 days before" msgstr "" -#: /app/templates/index.php:6324 +#: /app/templates/index.php:6325 msgid "1 week before" msgstr "" -#: /app/templates/index.php:6325 +#: /app/templates/index.php:6326 msgid "2 weeks before" msgstr "" -#: /app/templates/index.php:6327 +#: /app/templates/index.php:6328 msgid "Receive a notification before bill is due" msgstr "" -#: /app/templates/index.php:6333 +#: /app/templates/index.php:6334 msgid "Create future transaction for this bill" msgstr "" -#: /app/templates/index.php:6335 +#: /app/templates/index.php:6336 msgid "" "Keeps a scheduled transaction for the next due date so the upcoming payment " "shows in the transaction list and forecasts. Untick to never pre-create " "transactions for this bill." msgstr "" -#: /app/templates/index.php:6347 +#: /app/templates/index.php:6348 msgid "Auto-pay when due" msgstr "" -#: /app/templates/index.php:6349 +#: /app/templates/index.php:6350 msgid "" "Automatically mark this bill as paid when due date arrives (requires account)" msgstr "" -#: /app/templates/index.php:6355 /app/templates/index.php:6761 +#: /app/templates/index.php:6356 /app/templates/index.php:6762 msgid "Exclude from forecast (extraordinary)" msgstr "" -#: /app/templates/index.php:6357 +#: /app/templates/index.php:6358 msgid "Transactions generated by this bill are left out of forecast averages." msgstr "" -#: /app/templates/index.php:6362 +#: /app/templates/index.php:6363 msgid "Auto-pay failed!" msgstr "" -#: /app/templates/index.php:6362 +#: /app/templates/index.php:6363 msgid "" "Auto-pay has been disabled. Please check the bill details and re-enable if " "needed." msgstr "" -#: /app/templates/index.php:6373 /app/templates/index.php:7133 +#: /app/templates/index.php:6374 /app/templates/index.php:7134 msgid "Add Split" msgstr "" -#: /app/templates/index.php:6380 +#: /app/templates/index.php:6381 msgid "Save bill" msgstr "" -#: /app/templates/index.php:6390 +#: /app/templates/index.php:6391 msgid "Add/Edit Rule" msgstr "" -#: /app/templates/index.php:6395 +#: /app/templates/index.php:6396 msgid "Rule editor view" msgstr "" -#: /app/templates/index.php:6396 +#: /app/templates/index.php:6397 msgid "Builder" msgstr "" -#: /app/templates/index.php:6405 +#: /app/templates/index.php:6406 msgid "Rule Name" msgstr "" -#: /app/templates/index.php:6406 +#: /app/templates/index.php:6407 msgid "e.g., Amazon Purchases, Grocery Stores" msgstr "" -#: /app/templates/index.php:6407 +#: /app/templates/index.php:6408 msgid "A descriptive name for this rule" msgstr "" -#: /app/templates/index.php:6411 +#: /app/templates/index.php:6412 msgid "Group" msgstr "" -#: /app/templates/index.php:6414 +#: /app/templates/index.php:6415 msgid "Optional" msgstr "" -#: /app/templates/index.php:6418 +#: /app/templates/index.php:6419 msgid "Priority" msgstr "" -#: /app/templates/index.php:6427 +#: /app/templates/index.php:6428 msgid "Matching Criteria" msgstr "" -#: /app/templates/index.php:6428 +#: /app/templates/index.php:6429 msgid "Define when this rule should apply to a transaction" msgstr "" -#: /app/templates/index.php:6433 +#: /app/templates/index.php:6434 msgid "Match Field" msgstr "" -#: /app/templates/index.php:6441 +#: /app/templates/index.php:6442 msgid "Which transaction field to match against" msgstr "" -#: /app/templates/index.php:6447 +#: /app/templates/index.php:6448 msgid "Contains" msgstr "" -#: /app/templates/index.php:6448 +#: /app/templates/index.php:6449 msgid "Exact Match" msgstr "" -#: /app/templates/index.php:6449 +#: /app/templates/index.php:6450 msgid "Starts With" msgstr "" -#: /app/templates/index.php:6450 +#: /app/templates/index.php:6451 msgid "Ends With" msgstr "" -#: /app/templates/index.php:6451 +#: /app/templates/index.php:6452 msgid "Regex" msgstr "" -#: /app/templates/index.php:6453 +#: /app/templates/index.php:6454 msgid "How to match the pattern" msgstr "" -#: /app/templates/index.php:6457 -msgid "Pattern" -msgstr "" - -#: /app/templates/index.php:6458 +#: /app/templates/index.php:6459 msgid "e.g., AMAZON, grocery|supermarket" msgstr "" -#: /app/templates/index.php:6459 +#: /app/templates/index.php:6460 msgid "Text or pattern to match (case-insensitive)" msgstr "" -#: /app/templates/index.php:6472 +#: /app/templates/index.php:6473 msgid "What to do when a transaction matches these criteria" msgstr "" -#: /app/templates/index.php:6484 +#: /app/templates/index.php:6485 msgid "Only active rules are applied" msgstr "" -#: /app/templates/index.php:6490 +#: /app/templates/index.php:6491 msgid "Apply during import" msgstr "" -#: /app/templates/index.php:6492 +#: /app/templates/index.php:6493 msgid "Auto-apply when importing transactions" msgstr "" -#: /app/templates/index.php:6501 +#: /app/templates/index.php:6502 msgid "Rule JSON" msgstr "" -#: /app/templates/index.php:6503 +#: /app/templates/index.php:6504 msgid "" "The raw rule structure. Edit or paste JSON here — it is checked when you " "save. Copy it to move a rule between instances (category and account IDs are " "instance-specific and may need adjusting)." msgstr "" -#: /app/templates/index.php:6507 +#: /app/templates/index.php:6508 msgid "Copy JSON" msgstr "" -#: /app/templates/index.php:6513 +#: /app/templates/index.php:6514 msgid "matching transactions" msgstr "" -#: /app/templates/index.php:6513 +#: /app/templates/index.php:6514 msgid "showing first 50" msgstr "" -#: /app/templates/index.php:6534 /app/templates/index.php:6603 +#: /app/templates/index.php:6535 /app/templates/index.php:6604 msgid "Updated" msgstr "" -#: /app/templates/index.php:6538 /app/templates/index.php:6607 +#: /app/templates/index.php:6539 /app/templates/index.php:6608 msgid "Skipped" msgstr "" -#: /app/templates/index.php:6542 /app/templates/index.php:6611 +#: /app/templates/index.php:6543 /app/templates/index.php:6612 msgid "Failed" msgstr "" -#: /app/templates/index.php:6548 +#: /app/templates/index.php:6549 msgid "Preview matching transactions" msgstr "" -#: /app/templates/index.php:6549 +#: /app/templates/index.php:6550 msgid "Apply rule to uncategorized transactions now" msgstr "" -#: /app/templates/index.php:6550 +#: /app/templates/index.php:6551 msgid "Save rule" msgstr "" -#: /app/templates/index.php:6560 +#: /app/templates/index.php:6561 msgid "Apply Rules to Transactions" msgstr "" -#: /app/templates/index.php:6589 /app/templates/index.php:6633 +#: /app/templates/index.php:6590 /app/templates/index.php:6634 msgid "Only apply to uncategorized transactions" msgstr "" -#: /app/templates/index.php:6591 +#: /app/templates/index.php:6592 msgid "" "When enabled, rules will only be applied to transactions that don't have a " "category assigned" msgstr "" -#: /app/templates/index.php:6626 +#: /app/templates/index.php:6627 msgid "Run Rule" msgstr "" -#: /app/templates/index.php:6647 +#: /app/templates/index.php:6648 msgid "Add/Edit Recurring Income" msgstr "" -#: /app/templates/index.php:6652 +#: /app/templates/index.php:6653 msgid "Income Name" msgstr "" -#: /app/templates/index.php:6653 +#: /app/templates/index.php:6654 msgid "e.g., Salary, Dividends, Rental Income" msgstr "" -#: /app/templates/index.php:6654 +#: /app/templates/index.php:6655 msgid "Name of the recurring income" msgstr "" -#: /app/templates/index.php:6664 +#: /app/templates/index.php:6665 msgid "Expected Amount" msgstr "" -#: /app/templates/index.php:6666 +#: /app/templates/index.php:6667 msgid "Expected amount each period" msgstr "" -#: /app/templates/index.php:6671 +#: /app/templates/index.php:6672 msgid "e.g., Employer Name, Company" msgstr "" -#: /app/templates/index.php:6672 +#: /app/templates/index.php:6673 msgid "Who pays this income (optional)" msgstr "" -#: /app/templates/index.php:6687 +#: /app/templates/index.php:6688 msgid "How often you receive this income" msgstr "" -#: /app/templates/index.php:6697 -msgid "First payment date" -msgstr "" - -#: /app/templates/index.php:6699 -msgid "Payments repeat from this date (optional)" -msgstr "" - -#: /app/templates/index.php:6703 +#: /app/templates/index.php:6704 msgid "Expected Month" msgstr "" -#: /app/templates/index.php:6719 +#: /app/templates/index.php:6720 msgid "Month when yearly income is expected" msgstr "" -#: /app/templates/index.php:6727 +#: /app/templates/index.php:6728 msgid "Categorize this income (optional)" msgstr "" -#: /app/templates/index.php:6731 +#: /app/templates/index.php:6732 msgid "Receive To Account" msgstr "" -#: /app/templates/index.php:6735 +#: /app/templates/index.php:6736 msgid "Account where income is received (optional)" msgstr "" -#: /app/templates/index.php:6741 +#: /app/templates/index.php:6742 msgid "Auto-create transaction when due" msgstr "" -#: /app/templates/index.php:6743 +#: /app/templates/index.php:6744 msgid "" "Automatically create a transaction when the expected date arrives (requires " "account)" msgstr "" -#: /app/templates/index.php:6748 +#: /app/templates/index.php:6749 msgid "e.g., PAYROLL, DIVIDEND" msgstr "" -#: /app/templates/index.php:6749 +#: /app/templates/index.php:6750 msgid "Pattern to match in transaction descriptions for auto-linking" msgstr "" -#: /app/templates/index.php:6763 +#: /app/templates/index.php:6764 msgid "" "Transactions generated by this income are left out of forecast averages." msgstr "" -#: /app/templates/index.php:6767 +#: /app/templates/index.php:6768 msgid "Save income" msgstr "" -#: /app/templates/index.php:6778 +#: /app/templates/index.php:6779 msgid "Import Categories" msgstr "" -#: /app/templates/index.php:6783 +#: /app/templates/index.php:6784 msgid "" "Categories that already exist are left unchanged; anything missing is " "created underneath them." msgstr "" -#: /app/templates/index.php:6794 +#: /app/templates/index.php:6795 msgid "Add/Edit Category" msgstr "" -#: /app/templates/index.php:6805 +#: /app/templates/index.php:6806 msgid "Category Name" msgstr "" -#: /app/templates/index.php:6818 +#: /app/templates/index.php:6819 msgid "Parent Category" msgstr "" -#: /app/templates/index.php:6822 +#: /app/templates/index.php:6823 msgid "Make this a subcategory (optional)" msgstr "" -#: /app/templates/index.php:6828 +#: /app/templates/index.php:6829 msgid "Color for charts and display" msgstr "" -#: /app/templates/index.php:6836 +#: /app/templates/index.php:6837 msgid "Options" msgstr "" -#: /app/templates/index.php:6840 +#: /app/templates/index.php:6841 msgid "Exclude from reports" msgstr "" -#: /app/templates/index.php:6842 +#: /app/templates/index.php:6843 msgid "" "Transactions in this category will not count toward budgets, spending " "reports, or dashboard totals." msgstr "" -#: /app/templates/index.php:6848 +#: /app/templates/index.php:6849 msgid "Exclude from budgeting" msgstr "" -#: /app/templates/index.php:6850 +#: /app/templates/index.php:6851 msgid "" "For spending you track but never budget against. The category keeps counting " "in reports, the dashboard and every total — it just drops out of the Budget " "page, budget alerts and the budget report, along with its subcategories." msgstr "" -#: /app/templates/index.php:6862 +#: /app/templates/index.php:6863 msgid "Save category" msgstr "" -#: /app/templates/index.php:6880 /app/templates/index.php:6981 +#: /app/templates/index.php:6881 /app/templates/index.php:6982 msgid "Tag Set Name" msgstr "" -#: /app/templates/index.php:6881 /app/templates/index.php:6982 +#: /app/templates/index.php:6882 /app/templates/index.php:6983 msgid "e.g., Activity, Equipment, Location" msgstr "" -#: /app/templates/index.php:6885 /app/templates/index.php:6986 +#: /app/templates/index.php:6886 /app/templates/index.php:6987 msgid "Optional description" msgstr "" -#: /app/templates/index.php:6912 /app/templates/index.php:6944 +#: /app/templates/index.php:6913 /app/templates/index.php:6945 msgid "e.g., Fishing, Rods, Online" msgstr "" -#: /app/templates/index.php:6962 /app/templates/index.php:6993 +#: /app/templates/index.php:6963 /app/templates/index.php:6994 msgid "Save Changes" msgstr "" -#: /app/templates/index.php:7003 +#: /app/templates/index.php:7004 msgid "Find Transfer Matches" msgstr "" -#: /app/templates/index.php:7005 +#: /app/templates/index.php:7006 msgid "Source Transaction" msgstr "" -#: /app/templates/index.php:7016 +#: /app/templates/index.php:7017 msgid "Searching for matches..." msgstr "" -#: /app/templates/index.php:7019 +#: /app/templates/index.php:7020 msgid "No matching transactions found within the date range." msgstr "" -#: /app/templates/index.php:7020 +#: /app/templates/index.php:7021 msgid "" "Matches must have the same amount, opposite type (income/expense), and be " "within 3 days." msgstr "" -#: /app/templates/index.php:7025 +#: /app/templates/index.php:7026 msgid "No match? Create the other side" msgstr "" -#: /app/templates/index.php:7026 +#: /app/templates/index.php:7027 msgid "" "Creates the opposite transaction in the account you pick and links the pair " "as a transfer. Useful when the other account has nothing to import (e.g. a " "loan account)." msgstr "" -#: /app/templates/index.php:7028 +#: /app/templates/index.php:7029 msgid "Counterpart account" msgstr "" -#: /app/templates/index.php:7029 +#: /app/templates/index.php:7030 msgid "Create and link" msgstr "" -#: /app/templates/index.php:7033 /app/templates/index.php:7090 +#: /app/templates/index.php:7034 /app/templates/index.php:7091 msgid "Close dialog" msgstr "" -#: /app/templates/index.php:7041 +#: /app/templates/index.php:7042 msgid "Match Transfers" msgstr "" -#: /app/templates/index.php:7058 +#: /app/templates/index.php:7059 msgid "Matched Pairs" msgstr "" -#: /app/templates/index.php:7062 +#: /app/templates/index.php:7063 msgid "Need Review" msgstr "" -#: /app/templates/index.php:7068 +#: /app/templates/index.php:7069 msgid "Auto-Matched Pairs" msgstr "" -#: /app/templates/index.php:7069 +#: /app/templates/index.php:7070 msgid "" "These transactions were automatically linked. Click Undo to unlink a pair." msgstr "" -#: /app/templates/index.php:7075 +#: /app/templates/index.php:7076 msgid "Needs Manual Review" msgstr "" -#: /app/templates/index.php:7076 +#: /app/templates/index.php:7077 msgid "" "These transactions have multiple potential matches. Select the correct match " "for each." msgstr "" -#: /app/templates/index.php:7083 +#: /app/templates/index.php:7084 msgid "" "Matches require: same amount, same currency, opposite type (income/expense), " "different accounts, within your configured date window." msgstr "" -#: /app/templates/index.php:7088 +#: /app/templates/index.php:7089 msgid "Scan for Matches" msgstr "" -#: /app/templates/index.php:7107 +#: /app/templates/index.php:7108 msgid "Amount:" msgstr "" -#: /app/templates/index.php:7138 +#: /app/templates/index.php:7139 msgid "Remaining to allocate:" msgstr "" -#: /app/templates/index.php:7143 +#: /app/templates/index.php:7144 msgid "Unsplit Transaction" msgstr "" -#: /app/templates/index.php:7145 +#: /app/templates/index.php:7146 msgid "Save Splits" msgstr "" -#: /app/templates/index.php:7155 +#: /app/templates/index.php:7156 msgid "Bulk Edit Transactions" msgstr "" -#: /app/templates/index.php:7156 +#: /app/templates/index.php:7157 msgid "Edit fields for" msgstr "" -#: /app/templates/index.php:7156 +#: /app/templates/index.php:7157 msgid "selected transactions. Leave fields empty to keep existing values." msgstr "" -#: /app/templates/index.php:7157 +#: /app/templates/index.php:7158 msgid "Bulk edit form" msgstr "" -#: /app/templates/index.php:7163 +#: /app/templates/index.php:7164 msgid "Update category for all selected transactions (optional)" msgstr "" -#: /app/templates/index.php:7169 +#: /app/templates/index.php:7170 msgid "Update vendor name for all selected transactions (optional)" msgstr "" -#: /app/templates/index.php:7175 +#: /app/templates/index.php:7176 msgid "Update reference number for all selected transactions (optional)" msgstr "" -#: /app/templates/index.php:7181 +#: /app/templates/index.php:7182 msgid "Update notes for all selected transactions (optional)" msgstr "" -#: /app/templates/index.php:7185 +#: /app/templates/index.php:7186 msgid "Update selected transactions" msgstr "" -#: /app/templates/index.php:7185 +#: /app/templates/index.php:7186 msgid "Update Transactions" msgstr "" -#: /app/templates/index.php:7195 +#: /app/templates/index.php:7196 msgid "Bulk Edit Tags" msgstr "" -#: /app/templates/index.php:7197 +#: /app/templates/index.php:7198 msgid "Bulk tag form" msgstr "" -#: /app/templates/index.php:7199 +#: /app/templates/index.php:7200 msgid "Add these tags" msgstr "" -#: /app/templates/index.php:7204 +#: /app/templates/index.php:7205 msgid "Remove these tags" msgstr "" -#: /app/templates/index.php:7211 +#: /app/templates/index.php:7212 msgid "Apply tag changes to selected transactions" msgstr "" -#: /app/templates/index.php:7211 +#: /app/templates/index.php:7212 msgid "Apply Tags" msgstr "" -#: /app/templates/index.php:7222 +#: /app/templates/index.php:7223 msgid "Contact form" msgstr "" -#: /app/templates/index.php:7230 +#: /app/templates/index.php:7231 msgid "Nextcloud User" msgstr "" -#: /app/templates/index.php:7232 +#: /app/templates/index.php:7233 msgid "" "Type a name, user ID or email to link a Nextcloud user, or leave it empty " "for someone without an account" msgstr "" -#: /app/templates/index.php:7237 +#: /app/templates/index.php:7238 msgid "e.g., John, Roommate, Partner" msgstr "" -#: /app/templates/index.php:7241 +#: /app/templates/index.php:7242 msgid "Email" msgstr "" -#: /app/templates/index.php:7242 +#: /app/templates/index.php:7243 msgid "Optional email address" msgstr "" -#: /app/templates/index.php:7259 +#: /app/templates/index.php:7260 msgid "Share Expense" msgstr "" -#: /app/templates/index.php:7260 +#: /app/templates/index.php:7261 msgid "Share expense form" msgstr "" -#: /app/templates/index.php:7270 +#: /app/templates/index.php:7271 msgid "Split Method" msgstr "" -#: /app/templates/index.php:7272 +#: /app/templates/index.php:7273 msgid "Equally" msgstr "" -#: /app/templates/index.php:7273 +#: /app/templates/index.php:7274 msgid "By percentage" msgstr "" -#: /app/templates/index.php:7274 +#: /app/templates/index.php:7275 msgid "By amount" msgstr "" -#: /app/templates/index.php:7279 +#: /app/templates/index.php:7280 msgid "Split between" msgstr "" -#: /app/templates/index.php:7287 +#: /app/templates/index.php:7288 msgid "Optional notes about this split" msgstr "" -#: /app/templates/index.php:7291 +#: /app/templates/index.php:7292 msgid "Save Split" msgstr "" -#: /app/templates/index.php:7301 +#: /app/templates/index.php:7302 msgid "Settle Expenses" msgstr "" -#: /app/templates/index.php:7302 +#: /app/templates/index.php:7303 msgid "Settlement form" msgstr "" -#: /app/templates/index.php:7311 +#: /app/templates/index.php:7312 msgid "Select expenses to settle" msgstr "" -#: /app/templates/index.php:7333 /app/templates/quick-add.php:66 +#: /app/templates/index.php:7334 /app/templates/quick-add.php:66 msgid "Optional notes" msgstr "" -#: /app/templates/index.php:7337 +#: /app/templates/index.php:7338 msgid "Settle Selected" msgstr "" -#: /app/templates/index.php:7347 +#: /app/templates/index.php:7348 msgid "Contact Details" msgstr "" -#: /app/templates/index.php:7354 +#: /app/templates/index.php:7355 msgid "Balance:" msgstr "" -#: /app/templates/index.php:7360 +#: /app/templates/index.php:7361 msgid "Settle All" msgstr "" -#: /app/templates/index.php:7361 +#: /app/templates/index.php:7362 msgid "Record Payment" msgstr "" -#: /app/templates/index.php:7366 +#: /app/templates/index.php:7367 msgid "Settlement History" msgstr "" -#: /app/templates/index.php:7392 +#: /app/templates/index.php:7393 msgid "Confirm Factory Reset" msgstr "" -#: /app/templates/index.php:7396 +#: /app/templates/index.php:7397 msgid "WARNING: This action cannot be undone!" msgstr "" -#: /app/templates/index.php:7397 +#: /app/templates/index.php:7398 msgid "A factory reset will permanently delete ALL of your data including:" msgstr "" -#: /app/templates/index.php:7399 +#: /app/templates/index.php:7400 msgid "All accounts and their balances" msgstr "" -#: /app/templates/index.php:7400 +#: /app/templates/index.php:7401 msgid "All transactions and transaction history" msgstr "" -#: /app/templates/index.php:7401 +#: /app/templates/index.php:7402 msgid "All bills and recurring income" msgstr "" -#: /app/templates/index.php:7402 +#: /app/templates/index.php:7403 msgid "All categories and budget settings" msgstr "" -#: /app/templates/index.php:7403 +#: /app/templates/index.php:7404 msgid "All savings goals and pension accounts" msgstr "" -#: /app/templates/index.php:7404 +#: /app/templates/index.php:7405 msgid "All import rules and settings" msgstr "" -#: /app/templates/index.php:7405 +#: /app/templates/index.php:7406 msgid "All shared expenses and contacts" msgstr "" -#: /app/templates/index.php:7407 +#: /app/templates/index.php:7408 msgid "Only audit logs will be preserved for compliance purposes." msgstr "" -#: /app/templates/index.php:7408 +#: /app/templates/index.php:7409 msgid "You will need to set up everything from scratch after this operation." msgstr "" -#: /app/templates/index.php:7413 +#: /app/templates/index.php:7414 msgid "Type DELETE to confirm:" msgstr "" -#: /app/templates/index.php:7418 +#: /app/templates/index.php:7419 msgid "Type DELETE to confirm" msgstr "" -#: /app/templates/index.php:7421 +#: /app/templates/index.php:7422 msgid "You must type DELETE (all caps) exactly to proceed" msgstr "" -#: /app/templates/index.php:7450 /app/templates/index.php:7454 +#: /app/templates/index.php:7451 /app/templates/index.php:7455 msgid "Add Bank Connection" msgstr "" -#: /app/templates/index.php:7459 +#: /app/templates/index.php:7460 msgid "Select a provider..." msgstr "" -#: /app/templates/index.php:7460 +#: /app/templates/index.php:7461 msgid "GoCardless (UK/Europe)" msgstr "" -#: /app/templates/index.php:7461 +#: /app/templates/index.php:7462 msgid "SimpleFIN Bridge (US)" msgstr "" -#: /app/templates/index.php:7466 +#: /app/templates/index.php:7467 msgid "Connection Name" msgstr "" -#: /app/templates/index.php:7467 +#: /app/templates/index.php:7468 msgid "e.g. My Bank" msgstr "" -#: /app/templates/index.php:7473 +#: /app/templates/index.php:7474 msgid "Setup Token" msgstr "" -#: /app/templates/index.php:7474 +#: /app/templates/index.php:7475 msgid "Paste your SimpleFIN setup token" msgstr "" -#: /app/templates/index.php:7475 +#: /app/templates/index.php:7476 msgid "Get a token from beta-bridge.simplefin.org" msgstr "" -#: /app/templates/index.php:7482 +#: /app/templates/index.php:7483 msgid "Secret ID" msgstr "" -#: /app/templates/index.php:7483 +#: /app/templates/index.php:7484 msgid "Your GoCardless Secret ID" msgstr "" -#: /app/templates/index.php:7486 +#: /app/templates/index.php:7487 msgid "Secret Key" msgstr "" -#: /app/templates/index.php:7487 +#: /app/templates/index.php:7488 msgid "Your GoCardless Secret Key" msgstr "" -#: /app/templates/index.php:7489 +#: /app/templates/index.php:7490 msgid "Get API keys from bankaccountdata.gocardless.com" msgstr "" -#: /app/templates/index.php:7502 +#: /app/templates/index.php:7503 msgid "Select Your Bank" msgstr "" -#: /app/templates/index.php:7505 +#: /app/templates/index.php:7506 msgid "Country" msgstr "" -#: /app/templates/index.php:7510 +#: /app/templates/index.php:7511 msgid "Search banks..." msgstr "" -#: /app/templates/index.php:7510 +#: /app/templates/index.php:7511 msgid "Search banks" msgstr "" -#: /app/templates/index.php:7514 +#: /app/templates/index.php:7515 msgid "Loading banks..." msgstr "" -#: /app/templates/index.php:7523 +#: /app/templates/index.php:7524 msgid "Back" msgstr "" -#: /app/templates/index.php:7529 +#: /app/templates/index.php:7530 msgid "Authorize with Your Bank" msgstr "" -#: /app/templates/index.php:7532 +#: /app/templates/index.php:7533 msgid "A new window has been opened for you to authorize access at your bank." msgstr "" -#: /app/templates/index.php:7533 +#: /app/templates/index.php:7534 msgid "Once you have completed the authorization, click the button below." msgstr "" -#: /app/templates/index.php:7535 +#: /app/templates/index.php:7536 msgid "If the window did not open, " msgstr "" -#: /app/templates/index.php:7536 +#: /app/templates/index.php:7537 msgid "click here to authorize" msgstr "" diff --git a/budget/translationfiles/fr/budget.po b/budget/translationfiles/fr/budget.po index f2bd77ff9..6f89ae795 100644 --- a/budget/translationfiles/fr/budget.po +++ b/budget/translationfiles/fr/budget.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Nextcloud Budget\n" "Report-Msgid-Bugs-To: translations\\@example.com\n" -"POT-Creation-Date: 2026-09-23 22:02+0000\n" -"PO-Revision-Date: 2026-09-24 17:32+0000\n" -"Last-Translator: Adam Morgan \n" +"POT-Creation-Date: 2026-10-03 01:04+0000\n" +"PO-Revision-Date: 2026-10-02 06:51+0000\n" +"Last-Translator: Christophe \n" "Language-Team: French \n" "Language: fr\n" @@ -17,32 +17,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 2026.10.dev0\n" +"X-Generator: Weblate 2026.10\n" -#: /app/lib/Controller/AccountController.php:82 -#: /app/lib/Controller/ApiV1AccountController.php:56 +#: /app/lib/Controller/AccountController.php:80 +#: /app/lib/Controller/ApiV1AccountController.php:57 msgid "Failed to retrieve accounts" msgstr "La récupération des comptes a échoué" -#: /app/lib/Controller/AccountController.php:92 -#: /app/lib/Controller/AccountController.php:659 -#: /app/lib/Controller/ApiV1TransactionController.php:380 +#: /app/lib/Controller/AccountController.php:90 +#: /app/lib/Controller/AccountController.php:657 +#: /app/lib/Controller/ApiV1TransactionController.php:458 msgid "Account not found" msgstr "Compte non-trouvé" -#: /app/lib/Controller/AccountController.php:105 -#: /app/lib/Controller/AccountController.php:640 -#: /app/lib/Controller/AccountController.php:680 -#: /app/lib/Controller/AccountController.php:752 -#: /app/lib/Controller/AccountController.php:769 -#: /app/lib/Controller/AccountController.php:821 -#: /app/lib/Controller/AccountController.php:835 -#: /app/lib/Controller/AccountController.php:899 +#: /app/lib/Controller/AccountController.php:103 +#: /app/lib/Controller/AccountController.php:638 +#: /app/lib/Controller/AccountController.php:678 +#: /app/lib/Controller/AccountController.php:750 +#: /app/lib/Controller/AccountController.php:767 +#: /app/lib/Controller/AccountController.php:780 +#: /app/lib/Controller/AccountController.php:832 +#: /app/lib/Controller/AccountController.php:846 +#: /app/lib/Controller/AccountController.php:910 #: /app/lib/Service/Export/TransactionCsvExporter.php:32 #: /app/lib/Service/Report/ReportExporter.php:255 #: /app/lib/Service/Report/ReportExporter.php:468 -#: /app/src/modules/dashboard/DashboardModule.js:5109 -#: /app/src/modules/dashboard/DashboardModule.js:5110 +#: /app/src/modules/dashboard/DashboardModule.js:5341 +#: /app/src/modules/dashboard/DashboardModule.js:5342 #: /app/src/modules/rules/components/CriteriaBuilder.js:195 #: /app/templates/index.php:508 /app/templates/index.php:524 #: /app/templates/index.php:593 /app/templates/index.php:615 @@ -53,153 +54,156 @@ msgstr "Compte non-trouvé" #: /app/templates/index.php:2452 /app/templates/index.php:2595 #: /app/templates/index.php:3215 /app/templates/index.php:3323 #: /app/templates/index.php:3615 /app/templates/index.php:5831 -#: /app/templates/index.php:6568 /app/templates/quick-add.php:22 +#: /app/templates/index.php:6569 /app/templates/quick-add.php:22 msgid "Account" msgstr "Compte" -#: /app/lib/Controller/AccountController.php:119 +#: /app/lib/Controller/AccountController.php:117 msgid "Invalid JSON data or empty request" msgstr "Données JSON invalide ou la requête est vide" -#: /app/lib/Controller/AccountController.php:131 +#: /app/lib/Controller/AccountController.php:129 msgid "Account type is required and cannot be empty" msgstr "Le type de compte est requis et ne peut pas être vide" -#: /app/lib/Controller/AccountController.php:137 -#: /app/lib/Controller/AccountController.php:314 +#: /app/lib/Controller/AccountController.php:135 +#: /app/lib/Controller/AccountController.php:312 #, php-format msgid "Invalid account type: %1$s" msgstr "Type de compte invalide : %1$s" -#: /app/lib/Controller/AccountController.php:144 -#: /app/lib/Controller/AccountController.php:323 +#: /app/lib/Controller/AccountController.php:142 +#: /app/lib/Controller/AccountController.php:321 #, php-format msgid "Invalid currency: %1$s" msgstr "Devise non valide : %1$s" -#: /app/lib/Controller/AccountController.php:150 +#: /app/lib/Controller/AccountController.php:148 #: /app/src/modules/accounts/AccountsModule.js:27 /app/templates/index.php:1107 #: /app/templates/index.php:6020 msgid "Institution" msgstr "Établissement" -#: /app/lib/Controller/AccountController.php:159 +#: /app/lib/Controller/AccountController.php:157 msgid "Account holder name" msgstr "Nom du titulaire" -#: /app/lib/Controller/AccountController.php:202 -#: /app/lib/Controller/AccountController.php:441 +#: /app/lib/Controller/AccountController.php:200 +#: /app/lib/Controller/AccountController.php:439 msgid "Statement day must be between 1 and 31" msgstr "Le jour du relevé doit être compris entre 1 et 31" -#: /app/lib/Controller/AccountController.php:219 -#: /app/lib/Controller/AccountController.php:352 +#: /app/lib/Controller/AccountController.php:217 +#: /app/lib/Controller/AccountController.php:350 #, php-format msgid "Invalid routing number: %1$s" msgstr "Numéro de routage invalide : %1$s" -#: /app/lib/Controller/AccountController.php:227 -#: /app/lib/Controller/AccountController.php:365 +#: /app/lib/Controller/AccountController.php:225 +#: /app/lib/Controller/AccountController.php:363 #, php-format msgid "Invalid sort code: %1$s" msgstr "Code de tri invalide : %1$s" -#: /app/lib/Controller/AccountController.php:235 -#: /app/lib/Controller/AccountController.php:378 +#: /app/lib/Controller/AccountController.php:233 +#: /app/lib/Controller/AccountController.php:376 #, php-format msgid "Invalid IBAN: %1$s" msgstr "IBAN Invalide : %1$s" -#: /app/lib/Controller/AccountController.php:243 -#: /app/lib/Controller/AccountController.php:391 +#: /app/lib/Controller/AccountController.php:241 +#: /app/lib/Controller/AccountController.php:389 #, php-format msgid "Invalid SWIFT/BIC: %1$s" msgstr "SWIFT/BIC invalide : %1$s" -#: /app/lib/Controller/AccountController.php:280 +#: /app/lib/Controller/AccountController.php:278 msgid "Failed to create account" msgstr "Impossible de créer le compte" -#: /app/lib/Controller/AccountController.php:296 -#: /app/lib/Controller/BillController.php:1045 -#: /app/lib/Controller/BillController.php:1063 -#: /app/lib/Controller/RecurringIncomeController.php:477 +#: /app/lib/Controller/AccountController.php:294 +#: /app/lib/Controller/BillController.php:1106 +#: /app/lib/Controller/BillController.php:1124 +#: /app/lib/Controller/BillController.php:1130 +#: /app/lib/Controller/RecurringIncomeController.php:513 +#: /app/lib/Controller/RecurringIncomeController.php:519 msgid "Invalid request data" msgstr "Requête invalide" -#: /app/lib/Controller/AccountController.php:483 -#: /app/lib/Controller/BillController.php:728 -#: /app/lib/Controller/CategoryController.php:319 -#: /app/lib/Controller/ImportRuleController.php:332 +#: /app/lib/Controller/AccountController.php:481 +#: /app/lib/Controller/BillController.php:758 +#: /app/lib/Controller/CategoryController.php:353 +#: /app/lib/Controller/CategoryController.php:449 +#: /app/lib/Controller/ImportRuleController.php:340 #: /app/lib/Controller/ImportTemplateController.php:152 #: /app/lib/Controller/TagSetController.php:186 #: /app/lib/Controller/TagSetController.php:308 #: /app/lib/Controller/TagSetController.php:412 -#: /app/lib/Controller/TransactionController.php:486 +#: /app/lib/Controller/TransactionController.php:489 msgid "No valid fields to update" msgstr "Aucun champ valide à mettre à jour" -#: /app/lib/Controller/AccountController.php:515 +#: /app/lib/Controller/AccountController.php:513 msgid "Failed to update account" msgstr "Impossible de mettre à jour le compte" -#: /app/lib/Controller/AccountController.php:534 +#: /app/lib/Controller/AccountController.php:532 msgid "No account IDs provided" msgstr "Aucun identifiant de compte fourni" -#: /app/lib/Controller/AccountController.php:569 +#: /app/lib/Controller/AccountController.php:567 #: /app/src/modules/accounts/AccountsModule.js:699 msgid "Failed to delete accounts" msgstr "La suppression des comptes à échoué" -#: /app/lib/Controller/AccountController.php:580 +#: /app/lib/Controller/AccountController.php:578 msgid "Only the account owner can delete an account" msgstr "Seul le propriétaire de l'objectif peut le supprimer" -#: /app/lib/Controller/AccountController.php:642 -#: /app/src/modules/accounts/AccountsModule.js:2985 +#: /app/lib/Controller/AccountController.php:640 +#: /app/src/modules/accounts/AccountsModule.js:2991 msgid "Failed to delete account" msgstr "La suppression du compte à échoué" -#: /app/lib/Controller/AccountController.php:666 +#: /app/lib/Controller/AccountController.php:664 msgid "This account has no sensitive banking data to reveal" msgstr "Ce compte ne contient pas de données bancaires sensibles à afficher" -#: /app/lib/Controller/AccountController.php:692 +#: /app/lib/Controller/AccountController.php:690 msgid "Failed to retrieve account summary" msgstr "Impossible de récupérer le résumé du compte" -#: /app/lib/Controller/AccountController.php:782 +#: /app/lib/Controller/AccountController.php:793 msgid "Failed to reconcile account" msgstr "Impossible de rapprocher le compte" -#: /app/lib/Controller/AccountController.php:797 +#: /app/lib/Controller/AccountController.php:808 msgid "Too many transactions (max 500)" msgstr "Trop d'opérations (max 500)" -#: /app/lib/Controller/AccountController.php:804 -#: /app/src/modules/transactions/TransactionsModule.js:1841 +#: /app/lib/Controller/AccountController.php:815 +#: /app/src/modules/transactions/TransactionsModule.js:1867 msgid "Failed to complete reconciliation" msgstr "Le rapprochement n'a pas pu se terminer" -#: /app/lib/Controller/AccountController.php:853 +#: /app/lib/Controller/AccountController.php:864 msgid "Interest rate must be between 0 and 999.9999" msgstr "Le taux de rendement attendu doit être compris entre 0 et 999.9999" -#: /app/lib/Controller/AccountController.php:858 -#: /app/src/modules/accounts/AccountsModule.js:1432 +#: /app/lib/Controller/AccountController.php:869 +#: /app/src/modules/accounts/AccountsModule.js:1435 msgid "Invalid compounding frequency" msgstr "Fréquence de capitalisation non valide" -#: /app/lib/Controller/AccountController.php:862 +#: /app/lib/Controller/AccountController.php:873 msgid "Invalid date format. Use YYYY-MM-DD" msgstr "Format de date invalide. Utilisez AAAA-MM-JJ" -#: /app/lib/Controller/AccountController.php:868 +#: /app/lib/Controller/AccountController.php:879 msgid "Failed to add interest rate" msgstr "Échec de l'ajout du taux d'intérêt" -#: /app/lib/Controller/AccountController.php:883 +#: /app/lib/Controller/AccountController.php:894 msgid "Failed to delete interest rate" msgstr "Échec de la suppression du taux d'intérêt" @@ -236,19 +240,39 @@ msgstr "Impossible de récupérer le statut du budget" msgid "Failed to retrieve budget summary" msgstr "Impossible de récupérer le résumé du budget" +#: /app/lib/Controller/ApiV1BillController.php:62 +#: /app/lib/Controller/BillController.php:1005 +msgid "Failed to retrieve upcoming bills" +msgstr "Impossible de récupérer les factures à venir" + +#: /app/lib/Controller/ApiV1BudgetController.php:59 +#: /app/lib/Controller/CategoryController.php:415 +#: /app/lib/Controller/CategoryController.php:674 +#: /app/lib/Controller/CategoryController.php:696 +#: /app/lib/Controller/CategoryController.php:726 +#: /app/lib/Controller/CategoryController.php:765 +#: /app/lib/Controller/CategoryController.php:782 +msgid "Invalid month format. Use YYYY-MM" +msgstr "Format de mois invalide. Utilisez AAAA-MM" + +#: /app/lib/Controller/ApiV1BudgetController.php:71 +#: /app/lib/Controller/CategoryController.php:750 +msgid "Failed to retrieve effective budgets" +msgstr "Échec de la récupération des budgets effectifs" + #: /app/lib/Controller/ApiV1CategoryController.php:62 -#: /app/lib/Controller/CategoryController.php:183 -#: /app/lib/Controller/CategoryController.php:254 +#: /app/lib/Controller/CategoryController.php:188 +#: /app/lib/Controller/CategoryController.php:280 msgid "Invalid category type. Must be income or expense" msgstr "Type de catégorie invalide. Doit être “revenu” ou “dépense”" #: /app/lib/Controller/ApiV1CategoryController.php:81 -#: /app/lib/Controller/CategoryController.php:92 +#: /app/lib/Controller/CategoryController.php:97 msgid "Failed to retrieve categories" msgstr "Impossible de récupérer les catégories" #: /app/lib/Controller/ApiV1ReceiptController.php:73 -#: /app/lib/Controller/ApiV1TransactionController.php:651 +#: /app/lib/Controller/ApiV1TransactionController.php:731 #: /app/lib/Controller/AttachmentController.php:91 #: /app/lib/Controller/ImportController.php:111 #: /app/lib/Controller/MigrationController.php:83 @@ -280,39 +304,41 @@ msgstr "" "Le reçu n'a pas pu être lu — le fournisseur OCR a échoué. Réessayez, ou " "entrez la transaction manuellement" -#: /app/lib/Controller/ApiV1TransactionController.php:98 +#: /app/lib/Controller/ApiV1TransactionController.php:102 msgid "Invalid date. Use the YYYY-MM-DD format" msgstr "Format de date invalide. Utilisez AAAA-MM-JJ" -#: /app/lib/Controller/ApiV1TransactionController.php:130 -#: /app/lib/Controller/ApiV1TransactionController.php:167 -#: /app/lib/Controller/TransactionController.php:126 -#: /app/lib/Controller/TransactionController.php:181 +#: /app/lib/Controller/ApiV1TransactionController.php:138 +#: /app/lib/Controller/ApiV1TransactionController.php:179 +#: /app/lib/Controller/TransactionController.php:129 +#: /app/lib/Controller/TransactionController.php:184 msgid "Failed to retrieve transactions" msgstr "Échec de la récupération des opérations" -#: /app/lib/Controller/ApiV1TransactionController.php:180 +#: /app/lib/Controller/ApiV1TransactionController.php:193 +#: /app/lib/Controller/ApiV1TransactionController.php:210 msgid "Failed to retrieve transaction" msgstr "Échec de la récupération de l'opération" -#: /app/lib/Controller/ApiV1TransactionController.php:228 +#: /app/lib/Controller/ApiV1TransactionController.php:306 msgid "Amount must be a number" msgstr "Le montant doit être un nombre" -#: /app/lib/Controller/ApiV1TransactionController.php:233 +#: /app/lib/Controller/ApiV1TransactionController.php:311 msgid "An account is required" msgstr "Un compte est obligatoire" -#: /app/lib/Controller/ApiV1TransactionController.php:238 +#: /app/lib/Controller/ApiV1TransactionController.php:316 #: /app/lib/Controller/AssetController.php:326 -#: /app/lib/Controller/PensionController.php:356 -#: /app/lib/Controller/PensionController.php:428 -#: /app/lib/Controller/PensionController.php:477 -#: /app/lib/Controller/TransactionController.php:310 -#: /app/lib/Controller/TransactionController.php:417 -#: /app/lib/Service/Export/TransactionCsvExporter.php:28 /app/src/main.js:3554 -#: /app/src/modules/rules/RulesModule.js:935 -#: /app/src/modules/rules/RulesModule.js:1137 +#: /app/lib/Controller/PensionController.php:358 +#: /app/lib/Controller/PensionController.php:430 +#: /app/lib/Controller/PensionController.php:481 +#: /app/lib/Controller/TransactionController.php:313 +#: /app/lib/Controller/TransactionController.php:420 +#: /app/lib/Service/Export/TransactionCsvExporter.php:28 /app/src/main.js:3588 +#: /app/src/modules/income/IncomeModule.js:403 +#: /app/src/modules/rules/RulesModule.js:950 +#: /app/src/modules/rules/RulesModule.js:1152 #: /app/src/modules/rules/components/CriteriaBuilder.js:194 #: /app/templates/index.php:1033 /app/templates/index.php:1533 #: /app/templates/index.php:1773 /app/templates/index.php:1827 @@ -320,46 +346,46 @@ msgstr "Un compte est obligatoire" #: /app/templates/index.php:2594 /app/templates/index.php:5430 #: /app/templates/index.php:5455 /app/templates/index.php:5491 #: /app/templates/index.php:5669 /app/templates/index.php:5843 -#: /app/templates/index.php:6518 /app/templates/index.php:7327 +#: /app/templates/index.php:6519 /app/templates/index.php:7328 #: /app/templates/quick-add.php:17 msgid "Date" msgstr "Date" -#: /app/lib/Controller/ApiV1TransactionController.php:258 -#: /app/lib/Controller/TransactionController.php:318 -#: /app/lib/Controller/TransactionController.php:428 +#: /app/lib/Controller/ApiV1TransactionController.php:336 +#: /app/lib/Controller/TransactionController.php:321 +#: /app/lib/Controller/TransactionController.php:431 msgid "Invalid transaction type. Must be credit or debit" msgstr "Type d'opération invalide. Doit être \"crédit\" ou \"débit\"" -#: /app/lib/Controller/ApiV1TransactionController.php:270 +#: /app/lib/Controller/ApiV1TransactionController.php:348 msgid "Idempotency key too long (64 characters maximum)" msgstr "Clé d'idempotence trop longue (64 caractères maximum)" -#: /app/lib/Controller/ApiV1TransactionController.php:348 -#: /app/lib/Controller/ApiV1TransactionController.php:498 +#: /app/lib/Controller/ApiV1TransactionController.php:426 +#: /app/lib/Controller/ApiV1TransactionController.php:578 msgid "The transaction was recorded, but the photo could not be attached" msgstr "" "La transaction a été enregistrée, mais la photo n'a pas pu être attachée" -#: /app/lib/Controller/ApiV1TransactionController.php:374 +#: /app/lib/Controller/ApiV1TransactionController.php:452 msgid "The transaction was recorded, but it could not be split" msgstr "L'opération a été enregistrée, mais n'a pas pu être ventilée" -#: /app/lib/Controller/ApiV1TransactionController.php:384 -#: /app/lib/Controller/TransactionController.php:379 +#: /app/lib/Controller/ApiV1TransactionController.php:462 +#: /app/lib/Controller/TransactionController.php:382 msgid "Failed to create transaction" msgstr "Échec de la création de l'opération" -#: /app/lib/Controller/ApiV1TransactionController.php:463 +#: /app/lib/Controller/ApiV1TransactionController.php:541 msgid "This idempotency key was already used for a different transaction" msgstr "Cette clé d'idempotence a déjà été utilisée pour une autre opération" -#: /app/lib/Controller/ApiV1TransactionController.php:472 +#: /app/lib/Controller/ApiV1TransactionController.php:550 msgid "This request is still being processed. Try again shortly" msgstr "" "Cette requête est toujours en cours de traitement. Réessayez dans un instant" -#: /app/lib/Controller/ApiV1TransactionController.php:545 +#: /app/lib/Controller/ApiV1TransactionController.php:625 msgid "" "splits must be an array of {\"amount\", \"category_id\", \"description\"} " "objects" @@ -367,31 +393,31 @@ msgstr "" "les ventilations doivent être un tableau d'objets de type {\"amount\", " "\"category_id\", \"description\"}" -#: /app/lib/Controller/ApiV1TransactionController.php:566 +#: /app/lib/Controller/ApiV1TransactionController.php:646 msgid "Failed to split the transaction" msgstr "Impossible de ventiler l'opération" -#: /app/lib/Controller/ApiV1TransactionController.php:638 +#: /app/lib/Controller/ApiV1TransactionController.php:718 #: /app/lib/Controller/AttachmentController.php:46 #: /app/lib/Controller/AttachmentController.php:59 -#: /app/src/modules/transactions/TransactionsModule.js:2775 +#: /app/src/modules/transactions/TransactionsModule.js:2819 msgid "Failed to load attachments" msgstr "Échec du chargement des pièces jointes" -#: /app/lib/Controller/ApiV1TransactionController.php:663 +#: /app/lib/Controller/ApiV1TransactionController.php:743 #: /app/lib/Controller/AttachmentController.php:101 -#: /app/src/modules/transactions/TransactionsModule.js:2786 -#: /app/src/modules/transactions/TransactionsModule.js:2791 +#: /app/src/modules/transactions/TransactionsModule.js:2830 +#: /app/src/modules/transactions/TransactionsModule.js:2835 msgid "Failed to upload receipt" msgstr "Échec du téléchargement du reçu" -#: /app/lib/Controller/ApiV1TransactionController.php:669 +#: /app/lib/Controller/ApiV1TransactionController.php:749 #: /app/lib/Controller/AttachmentController.php:57 #: /app/lib/Controller/AttachmentController.php:72 -#: /app/lib/Controller/AttachmentController.php:97 /app/src/main.js:3292 -#: /app/src/main.js:3530 -#: /app/src/modules/transactions/TransactionsModule.js:3591 -#: /app/src/modules/transactions/TransactionsModule.js:3698 +#: /app/lib/Controller/AttachmentController.php:97 /app/src/main.js:3326 +#: /app/src/main.js:3564 +#: /app/src/modules/transactions/TransactionsModule.js:3642 +#: /app/src/modules/transactions/TransactionsModule.js:3749 msgid "Transaction not found" msgstr "Opération introuvable" @@ -408,9 +434,9 @@ msgstr "Actif" #: /app/lib/Controller/AssetController.php:310 #: /app/lib/Controller/PensionController.php:114 #: /app/lib/Controller/PensionController.php:215 -#: /app/lib/Controller/PensionController.php:340 -#: /app/lib/Controller/PensionController.php:407 -#: /app/lib/Controller/TransactionController.php:996 +#: /app/lib/Controller/PensionController.php:342 +#: /app/lib/Controller/PensionController.php:409 +#: /app/lib/Controller/TransactionController.php:1016 msgid "Invalid JSON data" msgstr "Données JSON invalide" @@ -473,7 +499,7 @@ msgid "Failed to delete asset" msgstr "Impossible de supprimer l'actif" #: /app/lib/Controller/AssetController.php:297 -#: /app/lib/Controller/PensionController.php:326 +#: /app/lib/Controller/PensionController.php:328 msgid "Failed to retrieve snapshots" msgstr "Impossible de récupérer les snapshots" @@ -486,17 +512,17 @@ msgid "Value cannot be negative" msgstr "La valeur ne peut pas être négative" #: /app/lib/Controller/AssetController.php:334 -#: /app/lib/Controller/PensionController.php:364 +#: /app/lib/Controller/PensionController.php:366 msgid "Failed to create snapshot" msgstr "Impossible de créer le snapshot" #: /app/lib/Controller/AssetController.php:345 -#: /app/lib/Controller/PensionController.php:375 +#: /app/lib/Controller/PensionController.php:377 msgid "Snapshot deleted successfully" msgstr "Snapshot supprimé avec succès" #: /app/lib/Controller/AssetController.php:347 -#: /app/lib/Controller/PensionController.php:377 +#: /app/lib/Controller/PensionController.php:379 msgid "Failed to delete snapshot" msgstr "Impossible de supprimer le snapshot" @@ -521,8 +547,8 @@ msgid "File not found" msgstr "Fichier non trouvé" #: /app/lib/Controller/AttachmentController.php:78 -#: /app/src/modules/transactions/TransactionsModule.js:2801 -#: /app/src/modules/transactions/TransactionsModule.js:2806 +#: /app/src/modules/transactions/TransactionsModule.js:2845 +#: /app/src/modules/transactions/TransactionsModule.js:2850 msgid "Failed to attach file" msgstr "Échec de la pièce jointe" @@ -535,7 +561,7 @@ msgid "Attachment not found" msgstr "Pièce jointe introuvable" #: /app/lib/Controller/AttachmentController.php:118 -#: /app/src/modules/transactions/TransactionsModule.js:2816 +#: /app/src/modules/transactions/TransactionsModule.js:2860 msgid "Failed to remove attachment" msgstr "Échec de la suppression de la pièce jointe" @@ -613,112 +639,117 @@ msgstr "L'identifiant de l'établissement est requis" msgid "Failed to re-authorize" msgstr "Échec de la réautorisation" -#: /app/lib/Controller/BillController.php:98 +#: /app/lib/Controller/BillController.php:107 msgid "Failed to retrieve bills" msgstr "Impossible de récupérer les factures" -#: /app/lib/Controller/BillController.php:121 -#: /app/lib/Controller/BillController.php:136 -#: /app/lib/Controller/BillController.php:758 -#: /app/lib/Controller/BillController.php:1162 -#: /app/lib/Controller/BillController.php:1268 /app/templates/index.php:3649 +#: /app/lib/Controller/BillController.php:148 +#: /app/lib/Controller/BillController.php:164 +#: /app/lib/Controller/BillController.php:800 +#: /app/lib/Controller/BillController.php:1288 +#: /app/lib/Controller/BillController.php:1394 /app/templates/index.php:3649 #: /app/templates/index.php:6166 msgid "Bill" msgstr "Facture" -#: /app/lib/Controller/BillController.php:121 -#: /app/lib/Controller/CategoryController.php:381 -#: /app/lib/Controller/CategoryController.php:475 -#: /app/lib/Controller/CategoryController.php:493 -#: /app/lib/Controller/CategoryController.php:512 -#: /app/lib/Controller/GoalsController.php:87 -#: /app/lib/Controller/GoalsController.php:316 -#: /app/lib/Controller/GoalsController.php:344 -#: /app/lib/Controller/GoalsController.php:363 -#: /app/lib/Controller/ImportRuleController.php:90 -#: /app/lib/Controller/ProjectController.php:186 -#: /app/lib/Controller/RecurringIncomeController.php:89 +#: /app/lib/Controller/BillController.php:148 +#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:514 +#: /app/lib/Controller/CategoryController.php:618 +#: /app/lib/Controller/CategoryController.php:636 +#: /app/lib/Controller/CategoryController.php:655 +#: /app/lib/Controller/GoalsController.php:92 +#: /app/lib/Controller/GoalsController.php:322 +#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:370 +#: /app/lib/Controller/ImportRuleController.php:91 +#: /app/lib/Controller/ProjectController.php:188 +#: /app/lib/Controller/RecurringIncomeController.php:93 #: /app/lib/Traits/ApiErrorHandlerTrait.php:211 #, php-format msgid "%1$s not found" msgstr "%1$s introuvable" -#: /app/lib/Controller/BillController.php:189 -#: /app/lib/Controller/BillController.php:622 -#: /app/lib/Service/BillService.php:86 +#: /app/lib/Controller/BillController.php:217 +#: /app/lib/Controller/BillController.php:652 +#: /app/lib/Service/BillService.php:167 msgid "Invalid amount type" msgstr "Type de montant invalide" -#: /app/lib/Controller/BillController.php:194 +#: /app/lib/Controller/BillController.php:222 msgid "Name and amount are required" msgstr "Le nom et le montant sont requis" -#: /app/lib/Controller/BillController.php:238 -#: /app/lib/Controller/BillController.php:707 -#: /app/lib/Service/BillService.php:403 /app/lib/Service/BillService.php:513 +#: /app/lib/Controller/BillController.php:266 +#: /app/lib/Controller/BillController.php:737 +#: /app/lib/Service/BillService.php:625 /app/lib/Service/BillService.php:751 msgid "Auto-pay requires an account to be set" msgstr "Le paiement automatique nécessite qu’un compte soit configuré" -#: /app/lib/Controller/BillController.php:246 -#: /app/lib/Controller/BillController.php:641 -#: /app/lib/Service/BillService.php:408 +#: /app/lib/Controller/BillController.php:274 +#: /app/lib/Controller/BillController.php:671 +#: /app/lib/Service/BillService.php:630 msgid "Transfer requires a destination account" msgstr "Le transfert nécessite un compte de destination" -#: /app/lib/Controller/BillController.php:254 -#: /app/lib/Controller/BillController.php:669 -#: /app/lib/Service/BillService.php:413 +#: /app/lib/Controller/BillController.php:282 +#: /app/lib/Controller/BillController.php:699 +#: /app/lib/Service/BillService.php:635 #: /app/src/modules/transfers/TransfersModule.js:848 msgid "Cannot transfer to the same account" msgstr "Impossible d’effectuer un transfert vers le même compte" -#: /app/lib/Controller/BillController.php:277 -#: /app/lib/Controller/BillController.php:432 +#: /app/lib/Controller/BillController.php:305 +#: /app/lib/Controller/BillController.php:461 +#: /app/lib/Controller/BillController.php:1188 msgid "Due day must be between 1 and 31" msgstr "Le jour d’échéance doit être compris entre 1 et 31" -#: /app/lib/Controller/BillController.php:282 -#: /app/lib/Controller/BillController.php:444 +#: /app/lib/Controller/BillController.php:310 +#: /app/lib/Controller/BillController.php:473 +#: /app/lib/Controller/BillController.php:1191 msgid "Due month must be between 1 and 12" msgstr "Le mois d’échéance doit être compris entre 1 et 12" -#: /app/lib/Controller/BillController.php:305 -#: /app/lib/Controller/BillController.php:497 +#: /app/lib/Controller/BillController.php:333 +#: /app/lib/Controller/BillController.php:527 msgid "Reminder days must be between 0 and 30" msgstr "Le nombre de jours de rappel doit être compris entre 0 et 30" -#: /app/lib/Controller/BillController.php:318 +#: /app/lib/Controller/BillController.php:346 msgid "Transaction date" msgstr "Date de transaction" -#: /app/lib/Controller/BillController.php:326 -#: /app/lib/Controller/BillController.php:539 -#: /app/lib/Controller/RecurringIncomeController.php:199 -#: /app/lib/Controller/RecurringIncomeController.php:311 +#: /app/lib/Controller/BillController.php:354 +#: /app/lib/Controller/BillController.php:569 +#: /app/lib/Controller/BillController.php:1195 +#: /app/lib/Controller/RecurringIncomeController.php:205 +#: /app/lib/Controller/RecurringIncomeController.php:317 +#: /app/lib/Controller/RecurringIncomeController.php:584 #: /app/templates/index.php:3208 /app/templates/index.php:5171 msgid "Start date" msgstr "Date de début" -#: /app/lib/Controller/BillController.php:336 -#: /app/lib/Controller/BillController.php:550 /app/templates/index.php:3210 +#: /app/lib/Controller/BillController.php:364 +#: /app/lib/Controller/BillController.php:580 /app/templates/index.php:3210 msgid "End date" msgstr "Date de fin" -#: /app/lib/Controller/BillController.php:346 +#: /app/lib/Controller/BillController.php:374 msgid "Start date must be before the end date" msgstr "La date de début doit être antérieure à la date de fin" -#: /app/lib/Controller/BillController.php:351 -#: /app/lib/Controller/BillController.php:563 +#: /app/lib/Controller/BillController.php:379 +#: /app/lib/Controller/BillController.php:593 msgid "Remaining payments must be at least 1" msgstr "Le nombre de paiements restants doit être au moins égal à 1" -#: /app/lib/Controller/BillController.php:392 -#: /app/src/modules/bills/BillsModule.js:234 +#: /app/lib/Controller/BillController.php:421 +#: /app/src/modules/bills/BillsModule.js:243 msgid "Failed to create bill" msgstr "Impossible de créer la facture" -#: /app/lib/Controller/BillController.php:602 +#: /app/lib/Controller/BillController.php:632 msgid "" "The new amount does not match the bill's split template. Update the splits " "together with the amount." @@ -726,128 +757,133 @@ msgstr "" "Le nouveau montant ne correspond pas au modèle de répartition de la facture. " "Mettez à jour les répartitions en même temps que le montant." -#: /app/lib/Controller/BillController.php:743 +#: /app/lib/Controller/BillController.php:781 msgid "Failed to update bill" msgstr "Impossible de modifierla facture" -#: /app/lib/Controller/BillController.php:771 +#: /app/lib/Controller/BillController.php:795 +#: /app/lib/Controller/GoalsController.php:331 +#: /app/lib/Controller/ProjectController.php:164 +#: /app/lib/Controller/RecurringIncomeController.php:362 +msgid "Deleting a shared item needs Full control from its owner" +msgstr "" +"Pour supprimer un élément partagé, son propriétaire doit disposer de " +"l'autorisation \"Contrôle total\"" + +#: /app/lib/Controller/BillController.php:813 msgid "Failed to find matching transactions" msgstr "Impossible de trouver des opérations correspondantes" -#: /app/lib/Controller/BillController.php:784 +#: /app/lib/Controller/BillController.php:826 msgid "Failed to check for unrecorded payments" msgstr "Échec de la vérification des paiements non-répertoriés" -#: /app/lib/Controller/BillController.php:801 -#: /app/src/modules/bills/BillsModule.js:164 +#: /app/lib/Controller/BillController.php:843 +#: /app/src/modules/bills/BillsModule.js:168 msgid "Failed to record the payment" msgstr "Échec de l'enregistrement du paiement" -#: /app/lib/Controller/BillController.php:820 -#: /app/src/modules/bills/BillsModule.js:153 +#: /app/lib/Controller/BillController.php:862 +#: /app/src/modules/bills/BillsModule.js:157 msgid "Failed to dismiss the payment" msgstr "Impossible d'annuler le paiement" -#: /app/lib/Controller/BillController.php:843 -#: /app/src/modules/bills/BillsModule.js:1248 +#: /app/lib/Controller/BillController.php:892 +#: /app/src/modules/bills/BillsModule.js:1271 msgid "Failed to mark bill as paid" msgstr "Impossible de marquer la facture comme payée" -#: /app/lib/Controller/BillController.php:880 +#: /app/lib/Controller/BillController.php:918 msgid "Failed to undo mark as paid" msgstr "Échec de l'annulation" -#: /app/lib/Controller/BillController.php:899 -#: /app/src/modules/bills/BillsModule.js:1501 -#: /app/src/modules/bills/BillsModule.js:1508 +#: /app/lib/Controller/BillController.php:939 +#: /app/src/modules/bills/BillsModule.js:1405 +#: /app/src/modules/bills/BillsModule.js:1413 msgid "Failed to mark bill as unpaid" msgstr "Impossible de marquer la facture comme impayée" -#: /app/lib/Controller/BillController.php:916 -#: /app/src/modules/bills/BillsModule.js:1542 +#: /app/lib/Controller/BillController.php:967 +#: /app/src/modules/bills/BillsModule.js:1447 msgid "Failed to skip bill payment" msgstr "Échec de l'annulation du paiement de la facture" -#: /app/lib/Controller/BillController.php:932 +#: /app/lib/Controller/BillController.php:983 msgid "Missing previous due date" msgstr "Date d'échéance précédente manquante" -#: /app/lib/Controller/BillController.php:938 +#: /app/lib/Controller/BillController.php:991 msgid "Failed to undo skip" msgstr "Échec de l'annulation" -#: /app/lib/Controller/BillController.php:952 -msgid "Failed to retrieve upcoming bills" -msgstr "Impossible de récupérer les factures à venir" - -#: /app/lib/Controller/BillController.php:966 +#: /app/lib/Controller/BillController.php:1019 msgid "Failed to retrieve bills due this month" msgstr "Impossible de récupérer les factures dues ce mois-ci" -#: /app/lib/Controller/BillController.php:980 +#: /app/lib/Controller/BillController.php:1033 msgid "Failed to retrieve overdue bills" msgstr "Impossible de récupérer les factures dues en retard" -#: /app/lib/Controller/BillController.php:993 +#: /app/lib/Controller/BillController.php:1052 msgid "Failed to retrieve bill summary" msgstr "Impossible de récupérer le résumé des factures" -#: /app/lib/Controller/BillController.php:1006 +#: /app/lib/Controller/BillController.php:1065 msgid "Failed to retrieve bill status" msgstr "Impossible de récupérer le statut des factures" -#: /app/lib/Controller/BillController.php:1019 -#: /app/src/modules/bills/BillsModule.js:1586 +#: /app/lib/Controller/BillController.php:1080 +#: /app/src/modules/bills/BillsModule.js:1491 msgid "Failed to detect recurring bills" msgstr "Impossible de détecter les factures récurrentes" -#: /app/lib/Controller/BillController.php:1033 +#: /app/lib/Controller/BillController.php:1094 msgid "Failed to load bill suggestions" msgstr "Échec du chargement des suggestions de factures" -#: /app/lib/Controller/BillController.php:1050 -#: /app/src/modules/bills/BillsModule.js:253 +#: /app/lib/Controller/BillController.php:1111 +#: /app/src/modules/bills/BillsModule.js:262 msgid "Failed to dismiss suggestion" msgstr "Échec de la tentative d'ignorer la suggestion" -#: /app/lib/Controller/BillController.php:1082 +#: /app/lib/Controller/BillController.php:1156 msgid "Failed to create bills from detected patterns" msgstr "Impossible de créer des factures à partir des modèles détectés" -#: /app/lib/Controller/BillController.php:1097 -#: /app/lib/Controller/BillController.php:1130 +#: /app/lib/Controller/BillController.php:1223 +#: /app/lib/Controller/BillController.php:1256 msgid "Invalid year" msgstr "Année invalide" -#: /app/lib/Controller/BillController.php:1112 +#: /app/lib/Controller/BillController.php:1238 msgid "Failed to generate annual overview" msgstr "Impossible de générer le résumé annuel" -#: /app/lib/Controller/BillController.php:1153 +#: /app/lib/Controller/BillController.php:1279 msgid "Failed to export bills calendar" msgstr "Impossible d’exporter le calendrier des factures" -#: /app/lib/Controller/BillController.php:1162 -#: /app/lib/Controller/BillController.php:1269 +#: /app/lib/Controller/BillController.php:1288 +#: /app/lib/Controller/BillController.php:1395 #: /app/lib/Service/Export/TransactionCsvExporter.php:34 #: /app/lib/Service/Report/ReportExporter.php:279 #: /app/lib/Service/Report/ReportExporter.php:337 #: /app/lib/Service/Report/ReportExporter.php:378 #: /app/lib/Service/Report/ReportExporter.php:495 #: /app/lib/Service/Report/ReportExporter.php:572 -#: /app/lib/Service/Report/ReportExporter.php:615 /app/src/main.js:3622 -#: /app/src/main.js:3623 /app/src/modules/bills/BillsModule.js:965 -#: /app/src/modules/rules/RulesModule.js:937 -#: /app/src/modules/rules/RulesModule.js:1139 +#: /app/lib/Service/Report/ReportExporter.php:615 /app/src/main.js:3656 +#: /app/src/main.js:3657 /app/src/modules/bills/BillsModule.js:971 +#: /app/src/modules/rules/RulesModule.js:952 +#: /app/src/modules/rules/RulesModule.js:1154 #: /app/src/modules/rules/components/CriteriaBuilder.js:190 -#: /app/src/modules/transactions/TransactionsModule.js:2040 -#: /app/src/modules/transactions/TransactionsModule.js:3183 -#: /app/src/modules/transactions/TransactionsModule.js:3184 -#: /app/src/modules/transactions/TransactionsModule.js:3268 -#: /app/src/modules/transactions/TransactionsModule.js:3553 -#: /app/src/modules/transactions/TransactionsModule.js:3787 -#: /app/src/modules/transactions/TransactionsModule.js:3788 -#: /app/src/modules/transfers/TransfersModule.js:482 +#: /app/src/modules/transactions/TransactionsModule.js:2068 +#: /app/src/modules/transactions/TransactionsModule.js:3227 +#: /app/src/modules/transactions/TransactionsModule.js:3228 +#: /app/src/modules/transactions/TransactionsModule.js:3312 +#: /app/src/modules/transactions/TransactionsModule.js:3604 +#: /app/src/modules/transactions/TransactionsModule.js:3838 +#: /app/src/modules/transactions/TransactionsModule.js:3839 +#: /app/src/modules/transfers/TransfersModule.js:456 #: /app/templates/index.php:1051 /app/templates/index.php:1541 #: /app/templates/index.php:1793 /app/templates/index.php:1846 #: /app/templates/index.php:2400 /app/templates/index.php:2561 @@ -855,135 +891,142 @@ msgstr "Impossible d’exporter le calendrier des factures" #: /app/templates/index.php:3412 /app/templates/index.php:3433 #: /app/templates/index.php:5451 /app/templates/index.php:5487 #: /app/templates/index.php:5523 /app/templates/index.php:5822 -#: /app/templates/index.php:6180 /app/templates/index.php:6439 -#: /app/templates/index.php:6520 /app/templates/index.php:7119 +#: /app/templates/index.php:6180 /app/templates/index.php:6440 +#: /app/templates/index.php:6521 /app/templates/index.php:7120 #: /app/templates/quick-add.php:40 msgid "Amount" msgstr "Montant" -#: /app/lib/Controller/BillController.php:1162 -#: /app/src/modules/transfers/TransfersModule.js:500 +#: /app/lib/Controller/BillController.php:1288 +#: /app/src/modules/transfers/TransfersModule.js:474 #: /app/templates/index.php:5527 /app/templates/index.php:6186 -#: /app/templates/index.php:6676 +#: /app/templates/index.php:6677 msgid "Frequency" msgstr "Fréquence" -#: /app/lib/Controller/BillController.php:1166 +#: /app/lib/Controller/BillController.php:1292 msgid "Annual Total" msgstr "Total annuel" -#: /app/lib/Controller/BillController.php:1190 -#: /app/lib/Controller/BillController.php:1294 +#: /app/lib/Controller/BillController.php:1316 +#: /app/lib/Controller/BillController.php:1420 #: /app/lib/Service/Report/ReportExporter.php:298 #: /app/lib/Service/Report/ReportExporter.php:348 #: /app/lib/Service/Report/ReportExporter.php:421 #: /app/lib/Service/Report/ReportExporter.php:513 #: /app/lib/Service/Report/ReportExporter.php:584 #: /app/lib/Service/Report/ReportExporter.php:659 -#: /app/src/modules/categories/CategoriesModule.js:2355 -#: /app/src/modules/reports/ReportsModule.js:1853 /app/templates/index.php:7321 +#: /app/src/modules/categories/CategoriesModule.js:2417 +#: /app/src/modules/reports/ReportsModule.js:1854 /app/templates/index.php:7322 msgid "Total" msgstr "Total" -#: /app/lib/Controller/BillController.php:1230 -#: /app/src/modules/dashboard/DashboardModule.js:3162 -#: /app/src/modules/reports/ReportsModule.js:1998 +#: /app/lib/Controller/BillController.php:1356 +#: /app/src/modules/dashboard/DashboardModule.js:3359 +#: /app/src/modules/reports/ReportsModule.js:2006 msgid "Projected balance" msgstr "Solde prévisionnel" -#: /app/lib/Controller/BillController.php:1245 +#: /app/lib/Controller/BillController.php:1371 #, php-format msgid "Bills Calendar %s" msgstr "Calendrier des factures %s" -#: /app/lib/Controller/BillController.php:1273 +#: /app/lib/Controller/BillController.php:1399 msgid "Annual" msgstr "Annuel" -#: /app/lib/Controller/BillController.php:1351 -msgid "Split template must have at least 2 splits" +#: /app/lib/Controller/BillController.php:1482 +msgid "" +"This account belongs to someone else, who cannot see one of the split " +"categories. Split with categories shared with them, or pay from one of your " +"own accounts." msgstr "" -"Le modèle de fractionnement doit comporter au moins deux fractionnements" -#: /app/lib/Controller/BillController.php:1359 +#: /app/lib/Controller/BillController.php:1500 +msgid "Split template must have at least 2 splits" +msgstr "Le modèle de ventilation doit comporter au moins deux ventilations" + +#: /app/lib/Controller/BillController.php:1508 msgid "Each split must have a positive amount" msgstr "Chaque répartition doit avoir un montant positif" -#: /app/lib/Controller/BillController.php:1365 +#: /app/lib/Controller/BillController.php:1514 msgid "Split amounts must equal the bill amount" msgstr "Le total des montants répartis doit être égal au montant de la facture" -#: /app/lib/Controller/BillController.php:1377 +#: /app/lib/Controller/BillController.php:1526 msgid "Invalid JSON in custom recurrence pattern" msgstr "JSON invalide dans le modèle de récurrence personnalisé" -#: /app/lib/Controller/BillController.php:1384 +#: /app/lib/Controller/BillController.php:1533 msgid "Custom recurrence pattern must be a JSON object" msgstr "Le modèle de récurrence personnalisé doit être un objet JSON" -#: /app/lib/Controller/BillController.php:1393 +#: /app/lib/Controller/BillController.php:1542 msgid "Months must be an array" msgstr "Les mois doivent être un tableau" -#: /app/lib/Controller/BillController.php:1400 +#: /app/lib/Controller/BillController.php:1549 msgid "At least one month must be specified" msgstr "Au moins un mois doit être spécifié" -#: /app/lib/Controller/BillController.php:1408 +#: /app/lib/Controller/BillController.php:1557 msgid "Each month must be a number between 1 and 12" msgstr "Chaque mois doit être un nombre compris entre 1 et 12" -#: /app/lib/Controller/BillController.php:1421 +#: /app/lib/Controller/BillController.php:1570 msgid "Dates must be an array" msgstr "Les dates doivent être un tableau" -#: /app/lib/Controller/BillController.php:1428 +#: /app/lib/Controller/BillController.php:1577 msgid "At least one date must be specified" msgstr "Au moins une date doit être spécifiée" -#: /app/lib/Controller/BillController.php:1436 +#: /app/lib/Controller/BillController.php:1585 msgid "Each date must have \"month\" and \"day\" fields" msgstr "Chaque date doit contenir les champs “mois” et “jour”" -#: /app/lib/Controller/BillController.php:1443 +#: /app/lib/Controller/BillController.php:1592 msgid "Month must be a number between 1 and 12" msgstr "Le mois doit être un nombre compris entre 1 et 12" -#: /app/lib/Controller/BillController.php:1450 +#: /app/lib/Controller/BillController.php:1599 msgid "Day must be a number between 1 and 31" msgstr "Le jour doit être un nombre compris entre 1 et 31" -#: /app/lib/Controller/BillController.php:1460 +#: /app/lib/Controller/BillController.php:1609 msgid "Custom pattern must contain either \"months\" or \"dates\" field" msgstr "" "Le modèle personnalisé doit contenir soit le champ “mois”, soit le champ " "“dates”" #: /app/lib/Controller/CalendarFeedController.php:94 -#: /app/src/modules/bills/BillsModule.js:1164 +#: /app/src/modules/bills/BillsModule.js:1187 msgid "Failed to get calendar feed" msgstr "Échec de la récupération du flux de calendrier" #: /app/lib/Controller/CalendarFeedController.php:108 -#: /app/src/modules/bills/BillsModule.js:1210 +#: /app/src/modules/bills/BillsModule.js:1233 msgid "Failed to regenerate calendar feed token" msgstr "Échec de la régénération du jeton du flux de calendrier" -#: /app/lib/Controller/CategoryController.php:129 +#: /app/lib/Controller/CategoryController.php:134 msgid "Failed to retrieve category tree" msgstr "Impossible de récupérer l’arborescence des catégories" -#: /app/lib/Controller/CategoryController.php:141 +#: /app/lib/Controller/CategoryController.php:146 msgid "Failed to retrieve transaction counts" msgstr "Impossible de récupérer le nombre de transactions" -#: /app/lib/Controller/CategoryController.php:153 -#: /app/lib/Controller/CategoryController.php:381 -#: /app/lib/Controller/CategoryController.php:475 -#: /app/lib/Controller/CategoryController.php:493 -#: /app/lib/Controller/CategoryController.php:499 -#: /app/lib/Controller/CategoryController.php:512 -#: /app/lib/Controller/CategoryController.php:519 +#: /app/lib/Controller/CategoryController.php:158 +#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:514 +#: /app/lib/Controller/CategoryController.php:618 +#: /app/lib/Controller/CategoryController.php:636 +#: /app/lib/Controller/CategoryController.php:642 +#: /app/lib/Controller/CategoryController.php:655 +#: /app/lib/Controller/CategoryController.php:662 #: /app/lib/Controller/YearOverYearController.php:287 #: /app/lib/Controller/YearOverYearController.php:389 #: /app/lib/Service/Export/TransactionCsvExporter.php:31 @@ -994,15 +1037,15 @@ msgstr "Impossible de récupérer le nombre de transactions" #: /app/lib/Service/Report/ReportExporter.php:614 #: /app/lib/Service/Report/ReportExporter.php:639 #: /app/lib/Service/Report/ReportExporter.php:676 -#: /app/lib/Service/Report/ReportExporter.php:722 /app/src/main.js:3627 -#: /app/src/main.js:3628 /app/src/modules/dashboard/DashboardModule.js:2164 -#: /app/src/modules/reports/ReportsModule.js:1114 -#: /app/src/modules/reports/ReportsModule.js:1562 -#: /app/src/modules/transactions/TransactionsModule.js:3188 -#: /app/src/modules/transactions/TransactionsModule.js:3189 -#: /app/src/modules/transactions/TransactionsModule.js:3792 -#: /app/src/modules/transactions/TransactionsModule.js:3793 -#: /app/src/modules/transfers/TransfersModule.js:564 +#: /app/lib/Service/Report/ReportExporter.php:722 /app/src/main.js:3661 +#: /app/src/main.js:3662 /app/src/modules/dashboard/DashboardModule.js:2327 +#: /app/src/modules/reports/ReportsModule.js:1115 +#: /app/src/modules/reports/ReportsModule.js:1563 +#: /app/src/modules/transactions/TransactionsModule.js:3232 +#: /app/src/modules/transactions/TransactionsModule.js:3233 +#: /app/src/modules/transactions/TransactionsModule.js:3843 +#: /app/src/modules/transactions/TransactionsModule.js:3844 +#: /app/src/modules/transfers/TransfersModule.js:549 #: /app/templates/index.php:1059 /app/templates/index.php:1461 #: /app/templates/index.php:1539 /app/templates/index.php:1625 #: /app/templates/index.php:1785 /app/templates/index.php:1839 @@ -1011,102 +1054,110 @@ msgstr "Impossible de récupérer le nombre de transactions" #: /app/templates/index.php:3366 /app/templates/index.php:3411 #: /app/templates/index.php:3580 /app/templates/index.php:5161 #: /app/templates/index.php:5862 /app/templates/index.php:6253 -#: /app/templates/index.php:6723 /app/templates/index.php:7118 -#: /app/templates/index.php:7159 /app/templates/quick-add.php:55 +#: /app/templates/index.php:6724 /app/templates/index.php:7119 +#: /app/templates/index.php:7160 /app/templates/quick-add.php:55 msgid "Category" msgstr "Catégorie" -#: /app/lib/Controller/CategoryController.php:281 +#: /app/lib/Controller/CategoryController.php:307 msgid "Invalid budget period. Must be monthly, weekly, yearly, or quarterly" msgstr "" "Période budgétaire invalide. Doit être “mensuelle”, “hebdomadaire”, " "“annuelle” ou “trimestrielle”" -#: /app/lib/Controller/CategoryController.php:326 -#: /app/src/modules/categories/CategoriesModule.js:1389 +#: /app/lib/Controller/CategoryController.php:360 +#: /app/src/modules/categories/CategoriesModule.js:1411 msgid "Failed to update category" msgstr "Échec de la mise à jour de la catégorie" -#: /app/lib/Controller/CategoryController.php:352 +#: /app/lib/Controller/CategoryController.php:388 +msgid "A category can only be moved under another category with the same owner" +msgstr "" +"Une catégorie ne peut être déplacée que sous une autre catégorie appartenant " +"au même propriétaire" + +#: /app/lib/Controller/CategoryController.php:397 +msgid "Only the owner can add subcategories to a shared category" +msgstr "" +"Seul le propriétaire peut ajouter des sous-catégories à une catégorie " +"partagée" + +#: /app/lib/Controller/CategoryController.php:418 +#: /app/lib/Controller/CategoryController.php:788 +msgid "Invalid budget period" +msgstr "Période budgétaire non valide" + +#: /app/lib/Controller/CategoryController.php:431 +#: /app/src/modules/categories/CategoriesModule.js:2386 +msgid "Only the owner can change the budget of a shared category" +msgstr "Seul le propriétaire peut modifier le budget d'une catégorie partagée" + +#: /app/lib/Controller/CategoryController.php:477 msgid "Invalid position" msgstr "Position invalide" -#: /app/lib/Controller/CategoryController.php:360 +#: /app/lib/Controller/CategoryController.php:488 msgid "Shared categories cannot be nested" msgstr "Les catégories partagées ne peuvent pas être imbriquées" -#: /app/lib/Controller/CategoryController.php:366 -#: /app/lib/Controller/CategoryController.php:368 -#: /app/src/modules/categories/CategoriesModule.js:611 -#: /app/src/modules/categories/CategoriesModule.js:620 +#: /app/lib/Controller/CategoryController.php:499 +#: /app/lib/Controller/CategoryController.php:501 +#: /app/src/modules/categories/CategoriesModule.js:617 +#: /app/src/modules/categories/CategoriesModule.js:626 msgid "Failed to reorder category" msgstr "Échec du réordonnancement de la catégorie" -#: /app/lib/Controller/CategoryController.php:390 +#: /app/lib/Controller/CategoryController.php:533 +#: /app/lib/Service/CategoryService.php:324 msgid "Only the category owner can delete it" msgstr "Seul le propriétaire de la catégorie peut la supprimer" -#: /app/lib/Controller/CategoryController.php:424 +#: /app/lib/Controller/CategoryController.php:567 msgid "Failed to load report preferences" msgstr "Échec du chargement des préférences du rapport" -#: /app/lib/Controller/CategoryController.php:440 +#: /app/lib/Controller/CategoryController.php:583 #: /app/lib/Service/GranularShareService.php:146 msgid "Category not found" msgstr "Catégorie introuvable" -#: /app/lib/Controller/CategoryController.php:445 -#: /app/src/modules/categories/CategoriesModule.js:441 +#: /app/lib/Controller/CategoryController.php:588 +#: /app/src/modules/categories/CategoriesModule.js:444 msgid "Failed to update report preference" msgstr "Échec de la mise à jour de la préférence de rapport" -#: /app/lib/Controller/CategoryController.php:462 -#: /app/lib/Controller/CategoryController.php:480 +#: /app/lib/Controller/CategoryController.php:605 +#: /app/lib/Controller/CategoryController.php:623 msgid "Failed to retrieve category spending" msgstr "Impossible de récupérer les dépenses de la catégorie" -#: /app/lib/Controller/CategoryController.php:531 -#: /app/lib/Controller/CategoryController.php:553 -#: /app/lib/Controller/CategoryController.php:583 -#: /app/lib/Controller/CategoryController.php:631 -msgid "Invalid month format. Use YYYY-MM" -msgstr "Format de mois invalide. Utilisez AAAA-MM" - -#: /app/lib/Controller/CategoryController.php:559 +#: /app/lib/Controller/CategoryController.php:702 msgid "Failed to delete budget snapshot" msgstr "Échec de la suppression de l'instantané du budget" -#: /app/lib/Controller/CategoryController.php:572 +#: /app/lib/Controller/CategoryController.php:715 msgid "Failed to retrieve snapshot months" msgstr "Échec de la récupération des instantanés mensuels" -#: /app/lib/Controller/CategoryController.php:604 -msgid "Failed to retrieve effective budgets" -msgstr "Échec de la récupération des budgets effectifs" - -#: /app/lib/Controller/CategoryController.php:619 +#: /app/lib/Controller/CategoryController.php:770 msgid "Failed to retrieve recurring budgets" msgstr "Échec de la récupération des budgets récurrents" -#: /app/lib/Controller/CategoryController.php:637 -msgid "Invalid budget period" -msgstr "Période budgétaire non valide" - #: /app/lib/Controller/CategoryTransferController.php:64 -#: /app/src/modules/categories/CategoriesModule.js:1587 -#: /app/src/modules/categories/CategoriesModule.js:1599 +#: /app/src/modules/categories/CategoriesModule.js:1627 +#: /app/src/modules/categories/CategoriesModule.js:1639 msgid "Failed to export categories" msgstr "Échec de l'export des catégories" #: /app/lib/Controller/CategoryTransferController.php:89 -#: /app/src/modules/categories/CategoriesModule.js:1623 -#: /app/src/modules/categories/CategoriesModule.js:1629 +#: /app/src/modules/categories/CategoriesModule.js:1663 +#: /app/src/modules/categories/CategoriesModule.js:1669 msgid "Failed to read the category file" msgstr "Échec de lecture du fichier de catégorie" #: /app/lib/Controller/CategoryTransferController.php:109 -#: /app/src/modules/categories/CategoriesModule.js:1697 -#: /app/src/modules/categories/CategoriesModule.js:1705 +#: /app/src/modules/categories/CategoriesModule.js:1737 +#: /app/src/modules/categories/CategoriesModule.js:1745 msgid "Failed to import categories" msgstr "Échec de l'importation des catégories" @@ -1135,8 +1186,8 @@ msgstr "Impossible de calculer le plan de remboursement" msgid "Failed to get debt progress" msgstr "Échec de la récupération de l'évolution de la dette" -#: /app/lib/Controller/DebtController.php:166 /app/src/main.js:3094 -#: /app/src/main.js:3099 +#: /app/lib/Controller/DebtController.php:166 /app/src/main.js:3128 +#: /app/src/main.js:3133 msgid "Failed to compare strategies" msgstr "Impossible de comparer les stratégies" @@ -1264,75 +1315,71 @@ msgstr "Impossible de récupérer les prévisions en temps réel" msgid "Failed to export forecast" msgstr "Impossible d’exporter les prévisions" -#: /app/lib/Controller/GoalsController.php:75 +#: /app/lib/Controller/GoalsController.php:80 msgid "Failed to retrieve goals" msgstr "Impossible de récupérer les objectifs" -#: /app/lib/Controller/GoalsController.php:87 -#: /app/lib/Controller/GoalsController.php:99 -#: /app/lib/Controller/GoalsController.php:316 -#: /app/lib/Controller/GoalsController.php:344 -#: /app/lib/Controller/GoalsController.php:363 /app/templates/index.php:5209 +#: /app/lib/Controller/GoalsController.php:92 +#: /app/lib/Controller/GoalsController.php:105 +#: /app/lib/Controller/GoalsController.php:322 +#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:370 /app/templates/index.php:5209 #: /app/templates/index.php:5281 msgid "Goal" msgstr "Objectif" -#: /app/lib/Controller/GoalsController.php:137 -#: /app/lib/Controller/GoalsController.php:236 +#: /app/lib/Controller/GoalsController.php:143 +#: /app/lib/Controller/GoalsController.php:242 msgid "Target date" msgstr "Date cible" -#: /app/lib/Controller/GoalsController.php:147 -#: /app/lib/Controller/GoalsController.php:244 +#: /app/lib/Controller/GoalsController.php:153 +#: /app/lib/Controller/GoalsController.php:250 msgid "Target amount must be greater than zero" msgstr "Le montant cible doit être supérieur à zéro" -#: /app/lib/Controller/GoalsController.php:152 -#: /app/lib/Controller/GoalsController.php:249 +#: /app/lib/Controller/GoalsController.php:158 +#: /app/lib/Controller/GoalsController.php:255 msgid "Target months must be greater than zero" msgstr "Le nombre de mois cible doit être supérieur à zéro" -#: /app/lib/Controller/GoalsController.php:157 -#: /app/lib/Controller/GoalsController.php:254 +#: /app/lib/Controller/GoalsController.php:163 +#: /app/lib/Controller/GoalsController.php:260 msgid "Current amount cannot be negative" msgstr "Le montant actuel ne peut pas être négatif" -#: /app/lib/Controller/GoalsController.php:162 -#: /app/lib/Controller/GoalsController.php:259 +#: /app/lib/Controller/GoalsController.php:168 +#: /app/lib/Controller/GoalsController.php:265 msgid "Invalid tag ID" msgstr "ID de tag invalide" -#: /app/lib/Controller/GoalsController.php:167 -#: /app/lib/Controller/GoalsController.php:264 +#: /app/lib/Controller/GoalsController.php:173 +#: /app/lib/Controller/GoalsController.php:270 msgid "Invalid account ID" msgstr "ID de compte invalide" -#: /app/lib/Controller/GoalsController.php:193 +#: /app/lib/Controller/GoalsController.php:199 msgid "Failed to create goal" msgstr "Impossible de créer l’objectif" -#: /app/lib/Controller/GoalsController.php:303 +#: /app/lib/Controller/GoalsController.php:309 msgid "Failed to update goal" msgstr "Impossible de mettre à jour l’objectif" -#: /app/lib/Controller/GoalsController.php:324 -msgid "Only the goal owner can delete it" -msgstr "Seul le propriétaire de l'objectif peut le supprimer" - -#: /app/lib/Controller/GoalsController.php:330 +#: /app/lib/Controller/GoalsController.php:337 msgid "Goal deleted successfully" msgstr "Objectif supprimé avec succès" -#: /app/lib/Controller/GoalsController.php:332 -#: /app/src/modules/savings/SavingsModule.js:460 +#: /app/lib/Controller/GoalsController.php:339 +#: /app/src/modules/savings/SavingsModule.js:462 msgid "Failed to delete goal" msgstr "Impossible de supprimer l’objectif" -#: /app/lib/Controller/GoalsController.php:351 +#: /app/lib/Controller/GoalsController.php:358 msgid "Failed to retrieve goal progress" msgstr "Impossible de récupérer la progression de l’objectif" -#: /app/lib/Controller/GoalsController.php:370 +#: /app/lib/Controller/GoalsController.php:377 msgid "Failed to retrieve goal forecast" msgstr "Impossible de récupérer les prévisions de l’objectif" @@ -1386,85 +1433,85 @@ msgstr "Impossible de valider le fichier" msgid "Failed to execute import" msgstr "Impossible d’exécuter l’import" -#: /app/lib/Controller/ImportRuleController.php:66 +#: /app/lib/Controller/ImportRuleController.php:67 msgid "Failed to retrieve import rules" msgstr "Impossible de récupérer les règles d’import" -#: /app/lib/Controller/ImportRuleController.php:78 +#: /app/lib/Controller/ImportRuleController.php:79 msgid "Failed to retrieve rule groups" msgstr "Échec de la récupération des groupes de règles" -#: /app/lib/Controller/ImportRuleController.php:90 -#: /app/lib/Controller/ImportRuleController.php:103 -#: /app/lib/Controller/ImportRuleController.php:357 -#: /app/lib/Controller/ImportRuleController.php:373 +#: /app/lib/Controller/ImportRuleController.php:91 +#: /app/lib/Controller/ImportRuleController.php:104 +#: /app/lib/Controller/ImportRuleController.php:367 +#: /app/lib/Controller/ImportRuleController.php:383 msgid "Import rule" msgstr "Règle d’import" -#: /app/lib/Controller/ImportRuleController.php:138 +#: /app/lib/Controller/ImportRuleController.php:139 msgid "Criteria required for v2 rules" msgstr "Critères requis pour les règles v2" -#: /app/lib/Controller/ImportRuleController.php:144 +#: /app/lib/Controller/ImportRuleController.php:145 msgid "Pattern, field, and matchType required for v1 rules" msgstr "" "Le modèle, le champ et le type de correspondance sont requis pour les règles " "v1" -#: /app/lib/Controller/ImportRuleController.php:156 -#: /app/lib/Controller/ImportRuleController.php:260 +#: /app/lib/Controller/ImportRuleController.php:157 +#: /app/lib/Controller/ImportRuleController.php:267 #, php-format msgid "Invalid field. Must be one of: %1$s" msgstr "Champ invalide. Doit être l’un des suivants : %1$s" -#: /app/lib/Controller/ImportRuleController.php:161 -#: /app/lib/Controller/ImportRuleController.php:268 +#: /app/lib/Controller/ImportRuleController.php:162 +#: /app/lib/Controller/ImportRuleController.php:275 #, php-format msgid "Invalid match type. Must be one of: %1$s" msgstr "Type de correspondance invalide. Doit être l’un des suivants : %1$s" -#: /app/lib/Controller/ImportRuleController.php:167 -#: /app/lib/Controller/ImportRuleController.php:276 +#: /app/lib/Controller/ImportRuleController.php:169 +#: /app/lib/Controller/ImportRuleController.php:284 msgid "Invalid regex pattern" msgstr "Modèle d’expression régulière invalide" -#: /app/lib/Controller/ImportRuleController.php:208 +#: /app/lib/Controller/ImportRuleController.php:215 msgid "Failed to create import rule" msgstr "Impossible de créer la règle d’import" -#: /app/lib/Controller/ImportRuleController.php:343 +#: /app/lib/Controller/ImportRuleController.php:353 msgid "Failed to update import rule" msgstr "Impossible de mettre à jour la règle d’import" -#: /app/lib/Controller/ImportRuleController.php:365 +#: /app/lib/Controller/ImportRuleController.php:375 msgid "Only the rule owner can delete it" msgstr "Seul le propriétaire de la règle peut la supprimer" -#: /app/lib/Controller/ImportRuleController.php:385 +#: /app/lib/Controller/ImportRuleController.php:395 msgid "Failed to test import rules" msgstr "Impossible de tester les règles d’import" -#: /app/lib/Controller/ImportRuleController.php:411 +#: /app/lib/Controller/ImportRuleController.php:421 msgid "Failed to preview rule application" msgstr "Impossible de prévisualiser l’application de la règle" -#: /app/lib/Controller/ImportRuleController.php:439 +#: /app/lib/Controller/ImportRuleController.php:449 msgid "Failed to test rule against transactions" msgstr "Impossible de tester la règle sur les transactions" -#: /app/lib/Controller/ImportRuleController.php:466 +#: /app/lib/Controller/ImportRuleController.php:476 msgid "Failed to apply rules to transactions" msgstr "Impossible d’appliquer les règles aux transactions" -#: /app/lib/Controller/ImportRuleController.php:480 +#: /app/lib/Controller/ImportRuleController.php:490 msgid "Failed to migrate import rule" msgstr "Impossible de migrer la règle d’import" -#: /app/lib/Controller/ImportRuleController.php:497 +#: /app/lib/Controller/ImportRuleController.php:507 msgid "Failed to migrate import rules" msgstr "Impossible de migrer les règles d’import" -#: /app/lib/Controller/ImportRuleController.php:513 +#: /app/lib/Controller/ImportRuleController.php:523 #: /app/lib/Traits/InputValidationTrait.php:108 msgid "Validation failed" msgstr "La validation a échoué" @@ -1519,57 +1566,51 @@ msgid "Snapshot" msgstr "Snapshot" #: /app/lib/Controller/OnboardingController.php:48 -#, fuzzy -#| msgid "Failed to load the split" msgid "Failed to load the getting started checklist" -msgstr "Échec du chargement de la ventilation" +msgstr "Échec du chargement de la liste de contrôle « Pour bien démarrer »" #: /app/lib/Controller/OnboardingController.php:63 #: /app/src/modules/onboarding/OnboardingModule.js:359 -#, fuzzy -#| msgid "Failed to save the budget alert filter" msgid "Failed to hide the getting started checklist" -msgstr "Échec de l'enregistrement du filtre d'alerte budgétaire" +msgstr "Impossible de masquer la liste de contrôle « Pour bien démarrer »" #: /app/lib/Controller/OnboardingController.php:78 msgid "Sample data can only be added to an empty budget." msgstr "" +"Les données d'échantillon ne peuvent être ajoutées qu'à un budget vide." #: /app/lib/Controller/OnboardingController.php:87 #: /app/src/modules/onboarding/OnboardingModule.js:371 #: /app/src/modules/onboarding/OnboardingModule.js:377 -#, fuzzy -#| msgid "Failed to load the split" msgid "Failed to add the sample data" -msgstr "Échec du chargement de la ventilation" +msgstr "Impossible d'ajouter les données d'échantillons" #: /app/lib/Controller/OnboardingController.php:103 msgid "" "Clearing the sample data requires confirmed=true. It deletes everything in " "your budget." msgstr "" +"Pour effacer les données d'échantillon, il faut que le paramètre " +"« confirmed » soit défini sur « true ». Cette opération supprime tout le " +"contenu de votre budget." #: /app/lib/Controller/OnboardingController.php:108 -#, fuzzy -#| msgid "No file data available" msgid "No sample data is loaded." -msgstr "Aucune donnée de fichier disponible" +msgstr "Aucune donnée d'échantillon n'est chargée." #: /app/lib/Controller/OnboardingController.php:117 #: /app/src/modules/onboarding/OnboardingModule.js:401 #: /app/src/modules/onboarding/OnboardingModule.js:408 -#, fuzzy -#| msgid "Failed to load the split" msgid "Failed to clear the sample data" -msgstr "Échec du chargement de la ventilation" +msgstr "Échec de l'effacement des données d'échantillon" -#: /app/lib/Controller/PageController.php:155 +#: /app/lib/Controller/PageController.php:201 #: /app/src/config/dashboardWidgets.js:91 /app/templates/index.php:1025 #: /app/templates/quick-add.php:9 msgid "Quick Add Transaction" msgstr "Ajout rapide d'une opération" -#: /app/lib/Controller/PageController.php:156 /app/templates/quick-add.php:98 +#: /app/lib/Controller/PageController.php:202 /app/templates/quick-add.php:98 msgid "Quick Add" msgstr "Ajour repide" @@ -1628,109 +1669,116 @@ msgstr "La valeur de la projection ne peut pas être négative" msgid "Failed to create pension" msgstr "Impossible de créer la pension" -#: /app/lib/Controller/PensionController.php:297 +#: /app/lib/Controller/PensionController.php:299 msgid "Failed to update pension" msgstr "Impossible de modifier la pension" -#: /app/lib/Controller/PensionController.php:308 +#: /app/lib/Controller/PensionController.php:310 msgid "Pension deleted successfully" msgstr "Pension supprimée avec succès" -#: /app/lib/Controller/PensionController.php:310 -#: /app/src/modules/pensions/PensionsModule.js:488 +#: /app/lib/Controller/PensionController.php:312 +#: /app/src/modules/pensions/PensionsModule.js:537 msgid "Failed to delete pension" msgstr "Impossible de supprimer la pension" -#: /app/lib/Controller/PensionController.php:347 +#: /app/lib/Controller/PensionController.php:349 msgid "Balance and date are required" msgstr "Le solde et la date sont requis" -#: /app/lib/Controller/PensionController.php:352 +#: /app/lib/Controller/PensionController.php:354 msgid "Balance cannot be negative" msgstr "Le solde ne peut pas être négatif" -#: /app/lib/Controller/PensionController.php:393 +#: /app/lib/Controller/PensionController.php:395 msgid "Failed to retrieve contributions" msgstr "Impossible de récupérer les contributions" -#: /app/lib/Controller/PensionController.php:419 -#: /app/lib/Controller/PensionController.php:471 +#: /app/lib/Controller/PensionController.php:421 +#: /app/lib/Controller/PensionController.php:475 msgid "Amount and date are required" msgstr "Le montant et la date sont requis" -#: /app/lib/Controller/PensionController.php:424 -#: /app/lib/Controller/PensionController.php:474 -#: /app/lib/Controller/PensionController.php:583 +#: /app/lib/Controller/PensionController.php:426 +#: /app/lib/Controller/PensionController.php:478 +#: /app/lib/Controller/PensionController.php:589 msgid "Amount must be greater than zero" msgstr "Le montant doit être supérieur à zéro" -#: /app/lib/Controller/PensionController.php:449 +#: /app/lib/Controller/PensionController.php:453 msgid "Failed to create contribution" msgstr "Impossible de créer la contribution" -#: /app/lib/Controller/PensionController.php:497 -#: /app/src/modules/pensions/PensionsModule.js:984 +#: /app/lib/Controller/PensionController.php:503 +#: /app/src/modules/pensions/PensionsModule.js:1046 msgid "Failed to record withdrawal" msgstr "Échec de l'enregistrement du retrait" -#: /app/lib/Controller/PensionController.php:508 +#: /app/lib/Controller/PensionController.php:514 msgid "Contribution deleted successfully" msgstr "Contribution supprimée avec succès" -#: /app/lib/Controller/PensionController.php:510 +#: /app/lib/Controller/PensionController.php:516 msgid "Failed to delete contribution" msgstr "Impossible de supprimer la contribution" -#: /app/lib/Controller/PensionController.php:528 +#: /app/lib/Controller/PensionController.php:534 msgid "Failed to retrieve balance history" msgstr "Échec de la récupération de l'historique du solde" -#: /app/lib/Controller/PensionController.php:542 +#: /app/lib/Controller/PensionController.php:548 msgid "Failed to retrieve pension activity" msgstr "Échec de la récupération des activités liées à la pension de retraite" -#: /app/lib/Controller/PensionController.php:558 +#: /app/lib/Controller/PensionController.php:564 msgid "Failed to retrieve recurring contributions" msgstr "Échec de la récupération des contributions récurrentes" -#: /app/lib/Controller/PensionController.php:580 +#: /app/lib/Controller/PensionController.php:586 msgid "Amount, frequency and next date are required" msgstr "Le montant, la fréquence et l'échéance sont requis" -#: /app/lib/Controller/PensionController.php:586 +#: /app/lib/Controller/PensionController.php:592 msgid "Next date" msgstr "Échéance" -#: /app/lib/Controller/PensionController.php:611 +#: /app/lib/Controller/PensionController.php:619 msgid "Failed to create recurring contribution" msgstr "Échec de la création de la contribution récurrente" -#: /app/lib/Controller/PensionController.php:625 +#: /app/lib/Controller/PensionController.php:635 msgid "Failed to update recurring contribution" msgstr "Échec de la mise à jour de la contribution récurrente" -#: /app/lib/Controller/PensionController.php:636 +#: /app/lib/Controller/PensionController.php:646 msgid "Recurring contribution deleted" msgstr "Contribution récurrente supprimée" -#: /app/lib/Controller/PensionController.php:638 +#: /app/lib/Controller/PensionController.php:648 msgid "Failed to delete recurring contribution" msgstr "Échec de la suppression de la contribution récurrente" -#: /app/lib/Controller/PensionController.php:653 -#: /app/src/modules/pensions/PensionsModule.js:1109 +#: /app/lib/Controller/PensionController.php:672 +#: /app/src/modules/pensions/PensionsModule.js:1230 msgid "Failed to post contribution" msgstr "Échec de la publication de la contribution" -#: /app/lib/Controller/PensionController.php:669 +#: /app/lib/Controller/PensionController.php:690 +#: /app/src/modules/pensions/PensionsModule.js:1246 +#, fuzzy +#| msgid "Failed to delete contribution" +msgid "Failed to undo the contribution" +msgstr "Impossible de supprimer la contribution" + +#: /app/lib/Controller/PensionController.php:706 msgid "Failed to retrieve pension summary" msgstr "Impossible de récupérer le résumé de la pension" -#: /app/lib/Controller/PensionController.php:682 +#: /app/lib/Controller/PensionController.php:719 msgid "Failed to retrieve pension projection" msgstr "Impossible de récupérer les prévisions de la pension" -#: /app/lib/Controller/PensionController.php:695 +#: /app/lib/Controller/PensionController.php:732 msgid "Failed to retrieve combined pension projection" msgstr "Impossible de récupérer les prévisions combinées des pensions" @@ -1747,72 +1795,68 @@ msgstr "Échec du chargement du projet" #: /app/lib/Controller/ProjectController.php:107 #: /app/lib/Controller/ProjectController.php:147 -#: /app/lib/Controller/ProjectController.php:203 -#: /app/src/modules/projects/ProjectsModule.js:353 -#: /app/src/modules/projects/ProjectsModule.js:363 +#: /app/lib/Controller/ProjectController.php:205 +#: /app/src/modules/projects/ProjectsModule.js:354 +#: /app/src/modules/projects/ProjectsModule.js:364 msgid "Failed to save the project" msgstr "Échec de l'enregistrement du projet" -#: /app/lib/Controller/ProjectController.php:163 -msgid "Only the owner can delete this project" -msgstr "Seul le propriétaire du projet peut le supprimer" - -#: /app/lib/Controller/ProjectController.php:172 -#: /app/src/modules/projects/ProjectsModule.js:201 -#: /app/src/modules/projects/ProjectsModule.js:207 +#: /app/lib/Controller/ProjectController.php:173 +#: /app/src/modules/projects/ProjectsModule.js:202 +#: /app/src/modules/projects/ProjectsModule.js:208 msgid "Failed to delete the project" msgstr "Échec de la suppression du projet" -#: /app/lib/Controller/ProjectController.php:186 +#: /app/lib/Controller/ProjectController.php:188 msgid "Project" msgstr "Projet" -#: /app/lib/Controller/ProjectController.php:193 -#: /app/src/modules/projects/ProjectsModule.js:332 +#: /app/lib/Controller/ProjectController.php:195 +#: /app/src/modules/projects/ProjectsModule.js:333 msgid "Enter a name for the project" msgstr "Saisir un nom pour le projet" -#: /app/lib/Controller/ProjectController.php:194 -#: /app/src/modules/projects/ProjectsModule.js:334 +#: /app/lib/Controller/ProjectController.php:196 +#: /app/src/modules/projects/ProjectsModule.js:335 msgid "The total must be more than zero" msgstr "Le total doit être supérieur à zéro" -#: /app/lib/Controller/ProjectController.php:195 +#: /app/lib/Controller/ProjectController.php:197 msgid "Choose one of your own expense categories" msgstr "Choisissez l'une de vos propres catégories de dépenses" -#: /app/lib/Controller/ProjectController.php:196 -#: /app/src/modules/projects/ProjectsModule.js:335 +#: /app/lib/Controller/ProjectController.php:198 +#: /app/src/modules/projects/ProjectsModule.js:336 msgid "Enter a start date for the project" msgstr "Saisir une date de début pour le projet" -#: /app/lib/Controller/ProjectController.php:197 -#: /app/src/modules/projects/ProjectsModule.js:336 +#: /app/lib/Controller/ProjectController.php:199 +#: /app/src/modules/projects/ProjectsModule.js:337 msgid "The end date cannot be before the start date" msgstr "La date de fin ne peut pas être antérieure à la date de début" -#: /app/lib/Controller/ProjectController.php:198 +#: /app/lib/Controller/ProjectController.php:200 msgid "Every subcategory amount must be more than zero" msgstr "Le montant de chaque sous-catégorie doit être supérieur à zéro" -#: /app/lib/Controller/ProjectController.php:199 +#: /app/lib/Controller/ProjectController.php:201 msgid "Amounts can only go to subcategories of the project category" msgstr "" "Les montants ne peuvent être affectés qu'aux sous-catégories de la catégorie " "« projet »" -#: /app/lib/Controller/ProjectController.php:200 +#: /app/lib/Controller/ProjectController.php:202 msgid "Each subcategory can only have one amount" msgstr "Chaque sous-catégorie ne peut avoir qu'un seul montant" -#: /app/lib/Controller/ProjectController.php:201 +#: /app/lib/Controller/ProjectController.php:203 msgid "A subcategory and one of its own subcategories cannot both have amounts" msgstr "" "Une sous-catégorie et l'une de ses propres sous-catégories ne peuvent pas " "avoir toutes les deux des montants" -#: /app/lib/Controller/ProjectController.php:202 -#: /app/src/modules/projects/ProjectsModule.js:338 +#: /app/lib/Controller/ProjectController.php:204 +#: /app/src/modules/projects/ProjectsModule.js:339 msgid "The subcategory amounts add up to more than the total" msgstr "" "Le total des montants des sous-catégories est supérieur au total général" @@ -1847,65 +1891,68 @@ msgstr "Un rapprochement est déjà en cours pour ce compte" msgid "Failed to load reconciliation history" msgstr "Échec du chargement de l'historique de rapprochement" -#: /app/lib/Controller/RecurringIncomeController.php:76 +#: /app/lib/Controller/RecurringIncomeController.php:80 msgid "Failed to retrieve recurring income" msgstr "Impossible de récupérer les revenus récurrents" -#: /app/lib/Controller/RecurringIncomeController.php:89 -#: /app/lib/Controller/RecurringIncomeController.php:103 -#: /app/lib/Controller/RecurringIncomeController.php:339 -#: /app/lib/Controller/RecurringIncomeController.php:354 -#: /app/lib/Controller/RecurringIncomeController.php:411 -#: /app/lib/Controller/RecurringIncomeController.php:428 -#: /app/lib/Controller/RecurringIncomeController.php:450 -#: /app/lib/Service/AccountClosureService.php:81 +#: /app/lib/Controller/RecurringIncomeController.php:93 +#: /app/lib/Controller/RecurringIncomeController.php:109 +#: /app/lib/Controller/RecurringIncomeController.php:348 +#: /app/lib/Controller/RecurringIncomeController.php:367 +#: /app/lib/Controller/RecurringIncomeController.php:430 +#: /app/lib/Controller/RecurringIncomeController.php:447 +#: /app/lib/Controller/RecurringIncomeController.php:464 +#: /app/lib/Controller/RecurringIncomeController.php:486 +#: /app/lib/Service/AccountClosureService.php:82 msgid "Recurring income" msgstr "Revenus récurrents" -#: /app/lib/Controller/RecurringIncomeController.php:171 -#: /app/lib/Controller/RecurringIncomeController.php:297 +#: /app/lib/Controller/RecurringIncomeController.php:177 +#: /app/lib/Controller/RecurringIncomeController.php:303 +#: /app/lib/Controller/RecurringIncomeController.php:577 msgid "Expected day must be between 1 and 31" msgstr "Le jour prévu doit être compris entre 1 et 31" -#: /app/lib/Controller/RecurringIncomeController.php:176 -#: /app/lib/Controller/RecurringIncomeController.php:304 +#: /app/lib/Controller/RecurringIncomeController.php:182 +#: /app/lib/Controller/RecurringIncomeController.php:310 +#: /app/lib/Controller/RecurringIncomeController.php:580 msgid "Expected month must be between 1 and 12" msgstr "Le mois prévu doit être compris entre 1 et 12" -#: /app/lib/Controller/RecurringIncomeController.php:236 +#: /app/lib/Controller/RecurringIncomeController.php:242 msgid "Failed to create recurring income" msgstr "Impossible de créer le revenu récurrent" -#: /app/lib/Controller/RecurringIncomeController.php:264 +#: /app/lib/Controller/RecurringIncomeController.php:270 msgid "No data provided" msgstr "Aucune donnée fournie" -#: /app/lib/Controller/RecurringIncomeController.php:352 +#: /app/lib/Controller/RecurringIncomeController.php:365 msgid "Recurring income deleted" msgstr "Revenu récurrent supprimé" -#: /app/lib/Controller/RecurringIncomeController.php:367 +#: /app/lib/Controller/RecurringIncomeController.php:380 msgid "Failed to retrieve upcoming income" msgstr "Impossible de récupérer les revenus à venir" -#: /app/lib/Controller/RecurringIncomeController.php:380 +#: /app/lib/Controller/RecurringIncomeController.php:393 msgid "Failed to retrieve expected income" msgstr "Impossible de récupérer les revenus attendus" -#: /app/lib/Controller/RecurringIncomeController.php:393 +#: /app/lib/Controller/RecurringIncomeController.php:406 msgid "Failed to retrieve income summary" msgstr "Impossible de récupérer le résumé des revenus" -#: /app/lib/Controller/RecurringIncomeController.php:442 +#: /app/lib/Controller/RecurringIncomeController.php:478 msgid "Previous expected date" -msgstr "" +msgstr "Date prévue précédemment" -#: /app/lib/Controller/RecurringIncomeController.php:463 -#: /app/src/modules/income/IncomeModule.js:712 +#: /app/lib/Controller/RecurringIncomeController.php:499 +#: /app/src/modules/income/IncomeModule.js:719 msgid "Failed to detect recurring income" msgstr "Impossible de détecter les revenus récurrents" -#: /app/lib/Controller/RecurringIncomeController.php:496 +#: /app/lib/Controller/RecurringIncomeController.php:545 msgid "Failed to create recurring income from detected patterns" msgstr "" "Impossible de créer des revenus récurrents à partir des modèles détectés" @@ -1927,7 +1974,7 @@ msgid "Failed to generate income and expenses report" msgstr "Impossible de générer le rapport des revenus et dépenses" #: /app/lib/Controller/ReportController.php:226 -#: /app/src/modules/reports/ReportsModule.js:1611 +#: /app/src/modules/reports/ReportsModule.js:1612 msgid "Failed to export report" msgstr "Impossible d’exporter le rapport" @@ -2051,57 +2098,57 @@ msgid "Monday" msgstr "Lundi" #: /app/lib/Controller/SettingController.php:321 -#: /app/src/modules/bills/BillsModule.js:331 -#: /app/src/modules/categories/CategoriesModule.js:2360 -#: /app/src/modules/income/IncomeModule.js:110 -#: /app/src/modules/transfers/TransfersModule.js:330 -#: /app/src/modules/transfers/TransfersModule.js:503 -#: /app/src/modules/transfers/TransfersModule.js:1103 +#: /app/src/modules/bills/BillsModule.js:319 +#: /app/src/modules/categories/CategoriesModule.js:2422 +#: /app/src/modules/income/IncomeModule.js:98 +#: /app/src/modules/transfers/TransfersModule.js:316 +#: /app/src/modules/transfers/TransfersModule.js:478 +#: /app/src/modules/transfers/TransfersModule.js:1120 #: /app/templates/index.php:4435 /app/templates/index.php:4594 -#: /app/templates/index.php:6188 /app/templates/index.php:6678 +#: /app/templates/index.php:6188 /app/templates/index.php:6679 msgid "Weekly" msgstr "Hebdomadaire" #: /app/lib/Controller/SettingController.php:322 -#: /app/src/modules/accounts/AccountsModule.js:1368 -#: /app/src/modules/bills/BillsModule.js:334 -#: /app/src/modules/categories/CategoriesModule.js:2359 -#: /app/src/modules/income/IncomeModule.js:113 -#: /app/src/modules/pensions/PensionsModule.js:1026 -#: /app/src/modules/transfers/TransfersModule.js:333 -#: /app/src/modules/transfers/TransfersModule.js:506 -#: /app/src/modules/transfers/TransfersModule.js:1106 +#: /app/src/modules/accounts/AccountsModule.js:1371 +#: /app/src/modules/bills/BillsModule.js:322 +#: /app/src/modules/categories/CategoriesModule.js:2421 +#: /app/src/modules/income/IncomeModule.js:101 +#: /app/src/modules/pensions/PensionsModule.js:1098 +#: /app/src/modules/transfers/TransfersModule.js:319 +#: /app/src/modules/transfers/TransfersModule.js:481 +#: /app/src/modules/transfers/TransfersModule.js:1123 #: /app/templates/index.php:4436 /app/templates/index.php:4595 #: /app/templates/index.php:5529 /app/templates/index.php:6088 -#: /app/templates/index.php:6191 /app/templates/index.php:6681 +#: /app/templates/index.php:6191 /app/templates/index.php:6682 msgid "Monthly" msgstr "Mensuel" #: /app/lib/Controller/SettingController.php:323 -#: /app/src/modules/bills/BillsModule.js:335 -#: /app/src/modules/categories/CategoriesModule.js:2361 -#: /app/src/modules/income/IncomeModule.js:114 -#: /app/src/modules/pensions/PensionsModule.js:1027 -#: /app/src/modules/transfers/TransfersModule.js:334 -#: /app/src/modules/transfers/TransfersModule.js:507 -#: /app/src/modules/transfers/TransfersModule.js:1107 +#: /app/src/modules/bills/BillsModule.js:323 +#: /app/src/modules/categories/CategoriesModule.js:2423 +#: /app/src/modules/income/IncomeModule.js:102 +#: /app/src/modules/pensions/PensionsModule.js:1099 +#: /app/src/modules/transfers/TransfersModule.js:320 +#: /app/src/modules/transfers/TransfersModule.js:482 +#: /app/src/modules/transfers/TransfersModule.js:1124 #: /app/templates/index.php:4437 /app/templates/index.php:5530 -#: /app/templates/index.php:6192 /app/templates/index.php:6682 +#: /app/templates/index.php:6192 /app/templates/index.php:6683 msgid "Quarterly" msgstr "Trimestriel" #: /app/lib/Controller/SettingController.php:324 -#: /app/src/modules/accounts/AccountsModule.js:1369 -#: /app/src/modules/bills/BillsModule.js:337 -#: /app/src/modules/categories/CategoriesModule.js:2362 -#: /app/src/modules/income/IncomeModule.js:116 -#: /app/src/modules/pensions/PensionsModule.js:1028 -#: /app/src/modules/transfers/TransfersModule.js:336 -#: /app/src/modules/transfers/TransfersModule.js:508 -#: /app/src/modules/transfers/TransfersModule.js:1109 +#: /app/src/modules/accounts/AccountsModule.js:1372 +#: /app/src/modules/bills/BillsModule.js:325 +#: /app/src/modules/categories/CategoriesModule.js:2424 +#: /app/src/modules/income/IncomeModule.js:104 +#: /app/src/modules/pensions/PensionsModule.js:1100 +#: /app/src/modules/transfers/TransfersModule.js:322 +#: /app/src/modules/transfers/TransfersModule.js:484 +#: /app/src/modules/transfers/TransfersModule.js:1126 #: /app/templates/index.php:4438 /app/templates/index.php:5531 #: /app/templates/index.php:6089 /app/templates/index.php:6194 -#: /app/templates/index.php:6684 +#: /app/templates/index.php:6685 msgid "Yearly" msgstr "Annuelle" @@ -2143,14 +2190,14 @@ msgstr "" "La réinitialisation complète nécessite le paramètre confirmed=true. Cela " "supprimera définitivement TOUTES vos données." -#: /app/lib/Controller/SetupController.php:158 /app/src/main.js:2144 +#: /app/lib/Controller/SetupController.php:158 /app/src/main.js:2177 #: /app/src/modules/settings/SettingsModule.js:605 msgid "Factory reset completed successfully. All data has been deleted." msgstr "" "La réinitialisation complète a été effectuée avec succès. Toutes les données " "ont été supprimées." -#: /app/lib/Controller/SetupController.php:162 /app/src/main.js:2137 +#: /app/lib/Controller/SetupController.php:162 /app/src/main.js:2170 #: /app/src/modules/settings/SettingsModule.js:598 msgid "Factory reset failed" msgstr "Échec de la réinitialisation complète" @@ -2159,7 +2206,7 @@ msgstr "Échec de la réinitialisation complète" msgid "Balance recalculation failed" msgstr "Le recalcul du solde a échoué" -#: /app/lib/Controller/SetupController.php:201 /app/src/main.js:1739 +#: /app/lib/Controller/SetupController.php:201 /app/src/main.js:1742 msgid "Diagnosis failed" msgstr "Échec du diagnostic" @@ -2171,77 +2218,77 @@ msgstr "Aucune catégorie de réparation spécifiée" msgid "No valid repair categories specified" msgstr "Aucune catégorie de réparation valide n'a été spécifiée" -#: /app/lib/Controller/SetupController.php:256 /app/src/main.js:2004 +#: /app/lib/Controller/SetupController.php:264 /app/src/main.js:2037 msgid "Repair failed" msgstr "Échec de la réparation" -#: /app/lib/Controller/SetupController.php:371 +#: /app/lib/Controller/SetupController.php:379 msgid "Failed to get system info" msgstr "Échec de la récupération des informations système" -#: /app/lib/Controller/ShareController.php:58 -#: /app/lib/Controller/ShareController.php:72 +#: /app/lib/Controller/ShareController.php:61 +#: /app/lib/Controller/ShareController.php:75 msgid "Failed to retrieve shares" msgstr "Échec de la récupération des partages" -#: /app/lib/Controller/ShareController.php:86 +#: /app/lib/Controller/ShareController.php:89 msgid "Failed to retrieve pending shares" msgstr "Échec de la récupération des partages en attente" -#: /app/lib/Controller/ShareController.php:103 +#: /app/lib/Controller/ShareController.php:106 msgid "Failed to create share" msgstr "Échec de la création du partage" -#: /app/lib/Controller/ShareController.php:119 -#: /app/lib/Controller/ShareController.php:137 -#: /app/lib/Controller/ShareController.php:155 -#: /app/lib/Controller/ShareController.php:173 -#: /app/lib/Controller/ShareController.php:198 -#: /app/lib/Controller/ShareController.php:232 +#: /app/lib/Controller/ShareController.php:122 +#: /app/lib/Controller/ShareController.php:140 +#: /app/lib/Controller/ShareController.php:160 +#: /app/lib/Controller/ShareController.php:179 +#: /app/lib/Controller/ShareController.php:204 +#: /app/lib/Controller/ShareController.php:241 msgid "Share" msgstr "Partage" -#: /app/lib/Controller/ShareController.php:121 -#: /app/src/modules/sharing/SharingModule.js:413 +#: /app/lib/Controller/ShareController.php:124 +#: /app/src/modules/sharing/SharingModule.js:419 msgid "Failed to accept share" msgstr "Échec de l'acceptation du partage" -#: /app/lib/Controller/ShareController.php:139 -#: /app/src/modules/sharing/SharingModule.js:421 +#: /app/lib/Controller/ShareController.php:142 +#: /app/src/modules/sharing/SharingModule.js:427 msgid "Failed to decline share" msgstr "Échec du refus du partage" -#: /app/lib/Controller/ShareController.php:157 -#: /app/src/modules/sharing/SharingModule.js:431 +#: /app/lib/Controller/ShareController.php:162 +#: /app/src/modules/sharing/SharingModule.js:437 msgid "Failed to revoke share" msgstr "Échec de la révocation du partage" -#: /app/lib/Controller/ShareController.php:175 -#: /app/src/modules/sharing/SharingModule.js:441 +#: /app/lib/Controller/ShareController.php:181 +#: /app/src/modules/sharing/SharingModule.js:447 msgid "Failed to leave share" msgstr "Échec de la sortie du partage" -#: /app/lib/Controller/ShareController.php:192 +#: /app/lib/Controller/ShareController.php:198 msgid "Share not found" msgstr "Partage introuvable" -#: /app/lib/Controller/ShareController.php:200 +#: /app/lib/Controller/ShareController.php:206 msgid "Failed to retrieve share configuration" msgstr "Échec de la récupération de la configuration du partage" -#: /app/lib/Controller/ShareController.php:216 +#: /app/lib/Controller/ShareController.php:222 msgid "Invalid entity IDs" msgstr "Identifiants d'entité non valides" -#: /app/lib/Controller/ShareController.php:234 +#: /app/lib/Controller/ShareController.php:243 msgid "Failed to update share configuration" msgstr "Échec de la mise à jour de la configuration du partage" -#: /app/lib/Controller/ShareController.php:255 +#: /app/lib/Controller/ShareController.php:264 msgid "Failed to retrieve auto-share configuration" msgstr "Échec de la récupération de la configuration de partage automatique" -#: /app/lib/Controller/ShareController.php:274 +#: /app/lib/Controller/ShareController.php:283 msgid "Failed to update auto-share configuration" msgstr "Échec de la mise à jour de la configuration de partage automatique" @@ -2294,7 +2341,7 @@ msgstr "Échec du partage de la dépense" #: /app/lib/Controller/SharedExpenseController.php:357 msgid "Failed to split expense" -msgstr "Échec du fractionnement de la dépense" +msgstr "Échec de la ventilation de la dépense" #: /app/lib/Controller/SharedExpenseController.php:383 msgid "Each person can only be in a split once" @@ -2446,145 +2493,145 @@ msgstr "Échec de la mise à jour de l'étiquette générale" msgid "Failed to delete global tag" msgstr "Échec de la suppression de l'étiquette générale" -#: /app/lib/Controller/TransactionController.php:248 -#: /app/src/modules/accounts/AccountsModule.js:3451 -#: /app/src/modules/transactions/TransactionsModule.js:957 +#: /app/lib/Controller/TransactionController.php:251 +#: /app/src/modules/accounts/AccountsModule.js:3461 +#: /app/src/modules/transactions/TransactionsModule.js:983 msgid "Failed to export transactions" msgstr "Échec de l'export des opérations" -#: /app/lib/Controller/TransactionController.php:281 -#: /app/lib/Controller/TransactionController.php:536 -#: /app/lib/Controller/TransactionController.php:608 -#: /app/lib/Controller/TransactionController.php:639 -#: /app/lib/Controller/TransactionController.php:667 -#: /app/lib/Controller/TransactionController.php:922 -#: /app/lib/Controller/TransactionController.php:964 -#: /app/lib/Controller/TransactionController.php:981 -#: /app/lib/Controller/TransactionController.php:1026 /app/src/main.js:1895 -#: /app/src/modules/dashboard/DashboardModule.js:1328 +#: /app/lib/Controller/TransactionController.php:284 +#: /app/lib/Controller/TransactionController.php:539 +#: /app/lib/Controller/TransactionController.php:614 +#: /app/lib/Controller/TransactionController.php:645 +#: /app/lib/Controller/TransactionController.php:673 +#: /app/lib/Controller/TransactionController.php:942 +#: /app/lib/Controller/TransactionController.php:984 +#: /app/lib/Controller/TransactionController.php:1001 +#: /app/lib/Controller/TransactionController.php:1046 /app/src/main.js:1922 +#: /app/src/modules/dashboard/DashboardModule.js:1387 #: /app/templates/index.php:5803 msgid "Transaction" msgstr "Opération" -#: /app/lib/Controller/TransactionController.php:480 +#: /app/lib/Controller/TransactionController.php:483 msgid "Invalid status. Must be cleared, scheduled or pending" msgstr "Statut invalide. Doit être réglé, planifié ou en attente" -#: /app/lib/Controller/TransactionController.php:511 -#: /app/src/modules/transactions/TransactionsModule.js:5096 +#: /app/lib/Controller/TransactionController.php:514 +#: /app/src/modules/transactions/TransactionsModule.js:5147 msgid "Failed to update transaction" msgstr "Échec de la mise à jour de l'opération" -#: /app/lib/Controller/TransactionController.php:548 +#: /app/lib/Controller/TransactionController.php:551 msgid "Failed to search transactions" msgstr "Échec de la recherche d'opérations" -#: /app/lib/Controller/TransactionController.php:560 +#: /app/lib/Controller/TransactionController.php:563 msgid "Failed to retrieve uncategorized transactions" msgstr "Échec de la récupération des opérations non catégorisées" -#: /app/lib/Controller/TransactionController.php:573 +#: /app/lib/Controller/TransactionController.php:576 msgid "Failed to categorize transactions" msgstr "Échec de la catégorisation des opérations" -#: /app/lib/Controller/TransactionController.php:689 /app/src/main.js:3518 -#: /app/src/modules/transactions/TransactionsModule.js:3690 +#: /app/lib/Controller/TransactionController.php:698 /app/src/main.js:3552 +#: /app/src/modules/transactions/TransactionsModule.js:3741 msgid "Failed to unlink transaction" msgstr "Échec de la dissociation de l'opération" -#: /app/lib/Controller/TransactionController.php:706 +#: /app/lib/Controller/TransactionController.php:726 msgid "Failed to bulk match transactions" msgstr "Échec de la mise en correspondance des opérations" -#: /app/lib/Controller/TransactionController.php:721 +#: /app/lib/Controller/TransactionController.php:741 msgid "Failed to scan for matches" msgstr "Échec de la recherche de correspondances" -#: /app/lib/Controller/TransactionController.php:737 +#: /app/lib/Controller/TransactionController.php:757 msgid "No valid pairs provided" msgstr "Aucune paire valide fournie" -#: /app/lib/Controller/TransactionController.php:743 +#: /app/lib/Controller/TransactionController.php:763 msgid "Failed to bulk link transactions" msgstr "Échec de la mise en correspondance des opérations" -#: /app/lib/Controller/TransactionController.php:756 -#: /app/lib/Controller/TransactionController.php:775 -#: /app/lib/Controller/TransactionController.php:794 -#: /app/lib/Controller/TransactionController.php:865 -#: /app/lib/Controller/TransactionController.php:898 +#: /app/lib/Controller/TransactionController.php:776 +#: /app/lib/Controller/TransactionController.php:795 +#: /app/lib/Controller/TransactionController.php:814 +#: /app/lib/Controller/TransactionController.php:885 +#: /app/lib/Controller/TransactionController.php:918 msgid "No transaction IDs provided" msgstr "Aucun identifiant d'opération fourni" -#: /app/lib/Controller/TransactionController.php:762 -#: /app/src/modules/transactions/TransactionsModule.js:1092 +#: /app/lib/Controller/TransactionController.php:782 +#: /app/src/modules/transactions/TransactionsModule.js:1118 msgid "Failed to delete transactions" msgstr "Échec de la suppression des opérations" -#: /app/lib/Controller/TransactionController.php:781 +#: /app/lib/Controller/TransactionController.php:801 msgid "Failed to update reconcile status" msgstr "Échec de la mise à jour du statut de rapprochement" -#: /app/lib/Controller/TransactionController.php:798 +#: /app/lib/Controller/TransactionController.php:818 msgid "No update fields provided" msgstr "Aucun champ de mise à jour fourni" -#: /app/lib/Controller/TransactionController.php:806 +#: /app/lib/Controller/TransactionController.php:826 #, php-format msgid "Invalid fields: %1$s" msgstr "Champs invalides : %1$s" -#: /app/lib/Controller/TransactionController.php:847 +#: /app/lib/Controller/TransactionController.php:867 msgid "Failed to bulk edit transactions" msgstr "Échec de la modification des opérations" -#: /app/lib/Controller/TransactionController.php:869 +#: /app/lib/Controller/TransactionController.php:889 msgid "No tags provided" msgstr "Aucune étiquette fournie" -#: /app/lib/Controller/TransactionController.php:881 +#: /app/lib/Controller/TransactionController.php:901 msgid "Failed to update transaction tags" msgstr "Échec de la mise à jour des étiquettes de l'opération" -#: /app/lib/Controller/TransactionController.php:908 +#: /app/lib/Controller/TransactionController.php:928 msgid "Failed to load tag options" msgstr "Échec du chargement des options d'étiquettes" -#: /app/lib/Controller/TransactionController.php:937 +#: /app/lib/Controller/TransactionController.php:957 msgid "Invalid splits data" -msgstr "Données de fractionnement invalides" +msgstr "Données de ventilation invalides" -#: /app/lib/Controller/TransactionController.php:952 +#: /app/lib/Controller/TransactionController.php:972 #, php-format msgid "Split %1$s: amount is required" msgstr "Ventilation %1$s : le montant est requis" -#: /app/lib/Controller/TransactionController.php:955 +#: /app/lib/Controller/TransactionController.php:975 #, php-format msgid "Split %1$s: amount cannot be zero" msgstr "Ventilation %1$s : Le montant ne peut pas être négatif" -#: /app/lib/Controller/TransactionController.php:1004 -#: /app/src/modules/bills/BillsModule.js:364 -#: /app/src/modules/dashboard/DashboardModule.js:1284 -#: /app/src/modules/rules/RulesModule.js:986 -#: /app/src/modules/transactions/TransactionsModule.js:5249 +#: /app/lib/Controller/TransactionController.php:1024 +#: /app/src/modules/bills/BillsModule.js:353 +#: /app/src/modules/dashboard/DashboardModule.js:1343 +#: /app/src/modules/rules/RulesModule.js:1001 +#: /app/src/modules/transactions/TransactionsModule.js:5300 #: /app/src/modules/transactions/transactionRow.js:68 #: /app/src/modules/transactions/transactionRow.js:182 #: /app/src/modules/transactions/transactionRow.js:224 #: /app/templates/index.php:1474 /app/templates/index.php:1638 msgid "Split" -msgstr "Fractionnement" +msgstr "Ventilée" -#: /app/lib/Controller/TransactionController.php:1052 +#: /app/lib/Controller/TransactionController.php:1072 msgid "Failed to set transaction tags" msgstr "Échec de la définition des étiquettes de l'opération" -#: /app/lib/Controller/TransactionController.php:1067 +#: /app/lib/Controller/TransactionController.php:1087 msgid "Failed to clear transaction tags" msgstr "Échec de la suppression des étiquettes de l'opération" -#: /app/lib/Controller/TransactionController.php:1085 +#: /app/lib/Controller/TransactionController.php:1105 msgid "Failed to find duplicates" msgstr "Impossible de trouver des doublons" @@ -2614,7 +2661,7 @@ msgstr "Comparaison sur l'année" #: /app/lib/Controller/YearOverYearController.php:238 #: /app/lib/Service/Report/ReportExporter.php:306 -#: /app/lib/Service/Report/ReportExporter.php:543 /app/src/main.js:2736 +#: /app/lib/Service/Report/ReportExporter.php:543 /app/src/main.js:2770 #: /app/templates/index.php:3486 /app/templates/index.php:3535 msgid "Month" msgstr "Mois" @@ -2639,28 +2686,28 @@ msgstr "Année" #: /app/lib/Service/Report/ReportExporter.php:544 #: /app/lib/Service/Report/ReportExporter.php:594 #: /app/src/core/KeyboardShortcuts.js:354 -#: /app/src/modules/categories/CategoriesModule.js:763 -#: /app/src/modules/categories/CategoriesModule.js:905 -#: /app/src/modules/categories/CategoriesModule.js:1675 -#: /app/src/modules/dashboard/DashboardModule.js:2329 -#: /app/src/modules/dashboard/DashboardModule.js:2857 -#: /app/src/modules/dashboard/DashboardModule.js:3182 -#: /app/src/modules/dashboard/DashboardModule.js:3245 -#: /app/src/modules/dashboard/DashboardModule.js:5497 +#: /app/src/modules/categories/CategoriesModule.js:771 +#: /app/src/modules/categories/CategoriesModule.js:913 +#: /app/src/modules/categories/CategoriesModule.js:1715 +#: /app/src/modules/dashboard/DashboardModule.js:2492 +#: /app/src/modules/dashboard/DashboardModule.js:3054 +#: /app/src/modules/dashboard/DashboardModule.js:3379 +#: /app/src/modules/dashboard/DashboardModule.js:3442 +#: /app/src/modules/dashboard/DashboardModule.js:5751 #: /app/src/modules/help/HelpModule.js:33 #: /app/src/modules/reports/ReportsModule.js:751 -#: /app/src/modules/reports/ReportsModule.js:1144 -#: /app/src/modules/reports/ReportsModule.js:1450 -#: /app/src/modules/reports/ReportsModule.js:1466 -#: /app/src/modules/reports/ReportsModule.js:1511 -#: /app/src/modules/rules/components/ActionBuilder.js:327 +#: /app/src/modules/reports/ReportsModule.js:1145 +#: /app/src/modules/reports/ReportsModule.js:1451 +#: /app/src/modules/reports/ReportsModule.js:1467 +#: /app/src/modules/reports/ReportsModule.js:1512 +#: /app/src/modules/rules/components/ActionBuilder.js:418 #: /app/src/modules/rules/components/CriteriaBuilder.js:218 #: /app/templates/index.php:103 /app/templates/index.php:1047 #: /app/templates/index.php:1472 /app/templates/index.php:1636 #: /app/templates/index.php:1878 /app/templates/index.php:2224 #: /app/templates/index.php:3324 /app/templates/index.php:3342 #: /app/templates/index.php:3487 /app/templates/index.php:5811 -#: /app/templates/index.php:5817 /app/templates/index.php:6813 +#: /app/templates/index.php:5817 /app/templates/index.php:6814 #: /app/templates/quick-add.php:35 msgid "Income" msgstr "Revenu" @@ -2673,24 +2720,24 @@ msgstr "Revenu" #: /app/lib/Service/Report/ReportExporter.php:470 #: /app/lib/Service/Report/ReportExporter.php:545 #: /app/lib/Service/Report/ReportExporter.php:596 -#: /app/src/modules/dashboard/DashboardModule.js:2334 -#: /app/src/modules/dashboard/DashboardModule.js:2866 -#: /app/src/modules/dashboard/DashboardModule.js:3183 -#: /app/src/modules/dashboard/DashboardModule.js:3252 +#: /app/src/modules/dashboard/DashboardModule.js:2497 +#: /app/src/modules/dashboard/DashboardModule.js:3063 +#: /app/src/modules/dashboard/DashboardModule.js:3380 +#: /app/src/modules/dashboard/DashboardModule.js:3449 #: /app/src/modules/reports/ReportsModule.js:758 -#: /app/src/modules/reports/ReportsModule.js:1152 -#: /app/src/modules/reports/ReportsModule.js:1453 -#: /app/src/modules/reports/ReportsModule.js:1470 -#: /app/src/modules/reports/ReportsModule.js:1518 /app/templates/index.php:1875 +#: /app/src/modules/reports/ReportsModule.js:1153 +#: /app/src/modules/reports/ReportsModule.js:1454 +#: /app/src/modules/reports/ReportsModule.js:1471 +#: /app/src/modules/reports/ReportsModule.js:1519 /app/templates/index.php:1875 #: /app/templates/index.php:2221 /app/templates/index.php:3325 #: /app/templates/index.php:3360 /app/templates/index.php:3488 msgid "Expenses" msgstr "Dépenses" #: /app/lib/Controller/YearOverYearController.php:250 -#: /app/src/modules/dashboard/DashboardModule.js:1038 -#: /app/src/modules/dashboard/DashboardModule.js:2248 -#: /app/src/modules/reports/ReportsModule.js:1474 +#: /app/src/modules/dashboard/DashboardModule.js:1097 +#: /app/src/modules/dashboard/DashboardModule.js:2411 +#: /app/src/modules/reports/ReportsModule.js:1475 #: /app/src/utils/formatters.js:263 msgid "Savings" msgstr "Épargne" @@ -2703,7 +2750,7 @@ msgstr "Épargne" #: /app/lib/Service/Report/ReportExporter.php:573 #: /app/lib/Service/Report/ReportExporter.php:616 #: /app/src/core/KeyboardShortcuts.js:350 -#: /app/src/modules/dashboard/DashboardModule.js:5496 +#: /app/src/modules/dashboard/DashboardModule.js:5750 #: /app/src/modules/help/HelpModule.js:29 /app/templates/index.php:63 #: /app/templates/index.php:1422 /app/templates/index.php:1572 #: /app/templates/index.php:2002 /app/templates/index.php:2596 @@ -2732,17 +2779,17 @@ msgstr "Variation %%" #: /app/lib/Controller/YearOverYearController.php:295 #: /app/lib/Controller/YearOverYearController.php:403 #: /app/lib/Service/Report/ReportExporter.php:224 -#: /app/lib/Service/Report/ReportExporter.php:229 /app/src/main.js:2304 -#: /app/src/main.js:2307 /app/src/main.js:3353 -#: /app/src/modules/accounts/AccountsModule.js:3348 -#: /app/src/modules/dashboard/DashboardModule.js:2357 -#: /app/src/modules/dashboard/DashboardModule.js:2435 -#: /app/src/modules/dashboard/DashboardModule.js:2578 -#: /app/src/modules/dashboard/DashboardModule.js:2717 +#: /app/lib/Service/Report/ReportExporter.php:229 /app/src/main.js:2337 +#: /app/src/main.js:2340 /app/src/main.js:3387 +#: /app/src/modules/accounts/AccountsModule.js:3358 +#: /app/src/modules/dashboard/DashboardModule.js:2520 +#: /app/src/modules/dashboard/DashboardModule.js:2598 +#: /app/src/modules/dashboard/DashboardModule.js:2762 +#: /app/src/modules/dashboard/DashboardModule.js:2909 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:175 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:784 -#: /app/src/modules/transactions/TransactionsModule.js:3652 -#: /app/src/modules/transfers/TransfersModule.js:1281 +#: /app/src/modules/transactions/TransactionsModule.js:3703 +#: /app/src/modules/transfers/TransfersModule.js:1276 msgid "Unknown" msgstr "Inconnu" @@ -2759,7 +2806,7 @@ msgid "Budget: Overview" msgstr "Budget : Vue d'ensemble" #: /app/lib/Dashboard/BudgetOverviewWidget.php:79 -#: /app/src/modules/dashboard/DashboardModule.js:1020 +#: /app/src/modules/dashboard/DashboardModule.js:1079 msgid "No accounts yet" msgstr "Aucun compte pour l'instant" @@ -2804,43 +2851,43 @@ msgstr[1] "Avertissements %n" msgid "Attention" msgstr "Attention" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:42 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:44 msgid "Budget: Upcoming bills" msgstr "Budget : Factures à venir" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:78 -#: /app/src/modules/dashboard/DashboardModule.js:1739 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:80 +#: /app/src/modules/dashboard/DashboardModule.js:1899 #: /app/templates/index.php:726 msgid "No upcoming bills" msgstr "Aucune facture à venir" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:87 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:89 msgid "All bills" msgstr "Toutes les factures" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:116 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:120 msgid "overdue" msgstr "en retard" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:119 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:123 #: /app/lib/Notification/Notifier.php:57 msgid "due today" msgstr "À payer aujourd'hui" -#: /app/lib/Dashboard/UpcomingBillsWidget.php:122 +#: /app/lib/Dashboard/UpcomingBillsWidget.php:126 msgid "due in %n day" msgid_plural "due in %n days" msgstr[0] "à régler dans %n jour" msgstr[1] "à régler dans %n jours" -#: /app/lib/Notification/Notifier.php:31 /app/lib/Service/DigestService.php:150 +#: /app/lib/Notification/Notifier.php:31 /app/lib/Service/DigestService.php:171 #: /app/specialAppInfoFakeDummyForL10nScript.php:2 #: /app/src/core/KeyboardShortcuts.js:353 -#: /app/src/modules/categories/CategoriesModule.js:926 -#: /app/src/modules/categories/CategoriesModule.js:2341 -#: /app/src/modules/dashboard/DashboardModule.js:2165 +#: /app/src/modules/categories/CategoriesModule.js:934 +#: /app/src/modules/categories/CategoriesModule.js:2402 +#: /app/src/modules/dashboard/DashboardModule.js:2328 #: /app/src/modules/help/HelpModule.js:32 -#: /app/src/modules/projects/ProjectsModule.js:145 /app/templates/index.php:93 +#: /app/src/modules/projects/ProjectsModule.js:146 /app/templates/index.php:93 #: /app/templates/index.php:2147 /app/templates/index.php:2232 #: /app/templates/index.php:5136 msgid "Budget" @@ -2926,10 +2973,22 @@ msgstr "" "Motif : {reason}" #: /app/lib/Notification/Notifier.php:329 +#, fuzzy +#| msgid "Scheduled Contributions" +msgid "Scheduled contribution stopped: {pension}" +msgstr "Cotisations programmées" + +#: /app/lib/Notification/Notifier.php:341 +msgid "" +"The {amount} contribution to {pension} could not be posted, so auto-post has " +"been turned off. Reason: {reason}" +msgstr "" + +#: /app/lib/Notification/Notifier.php:374 msgid "{user} shared their budget with you" msgstr "{user} a partagé son budget avec vous" -#: /app/lib/Notification/Notifier.php:341 +#: /app/lib/Notification/Notifier.php:386 msgid "" "{user} has invited you to view their budget. Open Budget to accept or " "decline." @@ -2937,44 +2996,54 @@ msgstr "" "{user} vous a invité à consulter son budget. Ouvrez Budget pour accepter ou " "refuser." -#: /app/lib/Notification/Notifier.php:364 -#: /app/lib/Service/DigestService.php:127 +#: /app/lib/Notification/Notifier.php:409 +#: /app/lib/Service/DigestService.php:148 msgid "Your monthly budget digest" msgstr "Votre récapitulatif budgétaire mensuel" -#: /app/lib/Notification/Notifier.php:365 -#: /app/lib/Service/DigestService.php:126 +#: /app/lib/Notification/Notifier.php:410 +#: /app/lib/Service/DigestService.php:147 msgid "Your weekly budget digest" msgstr "Votre récapitulatif budgétaire hebdomadaire" -#: /app/lib/Notification/Notifier.php:385 -msgid "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " -"and one category is spending unusually." -msgid_plural "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " -"and {anomalies} categories are spending unusually." -msgstr[0] "" -"Revenus {income}, dépenses {expenses} ({net} net). Factures à régler " -"prochainement : {bills}, et une catégorie affiche des dépenses inhabituelles." -msgstr[1] "" -"Revenus {income}, dépenses {expenses} ({net} net). Factures à régler " -"prochainement : {bills}, et {anomalies} catégories affichent des dépenses " -"inhabituelles." - -#. TRANSLATORS: {income}, {expenses}, {net}, {bills} are placeholders — do NOT translate them. Keep all {placeholder} names exactly as-is. -#: /app/lib/Notification/Notifier.php:391 -msgid "" -"Income {income}, spending {expenses} ({net} net). {bills} bills due soon." +#. TRANSLATORS: {income}, {expenses}, {net} are placeholders — do NOT translate them. Keep all {placeholder} names exactly as-is. +#: /app/lib/Notification/Notifier.php:425 +#, fuzzy +#| msgid "" +#| "Income {income}, spending {expenses} ({net} net). {bills} bills due soon." +msgid "Income {income}, spending {expenses} ({net} net)." msgstr "" "Revenus {income}, dépenses {expenses} ({net} net). Factures à régler " "prochainement : {bills}." -#: /app/lib/Notification/Notifier.php:409 +#. TRANSLATORS: {bills} is a placeholder (the number of bills) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:427 +#, fuzzy +#| msgid "No bills due soon" +msgid "{bills} bill due soon." +msgid_plural "{bills} bills due soon." +msgstr[0] "Aucune facture à payer prochainement" +msgstr[1] "Aucune facture à payer prochainement" + +#. TRANSLATORS: {overdue} is a placeholder (the number of bills) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:433 +msgid "{overdue} bill is overdue." +msgid_plural "{overdue} bills are overdue." +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: {anomalies} is a placeholder (the number of categories) — do NOT translate it. +#: /app/lib/Notification/Notifier.php:440 +msgid "One category is spending unusually." +msgid_plural "{anomalies} categories are spending unusually." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Notification/Notifier.php:459 msgid "Unusual spending in {category}" msgstr "Dépenses inhabituelles dans {category}" -#: /app/lib/Notification/Notifier.php:417 +#: /app/lib/Notification/Notifier.php:467 #, php-format msgid "" "{category} spending is {percent}%% above your typical level — {amount} so " @@ -2983,35 +3052,33 @@ msgstr "" "Les dépenses dans la catégorie {category} sont supérieures de {percent}%% à " "votre niveau habituel — {amount} depuis le début du mois." -#: /app/lib/Notification/Notifier.php:438 +#: /app/lib/Notification/Notifier.php:488 msgid "Your Budget report for {month} is ready" msgstr "Votre rapport budgétaire pour {month} est prêt" -#: /app/lib/Notification/Notifier.php:446 +#: /app/lib/Notification/Notifier.php:496 msgid "{file} was saved to your Files." msgstr "{file} a été enregistré dans vos fichiers." -#: /app/lib/Notification/Notifier.php:471 +#: /app/lib/Notification/Notifier.php:521 msgid "{user} added a receipt to your budget" -msgstr "" +msgstr "{user} a ajouté un justificatif à votre budget" -#: /app/lib/Notification/Notifier.php:483 -#, fuzzy -#| msgid "{file} was saved to your Files." +#: /app/lib/Notification/Notifier.php:533 msgid "{file} was saved to your Files for {transaction}." -msgstr "{file} a été enregistré dans vos fichiers." +msgstr "{file} a été enregistré dans vos fichiers pour {transaction}" #. TRANSLATORS: {category} is replaced with the category name. Do NOT translate {category} — keep it exactly as-is. -#: /app/lib/Notification/Notifier.php:510 +#: /app/lib/Notification/Notifier.php:560 msgid "Approaching your {category} budget" msgstr "Évaluation de votre budget {category}" #. TRANSLATORS: {category} is replaced with the category name. Do NOT translate {category} — keep it exactly as-is. -#: /app/lib/Notification/Notifier.php:513 +#: /app/lib/Notification/Notifier.php:563 msgid "{category} is over budget" msgstr "{category} dépasse le budget" -#: /app/lib/Notification/Notifier.php:525 +#: /app/lib/Notification/Notifier.php:575 #, php-format msgid "" "You have spent {spent} of your {budget} budget ({percent}%% of the limit)." @@ -3019,11 +3086,11 @@ msgstr "" "Vous avez dépensé {spent} de votre budget {budget} ({percent}%% de la " "limite)." -#: /app/lib/Notification/Notifier.php:544 +#: /app/lib/Notification/Notifier.php:594 msgid "Your balance is forecast to go negative" msgstr "Votre solde devrait devenir négatif" -#: /app/lib/Notification/Notifier.php:548 +#: /app/lib/Notification/Notifier.php:598 msgid "Your projected balance falls to {balance} in {month}." msgstr "Votre solde prévisionnel s'établit à {balance} en {month}." @@ -3031,7 +3098,7 @@ msgstr "Votre solde prévisionnel s'établit à {balance} en {month}." msgid "Budget transactions" msgstr "Opérations budgétaires" -#: /app/lib/Service/AccountClosureService.php:62 +#: /app/lib/Service/AccountClosureService.php:63 #, php-format msgid "" "This account still has a balance of %1$s. Record the closing withdrawal, or " @@ -3041,7 +3108,7 @@ msgstr "" "clôture ou ajustez le solde d'ouverture pour qu'il soit égal à zéro, puis " "clôturez-le." -#: /app/lib/Service/AccountClosureService.php:69 +#: /app/lib/Service/AccountClosureService.php:70 msgid "" "This account still has transactions dated after today. Delete or move them, " "then close it." @@ -3049,35 +3116,35 @@ msgstr "" "Ce compte comporte encore des opérations postérieures à aujourd'hui. " "Supprimez-les ou transférez-les, puis fermez-le." -#: /app/lib/Service/AccountClosureService.php:79 +#: /app/lib/Service/AccountClosureService.php:80 #: /app/lib/Service/Bill/BillIcsService.php:54 #: /app/src/core/KeyboardShortcuts.js:355 -#: /app/src/modules/dashboard/DashboardModule.js:5500 +#: /app/src/modules/dashboard/DashboardModule.js:5754 #: /app/src/modules/help/HelpModule.js:34 -#: /app/src/modules/sharing/SharingModule.js:269 /app/templates/index.php:113 +#: /app/src/modules/sharing/SharingModule.js:274 /app/templates/index.php:113 #: /app/templates/index.php:2610 /app/templates/index.php:4765 msgid "Bills" msgstr "Factures" -#: /app/lib/Service/AccountClosureService.php:80 +#: /app/lib/Service/AccountClosureService.php:81 #: /app/src/core/KeyboardShortcuts.js:356 #: /app/src/modules/help/HelpModule.js:35 /app/templates/index.php:123 msgid "Transfers" msgstr "Virements" -#: /app/lib/Service/AccountClosureService.php:82 +#: /app/lib/Service/AccountClosureService.php:83 msgid "Pension contributions" msgstr "Cotisations de retraite" -#: /app/lib/Service/AccountClosureService.php:83 +#: /app/lib/Service/AccountClosureService.php:84 msgid "Bank sync" msgstr "Synchronisation bancaire" -#: /app/lib/Service/AccountClosureService.php:84 +#: /app/lib/Service/AccountClosureService.php:85 msgid "Import rules" msgstr "Règles d’import" -#: /app/lib/Service/AccountClosureService.php:92 +#: /app/lib/Service/AccountClosureService.php:93 #, php-format msgid "" "This account is still used by %1$s. Reassign or deactivate them, then close " @@ -3086,12 +3153,12 @@ msgstr "" "Ce compte est toujours utilisé par %1$s. Réattribuez-le ou désactivez-le, " "puis fermez-le." -#: /app/lib/Service/AccountClosureService.php:174 +#: /app/lib/Service/AccountClosureService.php:218 #, php-format msgid "Pension #%1$s" msgstr "Retraite #%1$s" -#: /app/lib/Service/AccountService.php:128 +#: /app/lib/Service/AccountService.php:134 msgid "" "Cannot delete account with existing transactions. Please delete all " "transactions first." @@ -3099,13 +3166,13 @@ msgstr "" "Impossible de supprimer le compte car il contient des opérations. Veuillez " "d'abord supprimer toutes les opérations." -#: /app/lib/Service/AccountService.php:282 +#: /app/lib/Service/AccountService.php:295 msgid "This page is out of date. Please reload it before editing this account." msgstr "" "Cette page n'est plus à jour. Veuillez la recharger avant de modifier ce " "compte." -#: /app/lib/Service/BankSync/BankSyncService.php:184 +#: /app/lib/Service/BankSync/BankSyncService.php:186 msgid "" "No accounts are enabled for sync. Open Account Mappings to enable and map " "your accounts." @@ -3113,7 +3180,7 @@ msgstr "" "Aucun compte n'est activé pour la synchronisation. Ouvrez les " "correspondances de comptes pour activer et associer vos comptes." -#: /app/lib/Service/BankSync/BankSyncService.php:196 +#: /app/lib/Service/BankSync/BankSyncService.php:198 #, php-format msgid "" "Found %1$s account(s). Please open Account Mappings to enable and map them, " @@ -3122,35 +3189,53 @@ msgstr "" "%1$s compte(s) trouvé(s). Veuillez ouvrir les correspondances de comptes " "pour les activer et les associer, puis relancer la synchronisation." -#: /app/lib/Service/BankSync/BankSyncService.php:425 +#: /app/lib/Service/BankSync/BankSyncService.php:473 #, php-format msgid "Sync completed with %1$s error(s)" msgstr "Synchronisation terminée avec %1$s erreur(s)" -#: /app/lib/Service/Bill/BillIcsService.php:141 +#: /app/lib/Service/Bill/BillIcsService.php:142 #, php-format msgid "Bill due: %1$s" msgstr "Facture à payer : %1$s" -#: /app/lib/Service/BillService.php:92 +#: /app/lib/Service/BillService.php:126 +#, fuzzy +#| msgid "" +#| "The account linked to this bill no longer exists. Edit the bill and " +#| "choose an account." +msgid "" +"This bill uses an account you can no longer change. Edit the bill and choose " +"another account." +msgstr "" +"Le compte associé à cette facture n'existe plus. Modifiez la facture et " +"choisissez un compte." + +#: /app/lib/Service/BillService.php:173 msgid "This amount type requires a transfer with a destination account" msgstr "Ce type de montant nécessite un virement vers un compte destinataire" -#: /app/lib/Service/BillService.php:96 +#: /app/lib/Service/BillService.php:177 msgid "This amount type is only available for transfers to a credit card" msgstr "" "Ce type de montant est seulement disponible pour les virements vers une " "carte de crédit" -#: /app/lib/Service/BillService.php:221 /app/lib/Service/BillService.php:262 +#: /app/lib/Service/BillService.php:192 +msgid "" +"The card has no minimum payment set. Set one on the card, or choose another " +"amount." +msgstr "" + +#: /app/lib/Service/BillService.php:328 /app/lib/Service/BillService.php:384 msgid "This bill has never been marked as paid" msgstr "Cette facture n'a jamais été marquée comme payée" -#: /app/lib/Service/BillService.php:224 +#: /app/lib/Service/BillService.php:331 msgid "Assign an account to the bill first" msgstr "Affectez d'abord un compte à la facture" -#: /app/lib/Service/BillService.php:233 +#: /app/lib/Service/BillService.php:341 msgid "" "The account linked to this bill no longer exists. Edit the bill and choose " "an account." @@ -3158,44 +3243,121 @@ msgstr "" "Le compte associé à cette facture n'existe plus. Modifiez la facture et " "choisissez un compte." -#: /app/lib/Service/BillService.php:242 +#: /app/lib/Service/BillService.php:346 msgid "A transaction for this payment already exists" msgstr "Une opération pour ce paiement existe déjà" -#: /app/lib/Service/BillService.php:1060 /app/lib/Service/BillService.php:1074 +#: /app/lib/Service/BillService.php:691 /app/lib/Service/BillService.php:798 +#, fuzzy +#| msgid "{count} one-time bills deactivated" +msgid "A one-time bill needs its due date" +msgstr "{count} factures ponctuelles désactivées" + +#: /app/lib/Service/BillService.php:1004 +#, fuzzy +#| msgid "This bill has no recorded payment to undo" +msgid "This bill has nothing left to pay" +msgstr "Cette facture n'a pas de paiement enregistré à annuler" + +#: /app/lib/Service/BillService.php:1010 +#: /app/lib/Service/RecurringIncomeService.php:261 +#, fuzzy +#| msgid "This page could not be loaded. Reload the page to try again." +msgid "This payment was already recorded. Reload the page to see the next one." +msgstr "Cette page n'a pas pu être chargée. Actualisez la page pour réessayer." + +#: /app/lib/Service/BillService.php:1056 +#, fuzzy +#| msgid "Create future transaction for this bill" +msgid "That transaction can't pay this bill" +msgstr "Créer une opération à venir pour cette facture" + +#: /app/lib/Service/BillService.php:1096 +#, fuzzy +#| msgid "Transactions linked as transfer" +msgid "That transaction already pays another bill" +msgstr "Opérations liées au virement" + +#: /app/lib/Service/BillService.php:1356 /app/lib/Service/BillService.php:1370 msgid "This bill has no recorded payment to undo" msgstr "Cette facture n'a pas de paiement enregistré à annuler" -#: /app/lib/Service/BillService.php:1102 +#: /app/lib/Service/BillService.php:1379 +#, fuzzy +#| msgid "" +#| "This transaction was reconciled against a bank statement. Deleting it " +#| "will make past reconciliations no longer match." +msgid "" +"This payment has been reconciled against a bank statement. Marking the bill " +"unpaid deletes it, so the account will no longer match that statement." +msgstr "" +"Cette opération a été rapprochée d'un relevé bancaire. Sa suppression rendra " +"les rapprochements antérieurs incohérents." + +#: /app/lib/Service/BillService.php:1408 msgid "Cannot skip a one-time bill" msgstr "Impossible de passer une facture ponctuelle" -#: /app/lib/Service/BillService.php:1106 +#: /app/lib/Service/BillService.php:1412 msgid "Cannot skip an inactive bill" msgstr "Impossible de passer une facture inactive" -#: /app/lib/Service/BillService.php:1525 +#: /app/lib/Service/BillService.php:1715 +#: /app/lib/Service/RecurringIncomeService.php:692 +#: /app/src/modules/accounts/AccountsModule.js:25 +#: /app/src/modules/transfers/TransfersModule.js:449 +#: /app/templates/index.php:1104 /app/templates/index.php:2802 +#: /app/templates/index.php:5157 /app/templates/index.php:5583 +#: /app/templates/index.php:7237 +msgid "Name" +msgstr "Nom" + +#: /app/lib/Service/BillService.php:1715 +#: /app/lib/Service/RecurringIncomeService.php:692 +#: /app/lib/Service/ValidationService.php:74 +#: /app/lib/Service/ValidationService.php:187 +#: /app/lib/Service/ValidationService.php:206 +#, php-format +msgid "%1$s is required" +msgstr "%1$s est requis" + +#: /app/lib/Service/BillService.php:2007 msgid "Auto-pay is not enabled for this bill" msgstr "Le paiement automatique n'est pas activé pour cette facture" -#: /app/lib/Service/BillService.php:1538 +#: /app/lib/Service/BillService.php:2020 msgid "Bill has no account associated" msgstr "Aucun compte n'est associé à la facture" -#: /app/lib/Service/BillService.php:1548 +#: /app/lib/Service/BillService.php:2037 +#, fuzzy +#| msgid "The receipt could not be read" +msgid "The payment could not be recorded" +msgstr "Le reçu n'a pas pu être lu" + +#: /app/lib/Service/BillService.php:2042 msgid "Bill auto-paid successfully" msgstr "Facture réglée automatiquement avec succès" -#: /app/lib/Service/CategoryService.php:149 -#: /app/lib/Service/CategoryService.php:189 +#: /app/lib/Service/CategoryService.php:154 +#: /app/lib/Service/CategoryService.php:201 msgid "A category with this name already exists at this level" msgstr "Une catégorie portant ce nom existe déjà à ce niveau" -#: /app/lib/Service/CategoryService.php:179 +#: /app/lib/Service/CategoryService.php:186 msgid "Category cannot be its own parent" msgstr "Une catégorie ne peut pas être son propre parent" -#: /app/lib/Service/CategoryService.php:215 +#: /app/lib/Service/CategoryService.php:192 +#: /app/lib/Service/CategoryService.php:348 +msgid "A category cannot be nested inside itself" +msgstr "Une catégorie ne peut pas être imbriquée en elle-même" + +#: /app/lib/Service/CategoryService.php:216 +msgid "Parent category not found" +msgstr "Catégorie parent introuvable" + +#: /app/lib/Service/CategoryService.php:242 msgid "" "Cannot delete this category because it has transactions assigned to it. " "Please reassign or delete them first." @@ -3203,11 +3365,19 @@ msgstr "" "Impossible de supprimer cette catégorie car des opérations y sont associées. " "Veuillez d'abord les réaffecter ou les supprimer." -#: /app/lib/Service/CategoryService.php:279 -msgid "A category cannot be nested inside itself" -msgstr "Une catégorie ne peut pas être imbriquée en elle-même" +#: /app/lib/Service/CategoryService.php:327 +msgid "This category has subcategories, so only its owner can delete it" +msgstr "" +"Cette catégorie comporte des sous-catégories ; par conséquent, seul son " +"propriétaire peut la supprimer" + +#: /app/lib/Service/CategoryService.php:330 +msgid "This category has transactions, so only its owner can delete it" +msgstr "" +"Cette catégorie contient des transactions ; par conséquent, seul son " +"propriétaire peut la supprimer" -#: /app/lib/Service/CategoryService.php:360 +#: /app/lib/Service/CategoryService.php:429 #, php-format msgid "" "This category is used by the project \"%1$s\". Change or delete the project " @@ -3216,11 +3386,11 @@ msgstr "" "Cette catégorie est utilisée par le projet « %1$s ». Modifiez ou supprimez " "d'abord le projet." -#: /app/lib/Service/CategoryService.php:638 +#: /app/lib/Service/CategoryService.php:707 msgid "A budget adjustment already exists for this month" msgstr "Un ajustement budgétaire existe déjà pour ce mois-ci" -#: /app/lib/Service/CategoryService.php:714 +#: /app/lib/Service/CategoryService.php:783 msgid "No budget snapshot found for this category and month" msgstr "Aucun instantané budgétaire trouvé pour cette catégorie et ce mois" @@ -3285,43 +3455,57 @@ msgstr "" msgid "\"%1$s\": the budget \"%2$s\" is not a number and was ignored" msgstr "\"%1$s\" : le budget \"%2$s\" n'est pas un nombre et a été ignoré" -#: /app/lib/Service/DigestService.php:132 +#: /app/lib/Service/DigestService.php:153 #, php-format msgid "Income %1$s, spending %2$s (%3$s net)." msgstr "Revenus %1$s, dépenses %2$s (%3$s net)." -#: /app/lib/Service/DigestService.php:140 +#: /app/lib/Service/DigestService.php:161 #, php-format msgid "%1$s of %2$s spent (%3$s%%) across %4$s budgeted categories." msgstr "" "%1$s sur %2$s dépensés (%3$s%%) répartis sur %4$s catégories budgétisées." -#: /app/lib/Service/DigestService.php:148 +#: /app/lib/Service/DigestService.php:169 msgid "%n category is over budget." msgid_plural "%n categories are over budget." msgstr[0] "%n catégorie en dépassement." msgstr[1] "%n catégories en dépassement." -#: /app/lib/Service/DigestService.php:158 +#: /app/lib/Service/DigestService.php:180 +#, fuzzy +#| msgid "Read only" +msgid "and %n more" +msgid_plural "and %n more" +msgstr[0] "Lecture seule" +msgstr[1] "Lecture seule" + +#: /app/lib/Service/DigestService.php:185 +#, fuzzy +#| msgid "Overdue bill: {bill}" +msgid "Overdue bills" +msgstr "Échéance dépassée : {bill}" + +#: /app/lib/Service/DigestService.php:188 msgid "Upcoming bills" msgstr "Factures à venir" -#: /app/lib/Service/DigestService.php:163 +#: /app/lib/Service/DigestService.php:193 #, php-format msgid "%1$s is %2$s%% above your typical spending (%3$s so far this month)." msgstr "" "%1$s dépasse de %2$s%% vos dépenses habituelles (%3$s depuis le début du " "mois)." -#: /app/lib/Service/DigestService.php:168 +#: /app/lib/Service/DigestService.php:198 msgid "Unusual spending" msgstr "Dépense inhabituelle" -#: /app/lib/Service/DigestService.php:173 +#: /app/lib/Service/DigestService.php:203 msgid "Savings goals" msgstr "Objectifs d'épargne" -#: /app/lib/Service/DigestService.php:179 +#: /app/lib/Service/DigestService.php:209 msgid "Budget found %n possible recurring bill you are not tracking yet." msgid_plural "" "Budget found %n possible recurring bills you are not tracking yet." @@ -3332,32 +3516,40 @@ msgstr[1] "" "Budget a détecté %n factures récurrentes potentielles que vous ne suivez pas " "encore." -#: /app/lib/Service/Export/TransactionCsvExporter.php:29 /app/src/main.js:3558 -#: /app/src/main.js:3634 /app/src/main.js:3635 -#: /app/src/modules/rules/RulesModule.js:936 -#: /app/src/modules/rules/RulesModule.js:1138 +#: /app/lib/Service/Export/TransactionCsvExporter.php:29 /app/src/main.js:3592 +#: /app/src/main.js:3668 /app/src/main.js:3669 +#: /app/src/modules/rules/RulesModule.js:951 +#: /app/src/modules/rules/RulesModule.js:1153 +#: /app/src/modules/rules/components/ActionBuilder.js:200 +#: /app/src/modules/rules/components/ActionBuilder.js:207 +#: /app/src/modules/rules/components/ActionBuilder.js:232 +#: /app/src/modules/rules/components/ActionBuilder.js:256 #: /app/src/modules/rules/components/CriteriaBuilder.js:188 -#: /app/src/modules/transactions/TransactionsModule.js:3195 -#: /app/src/modules/transactions/TransactionsModule.js:3196 -#: /app/src/modules/transactions/TransactionsModule.js:3799 -#: /app/src/modules/transactions/TransactionsModule.js:3800 +#: /app/src/modules/transactions/TransactionsModule.js:3239 +#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3850 +#: /app/src/modules/transactions/TransactionsModule.js:3851 #: /app/templates/index.php:1055 /app/templates/index.php:1056 #: /app/templates/index.php:1536 /app/templates/index.php:1777 #: /app/templates/index.php:1831 /app/templates/index.php:2422 #: /app/templates/index.php:2559 /app/templates/index.php:5600 #: /app/templates/index.php:5854 /app/templates/index.php:6174 -#: /app/templates/index.php:6435 /app/templates/index.php:6519 -#: /app/templates/index.php:6658 /app/templates/index.php:6884 -#: /app/templates/index.php:6985 /app/templates/quick-add.php:45 +#: /app/templates/index.php:6436 /app/templates/index.php:6520 +#: /app/templates/index.php:6659 /app/templates/index.php:6885 +#: /app/templates/index.php:6986 /app/templates/quick-add.php:45 msgid "Description" msgstr "Description" #: /app/lib/Service/Export/TransactionCsvExporter.php:30 +#: /app/src/modules/rules/components/ActionBuilder.js:201 +#: /app/src/modules/rules/components/ActionBuilder.js:208 +#: /app/src/modules/rules/components/ActionBuilder.js:233 +#: /app/src/modules/rules/components/ActionBuilder.js:257 #: /app/src/modules/rules/components/CriteriaBuilder.js:189 #: /app/templates/index.php:1538 /app/templates/index.php:1781 #: /app/templates/index.php:1835 /app/templates/index.php:3432 -#: /app/templates/index.php:5858 /app/templates/index.php:6436 -#: /app/templates/index.php:7167 /app/templates/quick-add.php:50 +#: /app/templates/index.php:5858 /app/templates/index.php:6437 +#: /app/templates/index.php:7168 /app/templates/quick-add.php:50 msgid "Vendor" msgstr "Fournisseur" @@ -3365,7 +3557,7 @@ msgstr "Fournisseur" #: /app/lib/Service/Report/ReportExporter.php:236 /app/templates/index.php:1043 #: /app/templates/index.php:1469 /app/templates/index.php:1633 #: /app/templates/index.php:3813 /app/templates/index.php:5589 -#: /app/templates/index.php:5805 /app/templates/index.php:6810 +#: /app/templates/index.php:5805 /app/templates/index.php:6811 #: /app/templates/quick-add.php:32 msgid "Type" msgstr "Type" @@ -3379,19 +3571,27 @@ msgstr "Devise" #: /app/lib/Service/Export/TransactionCsvExporter.php:36 #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:171 +#: /app/src/modules/rules/components/ActionBuilder.js:202 +#: /app/src/modules/rules/components/ActionBuilder.js:209 +#: /app/src/modules/rules/components/ActionBuilder.js:234 +#: /app/src/modules/rules/components/ActionBuilder.js:258 #: /app/src/modules/rules/components/CriteriaBuilder.js:192 -#: /app/templates/index.php:6437 /app/templates/index.php:7173 +#: /app/templates/index.php:6438 /app/templates/index.php:7174 msgid "Reference" msgstr "Référence" #: /app/lib/Service/Export/TransactionCsvExporter.php:37 +#: /app/src/modules/rules/components/ActionBuilder.js:203 +#: /app/src/modules/rules/components/ActionBuilder.js:210 +#: /app/src/modules/rules/components/ActionBuilder.js:235 +#: /app/src/modules/rules/components/ActionBuilder.js:259 #: /app/src/modules/rules/components/CriteriaBuilder.js:193 -#: /app/src/modules/transfers/TransfersModule.js:575 +#: /app/src/modules/transfers/TransfersModule.js:560 #: /app/templates/index.php:2427 /app/templates/index.php:2560 #: /app/templates/index.php:5262 /app/templates/index.php:5922 -#: /app/templates/index.php:6286 /app/templates/index.php:6438 -#: /app/templates/index.php:6753 /app/templates/index.php:7179 -#: /app/templates/index.php:7286 /app/templates/index.php:7332 +#: /app/templates/index.php:6286 /app/templates/index.php:6439 +#: /app/templates/index.php:6754 /app/templates/index.php:7180 +#: /app/templates/index.php:7287 /app/templates/index.php:7333 #: /app/templates/quick-add.php:65 msgid "Notes" msgstr "Remarques" @@ -3409,33 +3609,33 @@ msgid "Split of" msgstr "Ventilation de" #: /app/lib/Service/Export/TransactionCsvExporter.php:144 -#: /app/src/modules/categories/CategoriesModule.js:763 -#: /app/src/modules/categories/CategoriesModule.js:1675 -#: /app/src/modules/rules/components/ActionBuilder.js:322 +#: /app/src/modules/categories/CategoriesModule.js:771 +#: /app/src/modules/categories/CategoriesModule.js:1715 +#: /app/src/modules/rules/components/ActionBuilder.js:413 #: /app/src/modules/rules/components/CriteriaBuilder.js:217 #: /app/templates/index.php:1046 /app/templates/index.php:1473 #: /app/templates/index.php:1637 /app/templates/index.php:5810 -#: /app/templates/index.php:5816 /app/templates/index.php:6812 +#: /app/templates/index.php:5816 /app/templates/index.php:6813 #: /app/templates/quick-add.php:34 msgid "Expense" msgstr "Dépense" -#: /app/lib/Service/GranularShareService.php:330 +#: /app/lib/Service/GranularShareService.php:377 #, php-format msgid "Invalid entity type: %1$s" msgstr "Élément invalide : %1$s" -#: /app/lib/Service/GranularShareService.php:335 +#: /app/lib/Service/GranularShareService.php:382 #, php-format msgid "Invalid permission: %1$s" msgstr "Autorisation invalide : %1$s" -#: /app/lib/Service/GranularShareService.php:341 +#: /app/lib/Service/GranularShareService.php:388 #: /app/lib/Service/ShareService.php:195 msgid "You are not the owner of this share" msgstr "Vous n'êtes pas le propriétaire de ce partage" -#: /app/lib/Service/GranularShareService.php:348 +#: /app/lib/Service/GranularShareService.php:395 msgid "Some entities do not belong to you" msgstr "Certains éléments ne vous appartiennent pas" @@ -3509,53 +3709,55 @@ msgstr "" "Le fichier ne semble pas être un relevé bancaire au format camt.053. Seuls " "les fichiers XML au format ISO 20022 camt.053/camt.052 sont pris en charge." -#: /app/lib/Service/ImportService.php:137 +#: /app/lib/Service/ImportService.php:139 #, php-format msgid "Failed to process upload: %1$s" msgstr "Échec du traitement du téléchargement : %1$s" -#: /app/lib/Service/ImportService.php:381 -#: /app/lib/Service/ImportService.php:390 +#: /app/lib/Service/ImportService.php:383 +#: /app/lib/Service/ImportService.php:392 msgid "Import file not found" msgstr "Fichier d'importation introuvable" -#: /app/lib/Service/ImportService.php:749 -#: /app/lib/Service/ImportService.php:1324 +#: /app/lib/Service/ImportService.php:751 +#: /app/lib/Service/ImportService.php:1346 msgid "Account ID is required for single-account imports" msgstr "" "L'ID de compte est requis pour les importations concernant un compte unique" -#: /app/lib/Service/ImportService.php:834 -#: /app/lib/Service/ImportService.php:1412 +#: /app/lib/Service/ImportService.php:836 +#: /app/lib/Service/ImportService.php:1434 msgid "This row has no account, and no account was chosen for the import" msgstr "" "Cette ligne ne comporte aucun compte, et aucun compte n'a été sélectionné " "pour l'importation" -#: /app/lib/Service/ImportService.php:1170 +#: /app/lib/Service/ImportService.php:1172 #, php-format msgid "Destination account %1$s not found" msgstr "Compte de destination %1$s introuvable" -#: /app/lib/Service/ImportService.php:1269 +#: /app/lib/Service/ImportService.php:1271 #, php-format msgid "Failed to recalculate balance for account %1$s" msgstr "Échec du recalcul du solde pour le compte %1$s" -#: /app/lib/Service/ImportService.php:1413 +#: /app/lib/Service/ImportService.php:1435 #, php-format msgid "Could not resolve account: %1$s" msgstr "Impossible de trouver le compte : %1$s" -#: /app/lib/Service/ImportService.php:2220 +#: /app/lib/Service/ImportService.php:2262 #, php-format msgid "The %1$s format reads CSV files only" -msgstr "" +msgstr "Le format %1$s permet uniquement la lecture de fichiers CSV" -#: /app/lib/Service/ImportService.php:2244 +#: /app/lib/Service/ImportService.php:2286 #, php-format msgid "This file does not look like a %1$s export. Columns missing: %2$s" msgstr "" +"Ce fichier ne semble pas être une exportation de %1$s. Colonnes manquantes : " +"%2$s" #: /app/lib/Service/ManualExchangeRateService.php:62 #, php-format @@ -3582,18 +3784,110 @@ msgstr "" "Impossible de convertir le taux : aucun taux de change disponible pour la " "devise de base %1$s" -#: /app/lib/Service/MigrationService.php:558 +#: /app/lib/Service/MigrationService.php:397 +msgid "" +"%n item you shared could not be matched to the restored data, so it is no " +"longer shared. Share it again in Settings if you still want to." +msgid_plural "" +"%n items you shared could not be matched to the restored data, so they are " +"no longer shared. Share them again in Settings if you still want to." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Service/MigrationService.php:404 +msgid "" +"%n bill or transfer lost its account in the restore: the account is not in " +"this backup, or not shared with you any more. Its auto-pay is off; edit it " +"to choose an account." +msgid_plural "" +"%n bills or transfers lost their account in the restore: the account is not " +"in this backup, or not shared with you any more. Their auto-pay is off; edit " +"them to choose an account." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Service/MigrationService.php:411 +msgid "" +"%n item of someone you share with used an account, category or bill that did " +"not come back in this restore, and has been unlinked from it." +msgid_plural "" +"%n items of people you share with used an account, category or bill that did " +"not come back in this restore, and have been unlinked from it." +msgstr[0] "" +msgstr[1] "" + +#: /app/lib/Service/MigrationService.php:643 #, php-format msgid "" "This backup cannot be imported: %1$s is larger than %2$s MB when unpacked" msgstr "" +"Cette sauvegarde ne peut pas être importée : %1$s occupe plus de %2$s Mo une " +"fois décompressée" -#: /app/lib/Service/MigrationService.php:559 +#: /app/lib/Service/MigrationService.php:644 #, php-format msgid "" "This backup cannot be imported: its files add up to more than %1$s MB when " "unpacked" msgstr "" +"Cette sauvegarde ne peut pas être importée : une fois décompressés, ses " +"fichiers occupent plus de %1$s Mo" + +#: /app/lib/Service/PensionRecurringService.php:235 +#, fuzzy +#| msgid "No scheduled contributions" +msgid "This scheduled contribution is paused" +msgstr "Aucune cotisation prévue" + +#: /app/lib/Service/PensionRecurringService.php:238 +#, fuzzy +#| msgid "This page could not be loaded. Reload the page to try again." +msgid "" +"This contribution was already posted. Reload the page to see the next one." +msgstr "Cette page n'a pas pu être chargée. Actualisez la page pour réessayer." + +#: /app/lib/Service/PensionRecurringService.php:270 +#, fuzzy +#| msgid "No scheduled contributions" +msgid "This scheduled contribution has no post to undo" +msgstr "Aucune cotisation prévue" + +#: /app/lib/Service/PensionRecurringService.php:376 +#, php-format +msgid "" +"%1$s is a defined benefit or state pension, which takes no contributions" +msgstr "" + +#: /app/lib/Service/PensionRecurringService.php:385 +msgid "" +"Choose how often the contribution is made: weekly, every two weeks, monthly, " +"quarterly, every six months or yearly" +msgstr "" + +#: /app/lib/Service/PensionService.php:148 +msgid "" +"Delete this pension's scheduled contributions before making it a defined " +"benefit or state pension" +msgstr "" + +#: /app/lib/Service/PensionService.php:431 +#, fuzzy +#| msgid "" +#| "The account linked to this bill no longer exists. Edit the bill and " +#| "choose an account." +msgid "" +"The account for this contribution no longer exists or is no longer shared " +"with you" +msgstr "" +"Le compte associé à cette facture n'existe plus. Modifiez la facture et " +"choisissez un compte." + +#: /app/lib/Service/PensionService.php:434 +#, php-format +msgid "" +"%1$s is shared with you read-only, so pension money cannot be paid into or " +"out of it" +msgstr "" #: /app/lib/Service/ReconciliationService.php:68 #: /app/lib/Service/ReconciliationService.php:99 @@ -3614,24 +3908,58 @@ msgstr "" msgid "No reconciliation in progress for this account" msgstr "Aucun rapprochement en cours pour ce compte" -#: /app/lib/Service/RecurringIncomeService.php:285 +#: /app/lib/Service/RecurringIncomeService.php:211 #, fuzzy -#| msgid "Cannot skip a one-time bill" -msgid "Cannot skip a one-time income" -msgstr "Impossible de passer une facture ponctuelle" +#| msgid "No accounts to reconcile" +msgid "No account set for income" +msgstr "Aucun compte à rapprocher" -#: /app/lib/Service/RecurringIncomeService.php:288 +#: /app/lib/Service/RecurringIncomeService.php:258 #, fuzzy -#| msgid "Cannot skip an inactive bill" -msgid "Cannot skip an inactive income" -msgstr "Impossible de passer une facture inactive" +#| msgid "This income has no expected date to skip" +msgid "This income has no payment to receive" +msgstr "Il n'y a pas de date prévue pour la suspension de ce revenu" -#: /app/lib/Service/RecurringIncomeService.php:293 +#: /app/lib/Service/RecurringIncomeService.php:305 #, fuzzy #| msgid "This bill has no recorded payment to undo" -msgid "This income has no expected date to skip" +msgid "This income has no recorded receipt to undo" msgstr "Cette facture n'a pas de paiement enregistré à annuler" +#: /app/lib/Service/RecurringIncomeService.php:410 +#, fuzzy +#| msgid "Recurring income deleted" +msgid "Recurring income cannot use a custom schedule" +msgstr "Revenu récurrent supprimé" + +#: /app/lib/Service/RecurringIncomeService.php:413 +msgid "A one-time income needs the date it is expected" +msgstr "" + +#: /app/lib/Service/RecurringIncomeService.php:426 +#, fuzzy +#| msgid "" +#| "The account linked to this bill no longer exists. Edit the bill and " +#| "choose an account." +msgid "" +"This income uses an account you can no longer change. Edit it and choose " +"another account." +msgstr "" +"Le compte associé à cette facture n'existe plus. Modifiez la facture et " +"choisissez un compte." + +#: /app/lib/Service/RecurringIncomeService.php:452 +msgid "Cannot skip a one-time income" +msgstr "Impossible de passer un revenu ponctuel" + +#: /app/lib/Service/RecurringIncomeService.php:455 +msgid "Cannot skip an inactive income" +msgstr "Impossible de passer un revenu inactif" + +#: /app/lib/Service/RecurringIncomeService.php:460 +msgid "This income has no expected date to skip" +msgstr "Il n'y a pas de date prévue pour la suspension de ce revenu" + #: /app/lib/Service/Report/MonthNames.php:21 /app/templates/index.php:3650 #: /app/templates/index.php:6204 msgid "Jan" @@ -3655,7 +3983,7 @@ msgstr "Avr" #: /app/lib/Service/Report/MonthNames.php:25 #: /app/lib/Service/Report/MonthNames.php:46 /app/templates/index.php:3541 #: /app/templates/index.php:3654 /app/templates/index.php:6208 -#: /app/templates/index.php:6234 /app/templates/index.php:6710 +#: /app/templates/index.php:6234 /app/templates/index.php:6711 msgid "May" msgstr "Mai" @@ -3695,57 +4023,57 @@ msgid "Dec" msgstr "Déc" #: /app/lib/Service/Report/MonthNames.php:42 /app/templates/index.php:3537 -#: /app/templates/index.php:6230 /app/templates/index.php:6706 +#: /app/templates/index.php:6230 /app/templates/index.php:6707 msgid "January" msgstr "Janvier" #: /app/lib/Service/Report/MonthNames.php:43 /app/templates/index.php:3538 -#: /app/templates/index.php:6231 /app/templates/index.php:6707 +#: /app/templates/index.php:6231 /app/templates/index.php:6708 msgid "February" msgstr "Février" #: /app/lib/Service/Report/MonthNames.php:44 /app/templates/index.php:3539 -#: /app/templates/index.php:6232 /app/templates/index.php:6708 +#: /app/templates/index.php:6232 /app/templates/index.php:6709 msgid "March" msgstr "Mars" #: /app/lib/Service/Report/MonthNames.php:45 /app/templates/index.php:3540 -#: /app/templates/index.php:6233 /app/templates/index.php:6709 +#: /app/templates/index.php:6233 /app/templates/index.php:6710 msgid "April" msgstr "Avril" #: /app/lib/Service/Report/MonthNames.php:47 /app/templates/index.php:3542 -#: /app/templates/index.php:6235 /app/templates/index.php:6711 +#: /app/templates/index.php:6235 /app/templates/index.php:6712 msgid "June" msgstr "Juin" #: /app/lib/Service/Report/MonthNames.php:48 /app/templates/index.php:3543 -#: /app/templates/index.php:6236 /app/templates/index.php:6712 +#: /app/templates/index.php:6236 /app/templates/index.php:6713 msgid "July" msgstr "Juillet" #: /app/lib/Service/Report/MonthNames.php:49 /app/templates/index.php:3544 -#: /app/templates/index.php:6237 /app/templates/index.php:6713 +#: /app/templates/index.php:6237 /app/templates/index.php:6714 msgid "August" msgstr "Août" #: /app/lib/Service/Report/MonthNames.php:50 /app/templates/index.php:3545 -#: /app/templates/index.php:6238 /app/templates/index.php:6714 +#: /app/templates/index.php:6238 /app/templates/index.php:6715 msgid "September" msgstr "Septembre" #: /app/lib/Service/Report/MonthNames.php:51 /app/templates/index.php:3546 -#: /app/templates/index.php:6239 /app/templates/index.php:6715 +#: /app/templates/index.php:6239 /app/templates/index.php:6716 msgid "October" msgstr "Octobre" #: /app/lib/Service/Report/MonthNames.php:52 /app/templates/index.php:3547 -#: /app/templates/index.php:6240 /app/templates/index.php:6716 +#: /app/templates/index.php:6240 /app/templates/index.php:6717 msgid "November" msgstr "Novembre" #: /app/lib/Service/Report/MonthNames.php:53 /app/templates/index.php:3548 -#: /app/templates/index.php:6241 /app/templates/index.php:6717 +#: /app/templates/index.php:6241 /app/templates/index.php:6718 msgid "December" msgstr "Décembre" @@ -3791,7 +4119,7 @@ msgid "Net Income" msgstr "Revenu net" #: /app/lib/Service/Report/ReportExporter.php:209 -#: /app/src/modules/dashboard/DashboardModule.js:1709 +#: /app/src/modules/dashboard/DashboardModule.js:1830 msgid "On track" msgstr "Sur la bonne voie" @@ -3840,7 +4168,7 @@ msgstr "Dépenses totales" #: /app/lib/Service/Report/ReportExporter.php:241 #: /app/lib/Service/Report/ReportExporter.php:439 -#: /app/src/modules/accounts/AccountsModule.js:2707 +#: /app/src/modules/accounts/AccountsModule.js:2713 #: /app/templates/index.php:1259 /app/templates/index.php:3070 #: /app/templates/index.php:3825 /app/templates/index.php:5356 #: /app/templates/index.php:5426 @@ -3857,10 +4185,10 @@ msgstr "vs période précédente" #: /app/src/modules/accounts/AccountsModule.js:30 #: /app/src/modules/accounts/AccountsModule.js:510 #: /app/src/modules/accounts/AccountsModule.js:511 -#: /app/src/modules/dashboard/DashboardModule.js:2941 -#: /app/src/modules/dashboard/DashboardModule.js:3176 +#: /app/src/modules/dashboard/DashboardModule.js:3138 +#: /app/src/modules/dashboard/DashboardModule.js:3373 #: /app/src/modules/forecast/ForecastModule.js:310 -#: /app/src/modules/pensions/PensionsModule.js:606 +#: /app/src/modules/pensions/PensionsModule.js:651 #: /app/templates/index.php:1105 /app/templates/index.php:1543 #: /app/templates/index.php:1797 /app/templates/index.php:1849 #: /app/templates/index.php:3327 @@ -3909,12 +4237,12 @@ msgid "Average Monthly Net" msgstr "Net mensuel moyen" #: /app/lib/Service/Report/ReportExporter.php:337 -#: /app/lib/Service/Report/ReportExporter.php:571 /app/templates/index.php:6670 +#: /app/lib/Service/Report/ReportExporter.php:571 /app/templates/index.php:6671 msgid "Source" msgstr "Source" #: /app/lib/Service/Report/ReportExporter.php:357 -#: /app/src/modules/categories/CategoriesModule.js:2357 +#: /app/src/modules/categories/CategoriesModule.js:2419 #: /app/templates/index.php:597 /app/templates/index.php:2034 #: /app/templates/index.php:2233 /app/templates/index.php:3195 msgid "Period" @@ -3931,18 +4259,18 @@ msgstr "Budgété" #: /app/lib/Service/Report/ReportExporter.php:402 #: /app/lib/Service/Report/ReportExporter.php:641 -#: /app/src/modules/categories/CategoriesModule.js:2365 -#: /app/src/modules/dashboard/DashboardModule.js:2166 -#: /app/src/modules/projects/ProjectsModule.js:146 +#: /app/src/modules/categories/CategoriesModule.js:2427 +#: /app/src/modules/dashboard/DashboardModule.js:2329 +#: /app/src/modules/projects/ProjectsModule.js:147 #: /app/templates/index.php:2234 /app/templates/index.php:5137 msgid "Spent" msgstr "Dépensé" #: /app/lib/Service/Report/ReportExporter.php:403 #: /app/lib/Service/Report/ReportExporter.php:642 -#: /app/src/modules/categories/CategoriesModule.js:2368 -#: /app/src/modules/dashboard/DashboardModule.js:2167 -#: /app/src/modules/projects/ProjectsModule.js:147 +#: /app/src/modules/categories/CategoriesModule.js:2430 +#: /app/src/modules/dashboard/DashboardModule.js:2330 +#: /app/src/modules/projects/ProjectsModule.js:148 #: /app/templates/index.php:2202 /app/templates/index.php:2235 #: /app/templates/index.php:5138 msgid "Remaining" @@ -3974,13 +4302,13 @@ msgstr "Ventilation mensuelle" #: /app/lib/Service/Report/ReportExporter.php:680 #: /app/lib/Service/Report/ReportExporter.php:726 -#: /app/src/modules/reports/ReportsModule.js:1116 +#: /app/src/modules/reports/ReportsModule.js:1117 msgid "Overall" msgstr "Global" #: /app/lib/Service/Report/ReportExporter.php:693 #: /app/lib/Service/Report/ReportExporter.php:739 -#: /app/src/modules/reports/ReportsModule.js:1099 +#: /app/src/modules/reports/ReportsModule.js:1100 msgid "Net total" msgstr "Total net" @@ -3988,6 +4316,28 @@ msgstr "Total net" msgid "Category Income & Expenses by Month" msgstr "Catégories de revenus et de dépenses mois" +#: /app/lib/Service/Report/ReportExporter.php:749 +#: /app/src/config/dashboardWidgets.js:26 /app/src/main.js:1924 +#: /app/src/main.js:3663 /app/src/modules/accounts/AccountsModule.js:1870 +#: /app/src/modules/categories/CategoriesModule.js:831 +#: /app/src/modules/dashboard/DashboardModule.js:1312 +#: /app/src/modules/import/ImportModule.js:189 +#: /app/src/modules/import/ImportModule.js:2032 +#: /app/src/modules/reports/ReportsModule.js:1089 +#: /app/src/modules/rules/RulesModule.js:1006 +#: /app/src/modules/transactions/TransactionsModule.js:532 +#: /app/src/modules/transactions/TransactionsModule.js:1209 +#: /app/src/modules/transactions/TransactionsModule.js:3234 +#: /app/src/modules/transactions/TransactionsModule.js:3845 +#: /app/src/modules/transactions/TransactionsModule.js:4692 +#: /app/src/modules/transactions/transactionRow.js:122 +#: /app/src/modules/transactions/transactionRow.js:183 +#: /app/src/modules/transactions/transactionRow.js:225 +#: /app/templates/index.php:539 /app/templates/index.php:1464 +#: /app/templates/index.php:1628 /app/templates/quick-add.php:57 +msgid "Uncategorized" +msgstr "Non catégorisé" + #: /app/lib/Service/Report/ScheduledReportService.php:76 #: /app/lib/Service/Report/ScheduledReportService.php:77 #, php-format @@ -4088,13 +4438,6 @@ msgstr "Vous n'êtes pas le destinataire de ce partage" msgid "This share is not pending" msgstr "Ce partage n'est pas en attente" -#: /app/lib/Service/ValidationService.php:74 -#: /app/lib/Service/ValidationService.php:187 -#: /app/lib/Service/ValidationService.php:206 -#, php-format -msgid "%1$s is required" -msgstr "%1$s est requis" - #: /app/lib/Service/ValidationService.php:85 #, php-format msgid "%1$s must be at least %2$s characters" @@ -4226,60 +4569,6 @@ msgid "Simple budget tracker and forecaster" msgstr "Outil simple de suivi et de prévision budgétaire" #: /app/specialAppInfoFakeDummyForL10nScript.php:4 -#, fuzzy -#| msgid "" -#| "**⚠️ Beta: This app is currently in testing. Data loss is possible. Please " -#| "backup your data regularly and report any issues.**\n" -#| "\n" -#| "# Budget - Financial Tracking for Nextcloud\n" -#| "\n" -#| "Track your spending habits, manage savings, and forecast future account " -#| "balances with intelligent analysis of your financial history.\n" -#| "\n" -#| "## Features\n" -#| "\n" -#| "* **Import Bank Statements**: Support for CSV, OFX, QIF and ISO 20022 " -#| "camt.053 XML formats\n" -#| "* **Smart Categorization**: Automatic vendor matching and transaction " -#| "categorization\n" -#| "* **Auto-Categorization Rules**: Apply rules to existing transactions " -#| "anytime with preview\n" -#| "* **Split Transactions**: Allocate single transactions across multiple " -#| "categories\n" -#| "* **Transfer Detection**: Automatic matching of transfers between " -#| "accounts\n" -#| "* **Budget Tracking**: Set spending limits with alerts when approaching " -#| "or exceeding budgets\n" -#| "* **Balance Forecasting**: Predict future balances based on historical " -#| "data\n" -#| "* **Recurring Bills**: Track bills with due date monitoring and Nextcloud " -#| "notifications\n" -#| "* **Recurring Income**: Track expected income sources with receipt " -#| "tracking\n" -#| "* **Split Expenses**: Share expenses with contacts and track who owes " -#| "whom\n" -#| "* **Debt Payoff Planner**: Plan repayment using avalanche or snowball " -#| "strategies\n" -#| "* **Savings Goals**: Set targets with progress tracking and achievement " -#| "forecasting\n" -#| "* **Pension Tracker**: Track retirement accounts with growth projections\n" -#| "* **Net Worth History**: Track assets and liabilities over time\n" -#| "* **Year-over-Year Reports**: Compare spending across multiple years\n" -#| "* **Multi-Account Support**: Manage multiple bank accounts and " -#| "currencies\n" -#| "* **Custom Categories**: Create your own category hierarchy\n" -#| "* **Reports & Charts**: Visualize your financial data with interactive " -#| "charts\n" -#| "\n" -#| "## Documentation\n" -#| "\n" -#| "Full user documentation: https://budget.otherworld.dev/docs/\n" -#| "\n" -#| "## Requirements\n" -#| "\n" -#| "* Nextcloud 30 or higher\n" -#| "* PHP 8.1 or higher\n" -#| "* PHP BCMath extension (`php-bcmath`)" msgid "" "**⚠️ Beta: This app is currently in testing. Data loss is possible. Please " "backup your data regularly and report any issues.**\n" @@ -4367,6 +4656,8 @@ msgstr "" "\n" "* **Importation de relevés bancaires** : Prise en charge des formats CSV, " "OFX, QIF et ISO 20022 camt.053 XML\n" +"* **Synchronisation bancaire** : récupérez automatiquement vos opérations " +"via GoCardless (Royaume-Uni/UE) ou SimpleFIN (États-Unis)\n" "* **Catégorisation intelligente** : Association automatique aux commerçants " "et catégorisation des opérations\n" "* **Règles de catégorisation automatique** : Application de règles aux " @@ -4375,16 +4666,33 @@ msgstr "" "plusieurs catégories\n" "* **Détection de virements** : Association automatique des virements entre " "comptes\n" -"* **Suivi budgétaire** : Définition de plafonds de dépenses avec alertes à " -"l'approche ou au dépassement du budget\n" +"* **Rapprochement des relevés** : cocher les opérations au fur et à mesure " +"sur un relevé bancaire jusqu'à ce que la différence soit nulle\n" +"* **Numérisation des reçus** : joignez des photos de reçus aux opérations " +"et, une fois que l'administrateur aura configuré cette fonctionnalité, le " +"système pourra extraire le montant et les articles figurant sur ces reçus " +"(OCR)\n" +"* **Ajout rapide et API publique** : une page d'accès rapide depuis votre " +"téléphone, ainsi qu'une API REST pour les scripts, l'automatisation et " +"l'application Android « Budget Companion » (en cours de développement)\n" +"* **Suivi budgétaire** : définissez des limites de dépenses et recevez des " +"alertes lorsque vous vous approchez de ces limites ou que vous les dépassez\n" +"* **Budgets reportables** : système de budgétisation par enveloppes, dans " +"lequel les fonds non dépensés (ou les dépassements de budget) sont reportés " +"sur le mois suivant\n" +"* **Budgets de projet** : un budget unique pour un projet s'étalant sur " +"plusieurs mois, comme une rénovation ou un mariage\n" "* **Prévision de solde** : Estimation des soldes futurs basée sur les " "données historiques\n" "* **Factures récurrentes** : Suivi des factures avec rappel des échéances et " "notifications Nextcloud\n" +"* **Détection des abonnements** : identifie les paiements qui semblent " +"récurrents mais qui ne sont pas encore enregistrés, et les transforme en " +"factures en un seul clic\n" "* **Revenus récurrents** : Suivi des sources de revenus prévues et de leur " "encaissement\n" -"* **Partage de dépenses** : Partage de frais avec des contacts et suivi des " -"dettes mutuelles\n" +"* **Partage des dépenses** : partagez vos dépenses avec vos contacts ou " +"plusieurs personnes et suivez qui doit quoi à qui\n" "* **Planificateur de remboursement de dettes** : Planification du " "remboursement via les méthodes « avalanche » ou « boule de neige »\n" "* **Objectifs d'épargne** : Définition d'objectifs avec suivi de la " @@ -4395,6 +4703,13 @@ msgstr "" "passifs dans le temps\n" "* **Rapports annuels comparatifs** : Comparaison des dépenses sur plusieurs " "années\n" +"* **Rapport sur les flux financiers** : un diagramme de Sankey illustrant " +"l'origine et la destination des fonds pour une période donnée\n" +"* **Résumé et alertes de dépenses inhabituelles** : un récapitulatif " +"hebdomadaire ou mensuel (facultatif) et une notification lorsqu'une " +"catégorie dépasse largement son niveau habituel\n" +"* **Rapports PDF programmés** : le rapport du mois dernier est enregistré " +"dans vos fichiers ou vous est envoyé automatiquement par e-mail\n" "* **Gestion multi-comptes** : Gestion de plusieurs comptes bancaires et " "devises\n" "* **Catégories personnalisées** : Création de votre propre hiérarchie de " @@ -4413,7 +4728,7 @@ msgstr "" "* Extension PHP BCMath (`php-bcmath`)" #: /app/src/config/dashboardWidgets.js:8 -#: /app/src/modules/dashboard/DashboardModule.js:2951 +#: /app/src/modules/dashboard/DashboardModule.js:3148 #: /app/templates/index.php:371 /app/templates/index.php:1158 msgid "Net Worth" msgstr "Valeur nette" @@ -4431,10 +4746,10 @@ msgid "Net Savings" msgstr "Épargne nette" #: /app/src/config/dashboardWidgets.js:12 -#: /app/src/modules/dashboard/DashboardModule.js:2007 -#: /app/src/modules/dashboard/DashboardModule.js:2013 -#: /app/src/modules/pensions/PensionsModule.js:156 -#: /app/src/modules/pensions/PensionsModule.js:162 /app/templates/index.php:423 +#: /app/src/modules/dashboard/DashboardModule.js:2170 +#: /app/src/modules/dashboard/DashboardModule.js:2176 +#: /app/src/modules/pensions/PensionsModule.js:179 +#: /app/src/modules/pensions/PensionsModule.js:185 /app/templates/index.php:423 msgid "Pension Worth" msgstr "Valeur de la pension de retraite" @@ -4469,26 +4784,6 @@ msgstr "Revenus du compte" msgid "Account Expenses" msgstr "Dépenses du compte" -#: /app/src/config/dashboardWidgets.js:26 /app/src/main.js:1897 -#: /app/src/main.js:3629 /app/src/modules/accounts/AccountsModule.js:1864 -#: /app/src/modules/categories/CategoriesModule.js:823 -#: /app/src/modules/dashboard/DashboardModule.js:1253 -#: /app/src/modules/import/ImportModule.js:189 -#: /app/src/modules/import/ImportModule.js:2032 -#: /app/src/modules/rules/RulesModule.js:991 -#: /app/src/modules/transactions/TransactionsModule.js:510 -#: /app/src/modules/transactions/TransactionsModule.js:1183 -#: /app/src/modules/transactions/TransactionsModule.js:3190 -#: /app/src/modules/transactions/TransactionsModule.js:3794 -#: /app/src/modules/transactions/TransactionsModule.js:4641 -#: /app/src/modules/transactions/transactionRow.js:122 -#: /app/src/modules/transactions/transactionRow.js:183 -#: /app/src/modules/transactions/transactionRow.js:225 -#: /app/templates/index.php:539 /app/templates/index.php:1464 -#: /app/templates/index.php:1628 /app/templates/quick-add.php:57 -msgid "Uncategorized" -msgstr "Non catégorisé" - #: /app/src/config/dashboardWidgets.js:27 /app/templates/index.php:552 msgid "Low Balance Alert" msgstr "Alerte de solde faible" @@ -4521,7 +4816,7 @@ msgstr "Opérations récentes" #: /app/src/config/dashboardWidgets.js:39 #: /app/src/core/KeyboardShortcuts.js:349 #: /app/src/modules/help/HelpModule.js:28 -#: /app/src/modules/sharing/SharingModule.js:267 /app/templates/index.php:53 +#: /app/src/modules/sharing/SharingModule.js:272 /app/templates/index.php:53 #: /app/templates/index.php:696 /app/templates/index.php:774 #: /app/templates/index.php:1080 /app/templates/index.php:1215 #: /app/templates/index.php:4757 @@ -4544,14 +4839,14 @@ msgstr "Avancement budgétaire" #: /app/src/config/dashboardWidgets.js:43 #: /app/src/core/KeyboardShortcuts.js:357 #: /app/src/modules/help/HelpModule.js:36 -#: /app/src/modules/sharing/SharingModule.js:271 /app/templates/index.php:133 +#: /app/src/modules/sharing/SharingModule.js:276 /app/templates/index.php:133 #: /app/templates/index.php:744 /app/templates/index.php:2932 msgid "Savings Goals" msgstr "Objectifs d'épargne" #: /app/src/config/dashboardWidgets.js:44 #: /app/src/modules/help/HelpModule.js:37 -#: /app/src/modules/sharing/SharingModule.js:272 /app/templates/index.php:143 +#: /app/src/modules/sharing/SharingModule.js:277 /app/templates/index.php:143 #: /app/templates/index.php:755 /app/templates/index.php:3010 msgid "Projects" msgstr "Projets" @@ -4679,25 +4974,25 @@ msgid "Dashboard" msgstr "Tableau de bord" #: /app/src/core/KeyboardShortcuts.js:351 -#: /app/src/modules/dashboard/DashboardModule.js:5150 +#: /app/src/modules/dashboard/DashboardModule.js:5389 #: /app/src/modules/help/HelpModule.js:30 -#: /app/src/modules/sharing/SharingModule.js:268 /app/templates/index.php:73 +#: /app/src/modules/sharing/SharingModule.js:273 /app/templates/index.php:73 #: /app/templates/index.php:1871 /app/templates/index.php:4753 msgid "Categories" msgstr "Catégories" #: /app/src/core/KeyboardShortcuts.js:352 -#: /app/src/modules/accounts/AccountsModule.js:1901 -#: /app/src/modules/bills/BillsModule.js:1699 +#: /app/src/modules/accounts/AccountsModule.js:1907 +#: /app/src/modules/bills/BillsModule.js:1609 #: /app/src/modules/help/HelpModule.js:31 #: /app/src/modules/reports/ReportsModule.js:432 -#: /app/src/modules/rules/RulesModule.js:822 -#: /app/src/modules/savings/SavingsModule.js:295 +#: /app/src/modules/rules/RulesModule.js:837 +#: /app/src/modules/savings/SavingsModule.js:297 #: /app/src/modules/tagsets/TagSetsModule.js:601 -#: /app/src/modules/transactions/TransactionsModule.js:548 -#: /app/src/modules/transactions/TransactionsModule.js:1345 -#: /app/src/modules/transactions/TransactionsModule.js:4811 -#: /app/src/modules/transfers/TransfersModule.js:1146 +#: /app/src/modules/transactions/TransactionsModule.js:570 +#: /app/src/modules/transactions/TransactionsModule.js:1371 +#: /app/src/modules/transactions/TransactionsModule.js:4862 +#: /app/src/modules/transfers/TransfersModule.js:1163 #: /app/templates/index.php:83 /app/templates/index.php:1514 #: /app/templates/index.php:1697 /app/templates/index.php:1789 #: /app/templates/index.php:1843 /app/templates/index.php:2091 @@ -4711,7 +5006,7 @@ msgid "Pensions" msgstr "Retraites" #: /app/src/core/KeyboardShortcuts.js:360 -#: /app/src/modules/dashboard/DashboardModule.js:2958 +#: /app/src/modules/dashboard/DashboardModule.js:3155 #: /app/src/modules/help/HelpModule.js:40 /app/templates/index.php:173 #: /app/templates/index.php:1185 /app/templates/index.php:3921 #: /app/templates/index.php:4004 @@ -4720,7 +5015,7 @@ msgstr "Actifs" #: /app/src/core/KeyboardShortcuts.js:361 #: /app/src/modules/help/HelpModule.js:41 /app/templates/index.php:183 -#: /app/templates/index.php:4198 /app/templates/index.php:7365 +#: /app/templates/index.php:4198 /app/templates/index.php:7366 msgid "Shared Expenses" msgstr "Dépenses partagées" @@ -4738,7 +5033,7 @@ msgstr "Rapports" #: /app/src/modules/help/HelpModule.js:44 #: /app/src/modules/rules/RulesModule.js:144 /app/templates/index.php:227 #: /app/templates/index.php:1442 /app/templates/index.php:1892 -#: /app/templates/index.php:2751 /app/templates/index.php:6786 +#: /app/templates/index.php:2751 /app/templates/index.php:6787 msgid "Import" msgstr "Importation" @@ -4790,87 +5085,83 @@ msgstr "Sélectionner / désélectionner la ligne actuelle" #: /app/src/core/KeyboardShortcuts.js:382 msgid "Reordering" -msgstr "" +msgstr "Réorganisation" #: /app/src/core/KeyboardShortcuts.js:384 msgid "Move a focused category or list column up / down" msgstr "" +"Déplacer une catégorie ou une colonne de liste sélectionnée vers le haut ou " +"vers le bas" #: /app/src/core/KeyboardShortcuts.js:385 msgid "Make a focused category a subcategory of the one above" msgstr "" +"Faire d'une catégorie spécifique une sous-catégorie de celle qui la précède" #: /app/src/core/KeyboardShortcuts.js:386 msgid "Move a focused subcategory out one level" -msgstr "" +msgstr "Déplacer une sous-catégorie sélectionnée d'un niveau vers le haut" #: /app/src/core/KeyboardShortcuts.js:396 -#: /app/src/core/KeyboardShortcuts.js:416 /app/src/main.js:1022 +#: /app/src/core/KeyboardShortcuts.js:416 /app/src/main.js:1025 msgid "Keyboard shortcuts" msgstr "Raccourcis clavier" -#: /app/src/core/KeyboardShortcuts.js:417 /app/src/main.js:1940 -#: /app/src/main.js:1947 /app/src/main.js:1951 -#: /app/src/modules/bills/BillsModule.js:1187 -#: /app/src/modules/bills/BillsModule.js:1384 +#: /app/src/core/KeyboardShortcuts.js:417 /app/src/main.js:1967 +#: /app/src/main.js:1974 /app/src/main.js:1978 +#: /app/src/modules/bills/BillsModule.js:1210 #: /app/src/modules/import/ImportModule.js:2348 #: /app/src/modules/import/ImportModule.js:2361 #: /app/src/modules/sharing/SharingModule.js:126 -#: /app/src/modules/transactions/TransactionsModule.js:5147 -#: /app/src/modules/transfers/TransfersModule.js:165 -#: /app/src/modules/transfers/TransfersModule.js:466 -#: /app/src/utils/modals.js:81 /app/templates/index.php:2717 -#: /app/templates/index.php:2915 /app/templates/index.php:3805 -#: /app/templates/index.php:5095 /app/templates/index.php:5116 -#: /app/templates/index.php:5122 /app/templates/index.php:5146 -#: /app/templates/index.php:5282 /app/templates/index.php:5310 -#: /app/templates/index.php:5422 /app/templates/index.php:5447 -#: /app/templates/index.php:5483 /app/templates/index.php:5519 -#: /app/templates/index.php:5573 /app/templates/index.php:5663 -#: /app/templates/index.php:5772 /app/templates/index.php:6618 -#: /app/templates/index.php:7033 /app/templates/index.php:7382 -#: /app/templates/index.php:7444 /app/templates/index.php:7545 -#: /app/templates/index.php:7555 +#: /app/src/modules/transactions/TransactionsModule.js:5198 +#: /app/src/modules/transfers/TransfersModule.js:170 +#: /app/src/modules/transfers/TransfersModule.js:440 +#: /app/src/utils/matchingDialog.js:74 /app/src/utils/modals.js:81 +#: /app/templates/index.php:2717 /app/templates/index.php:2915 +#: /app/templates/index.php:3805 /app/templates/index.php:5095 +#: /app/templates/index.php:5116 /app/templates/index.php:5122 +#: /app/templates/index.php:5146 /app/templates/index.php:5282 +#: /app/templates/index.php:5310 /app/templates/index.php:5422 +#: /app/templates/index.php:5447 /app/templates/index.php:5483 +#: /app/templates/index.php:5519 /app/templates/index.php:5573 +#: /app/templates/index.php:5663 /app/templates/index.php:5772 +#: /app/templates/index.php:6619 /app/templates/index.php:7034 +#: /app/templates/index.php:7383 /app/templates/index.php:7445 +#: /app/templates/index.php:7546 /app/templates/index.php:7556 msgid "Close" msgstr "Fermer" #: /app/src/main.js:224 -#, fuzzy -#| msgid "" -#| "Your session has expired, so categories could not be loaded. Reload the " -#| "page to restore them." msgid "This page could not be loaded. Reload the page to try again." -msgstr "" -"Votre session a expiré, les catégories n'ont donc pas pu être chargées. " -"Rechargez la page pour les rétablir." +msgstr "Cette page n'a pas pu être chargée. Actualisez la page pour réessayer." -#: /app/src/main.js:520 /app/src/modules/import/ImportModule.js:1991 +#: /app/src/main.js:523 /app/src/modules/import/ImportModule.js:1991 #: /app/src/modules/import/ImportModule.js:2031 msgid "Duplicate" msgstr "Doublon" -#: /app/src/main.js:522 +#: /app/src/main.js:525 msgid "Share expense" msgstr "Partager la dépense" -#: /app/src/main.js:525 +#: /app/src/main.js:528 msgid "Unlink transfer" msgstr "Dissocier le transfert" -#: /app/src/main.js:527 +#: /app/src/main.js:530 msgid "Match transfer" msgstr "Associer le transfert" -#: /app/src/main.js:530 /app/src/main.js:2917 +#: /app/src/main.js:533 /app/src/main.js:2951 #: /app/src/modules/accounts/AccountsModule.js:612 -#: /app/src/modules/accounts/AccountsModule.js:1383 +#: /app/src/modules/accounts/AccountsModule.js:1386 #: /app/src/modules/assets/AssetsModule.js:169 #: /app/src/modules/import/ImportModule.js:660 -#: /app/src/modules/pensions/PensionsModule.js:123 -#: /app/src/modules/pensions/PensionsModule.js:797 -#: /app/src/modules/pensions/PensionsModule.js:798 -#: /app/src/modules/pensions/PensionsModule.js:1043 -#: /app/src/modules/savings/SavingsModule.js:141 +#: /app/src/modules/pensions/PensionsModule.js:146 +#: /app/src/modules/pensions/PensionsModule.js:843 +#: /app/src/modules/pensions/PensionsModule.js:844 +#: /app/src/modules/pensions/PensionsModule.js:1127 +#: /app/src/modules/savings/SavingsModule.js:143 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:192 #: /app/src/modules/tagsets/TagSetsModule.js:84 /app/templates/index.php:1177 #: /app/templates/index.php:1720 /app/templates/index.php:1971 @@ -4878,11 +5169,11 @@ msgstr "Associer le transfert" msgid "Delete" msgstr "Supprimer" -#: /app/src/main.js:925 +#: /app/src/main.js:928 msgid "Failed to load data" msgstr "Échec du chargement des données" -#: /app/src/main.js:943 +#: /app/src/main.js:946 msgid "" "Your session has expired, so account names could not be loaded. Reload the " "page to restore them." @@ -4890,7 +5181,7 @@ msgstr "" "Votre session a expiré, les noms de compte n'ont donc pas pu être chargés. " "Rechargez la page pour les rétablir." -#: /app/src/main.js:944 +#: /app/src/main.js:947 msgid "" "Your session has expired, so categories could not be loaded. Reload the page " "to restore them." @@ -4898,7 +5189,7 @@ msgstr "" "Votre session a expiré, les catégories n'ont donc pas pu être chargées. " "Rechargez la page pour les rétablir." -#: /app/src/main.js:949 +#: /app/src/main.js:952 msgid "" "Accounts could not be loaded (error {status}). Transactions will show as " "\"Unknown Account\" until this is resolved." @@ -4907,7 +5198,7 @@ msgstr "" "apparaîtront sous la mention « Compte inconnu » tant que ce problème ne sera " "pas résolu." -#: /app/src/main.js:950 +#: /app/src/main.js:953 msgid "" "Categories could not be loaded (error {status}). Transactions will show as " "\"Uncategorized\" until this is resolved." @@ -4915,170 +5206,210 @@ msgstr "" "Impossible de charger les catégories (erreur {status}). Les opérations " "apparaîtront comme « Non classées » tant que ce problème ne sera pas résolu." -#: /app/src/main.js:1018 +#: /app/src/main.js:1021 msgid "Read full guide" msgstr "Lire le guide complet" -#: /app/src/main.js:1023 +#: /app/src/main.js:1026 msgid "Budget can be driven from the keyboard — press" msgstr "Le budget peut être géré depuis le clavier — appuyez sur" -#: /app/src/main.js:1023 +#: /app/src/main.js:1026 msgid "anytime to see the full list." msgstr "à tout moment pour consulter la liste complète." -#: /app/src/main.js:1024 +#: /app/src/main.js:1027 msgid "Show keyboard shortcuts" msgstr "Afficher les raccourcis clavier" -#: /app/src/main.js:1028 +#: /app/src/main.js:1031 msgid "Quick Links" msgstr "Liens rapides" -#: /app/src/main.js:1030 +#: /app/src/main.js:1033 msgid "Getting Started Guide" msgstr "Guide de démarrage" -#: /app/src/main.js:1031 +#: /app/src/main.js:1034 msgid "Importing Bank Statements" msgstr "Importation des relevés bancaires" -#: /app/src/main.js:1032 +#: /app/src/main.js:1035 msgid "Budget Tracking" msgstr "Suivi budgétaire" -#: /app/src/main.js:1033 +#: /app/src/main.js:1036 msgid "Auto-Categorisation Rules" msgstr "Règles de catégorisation automatique" -#: /app/src/main.js:1038 /app/templates/index.php:4989 +#: /app/src/main.js:1041 /app/templates/index.php:4989 msgid "Support Budget" msgstr "Soutenez Budget" -#: /app/src/main.js:1039 +#: /app/src/main.js:1042 msgid "Free and open source. If Budget helps you, a donation keeps it going." msgstr "" "Gratuit et open source. Si Budget vous est utile, un don permettra d'assurer " "sa pérennité." -#: /app/src/main.js:1041 /app/templates/index.php:4999 +#: /app/src/main.js:1044 /app/templates/index.php:4999 msgid "Sponsor on GitHub" msgstr "Sponsor sur GitHub" -#: /app/src/main.js:1042 /app/templates/index.php:5002 +#: /app/src/main.js:1045 /app/templates/index.php:5002 msgid "Donate via PayPal" msgstr "Faites un don sur PayPal" -#: /app/src/main.js:1502 /app/src/modules/accounts/AccountsModule.js:1562 +#: /app/src/main.js:1505 /app/src/modules/accounts/AccountsModule.js:1565 msgid "Failed to load transactions" msgstr "Échec du chargement des opérations" -#: /app/src/main.js:1548 +#: /app/src/main.js:1551 msgid "{displayed} of {total} transactions" msgstr "{displayed} sur {total} opérations" -#: /app/src/main.js:1549 /app/src/modules/dashboard/DashboardModule.js:2586 +#: /app/src/main.js:1552 /app/src/modules/dashboard/DashboardModule.js:2770 #: /app/src/modules/import/ImportModule.js:2148 msgid "%n transaction" msgid_plural "%n transactions" msgstr[0] "%n opération" msgstr[1] "%n opérations" -#: /app/src/main.js:1574 +#: /app/src/main.js:1577 msgid "Total: {amount}" msgstr "Total : {amount}" -#: /app/src/main.js:1593 /app/src/modules/accounts/AccountsModule.js:1712 +#: /app/src/main.js:1596 /app/src/modules/accounts/AccountsModule.js:1715 msgid "Page {current} of {total}" msgstr "Page {current} sur {total}" -#: /app/src/main.js:1704 +#: /app/src/main.js:1707 msgid "Recalculating..." msgstr "Recalcul..." -#: /app/src/main.js:1709 +#: /app/src/main.js:1712 msgid "Recalculation failed" msgstr "Le recalcul a échoué" -#: /app/src/main.js:1713 +#: /app/src/main.js:1716 msgid "Recalculated {updated} of {total} account balances" msgstr "Recalcul de {updated} sur {total} soldes de compte" -#: /app/src/main.js:1716 +#: /app/src/main.js:1719 msgid "All account balances are correct" msgstr "Tous les soldes de compte sont corrects" -#: /app/src/main.js:1720 +#: /app/src/main.js:1723 msgid "Failed to recalculate balances: {error}" msgstr "Échec du recalcul des soldes : {error}" -#: /app/src/main.js:1735 +#: /app/src/main.js:1738 msgid "Scanning..." msgstr "Recherche..." -#: /app/src/main.js:1745 +#: /app/src/main.js:1748 msgid "Failed to scan for issues: {error}" msgstr "Échec de la recherche de problèmes : {error}" -#: /app/src/main.js:1776 +#: /app/src/main.js:1779 msgid "No data integrity issues found. Everything looks good!" msgstr "" "Aucun problème d'intégrité des données n'a été détecté. Tout semble en " "ordre !" -#: /app/src/main.js:1778 +#: /app/src/main.js:1781 msgid "Found {count} issue(s) across {categories} categories." msgstr "{count} problème(s) trouvé(s) dans {categories} catégories." -#: /app/src/main.js:1784 /app/src/main.js:1845 +#: /app/src/main.js:1789 +msgid "Looks like a second payment for {occurrence} (other payment on {date})" +msgstr "" + +#: /app/src/main.js:1790 /app/src/main.js:1797 /app/src/main.js:1867 msgid "(unnamed)" msgstr "(anonyme)" -#: /app/src/main.js:1787 -msgid "duplicate of" -msgstr "doublon de" +#: /app/src/main.js:1790 +msgid "Also recorded as {description} on {date}" +msgstr "" + +#: /app/src/main.js:1792 +#, fuzzy +#| msgid "Unreconciled" +msgid "reconciled" +msgstr "Non rapprochée" -#: /app/src/main.js:1794 +#: /app/src/main.js:1808 msgid "Duplicate Auto-Generated Transactions" msgstr "Opérations dupliquées automatiquement" -#: /app/src/main.js:1797 /app/src/main.js:1858 /app/src/main.js:1909 -msgid "and {more} more" -msgstr "et {more} plus encore" +#: /app/src/main.js:1812 +msgid "" +"Only ticked rows are deleted. Rows that come ticked are bill payments the " +"app recorded that an imported bank transaction records as well. The others " +"only look like duplicates and may be real payments: check them in the " +"account first, and tick only the ones you are sure about." +msgstr "" -#: /app/src/main.js:1806 +#: /app/src/main.js:1824 msgid "Due: {date}" msgstr "Échéance : {date}" -#: /app/src/main.js:1807 /app/src/main.js:1827 +#: /app/src/main.js:1825 /app/src/main.js:1849 msgid "Paid: {date}" msgstr "Payé : {date}" -#: /app/src/main.js:1814 +#: /app/src/main.js:1826 /app/src/main.js:1870 +#, fuzzy +#| msgid "Don't change" +msgid "Check: not changed" +msgstr "Ne pas modifier" + +#: /app/src/main.js:1830 +msgid "" +"Repairing moves these bills on to their next due date, with their pending " +"transaction. Bills marked Check are left as they are: their due date is " +"before the last payment, which is also how an overdue bill with another " +"payment still owed looks. If that payment was made, use Skip on the Bills " +"page." +msgstr "" + +#: /app/src/main.js:1836 msgid "Bills with Stuck Due Dates" msgstr "Factures dont la date d'échéance est bloquée" -#: /app/src/main.js:1834 +#: /app/src/main.js:1856 msgid "Paid One-Time Bills Still Active" msgstr "Factures ponctuelles réglées toujours actives" -#: /app/src/main.js:1855 +#: /app/src/main.js:1876 +msgid "" +"Repairing marks these as scheduled, so they count in the balance from their " +"date. Bill payments and reconciled transactions marked Check are left as " +"they are: check their dates on the Transactions page." +msgstr "" + +#: /app/src/main.js:1882 msgid "Future Transactions Not Marked as Scheduled" msgstr "Opérations à venir non marquées comme planifiées" -#: /app/src/main.js:1872 +#: /app/src/main.js:1885 /app/src/main.js:1936 +msgid "and {more} more" +msgstr "et {more} plus encore" + +#: /app/src/main.js:1899 msgid "Now: {amount} in credit" msgstr "Maintenant : {amount} au crédit" -#: /app/src/main.js:1873 +#: /app/src/main.js:1900 msgid "After repair: {amount} owed" msgstr "Après réparation : {amount} dû" -#: /app/src/main.js:1880 +#: /app/src/main.js:1907 msgid "Debts Recorded as Being in Credit" msgstr "Dettes saisies comme étant au crédit" -#: /app/src/main.js:1884 +#: /app/src/main.js:1911 msgid "" "These debts hold a positive balance, so the app is counting them as money " "you have rather than money you owe. Untick any you really have overpaid — " @@ -5090,15 +5421,15 @@ msgstr "" "nécessaire : celles-ci seront enregistrées comme de véritables crédits et ne " "seront plus prises en compte lors des prochains analyses." -#: /app/src/main.js:1897 +#: /app/src/main.js:1924 msgid "Listed under {category}" msgstr "Répertorié sous {category}" -#: /app/src/main.js:1904 +#: /app/src/main.js:1931 msgid "Split Transactions Carrying a Category" msgstr "Opérations ventilées associées à une catégorie" -#: /app/src/main.js:1908 +#: /app/src/main.js:1935 msgid "" "A split transaction keeps its categories on its individual parts, so it " "should not carry one of its own. These picked one up from an older version " @@ -5114,129 +5445,129 @@ msgstr "" "ventilée elle-même, ainsi que chacune de ses parties, reste exactement telle " "quelle." -#: /app/src/main.js:1919 +#: /app/src/main.js:1946 msgid "Stored: {amount}" msgstr "Enregistré : {amount}" -#: /app/src/main.js:1920 +#: /app/src/main.js:1947 msgid "Expected: {amount}" msgstr "Attendu : {amount}" -#: /app/src/main.js:1921 +#: /app/src/main.js:1948 msgid "Diff: {amount}" msgstr "Différence : {amount}" -#: /app/src/main.js:1928 +#: /app/src/main.js:1955 msgid "Account Balance Inconsistencies" msgstr "Incohérences du solde du compte" -#: /app/src/main.js:1939 +#: /app/src/main.js:1966 msgid "Data Integrity Report" msgstr "Rapport sur l'intégrité des données" -#: /app/src/main.js:1948 /app/src/main.js:2045 +#: /app/src/main.js:1975 /app/src/main.js:2078 msgid "Fix Selected Issues" msgstr "Corriger les problèmes sélectionnés" -#: /app/src/main.js:1985 +#: /app/src/main.js:2012 msgid "No categories selected" msgstr "Aucune catégorie sélectionnée" -#: /app/src/main.js:1998 +#: /app/src/main.js:2031 msgid "Repairing..." msgstr "Réparation en cours..." -#: /app/src/main.js:2012 +#: /app/src/main.js:2045 msgid "{count} duplicate transactions removed" msgstr "{count} opérations en double supprimées" -#: /app/src/main.js:2015 +#: /app/src/main.js:2048 msgid "{count} bill due dates fixed" msgstr "{count} dates d'échéance de factures corrigées" -#: /app/src/main.js:2018 +#: /app/src/main.js:2051 msgid "{count} one-time bills deactivated" msgstr "{count} factures ponctuelles désactivées" -#: /app/src/main.js:2021 +#: /app/src/main.js:2054 msgid "{count} future transactions set to scheduled" msgstr "{count} opérations à venir programmées" -#: /app/src/main.js:2024 +#: /app/src/main.js:2057 msgid "{count} split transactions had a stray category removed" msgstr "Une catégorie erronée a été supprimée de {count} opérations ventilées" -#: /app/src/main.js:2027 +#: /app/src/main.js:2060 msgid "{count} debts re-recorded as owed" msgstr "{count} dettes réenregistrées comme dues" -#: /app/src/main.js:2029 +#: /app/src/main.js:2062 msgid "{count} confirmed as genuine credits" msgstr "{count} confirmés comme crédits véritables" -#: /app/src/main.js:2033 +#: /app/src/main.js:2066 msgid "{count} account balances corrected" msgstr "{count} soldes de compte corrigés" -#: /app/src/main.js:2036 +#: /app/src/main.js:2069 msgid "Repair complete: {details}" msgstr "Réparation terminée : {details}" -#: /app/src/main.js:2043 +#: /app/src/main.js:2076 msgid "Repair failed: {error}" msgstr "Échec de la réparation : {error}" -#: /app/src/main.js:2129 /app/src/modules/settings/SettingsModule.js:592 -#: /app/src/modules/transactions/TransactionsModule.js:5310 +#: /app/src/main.js:2162 /app/src/modules/settings/SettingsModule.js:592 +#: /app/src/modules/transactions/TransactionsModule.js:5361 msgid "Deleting..." msgstr "Suppression en cours..." -#: /app/src/main.js:2158 /app/src/modules/settings/SettingsModule.js:619 -#: /app/templates/index.php:7428 +#: /app/src/main.js:2191 /app/src/modules/settings/SettingsModule.js:619 +#: /app/templates/index.php:7429 msgid "Delete Everything" msgstr "Tout supprimer" -#: /app/src/main.js:2161 /app/src/modules/settings/SettingsModule.js:622 +#: /app/src/main.js:2194 /app/src/modules/settings/SettingsModule.js:622 msgid "Failed to perform factory reset" msgstr "Échec de la réinitialisation aux paramètres d'usine" -#: /app/src/main.js:2234 +#: /app/src/main.js:2267 msgid "Exporting..." msgstr "Exportation en cours..." -#: /app/src/main.js:2238 +#: /app/src/main.js:2271 msgid "Export failed" msgstr "Échec de l'exportation" -#: /app/src/main.js:2262 +#: /app/src/main.js:2295 msgid "Export completed successfully" msgstr "Exportation effectuée avec succès" -#: /app/src/main.js:2265 +#: /app/src/main.js:2298 msgid "Failed to export data: {error}" msgstr "Échec de l'exportation des données : {error}" -#: /app/src/main.js:2274 +#: /app/src/main.js:2307 msgid "Please select a ZIP file" msgstr "Veuillez sélectionner un fichier ZIP" -#: /app/src/main.js:2287 +#: /app/src/main.js:2320 msgid "Validating file..." msgstr "Validation du fichier..." -#: /app/src/main.js:2296 /app/src/main.js:2300 +#: /app/src/main.js:2329 /app/src/main.js:2333 msgid "Invalid export file" msgstr "Fichier d'exportation non valide" -#: /app/src/main.js:2331 +#: /app/src/main.js:2364 msgid "Failed to preview file: {error}" msgstr "Échec de la prévisualisation du fichier : {error}" -#: /app/src/main.js:2343 +#: /app/src/main.js:2376 msgid "No file selected" msgstr "Aucun fichier sélectionné" -#: /app/src/main.js:2348 +#: /app/src/main.js:2381 msgid "" "This will PERMANENTLY DELETE all your existing data and replace it with the " "imported data." @@ -5244,109 +5575,109 @@ msgstr "" "Cela supprimera définitivement toutes vos données existantes et les " "remplacera par les données importées." -#: /app/src/main.js:2348 +#: /app/src/main.js:2381 msgid "Are you absolutely sure you want to continue?" msgstr "Êtes-vous absolument sûr de vouloir continuer ?" -#: /app/src/main.js:2358 +#: /app/src/main.js:2391 msgid "Importing data... This may take a moment." msgstr "Importation des données... Cela peut prendre un moment." -#: /app/src/main.js:2368 /app/src/main.js:2374 +#: /app/src/main.js:2401 /app/src/main.js:2407 #: /app/src/modules/import/ImportModule.js:2449 msgid "Import failed" msgstr "L'importation a échoué" -#: /app/src/main.js:2382 +#: /app/src/main.js:2415 msgid "Import Successful!" msgstr "Importation réussie !" -#: /app/src/main.js:2383 +#: /app/src/main.js:2416 msgid "Your data has been imported successfully." msgstr "Vos données ont été importées avec succès." -#: /app/src/main.js:2385 +#: /app/src/main.js:2418 msgid "categories" msgstr "catégories" -#: /app/src/main.js:2386 +#: /app/src/main.js:2419 msgid "accounts" msgstr "comptes" -#: /app/src/main.js:2387 +#: /app/src/main.js:2420 msgid "transactions" msgstr "opérations" -#: /app/src/main.js:2388 +#: /app/src/main.js:2421 msgid "bills" msgstr "factures" -#: /app/src/main.js:2389 +#: /app/src/main.js:2422 msgid "import rules" msgstr "règles d'importation" -#: /app/src/main.js:2390 +#: /app/src/main.js:2423 msgid "settings" msgstr "paramètres" -#: /app/src/main.js:2401 +#: /app/src/main.js:2435 msgid "Import completed successfully" msgstr "Importation effectuée avec succès" -#: /app/src/main.js:2409 +#: /app/src/main.js:2443 msgid "Import Failed" msgstr "Échec de l'importation" -#: /app/src/main.js:2411 +#: /app/src/main.js:2445 msgid "Your existing data has not been modified." msgstr "Vos données existantes n'ont pas été modifiées." -#: /app/src/main.js:2654 +#: /app/src/main.js:2688 msgid "Failed to calculate scenario" msgstr "Échec du calcul du scénario" -#: /app/src/main.js:2699 /app/src/modules/dashboard/DashboardModule.js:950 -#: /app/src/modules/reports/ReportsModule.js:1570 +#: /app/src/main.js:2733 /app/src/modules/dashboard/DashboardModule.js:1009 +#: /app/src/modules/reports/ReportsModule.js:1571 msgid "N/A" msgstr "N/A" -#: /app/src/main.js:2874 /app/src/main.js:2972 +#: /app/src/main.js:2908 /app/src/main.js:3006 msgid "Interest Rate" msgstr "Taux d'intérêt" -#: /app/src/main.js:2875 /app/templates/index.php:1276 +#: /app/src/main.js:2909 /app/templates/index.php:1276 msgid "Min Payment" msgstr "Paiement minimum" -#: /app/src/main.js:2876 +#: /app/src/main.js:2910 msgid "Payoff" msgstr "Remboursement" -#: /app/src/main.js:2876 +#: /app/src/main.js:2910 msgid "month {month}" msgstr "mois {month}" -#: /app/src/main.js:2877 /app/templates/index.php:4141 +#: /app/src/main.js:2911 /app/templates/index.php:4141 msgid "Total Interest" msgstr "Intérêts totaux" -#: /app/src/main.js:2900 +#: /app/src/main.js:2934 msgid "No scenarios yet. Create one to compare strategies." msgstr "" "Aucun scénario pour le moment. Créez-en un pour comparer les stratégies." -#: /app/src/main.js:2905 /app/src/main.js:3136 +#: /app/src/main.js:2939 /app/src/main.js:3170 msgid "Snowball" msgstr "Boule de neige" -#: /app/src/main.js:2905 /app/src/main.js:3125 +#: /app/src/main.js:2939 /app/src/main.js:3159 msgid "Avalanche" msgstr "Avalanche" -#: /app/src/main.js:2916 /app/src/modules/accounts/AccountsModule.js:609 +#: /app/src/main.js:2950 /app/src/modules/accounts/AccountsModule.js:609 #: /app/src/modules/assets/AssetsModule.js:166 -#: /app/src/modules/pensions/PensionsModule.js:120 -#: /app/src/modules/savings/SavingsModule.js:138 +#: /app/src/modules/pensions/PensionsModule.js:143 +#: /app/src/modules/savings/SavingsModule.js:140 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:189 #: /app/src/modules/tagsets/TagSetsModule.js:83 /app/templates/index.php:1223 #: /app/templates/index.php:1967 /app/templates/index.php:4016 @@ -5354,220 +5685,212 @@ msgstr "Avalanche" msgid "Edit" msgstr "Modifier" -#: /app/src/main.js:2918 +#: /app/src/main.js:2952 msgid "Set as active" msgstr "Définir comme actif" -#: /app/src/main.js:2932 +#: /app/src/main.js:2966 msgid "Edit Scenario" msgstr "Modifier le scénario" -#: /app/src/main.js:2932 /app/templates/index.php:4120 +#: /app/src/main.js:2966 /app/templates/index.php:4120 #: /app/templates/index.php:4122 /app/templates/index.php:5689 msgid "New Scenario" msgstr "Nouveau scénario" -#: /app/src/main.js:2986 +#: /app/src/main.js:3020 msgid "Please enter a scenario name" msgstr "Veuillez saisir un nom de scénario" -#: /app/src/main.js:3040 +#: /app/src/main.js:3074 msgid "Failed to save scenario" msgstr "Échec de l'enregistrement du scénario" -#: /app/src/main.js:3045 +#: /app/src/main.js:3079 msgid "Are you sure you want to delete this scenario?" msgstr "Êtes-vous sûr de vouloir supprimer ce scénario ?" -#: /app/src/main.js:3064 +#: /app/src/main.js:3098 msgid "Failed to delete scenario" msgstr "Échec de la suppression du scénario" -#: /app/src/main.js:3080 +#: /app/src/main.js:3114 msgid "Failed to activate scenario" msgstr "Échec de l'activation du scénario" -#: /app/src/main.js:3127 /app/src/main.js:3138 +#: /app/src/main.js:3161 /app/src/main.js:3172 msgid "Months to payoff" msgstr "Mois avant le remboursement" -#: /app/src/main.js:3131 /app/src/main.js:3142 +#: /app/src/main.js:3165 /app/src/main.js:3176 msgid "Total interest" msgstr "Intérêts totaux" -#: /app/src/main.js:3160 +#: /app/src/main.js:3194 msgid "Avalanche Recommended" msgstr "Méthode « Avalanche » recommandée" -#: /app/src/main.js:3161 +#: /app/src/main.js:3195 msgid "Snowball Recommended" msgstr "Méthode « boule de neige » recommandée" -#: /app/src/main.js:3161 +#: /app/src/main.js:3195 msgid "Either Works" msgstr "Les deux conviennent" -#: /app/src/main.js:3164 +#: /app/src/main.js:3198 msgid "Avalanche saves {amount} in interest" msgstr "La méthode « Avalanche » permet d'économiser {amount} en intérêts" -#: /app/src/main.js:3165 +#: /app/src/main.js:3199 msgid "Snowball saves {amount} in interest" msgstr "La méthode « boule de neige » permet d'économiser {amount} en intérêts" -#: /app/src/main.js:3201 +#: /app/src/main.js:3235 msgid "Hide" msgstr "Masquer" -#: /app/src/main.js:3201 +#: /app/src/main.js:3235 msgid "Show" msgstr "Afficher" -#: /app/src/main.js:3311 -#: /app/src/modules/transactions/TransactionsModule.js:3610 +#: /app/src/main.js:3345 +#: /app/src/modules/transactions/TransactionsModule.js:3661 #: /app/src/modules/transactions/transactionRow.js:287 msgid "Unknown Account" msgstr "Compte inconnu" -#: /app/src/main.js:3355 -#: /app/src/modules/transactions/TransactionsModule.js:3654 +#: /app/src/main.js:3389 +#: /app/src/modules/transactions/TransactionsModule.js:3705 msgid "Link as Transfer" msgstr "Lier au virement" -#: /app/src/main.js:3364 -#: /app/src/modules/transactions/TransactionsModule.js:3663 +#: /app/src/main.js:3398 +#: /app/src/modules/transactions/TransactionsModule.js:3714 msgid "Failed to search for matches. Please try again." msgstr "Échec de la recherche de correspondances. Veuillez réessayer." -#: /app/src/main.js:3374 -#: /app/src/modules/transactions/TransactionsModule.js:3670 +#: /app/src/main.js:3408 +#: /app/src/modules/transactions/TransactionsModule.js:3721 msgid "Transactions linked as transfer" msgstr "Opérations liées au virement" -#: /app/src/main.js:3380 -#: /app/src/modules/transactions/TransactionsModule.js:3676 -#: /app/src/modules/transactions/TransactionsModule.js:4348 -#: /app/src/modules/transactions/TransactionsModule.js:4420 +#: /app/src/main.js:3414 +#: /app/src/modules/transactions/TransactionsModule.js:3727 +#: /app/src/modules/transactions/TransactionsModule.js:4399 +#: /app/src/modules/transactions/TransactionsModule.js:4471 msgid "Failed to link transactions" msgstr "Échec de la liaison des opérations" -#: /app/src/main.js:3404 +#: /app/src/main.js:3438 msgid "Select an account for the other side of the transfer" msgstr "Sélectionnez un compte pour l'autre partie du virement" -#: /app/src/main.js:3409 +#: /app/src/main.js:3443 msgid "Transfer created and linked" msgstr "Virement créé et lié" -#: /app/src/main.js:3415 -#: /app/src/modules/transactions/TransactionsModule.js:2933 +#: /app/src/main.js:3449 +#: /app/src/modules/transactions/TransactionsModule.js:2977 msgid "Failed to create transfer" msgstr "Échec de la création du virement" -#: /app/src/main.js:3434 +#: /app/src/main.js:3468 msgid "Could not navigate to linked transaction" msgstr "Impossible d'accéder à l'opération liée" -#: /app/src/main.js:3509 -#: /app/src/modules/transactions/TransactionsModule.js:3681 +#: /app/src/main.js:3543 +#: /app/src/modules/transactions/TransactionsModule.js:3732 msgid "" "Are you sure you want to unlink this transaction from its transfer pair?" msgstr "" "Êtes-vous sûr de vouloir dissocier cette opération de son virement associé ?" -#: /app/src/main.js:3515 -#: /app/src/modules/transactions/TransactionsModule.js:3687 +#: /app/src/main.js:3549 +#: /app/src/modules/transactions/TransactionsModule.js:3738 msgid "Transaction unlinked" msgstr "Opération dissociée" -#: /app/src/main.js:3546 -#: /app/src/modules/transactions/TransactionsModule.js:3714 +#: /app/src/main.js:3580 +#: /app/src/modules/transactions/TransactionsModule.js:3765 msgid "Edit Transaction Splits" msgstr "Modifier les ventilations de l'opération" -#: /app/src/main.js:3546 -#: /app/src/modules/transactions/TransactionsModule.js:3714 -#: /app/templates/index.php:7098 +#: /app/src/main.js:3580 +#: /app/src/modules/transactions/TransactionsModule.js:3765 +#: /app/templates/index.php:7099 msgid "Split Transaction" msgstr "Ventiler l'opération" -#: /app/src/main.js:3562 +#: /app/src/main.js:3596 msgid "Total Amount" msgstr "Montant total" -#: /app/src/main.js:3636 -#: /app/src/modules/transactions/TransactionsModule.js:3196 -#: /app/src/modules/transactions/TransactionsModule.js:3801 +#: /app/src/main.js:3670 +#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3852 #: /app/templates/index.php:5550 msgid "Optional note" msgstr "Remarque facultative" -#: /app/src/main.js:3640 /app/src/modules/bills/BillsModule.js:992 -#: /app/src/modules/transactions/TransactionsModule.js:3805 +#: /app/src/main.js:3674 /app/src/modules/bills/BillsModule.js:998 +#: /app/src/modules/transactions/TransactionsModule.js:3856 msgid "Remove split" msgstr "Supprimer la ventilation" -#: /app/src/main.js:3760 -#: /app/src/modules/transactions/TransactionsModule.js:3873 +#: /app/src/main.js:3794 +#: /app/src/modules/transactions/TransactionsModule.js:3924 msgid "A split transaction must have at least 2 parts" msgstr "Une opération ventilée doit comporter au moins deux parties" -#: /app/src/main.js:3766 -#: /app/src/modules/transactions/TransactionsModule.js:3879 +#: /app/src/main.js:3800 +#: /app/src/modules/transactions/TransactionsModule.js:3930 msgid "" "Split amounts ({splitTotal}) must equal transaction amount ({totalAmount})" msgstr "" "Le total des montants ventilés ({splitTotal}) doit être égal au montant de " "l'opération ({totalAmount})" -#: /app/src/main.js:3777 -#: /app/src/modules/transactions/TransactionsModule.js:3890 +#: /app/src/main.js:3811 +#: /app/src/modules/transactions/TransactionsModule.js:3941 msgid "Transaction split successfully" msgstr "Opération ventilée avec succès" -#: /app/src/main.js:3781 -#: /app/src/modules/transactions/TransactionsModule.js:3894 +#: /app/src/main.js:3815 +#: /app/src/modules/transactions/TransactionsModule.js:3945 msgid "Failed to save splits" msgstr "Échec de l'enregistrement des ventilations" -#: /app/src/main.js:3792 -#: /app/src/modules/transactions/TransactionsModule.js:3902 +#: /app/src/main.js:3826 +#: /app/src/modules/transactions/TransactionsModule.js:3953 msgid "" "Are you sure you want to remove the split and revert to a single transaction?" msgstr "" "Êtes-vous sûr de vouloir supprimer la ventilation et revenir à une opération " "unique ?" -#: /app/src/main.js:3800 -#: /app/src/modules/transactions/TransactionsModule.js:3910 +#: /app/src/main.js:3834 +#: /app/src/modules/transactions/TransactionsModule.js:3961 msgid "Transaction unsplit successfully" msgstr "Ventilation dissociée avec succès" -#: /app/src/main.js:3804 -#: /app/src/modules/transactions/TransactionsModule.js:3914 +#: /app/src/main.js:3838 +#: /app/src/modules/transactions/TransactionsModule.js:3965 msgid "Failed to unsplit transaction" msgstr "Échec de la dissociation de la ventilation" -#: /app/src/main.js:3943 +#: /app/src/main.js:3977 msgid "At least one column must remain visible" msgstr "Au moins une colonne doit rester visible" -#: /app/src/main.js:3963 +#: /app/src/main.js:3997 msgid "Failed to save column visibility" msgstr "Échec de l'enregistrement de la visibilité de la colonne" -#: /app/src/main.js:3970 +#: /app/src/main.js:4004 msgid "Failed to save column preferences" msgstr "Échec de l'enregistrement des préférences de la colonne" -#: /app/src/modules/accounts/AccountsModule.js:25 -#: /app/src/modules/transfers/TransfersModule.js:475 -#: /app/templates/index.php:1104 /app/templates/index.php:2802 -#: /app/templates/index.php:5157 /app/templates/index.php:5583 -#: /app/templates/index.php:7236 -msgid "Name" -msgstr "Nom" - #: /app/src/modules/accounts/AccountsModule.js:26 /app/templates/index.php:1106 msgid "Account type" msgstr "Type de compte" @@ -5644,7 +5967,7 @@ msgid "Excluded" msgstr "Exclus" #: /app/src/modules/accounts/AccountsModule.js:561 -#: /app/src/modules/accounts/AccountsModule.js:2662 +#: /app/src/modules/accounts/AccountsModule.js:2668 msgid "Edit Account" msgstr "Modifier le compte" @@ -5653,13 +5976,13 @@ msgid "Delete Account" msgstr "Supprimer le compte" #: /app/src/modules/accounts/AccountsModule.js:634 -#: /app/src/modules/accounts/AccountsModule.js:2406 +#: /app/src/modules/accounts/AccountsModule.js:2412 #: /app/templates/index.php:1039 msgid "Select account" msgstr "Sélectionner un compte" #: /app/src/modules/accounts/AccountsModule.js:678 -#: /app/src/modules/categories/CategoriesModule.js:1315 +#: /app/src/modules/categories/CategoriesModule.js:1337 msgid "%n selected" msgid_plural "%n selected" msgstr[0] "%n sélectionnée" @@ -5679,7 +6002,12 @@ msgstr[1] "" "Supprimer %n comptes ? Les comptes contenant encore des opérations sont mis " "de côté et feront l'objet d'une demande de confirmation distincte." -#: /app/src/modules/accounts/AccountsModule.js:733 +#: /app/src/modules/accounts/AccountsModule.js:712 +msgid "" +"Any bills, transfers or recurring income that use them are switched off." +msgstr "" + +#: /app/src/modules/accounts/AccountsModule.js:734 msgid "" "%n account still has transactions: {names}. Delete it along with its {rows} " "transaction(s)? This cannot be undone." @@ -5694,245 +6022,246 @@ msgstr[1] "" "supprimer en même temps que leurs {rows} opération(s) ? Cette action est " "irréversible." -#: /app/src/modules/accounts/AccountsModule.js:751 +#: /app/src/modules/accounts/AccountsModule.js:752 msgid "%n account and {count} transaction(s) deleted" msgid_plural "%n accounts and {count} transaction(s) deleted" msgstr[0] "%n compte et {count} opérations(s) supprimé(s)" msgstr[1] "%n comptes et {count} opérations(s) supprimé(s)" -#: /app/src/modules/accounts/AccountsModule.js:754 +#: /app/src/modules/accounts/AccountsModule.js:755 msgid "%n account deleted" msgid_plural "%n accounts deleted" msgstr[0] "%n compte supprimé" msgstr[1] "%n comptes supprimés" -#: /app/src/modules/accounts/AccountsModule.js:757 -#: /app/src/modules/categories/CategoriesModule.js:1355 +#: /app/src/modules/accounts/AccountsModule.js:758 +#: /app/src/modules/categories/CategoriesModule.js:1377 msgid "Failed to delete: {errors}" msgstr "Échec de la suppression : {errors}" -#: /app/src/modules/accounts/AccountsModule.js:771 +#: /app/src/modules/accounts/AccountsModule.js:772 msgid "Failed to delete accounts: {error}" msgstr "Échec de la suppression des comptes : {error}" -#: /app/src/modules/accounts/AccountsModule.js:889 +#: /app/src/modules/accounts/AccountsModule.js:890 msgid "Always shown" msgstr "Toujours affiché" -#: /app/src/modules/accounts/AccountsModule.js:1128 +#: /app/src/modules/accounts/AccountsModule.js:1129 msgid "Failed to load account details" msgstr "Échec du chargement des détails du compte" -#: /app/src/modules/accounts/AccountsModule.js:1240 +#: /app/src/modules/accounts/AccountsModule.js:1241 msgid "Day {day} each month" msgstr "Le {day} de chaque mois" -#: /app/src/modules/accounts/AccountsModule.js:1293 -#: /app/src/modules/accounts/AccountsModule.js:1294 -#: /app/src/modules/accounts/AccountsModule.js:1295 #: /app/src/modules/accounts/AccountsModule.js:1296 #: /app/src/modules/accounts/AccountsModule.js:1297 +#: /app/src/modules/accounts/AccountsModule.js:1298 #: /app/src/modules/accounts/AccountsModule.js:1299 +#: /app/src/modules/accounts/AccountsModule.js:1300 +#: /app/src/modules/accounts/AccountsModule.js:1302 #: /app/templates/index.php:1358 /app/templates/index.php:1362 #: /app/templates/index.php:1366 /app/templates/index.php:1370 #: /app/templates/index.php:1374 /app/templates/index.php:1382 msgid "Not provided" msgstr "Non fourni" -#: /app/src/modules/accounts/AccountsModule.js:1300 +#: /app/src/modules/accounts/AccountsModule.js:1303 #: /app/templates/index.php:1386 msgid "Never" msgstr "Jamais" -#: /app/src/modules/accounts/AccountsModule.js:1367 +#: /app/src/modules/accounts/AccountsModule.js:1370 +#: /app/src/modules/transfers/TransfersModule.js:477 #: /app/templates/index.php:6087 msgid "Daily" msgstr "Quotidien" -#: /app/src/modules/accounts/AccountsModule.js:1370 +#: /app/src/modules/accounts/AccountsModule.js:1373 msgid "Simple" msgstr "Simple" -#: /app/src/modules/accounts/AccountsModule.js:1399 -#: /app/src/modules/accounts/AccountsModule.js:1404 +#: /app/src/modules/accounts/AccountsModule.js:1402 +#: /app/src/modules/accounts/AccountsModule.js:1407 msgid "Failed to delete rate change" msgstr "Échec de la suppression de la modification du taux" -#: /app/src/modules/accounts/AccountsModule.js:1401 +#: /app/src/modules/accounts/AccountsModule.js:1404 msgid "Rate change deleted" msgstr "Modification du taux supprimée" -#: /app/src/modules/accounts/AccountsModule.js:1418 +#: /app/src/modules/accounts/AccountsModule.js:1421 msgid "Enter new annual interest rate (%)" msgstr "Saisissez le nouveau taux d'intérêt annuel (%)" -#: /app/src/modules/accounts/AccountsModule.js:1423 +#: /app/src/modules/accounts/AccountsModule.js:1426 msgid "Invalid rate. Must be between 0 and 999.9999" msgstr "Taux invalide. Doit être compris entre 0 et 999,9999" -#: /app/src/modules/accounts/AccountsModule.js:1427 +#: /app/src/modules/accounts/AccountsModule.js:1430 msgid "Effective date (YYYY-MM-DD)" msgstr "Date d'entrée en vigueur (AAAA-MM-JJ)" -#: /app/src/modules/accounts/AccountsModule.js:1430 +#: /app/src/modules/accounts/AccountsModule.js:1433 msgid "Compounding frequency (daily, monthly, yearly, simple)" msgstr "Fréquence de capitalisation (journalière, mensuelle, annuelle, simple)" -#: /app/src/modules/accounts/AccountsModule.js:1444 -#: /app/src/modules/accounts/AccountsModule.js:1449 +#: /app/src/modules/accounts/AccountsModule.js:1447 +#: /app/src/modules/accounts/AccountsModule.js:1452 msgid "Failed to add rate change" msgstr "Échec de l'ajout de la modification du taux" -#: /app/src/modules/accounts/AccountsModule.js:1446 +#: /app/src/modules/accounts/AccountsModule.js:1449 msgid "Rate change added" msgstr "Modification du taux ajoutée" -#: /app/src/modules/accounts/AccountsModule.js:1498 +#: /app/src/modules/accounts/AccountsModule.js:1501 msgid "" "Some historical exchange rates could not be found. P&L may be approximate." msgstr "" "Certains taux de change historiques n'ont pas pu être trouvés. Le résultat " "(P&L) peut être approximatif." -#: /app/src/modules/accounts/AccountsModule.js:1577 +#: /app/src/modules/accounts/AccountsModule.js:1580 #: /app/src/modules/import/ImportModule.js:1978 msgid "No transactions found" msgstr "Aucune opération trouvée" -#: /app/src/modules/accounts/AccountsModule.js:1578 +#: /app/src/modules/accounts/AccountsModule.js:1581 msgid "This account doesn't have any transactions yet." msgstr "Ce compte ne comporte encore aucune opération." -#: /app/src/modules/accounts/AccountsModule.js:1740 -#: /app/src/utils/billDates.js:36 +#: /app/src/modules/accounts/AccountsModule.js:1746 +#: /app/src/utils/billDates.js:102 msgid "No due date" msgstr "Aucune date d'échéance" -#: /app/src/modules/accounts/AccountsModule.js:1742 +#: /app/src/modules/accounts/AccountsModule.js:1748 msgid "{date} (statement balance)" msgstr "{date} (solde du relevé)" -#: /app/src/modules/accounts/AccountsModule.js:1743 +#: /app/src/modules/accounts/AccountsModule.js:1749 msgid "{date} (current balance)" msgstr "{date} (solde actuel)" -#: /app/src/modules/accounts/AccountsModule.js:1744 +#: /app/src/modules/accounts/AccountsModule.js:1750 msgid "{date} (minimum payment)" msgstr "{date} (paiement minimum)" -#: /app/src/modules/accounts/AccountsModule.js:1786 +#: /app/src/modules/accounts/AccountsModule.js:1792 msgid "{account} payment" msgstr "{account} paiement" -#: /app/src/modules/accounts/AccountsModule.js:1864 -#: /app/src/modules/transactions/TransactionsModule.js:510 +#: /app/src/modules/accounts/AccountsModule.js:1870 +#: /app/src/modules/transactions/TransactionsModule.js:532 #: /app/templates/index.php:1463 /app/templates/index.php:1627 msgid "All Categories" msgstr "Toutes les catégories" -#: /app/src/modules/accounts/AccountsModule.js:1918 +#: /app/src/modules/accounts/AccountsModule.js:1924 #: /app/src/modules/reports/ReportsModule.js:457 #: /app/src/modules/tagsets/TagSetsModule.js:591 -#: /app/src/modules/transactions/TransactionsModule.js:565 -#: /app/src/modules/transactions/TransactionsModule.js:1320 +#: /app/src/modules/transactions/TransactionsModule.js:587 +#: /app/src/modules/transactions/TransactionsModule.js:1346 msgid "No tags available" msgstr "Aucune étiquette disponible" -#: /app/src/modules/accounts/AccountsModule.js:1929 +#: /app/src/modules/accounts/AccountsModule.js:1935 #: /app/src/modules/reports/ReportsModule.js:469 -#: /app/src/modules/transactions/TransactionsModule.js:576 -#: /app/src/modules/transactions/TransactionsModule.js:4793 +#: /app/src/modules/transactions/TransactionsModule.js:598 +#: /app/src/modules/transactions/TransactionsModule.js:4844 msgid "Type to filter tags..." msgstr "Tapez pour filtrer les étiquettes..." -#: /app/src/modules/accounts/AccountsModule.js:2012 +#: /app/src/modules/accounts/AccountsModule.js:2018 #: /app/src/modules/reports/ReportsModule.js:535 -#: /app/src/modules/transactions/TransactionsModule.js:660 -#: /app/src/modules/transactions/TransactionsModule.js:4868 +#: /app/src/modules/transactions/TransactionsModule.js:682 +#: /app/src/modules/transactions/TransactionsModule.js:4919 msgid "No tags found" msgstr "Aucune étiquette trouvée" -#: /app/src/modules/accounts/AccountsModule.js:2130 -#: /app/src/modules/transactions/TransactionsModule.js:520 +#: /app/src/modules/accounts/AccountsModule.js:2136 +#: /app/src/modules/transactions/TransactionsModule.js:542 #: /app/templates/index.php:1739 msgid "Select account to reconcile" msgstr "Sélectionnez le compte à rapprocher" -#: /app/src/modules/accounts/AccountsModule.js:2210 -#: /app/src/modules/accounts/AccountsModule.js:2312 +#: /app/src/modules/accounts/AccountsModule.js:2216 +#: /app/src/modules/accounts/AccountsModule.js:2318 msgid "No accounts available. Please create an account first." msgstr "Aucun compte disponible. Veuillez d'abord créer un compte." -#: /app/src/modules/accounts/AccountsModule.js:2213 -#: /app/src/modules/accounts/AccountsModule.js:2315 +#: /app/src/modules/accounts/AccountsModule.js:2219 +#: /app/src/modules/accounts/AccountsModule.js:2321 #: /app/src/modules/import/ImportModule.js:2429 msgid "Please select an account" msgstr "Veuillez sélectionner un compte" -#: /app/src/modules/accounts/AccountsModule.js:2217 -#: /app/src/modules/accounts/AccountsModule.js:2319 +#: /app/src/modules/accounts/AccountsModule.js:2223 +#: /app/src/modules/accounts/AccountsModule.js:2325 msgid "Please enter a date" msgstr "Veuillez saisir une date" -#: /app/src/modules/accounts/AccountsModule.js:2221 -#: /app/src/modules/accounts/AccountsModule.js:2323 +#: /app/src/modules/accounts/AccountsModule.js:2227 +#: /app/src/modules/accounts/AccountsModule.js:2329 msgid "Please select a transaction type" msgstr "Veuillez sélectionner un type d'opération" -#: /app/src/modules/accounts/AccountsModule.js:2225 -#: /app/src/modules/accounts/AccountsModule.js:2327 -#: /app/src/modules/savings/SavingsModule.js:487 +#: /app/src/modules/accounts/AccountsModule.js:2231 +#: /app/src/modules/accounts/AccountsModule.js:2333 +#: /app/src/modules/savings/SavingsModule.js:489 msgid "Please enter a valid amount" msgstr "Veuillez saisir un montant valide" -#: /app/src/modules/accounts/AccountsModule.js:2229 -#: /app/src/modules/accounts/AccountsModule.js:2331 +#: /app/src/modules/accounts/AccountsModule.js:2235 +#: /app/src/modules/accounts/AccountsModule.js:2337 msgid "Please enter a description" msgstr "Veuillez saisir une description" -#: /app/src/modules/accounts/AccountsModule.js:2257 -#: /app/src/modules/accounts/AccountsModule.js:2276 -#: /app/src/modules/transactions/TransactionsModule.js:2975 -#: /app/src/modules/transactions/TransactionsModule.js:2982 -#: /app/src/modules/transactions/TransactionsModule.js:3032 +#: /app/src/modules/accounts/AccountsModule.js:2263 +#: /app/src/modules/accounts/AccountsModule.js:2282 +#: /app/src/modules/transactions/TransactionsModule.js:3019 +#: /app/src/modules/transactions/TransactionsModule.js:3026 +#: /app/src/modules/transactions/TransactionsModule.js:3076 #: /app/templates/quick-add.php:185 msgid "Failed to save transaction" msgstr "Échec de l'enregistrement de l'opération" -#: /app/src/modules/accounts/AccountsModule.js:2267 +#: /app/src/modules/accounts/AccountsModule.js:2273 msgid "Transaction saved successfully" msgstr "Opération enregistrée avec succès" -#: /app/src/modules/accounts/AccountsModule.js:2350 -#: /app/src/modules/accounts/AccountsModule.js:2365 +#: /app/src/modules/accounts/AccountsModule.js:2356 +#: /app/src/modules/accounts/AccountsModule.js:2371 msgid "Failed to add transaction" msgstr "Échec de l'ajout de l'opération" -#: /app/src/modules/accounts/AccountsModule.js:2353 +#: /app/src/modules/accounts/AccountsModule.js:2359 msgid "Transaction added successfully!" msgstr "Opération ajoutée avec succès !" -#: /app/src/modules/accounts/AccountsModule.js:2418 -#: /app/src/modules/bills/BillsModule.js:911 -#: /app/src/modules/bills/BillsModule.js:975 -#: /app/src/modules/income/IncomeModule.js:465 -#: /app/src/modules/transactions/TransactionsModule.js:1958 -#: /app/src/modules/transfers/TransfersModule.js:566 +#: /app/src/modules/accounts/AccountsModule.js:2424 +#: /app/src/modules/bills/BillsModule.js:917 +#: /app/src/modules/bills/BillsModule.js:981 +#: /app/src/modules/income/IncomeModule.js:461 +#: /app/src/modules/transactions/TransactionsModule.js:1986 +#: /app/src/modules/transfers/TransfersModule.js:551 #: /app/templates/index.php:1061 /app/templates/index.php:5864 -#: /app/templates/index.php:6255 /app/templates/index.php:6725 +#: /app/templates/index.php:6255 /app/templates/index.php:6726 msgid "No category" msgstr "Aucune catégorie" -#: /app/src/modules/accounts/AccountsModule.js:2437 +#: /app/src/modules/accounts/AccountsModule.js:2443 msgid "Form error: Account name field not found" msgstr "Erreur de formulaire : champ « Nom du compte » introuvable" -#: /app/src/modules/accounts/AccountsModule.js:2443 +#: /app/src/modules/accounts/AccountsModule.js:2449 msgid "Form error: Account type field not found" msgstr "Erreur de formulaire : champ « Type de compte » introuvable" -#: /app/src/modules/accounts/AccountsModule.js:2497 -#: /app/src/modules/accounts/AccountsModule.js:2511 +#: /app/src/modules/accounts/AccountsModule.js:2503 +#: /app/src/modules/accounts/AccountsModule.js:2517 msgid "" "Enter the amount owed as a positive number. Tick \"This account is in " "credit\" if the lender owes you instead." @@ -5940,35 +6269,35 @@ msgstr "" "Saisir le montant dû sous forme de nombre positif. Cochez la case « Ce " "compte est créditeur » si c'est le prêteur qui vous doit de l'argent." -#: /app/src/modules/accounts/AccountsModule.js:2548 +#: /app/src/modules/accounts/AccountsModule.js:2554 msgid "Please enter an account name" msgstr "Veuillez saisir un nom de compte" -#: /app/src/modules/accounts/AccountsModule.js:2555 +#: /app/src/modules/accounts/AccountsModule.js:2561 msgid "Please select an account type" msgstr "Veuillez sélectionner un type de compte" -#: /app/src/modules/accounts/AccountsModule.js:2562 +#: /app/src/modules/accounts/AccountsModule.js:2568 msgid "Account name is too long (maximum 255 characters)" msgstr "Le nom du compte est trop long (255 caractères maximum)" -#: /app/src/modules/accounts/AccountsModule.js:2569 +#: /app/src/modules/accounts/AccountsModule.js:2575 msgid "Please enter a valid balance amount" msgstr "Veuillez saisir un montant de solde valide" -#: /app/src/modules/accounts/AccountsModule.js:2589 +#: /app/src/modules/accounts/AccountsModule.js:2595 msgid "Account saved successfully" msgstr "Compte enregistré avec succès" -#: /app/src/modules/accounts/AccountsModule.js:2612 +#: /app/src/modules/accounts/AccountsModule.js:2618 msgid "Unknown error occurred" msgstr "Une erreur inconnue s'est produite" -#: /app/src/modules/accounts/AccountsModule.js:2613 +#: /app/src/modules/accounts/AccountsModule.js:2619 msgid "Failed to save account: {error}" msgstr "Échec de l'enregistrement du compte : {error}" -#: /app/src/modules/accounts/AccountsModule.js:2643 +#: /app/src/modules/accounts/AccountsModule.js:2649 msgid "" "This account has a balance of {balance}. It must be zero before it can be " "closed." @@ -5976,38 +6305,38 @@ msgstr "" "Le solde de ce compte s'élève à {balance}. Il doit être nul avant que le " "compte puisse être clôturé." -#: /app/src/modules/accounts/AccountsModule.js:2672 +#: /app/src/modules/accounts/AccountsModule.js:2678 #: /app/templates/index.php:1122 msgid "Add Account" msgstr "Ajouter un compte" -#: /app/src/modules/accounts/AccountsModule.js:2703 +#: /app/src/modules/accounts/AccountsModule.js:2709 msgid "Balance is calculated from transactions" msgstr "Le solde est calculé à partir des opérations" -#: /app/src/modules/accounts/AccountsModule.js:2711 +#: /app/src/modules/accounts/AccountsModule.js:2717 msgid "Calculated from transactions" msgstr "Calculé à partir des opérations" -#: /app/src/modules/accounts/AccountsModule.js:2779 +#: /app/src/modules/accounts/AccountsModule.js:2785 msgid "•••••••• (leave blank to keep current)" msgstr "•••••••• (laisser vide pour conserver l'actuel)" -#: /app/src/modules/accounts/AccountsModule.js:2801 +#: /app/src/modules/accounts/AccountsModule.js:2807 msgid "Failed to load account data" msgstr "Échec du chargement des données du compte" -#: /app/src/modules/accounts/AccountsModule.js:2872 -#: /app/src/modules/accounts/AccountsModule.js:2884 +#: /app/src/modules/accounts/AccountsModule.js:2878 +#: /app/src/modules/accounts/AccountsModule.js:2890 msgid "Amount owed" msgstr "Montant dû" -#: /app/src/modules/accounts/AccountsModule.js:2873 +#: /app/src/modules/accounts/AccountsModule.js:2879 #: /app/templates/index.php:5992 msgid "Opening Balance" msgstr "Solde d'ouverture" -#: /app/src/modules/accounts/AccountsModule.js:2878 +#: /app/src/modules/accounts/AccountsModule.js:2884 msgid "" "Enter what you owe as a plain positive number — the app records it as a debt " "for you." @@ -6015,18 +6344,18 @@ msgstr "" "Saisir le montant que vous devez sous forme de nombre entier positif : " "l'application l'enregistrera comme une dette pour vous." -#: /app/src/modules/accounts/AccountsModule.js:2879 +#: /app/src/modules/accounts/AccountsModule.js:2885 #: /app/templates/index.php:5994 msgid "The starting balance when this account was created" msgstr "Le solde initial à la création de ce compte" -#: /app/src/modules/accounts/AccountsModule.js:2885 -#: /app/src/modules/accounts/AccountsModule.js:2927 +#: /app/src/modules/accounts/AccountsModule.js:2891 +#: /app/src/modules/accounts/AccountsModule.js:2933 #: /app/templates/index.php:6007 msgid "Starting Balance" msgstr "Solde initial" -#: /app/src/modules/accounts/AccountsModule.js:2894 +#: /app/src/modules/accounts/AccountsModule.js:2900 msgid "" "This account is currently recorded as being in credit — as if the lender " "owes you this money, which adds it to your net worth. If you actually owe " @@ -6037,18 +6366,22 @@ msgstr "" "net. Si c'est en réalité vous qui devez cette somme, décochez la case ci-" "dessus et enregistrez." -#: /app/src/modules/accounts/AccountsModule.js:2931 +#: /app/src/modules/accounts/AccountsModule.js:2937 #: /app/templates/index.php:6009 msgid "The balance this account starts with" msgstr "Solde initial de ce compte" -#: /app/src/modules/accounts/AccountsModule.js:2990 +#: /app/src/modules/accounts/AccountsModule.js:2997 msgid "" "Are you sure you want to delete this account? This action cannot be undone." msgstr "" "Êtes-vous sûr de vouloir supprimer ce compte ? Cette action est irréversible." -#: /app/src/modules/accounts/AccountsModule.js:3007 +#: /app/src/modules/accounts/AccountsModule.js:2998 +msgid "Any bills, transfers or recurring income that use it are switched off." +msgstr "" + +#: /app/src/modules/accounts/AccountsModule.js:3017 msgid "" "This account still has {count} transaction(s). Delete them along with the " "account? This cannot be undone." @@ -6056,7 +6389,7 @@ msgstr "" "Ce compte contient encore {count} opérations(s). Souhaitez-vous les " "supprimer en même temps que le compte ? Cette action est irréversible." -#: /app/src/modules/accounts/AccountsModule.js:3008 +#: /app/src/modules/accounts/AccountsModule.js:3018 msgid "" "This account still has transactions. Delete them along with the account? " "This cannot be undone." @@ -6064,82 +6397,82 @@ msgstr "" "Ce compte contient encore des opérations. Faut-il les supprimer en même " "temps que le compte ? Cette action est irréversible." -#: /app/src/modules/accounts/AccountsModule.js:3016 +#: /app/src/modules/accounts/AccountsModule.js:3026 msgid "Account and its {count} transaction(s) deleted" msgstr "Compte et sa/ses {count} opérations(s) supprimé(s)" -#: /app/src/modules/accounts/AccountsModule.js:3017 +#: /app/src/modules/accounts/AccountsModule.js:3027 msgid "Account deleted successfully" msgstr "Compte supprimé avec succès" -#: /app/src/modules/accounts/AccountsModule.js:3027 +#: /app/src/modules/accounts/AccountsModule.js:3037 msgid "Failed to delete account: {error}" msgstr "Échec de la suppression du compte : {error}" -#: /app/src/modules/accounts/AccountsModule.js:3246 +#: /app/src/modules/accounts/AccountsModule.js:3256 msgid "Valid" msgstr "Valide" -#: /app/src/modules/accounts/AccountsModule.js:3311 +#: /app/src/modules/accounts/AccountsModule.js:3321 #: /app/templates/index.php:5979 msgid "Checking Account" msgstr "Compte courant" -#: /app/src/modules/accounts/AccountsModule.js:3316 +#: /app/src/modules/accounts/AccountsModule.js:3326 #: /app/templates/index.php:5980 msgid "Savings Account" msgstr "Compte d'épargne" -#: /app/src/modules/accounts/AccountsModule.js:3321 -#: /app/src/modules/dashboard/DashboardModule.js:1039 +#: /app/src/modules/accounts/AccountsModule.js:3331 +#: /app/src/modules/dashboard/DashboardModule.js:1098 #: /app/src/utils/formatters.js:264 /app/templates/index.php:5981 msgid "Credit Card" msgstr "Carte bancaire" -#: /app/src/modules/accounts/AccountsModule.js:3326 -#: /app/src/modules/dashboard/DashboardModule.js:1040 +#: /app/src/modules/accounts/AccountsModule.js:3336 +#: /app/src/modules/dashboard/DashboardModule.js:1099 #: /app/src/utils/formatters.js:265 msgid "Investment" msgstr "Investissement" -#: /app/src/modules/accounts/AccountsModule.js:3331 -#: /app/src/modules/dashboard/DashboardModule.js:1042 +#: /app/src/modules/accounts/AccountsModule.js:3341 +#: /app/src/modules/dashboard/DashboardModule.js:1101 #: /app/src/utils/formatters.js:267 msgid "Loan" msgstr "Prêt" -#: /app/src/modules/accounts/AccountsModule.js:3336 -#: /app/src/modules/dashboard/DashboardModule.js:1041 +#: /app/src/modules/accounts/AccountsModule.js:3346 +#: /app/src/modules/dashboard/DashboardModule.js:1100 #: /app/src/utils/formatters.js:266 /app/templates/index.php:5986 msgid "Cash" msgstr "Espèces" -#: /app/src/modules/accounts/AccountsModule.js:3341 +#: /app/src/modules/accounts/AccountsModule.js:3351 #: /app/src/utils/formatters.js:270 /app/templates/index.php:5987 msgid "Cryptocurrency" msgstr "Cryptomonnaie" -#: /app/src/modules/accounts/AccountsModule.js:3363 +#: /app/src/modules/accounts/AccountsModule.js:3373 msgid "Credit utilization very high" msgstr "Taux d'utilisation du crédit très élevé" -#: /app/src/modules/accounts/AccountsModule.js:3369 +#: /app/src/modules/accounts/AccountsModule.js:3379 msgid "Credit utilization high" msgstr "Taux d'utilisation du crédit élevé" -#: /app/src/modules/accounts/AccountsModule.js:3379 +#: /app/src/modules/accounts/AccountsModule.js:3389 msgid "Negative balance" msgstr "Solde négatif" -#: /app/src/modules/accounts/AccountsModule.js:3388 +#: /app/src/modules/accounts/AccountsModule.js:3398 msgid "Exceeds overdraft limit" msgstr "Dépasse la limite de découvert" -#: /app/src/modules/accounts/AccountsModule.js:3395 +#: /app/src/modules/accounts/AccountsModule.js:3405 msgid "Account is in good standing" msgstr "Le compte est bien tenu" -#: /app/src/modules/accounts/AccountsModule.js:3427 +#: /app/src/modules/accounts/AccountsModule.js:3437 msgid "No transactions to export" msgstr "Aucune opération à exporter" @@ -6165,8 +6498,8 @@ msgid "Collectibles" msgstr "Objets de collection" #: /app/src/modules/assets/AssetsModule.js:109 -#: /app/src/modules/dashboard/DashboardModule.js:2252 -#: /app/src/modules/dashboard/DashboardModule.js:5503 +#: /app/src/modules/dashboard/DashboardModule.js:2415 +#: /app/src/modules/dashboard/DashboardModule.js:5757 #: /app/templates/index.php:5595 msgid "Other" msgstr "Autre" @@ -6186,7 +6519,7 @@ msgid "View Details" msgstr "Voir les détails" #: /app/src/modules/assets/AssetsModule.js:213 -#: /app/src/modules/dashboard/DashboardModule.js:2051 +#: /app/src/modules/dashboard/DashboardModule.js:2214 msgid "%n asset" msgid_plural "%n assets" msgstr[0] "%n actif" @@ -6259,7 +6592,7 @@ msgstr "" #: /app/src/modules/projects/ProjectsModule.js:87 #: /app/src/modules/sharing/SharingModule.js:122 #: /app/src/modules/sharing/SharingModule.js:152 /app/templates/index.php:2778 -#: /app/templates/index.php:2791 /app/templates/index.php:6482 +#: /app/templates/index.php:2791 /app/templates/index.php:6483 msgid "Active" msgstr "Active" @@ -6358,7 +6691,7 @@ msgstr "Identifiants invalides : {error}" #: /app/src/modules/bank-sync/BankSyncModule.js:358 #: /app/templates/index.php:1560 /app/templates/index.php:1815 #: /app/templates/index.php:1863 /app/templates/index.php:2575 -#: /app/templates/index.php:7495 +#: /app/templates/index.php:7496 msgid "Next" msgstr "Suivant" @@ -6389,7 +6722,7 @@ msgid "No banks found for this country." msgstr "Aucune banque trouvée pour ce pays." #: /app/src/modules/bank-sync/BankSyncModule.js:533 -#: /app/templates/index.php:7522 +#: /app/templates/index.php:7523 msgid "Connect" msgstr "Connecter" @@ -6423,7 +6756,7 @@ msgid "Authorization check failed: {error}" msgstr "Échec de la vérification d'autorisation : {error}" #: /app/src/modules/bank-sync/BankSyncModule.js:579 -#: /app/templates/index.php:7544 +#: /app/templates/index.php:7545 msgid "I've Completed Authorization" msgstr "J'ai terminé l'autorisation" @@ -6482,10 +6815,8 @@ msgstr "Le consentement expire le : {date}" #: /app/src/modules/bank-sync/BankSyncModule.js:755 #: /app/src/modules/import/ImportModule.js:2168 -#, fuzzy -#| msgid "Budgets adjusted from {month}" msgid "Budget account for {account}" -msgstr "Budgets ajustés à partir de {month}" +msgstr "Compte budgétaire pour {account}" #: /app/src/modules/bank-sync/BankSyncModule.js:756 msgid "— Not mapped —" @@ -6516,20 +6847,20 @@ msgstr "Échec de la mise à jour des paramètres de connexion" msgid "Pending transactions will be included during sync" msgstr "Les opérations en attente seront incluses lors de la synchronisation" -#: /app/src/modules/bills/BillsModule.js:64 -#: /app/src/modules/bills/BillsModule.js:67 +#: /app/src/modules/bills/BillsModule.js:68 +#: /app/src/modules/bills/BillsModule.js:71 msgid "Failed to load bills" msgstr "Échec du chargement des factures" -#: /app/src/modules/bills/BillsModule.js:101 +#: /app/src/modules/bills/BillsModule.js:105 msgid "Marked paid on {date}" msgstr "Marqué comme payé le {date}" -#: /app/src/modules/bills/BillsModule.js:105 +#: /app/src/modules/bills/BillsModule.js:109 msgid "Record transaction" msgstr "Enregistrer l'opération" -#: /app/src/modules/bills/BillsModule.js:106 +#: /app/src/modules/bills/BillsModule.js:110 msgid "" "One-time bills leave the list after payment — open it here to assign an " "account" @@ -6537,221 +6868,216 @@ msgstr "" "Les factures ponctuelles disparaissent de la liste après leur paiement ; " "ouvrez-la ici pour y affecter un compte" -#: /app/src/modules/bills/BillsModule.js:106 +#: /app/src/modules/bills/BillsModule.js:110 msgid "Assign an account" msgstr "Affecter un compte" -#: /app/src/modules/bills/BillsModule.js:108 -#: /app/src/modules/bills/BillsModule.js:385 -#: /app/src/modules/transfers/TransfersModule.js:377 +#: /app/src/modules/bills/BillsModule.js:112 +#: /app/src/modules/bills/BillsModule.js:374 +#: /app/src/modules/transfers/TransfersModule.js:363 msgid "Revert the last payment" msgstr "Annuler le dernier paiement" -#: /app/src/modules/bills/BillsModule.js:108 -#: /app/src/modules/bills/BillsModule.js:387 -#: /app/src/modules/transfers/TransfersModule.js:379 +#: /app/src/modules/bills/BillsModule.js:112 +#: /app/src/modules/bills/BillsModule.js:376 +#: /app/src/modules/transfers/TransfersModule.js:365 msgid "Mark Unpaid" msgstr "Marquer comme impayé" -#: /app/src/modules/bills/BillsModule.js:110 +#: /app/src/modules/bills/BillsModule.js:114 msgid "Keep the bill as paid and stop listing this payment" msgstr "" "Conservez la facture comme étant payée et ne mentionnez plus ce paiement" -#: /app/src/modules/bills/BillsModule.js:110 -#: /app/src/modules/bills/BillsModule.js:203 -#: /app/src/modules/transactions/TransactionsModule.js:1766 +#: /app/src/modules/bills/BillsModule.js:114 +#: /app/src/modules/bills/BillsModule.js:207 +#: /app/src/modules/transactions/TransactionsModule.js:1792 msgid "Dismiss" msgstr "Rejeter" -#: /app/src/modules/bills/BillsModule.js:160 +#: /app/src/modules/bills/BillsModule.js:164 msgid "Transaction recorded" msgstr "Opération enregistrée" -#: /app/src/modules/bills/BillsModule.js:199 -#: /app/src/modules/bills/BillsModule.js:1610 -#: /app/src/modules/income/IncomeModule.js:740 -#: /app/src/modules/transfers/TransfersModule.js:1293 -#, javascript-format +#: /app/src/modules/bills/BillsModule.js:203 +#: /app/src/modules/bills/BillsModule.js:1515 +#: /app/src/modules/income/IncomeModule.js:748 +#: /app/src/modules/transfers/TransfersModule.js:1288 +#, no-javascript-format msgid "{percent}% confidence" msgstr "{percent} % confiant" -#: /app/src/modules/bills/BillsModule.js:202 +#: /app/src/modules/bills/BillsModule.js:206 msgid "Create bill" msgstr "Créer une facture" -#: /app/src/modules/bills/BillsModule.js:236 +#: /app/src/modules/bills/BillsModule.js:245 msgid "Bill \"{name}\" created" msgstr "Facture « {name} » créée" -#: /app/src/modules/bills/BillsModule.js:239 +#: /app/src/modules/bills/BillsModule.js:248 msgid "Failed to create bill: {message}" msgstr "Échec de la création de la facture : {message}" -#: /app/src/modules/bills/BillsModule.js:259 +#: /app/src/modules/bills/BillsModule.js:268 msgid "Dismiss all suggestions? They will not be shown again." msgstr "Rejeter toutes les suggestions ? Elles ne seront plus affichées." -#: /app/src/modules/bills/BillsModule.js:269 +#: /app/src/modules/bills/BillsModule.js:278 msgid "Failed to dismiss suggestions" msgstr "Échec du rejet des suggestions" -#: /app/src/modules/bills/BillsModule.js:317 -#: /app/src/modules/reports/ReportsModule.js:1908 -#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 -#: /app/src/modules/transfers/TransfersModule.js:315 -#: /app/templates/index.php:2690 -msgid "Paid" -msgstr "Payée" - #: /app/src/modules/bills/BillsModule.js:320 -#: /app/src/modules/transfers/TransfersModule.js:139 -#: /app/src/modules/transfers/TransfersModule.js:318 -#: /app/templates/index.php:2662 /app/templates/index.php:2689 -msgid "Overdue" -msgstr "En retard" - -#: /app/src/modules/bills/BillsModule.js:323 -#: /app/src/modules/transfers/TransfersModule.js:138 -#: /app/src/modules/transfers/TransfersModule.js:321 -#: /app/templates/index.php:2688 -msgid "Due Soon" -msgstr "Prochainement à échéance" - -#: /app/src/modules/bills/BillsModule.js:326 -#: /app/src/modules/income/IncomeModule.js:105 -#: /app/src/modules/projects/ProjectsModule.js:86 -#: /app/src/modules/transfers/TransfersModule.js:324 -msgid "Upcoming" -msgstr "À venir" - -#: /app/src/modules/bills/BillsModule.js:332 -#: /app/src/modules/income/IncomeModule.js:111 -#: /app/src/modules/transfers/TransfersModule.js:331 -#: /app/src/modules/transfers/TransfersModule.js:504 -#: /app/src/modules/transfers/TransfersModule.js:1104 -#: /app/templates/index.php:6189 /app/templates/index.php:6679 +#: /app/src/modules/income/IncomeModule.js:99 +#: /app/src/modules/transfers/TransfersModule.js:317 +#: /app/src/modules/transfers/TransfersModule.js:479 +#: /app/src/modules/transfers/TransfersModule.js:1121 +#: /app/templates/index.php:6189 /app/templates/index.php:6680 msgid "Bi-Weekly" msgstr "Bihebdomadaire" -#: /app/src/modules/bills/BillsModule.js:333 -#: /app/src/modules/income/IncomeModule.js:112 -#: /app/src/modules/transfers/TransfersModule.js:332 -#: /app/src/modules/transfers/TransfersModule.js:505 -#: /app/src/modules/transfers/TransfersModule.js:1105 -#: /app/templates/index.php:6190 /app/templates/index.php:6680 +#: /app/src/modules/bills/BillsModule.js:321 +#: /app/src/modules/income/IncomeModule.js:100 +#: /app/src/modules/transfers/TransfersModule.js:318 +#: /app/src/modules/transfers/TransfersModule.js:480 +#: /app/src/modules/transfers/TransfersModule.js:1122 +#: /app/templates/index.php:6190 /app/templates/index.php:6681 msgid "Semi-Monthly" msgstr "Bimensuelle" -#: /app/src/modules/bills/BillsModule.js:336 -#: /app/src/modules/income/IncomeModule.js:115 -#: /app/src/modules/transfers/TransfersModule.js:335 -#: /app/src/modules/transfers/TransfersModule.js:1108 -#: /app/templates/index.php:6193 /app/templates/index.php:6683 +#: /app/src/modules/bills/BillsModule.js:324 +#: /app/src/modules/income/IncomeModule.js:103 +#: /app/src/modules/transfers/TransfersModule.js:321 +#: /app/src/modules/transfers/TransfersModule.js:483 +#: /app/src/modules/transfers/TransfersModule.js:1125 +#: /app/templates/index.php:6193 /app/templates/index.php:6684 msgid "Semi-Annually" msgstr "Semestrielle" -#: /app/src/modules/bills/BillsModule.js:338 -#: /app/src/modules/income/IncomeModule.js:117 -#: /app/src/modules/transfers/TransfersModule.js:329 -#: /app/src/modules/transfers/TransfersModule.js:502 -#: /app/src/modules/transfers/TransfersModule.js:1110 -#: /app/templates/index.php:6195 /app/templates/index.php:6685 +#: /app/src/modules/bills/BillsModule.js:326 +#: /app/src/modules/income/IncomeModule.js:105 +#: /app/src/modules/transfers/TransfersModule.js:315 +#: /app/src/modules/transfers/TransfersModule.js:476 +#: /app/src/modules/transfers/TransfersModule.js:1127 +#: /app/templates/index.php:6195 /app/templates/index.php:6686 msgid "One-Time" msgstr "Ponctuelle" -#: /app/src/modules/bills/BillsModule.js:364 /app/templates/index.php:5872 -#: /app/templates/index.php:6266 -msgid "Split across categories" -msgstr "Ventilée entre catégories" - -#: /app/src/modules/bills/BillsModule.js:365 -#: /app/src/modules/transfers/TransfersModule.js:359 +#: /app/src/modules/bills/BillsModule.js:352 +#, fuzzy +#| msgid "" +#| "The account linked to this bill no longer exists. Edit the bill and " +#| "choose an account." +msgid "" +"This date was filled in for the bill, not entered. Edit the bill to check it." +msgstr "" +"Le compte associé à cette facture n'existe plus. Modifiez la facture et " +"choisissez un compte." + +#: /app/src/modules/bills/BillsModule.js:352 +#, fuzzy +#| msgid "Next date" +msgid "Check date" +msgstr "Échéance" + +#: /app/src/modules/bills/BillsModule.js:353 /app/templates/index.php:5872 +#: /app/templates/index.php:6266 +msgid "Split across categories" +msgstr "Ventilée entre catégories" + +#: /app/src/modules/bills/BillsModule.js:354 +#: /app/src/modules/transfers/TransfersModule.js:345 msgid "Auto-pay enabled" msgstr "Paiement automatique activé" -#: /app/src/modules/bills/BillsModule.js:365 -#: /app/src/modules/transfers/TransfersModule.js:359 +#: /app/src/modules/bills/BillsModule.js:354 +#: /app/src/modules/transfers/TransfersModule.js:345 msgid "Auto-pay" msgstr "Paiement automatique" -#: /app/src/modules/bills/BillsModule.js:366 -#: /app/src/modules/transfers/TransfersModule.js:360 +#: /app/src/modules/bills/BillsModule.js:355 +#: /app/src/modules/transfers/TransfersModule.js:346 msgid "Auto-pay failed - disabled" msgstr "Échec du paiement automatique – désactivé" -#: /app/src/modules/bills/BillsModule.js:366 -#: /app/src/modules/transfers/TransfersModule.js:360 +#: /app/src/modules/bills/BillsModule.js:355 +#: /app/src/modules/transfers/TransfersModule.js:346 msgid "Auto-pay Failed" msgstr "Échec du paiement automatique" -#: /app/src/modules/bills/BillsModule.js:367 +#: /app/src/modules/bills/BillsModule.js:356 msgid "Remaining payments" msgstr "Paiements restants" -#: /app/src/modules/bills/BillsModule.js:367 +#: /app/src/modules/bills/BillsModule.js:356 msgid "{count} left" msgstr "{count} restant(s)" -#: /app/src/modules/bills/BillsModule.js:368 +#: /app/src/modules/bills/BillsModule.js:357 msgid "Ends {date}" msgstr "Termine le {date}" -#: /app/src/modules/bills/BillsModule.js:373 -#: /app/src/modules/transfers/TransfersModule.js:365 +#: /app/src/modules/bills/BillsModule.js:362 +#: /app/src/modules/transfers/TransfersModule.js:351 msgid "Mark as paid" msgstr "Marquer comme payé" -#: /app/src/modules/bills/BillsModule.js:375 -#: /app/src/modules/transfers/TransfersModule.js:367 +#: /app/src/modules/bills/BillsModule.js:364 +#: /app/src/modules/transfers/TransfersModule.js:353 msgid "Mark Paid" msgstr "Marquer comme payé" -#: /app/src/modules/bills/BillsModule.js:379 -#: /app/src/modules/income/IncomeModule.js:151 -#: /app/src/modules/transfers/TransfersModule.js:371 +#: /app/src/modules/bills/BillsModule.js:368 +#: /app/src/modules/income/IncomeModule.js:139 +#: /app/src/modules/transfers/TransfersModule.js:357 msgid "Skip this payment" msgstr "Passer ce paiement" -#: /app/src/modules/bills/BillsModule.js:381 -#: /app/src/modules/income/IncomeModule.js:153 -#: /app/src/modules/transfers/TransfersModule.js:373 +#: /app/src/modules/bills/BillsModule.js:370 +#: /app/src/modules/income/IncomeModule.js:141 +#: /app/src/modules/transfers/TransfersModule.js:359 msgid "Skip" msgstr "Passer" -#: /app/src/modules/bills/BillsModule.js:390 +#: /app/src/modules/bills/BillsModule.js:379 msgid "Edit bill" msgstr "Modifier une facture" -#: /app/src/modules/bills/BillsModule.js:393 +#: /app/src/modules/bills/BillsModule.js:382 msgid "Delete bill" msgstr "Supprimer une facture" -#: /app/src/modules/bills/BillsModule.js:642 +#: /app/src/modules/bills/BillsModule.js:618 +msgid "" +"This date was filled in for the bill when it was saved without one. Check " +"it, then save." +msgstr "" + +#: /app/src/modules/bills/BillsModule.js:633 msgid "Edit Bill" msgstr "Modifier une facture" -#: /app/src/modules/bills/BillsModule.js:727 /app/templates/index.php:2622 +#: /app/src/modules/bills/BillsModule.js:719 /app/templates/index.php:2622 msgid "Add Bill" msgstr "Ajouter une facture" -#: /app/src/modules/bills/BillsModule.js:801 +#: /app/src/modules/bills/BillsModule.js:794 /app/src/utils/formSelects.js:29 msgid "Unavailable (not shared with you)" msgstr "Indisponible (non partagé avec vous)" -#: /app/src/modules/bills/BillsModule.js:872 -#: /app/src/modules/transfers/TransfersModule.js:761 +#: /app/src/modules/bills/BillsModule.js:867 +#: /app/src/modules/transfers/TransfersModule.js:753 msgid "Due Date" msgstr "Date d'échéance" -#: /app/src/modules/bills/BillsModule.js:872 -#: /app/src/modules/transfers/TransfersModule.js:545 -#: /app/src/modules/transfers/TransfersModule.js:761 +#: /app/src/modules/bills/BillsModule.js:867 +#: /app/src/modules/transfers/TransfersModule.js:530 +#: /app/src/modules/transfers/TransfersModule.js:753 #: /app/templates/index.php:6298 msgid "Start Date" msgstr "Date de début" -#: /app/src/modules/bills/BillsModule.js:876 +#: /app/src/modules/bills/BillsModule.js:871 msgid "" "The date this bill is due. It can be in the past - an invoice you are " "entering late stays due on its own date." @@ -6759,94 +7085,106 @@ msgstr "" "La date d'échéance de cette facture. Elle peut être antérieure : une facture " "que vous saisissez en retard reste due à sa date d'origine." -#: /app/src/modules/bills/BillsModule.js:877 /app/templates/index.php:6300 +#: /app/src/modules/bills/BillsModule.js:872 /app/templates/index.php:6300 msgid "Bill only occurs on or after this date (optional)" msgstr "La facture n'est émise qu'à partir de cette date (facultatif)" -#: /app/src/modules/bills/BillsModule.js:892 -#: /app/src/modules/transfers/TransfersModule.js:773 +#: /app/src/modules/bills/BillsModule.js:889 +#: /app/src/modules/transfers/TransfersModule.js:765 msgid "Due Day (1-7)" msgstr "Jour d'échéance (1-7)" -#: /app/src/modules/bills/BillsModule.js:893 -#: /app/src/modules/income/IncomeModule.js:437 -#: /app/src/modules/transfers/TransfersModule.js:774 +#: /app/src/modules/bills/BillsModule.js:890 +#: /app/src/modules/income/IncomeModule.js:433 +#: /app/src/modules/transfers/TransfersModule.js:766 msgid "Day of the week (1=Monday, 7=Sunday)" msgstr "Jour de la semaine (1 = lundi, 7 = dimanche)" -#: /app/src/modules/bills/BillsModule.js:896 -#: /app/src/modules/bills/BillsModule.js:900 /app/templates/index.php:6221 +#: /app/src/modules/bills/BillsModule.js:899 +#: /app/src/modules/income/IncomeModule.js:450 +#: /app/src/modules/transfers/TransfersModule.js:781 +msgid "Follows the start date" +msgstr "Suit la date de début" + +#: /app/src/modules/bills/BillsModule.js:902 +#: /app/src/modules/bills/BillsModule.js:906 /app/templates/index.php:6221 msgid "Due Day" msgstr "Date d'échéance" -#: /app/src/modules/bills/BillsModule.js:897 +#: /app/src/modules/bills/BillsModule.js:903 msgid "Day of the selected months when bill is due" msgstr "Jour du mois sélectionné où la facture est exigible" -#: /app/src/modules/bills/BillsModule.js:901 /app/templates/index.php:6223 +#: /app/src/modules/bills/BillsModule.js:907 /app/templates/index.php:6223 msgid "Day of the month when bill is due" msgstr "Jour du mois où la facture est exigible" -#: /app/src/modules/bills/BillsModule.js:920 -#: /app/src/modules/income/IncomeModule.js:474 /app/templates/index.php:6274 -#: /app/templates/index.php:6733 +#: /app/src/modules/bills/BillsModule.js:926 +#: /app/src/modules/income/IncomeModule.js:470 /app/templates/index.php:6274 +#: /app/templates/index.php:6734 msgid "No specific account" msgstr "Aucun compte spécifique" -#: /app/src/modules/bills/BillsModule.js:982 /app/templates/index.php:7120 +#: /app/src/modules/bills/BillsModule.js:988 /app/templates/index.php:7121 msgid "Description (optional)" msgstr "Description (facultative)" -#: /app/src/modules/bills/BillsModule.js:1019 +#: /app/src/modules/bills/BillsModule.js:1027 msgid "Balanced" msgstr "Équilibré" -#: /app/src/modules/bills/BillsModule.js:1022 +#: /app/src/modules/bills/BillsModule.js:1030 msgid "{amount} remaining" msgstr "{amount} restant" -#: /app/src/modules/bills/BillsModule.js:1025 +#: /app/src/modules/bills/BillsModule.js:1033 #: /app/src/modules/projects/ProjectsModule.js:110 msgid "{amount} over" msgstr "{amount} dépassé" #: /app/src/modules/bills/BillsModule.js:1101 +#, fuzzy +#| msgid "How often this bill is due" +msgid "Choose the date this bill is due" +msgstr "Fréquence de paiement de cette facture" + +#: /app/src/modules/bills/BillsModule.js:1124 msgid "Please select at least one month for custom frequency" msgstr "Veuillez sélectionner au moins un mois pour la fréquence personnalisée" -#: /app/src/modules/bills/BillsModule.js:1120 +#: /app/src/modules/bills/BillsModule.js:1143 msgid "Bill created successfully" msgstr "Facture créée avec succès" -#: /app/src/modules/bills/BillsModule.js:1120 +#: /app/src/modules/bills/BillsModule.js:1143 msgid "Bill updated successfully" msgstr "Facture mise à jour avec succès" -#: /app/src/modules/bills/BillsModule.js:1124 +#: /app/src/modules/bills/BillsModule.js:1147 msgid "Failed to save bill" msgstr "Échec de l'enregistrement de la facture" -#: /app/src/modules/bills/BillsModule.js:1134 +#: /app/src/modules/bills/BillsModule.js:1157 msgid "Failed to load bill" msgstr "Échec du chargement de la facture" -#: /app/src/modules/bills/BillsModule.js:1139 +#: /app/src/modules/bills/BillsModule.js:1162 msgid "Are you sure you want to delete this bill?" msgstr "Êtes-vous sûr de vouloir supprimer cette facture ?" -#: /app/src/modules/bills/BillsModule.js:1146 +#: /app/src/modules/bills/BillsModule.js:1169 msgid "Bill deleted successfully" msgstr "Facture supprimée avec succès" -#: /app/src/modules/bills/BillsModule.js:1150 +#: /app/src/modules/bills/BillsModule.js:1173 msgid "Failed to delete bill" msgstr "Échec de la suppression de la facture" -#: /app/src/modules/bills/BillsModule.js:1177 +#: /app/src/modules/bills/BillsModule.js:1200 msgid "Bills calendar subscription" msgstr "Abonnement au calendrier des factures" -#: /app/src/modules/bills/BillsModule.js:1178 +#: /app/src/modules/bills/BillsModule.js:1201 msgid "" "Subscribe to this URL from any calendar app (Nextcloud Calendar, " "Thunderbird, your phone) to see upcoming bill due dates. Bills appear as all-" @@ -6858,11 +7196,11 @@ msgstr "" "forme d'événements sur la journée entière pour les 12 mois à venir et se " "mettent à jour automatiquement." -#: /app/src/modules/bills/BillsModule.js:1180 +#: /app/src/modules/bills/BillsModule.js:1203 msgid "Subscription URL" msgstr "URL d'abonnement" -#: /app/src/modules/bills/BillsModule.js:1183 +#: /app/src/modules/bills/BillsModule.js:1206 msgid "" "Anyone with this URL can read your bill names and amounts. Regenerate the " "link if it leaks." @@ -6870,38 +7208,38 @@ msgstr "" "Toute personne disposant de cette URL peut consulter les intitulés et les " "montants de vos factures. Générez un nouveau lien si celui-ci est divulgué." -#: /app/src/modules/bills/BillsModule.js:1185 +#: /app/src/modules/bills/BillsModule.js:1208 msgid "Copy link" msgstr "Copier le lien" -#: /app/src/modules/bills/BillsModule.js:1186 +#: /app/src/modules/bills/BillsModule.js:1209 msgid "Regenerate link" msgstr "Régénérer le lien" -#: /app/src/modules/bills/BillsModule.js:1196 +#: /app/src/modules/bills/BillsModule.js:1219 msgid "Link copied to clipboard" msgstr "Lien copié dans le presse-papiers" -#: /app/src/modules/bills/BillsModule.js:1199 +#: /app/src/modules/bills/BillsModule.js:1222 msgid "Press Ctrl+C to copy the selected link" msgstr "Appuyez sur Ctrl+C pour copier le lien sélectionné" -#: /app/src/modules/bills/BillsModule.js:1204 +#: /app/src/modules/bills/BillsModule.js:1227 msgid "" "Regenerate the link? Existing calendar subscriptions will stop updating." msgstr "" "Régénérer le lien ? Les abonnements au calendrier existants cesseront de se " "mettre à jour." -#: /app/src/modules/bills/BillsModule.js:1208 +#: /app/src/modules/bills/BillsModule.js:1231 msgid "New link generated" msgstr "Nouveau lien généré" -#: /app/src/modules/bills/BillsModule.js:1292 +#: /app/src/modules/bills/BillsModule.js:1313 msgid "Bill marked as paid. Linked to existing transaction." msgstr "Facture marquée comme payée. Associée à une opération existante." -#: /app/src/modules/bills/BillsModule.js:1296 +#: /app/src/modules/bills/BillsModule.js:1317 msgid "" "No transaction was recorded for this payment — your account balance will not " "reflect it." @@ -6909,11 +7247,11 @@ msgstr "" "Aucune opération n'a été enregistrée pour ce paiement ; le solde de votre " "compte ne le reflétera pas." -#: /app/src/modules/bills/BillsModule.js:1297 +#: /app/src/modules/bills/BillsModule.js:1318 msgid "Bill marked as paid. No transaction created." msgstr "Facture marquée comme payée. Aucune opération créée." -#: /app/src/modules/bills/BillsModule.js:1306 +#: /app/src/modules/bills/BillsModule.js:1327 msgid "" "The bill was marked as paid, but linking the selected transaction failed. " "You can link it manually from the transaction." @@ -6922,7 +7260,7 @@ msgstr "" "sélectionnée a échoué. Vous pouvez l'associer manuellement depuis " "l'opération." -#: /app/src/modules/bills/BillsModule.js:1308 +#: /app/src/modules/bills/BillsModule.js:1329 msgid "" "No transaction was recorded for this payment — your account balance will not " "reflect it. Assign an account to the bill, or add the transaction manually." @@ -6931,158 +7269,36 @@ msgstr "" "compte ne le reflétera pas. Affectez un compte à la facture ou ajoutez " "l'opération manuellement." -#: /app/src/modules/bills/BillsModule.js:1310 +#: /app/src/modules/bills/BillsModule.js:1331 msgid "Bill marked as paid — without a transaction." msgstr "Facture marquée comme payée — sans opération." -#: /app/src/modules/bills/BillsModule.js:1314 -msgid "Bill marked as paid. Transaction created." -msgstr "Facture marquée comme payée. Opération créée." - -#: /app/src/modules/bills/BillsModule.js:1315 +#: /app/src/modules/bills/BillsModule.js:1341 msgid "Bill marked as paid. Future transaction created." msgstr "Facture marquée comme payée. Opération à venir créée." -#: /app/src/modules/bills/BillsModule.js:1343 -msgid "Exact amount" -msgstr "Montant exact" - -#: /app/src/modules/bills/BillsModule.js:1344 -msgid "Similar amount (±5%)" -msgstr "Montant similaire (±5 %)" - -#: /app/src/modules/bills/BillsModule.js:1345 -msgid "Approximate amount (±20%)" -msgstr "Montant approximatif (±20 %)" - -#: /app/src/modules/bills/BillsModule.js:1346 -msgid "Vendor matches" -msgstr "Correspondance du fournisseur" - -#: /app/src/modules/bills/BillsModule.js:1347 -msgid "Vendor partially matches" -msgstr "Correspondance partielle du fournisseur" - -#: /app/src/modules/bills/BillsModule.js:1348 -msgid "Description matches" -msgstr "Correspondance de la description" - -#: /app/src/modules/bills/BillsModule.js:1349 -msgid "Description partially matches" -msgstr "Correspondance partielle de la description" - -#: /app/src/modules/bills/BillsModule.js:1350 -msgid "Same day" -msgstr "Le jour même" - -#: /app/src/modules/bills/BillsModule.js:1351 -msgid "±1 day" -msgstr "±1 jour" - -#: /app/src/modules/bills/BillsModule.js:1352 -msgid "±3 days" -msgstr "±3 jours" - -#: /app/src/modules/bills/BillsModule.js:1353 -msgid "±7 days" -msgstr "±7 jours" - -#: /app/src/modules/bills/BillsModule.js:1358 -#: /app/src/modules/transactions/TransactionsModule.js:5225 -msgid "(no description)" -msgstr "(aucune description)" - -#: /app/src/modules/bills/BillsModule.js:1371 -msgid "Strong match" -msgstr "Forte correspondance" - -#: /app/src/modules/bills/BillsModule.js:1383 -msgid "Existing Transaction Found" -msgstr "Opération existante trouvée" - -#: /app/src/modules/bills/BillsModule.js:1387 -msgid "" -"We found existing transactions that may already represent this bill payment " -"({billName}, {amount}). Would you like to link one instead of creating a new " -"transaction?" -msgstr "" -"Nous avons trouvé des opérations existantes susceptibles de correspondre à " -"ce paiement de facture ({billName}, {amount}). Souhaitez-vous en associer " -"une plutôt que de créer une nouvelle opération ?" - -#: /app/src/modules/bills/BillsModule.js:1388 -msgid "" -"Whichever you choose, the bill is marked as paid and moves on to its next " -"due date." -msgstr "" -"Quel que soit votre choix, la facture est marquée comme payée et passe à la " -"prochaine date d'échéance." - -#: /app/src/modules/bills/BillsModule.js:1395 -msgid "Create a new transaction instead" -msgstr "Créer plutôt une nouvelle opération" - -#: /app/src/modules/bills/BillsModule.js:1401 -msgid "Don't create any transaction (just mark as paid)" -msgstr "Ne pas créer une opération (marquer simplement comme payé)" - -#: /app/src/modules/bills/BillsModule.js:1402 -msgid "Your account balance will NOT reflect this payment." -msgstr "Le solde de votre compte ne reflétera PAS ce paiement." - -#: /app/src/modules/bills/BillsModule.js:1407 -#: /app/src/modules/categories/CategoriesModule.js:1934 -#: /app/src/modules/transfers/TransfersModule.js:171 -#: /app/src/modules/transfers/TransfersModule.js:611 -#: /app/src/utils/dialogs.js:237 /app/src/utils/dialogs.js:262 -#: /app/templates/index.php:1721 /app/templates/index.php:1751 -#: /app/templates/index.php:2577 /app/templates/index.php:2726 -#: /app/templates/index.php:2924 /app/templates/index.php:4779 -#: /app/templates/index.php:5083 /app/templates/index.php:5104 -#: /app/templates/index.php:5193 /app/templates/index.php:5271 -#: /app/templates/index.php:5291 /app/templates/index.php:5411 -#: /app/templates/index.php:5435 /app/templates/index.php:5471 -#: /app/templates/index.php:5507 /app/templates/index.php:5554 -#: /app/templates/index.php:5645 /app/templates/index.php:5679 -#: /app/templates/index.php:5754 /app/templates/index.php:5785 -#: /app/templates/index.php:5951 /app/templates/index.php:6148 -#: /app/templates/index.php:6381 /app/templates/index.php:6551 -#: /app/templates/index.php:6639 /app/templates/index.php:6768 -#: /app/templates/index.php:6787 /app/templates/index.php:6863 -#: /app/templates/index.php:6893 /app/templates/index.php:6924 -#: /app/templates/index.php:6963 /app/templates/index.php:6994 -#: /app/templates/index.php:7090 /app/templates/index.php:7146 -#: /app/templates/index.php:7186 /app/templates/index.php:7212 -#: /app/templates/index.php:7250 /app/templates/index.php:7292 -#: /app/templates/index.php:7338 /app/templates/index.php:7425 -#: /app/templates/index.php:7496 -msgid "Cancel" -msgstr "Annuler" - -#: /app/src/modules/bills/BillsModule.js:1408 -#: /app/src/modules/categories/CategoriesModule.js:1933 -#: /app/src/utils/dialogs.js:236 -msgid "Confirm" -msgstr "Confirmer" +#: /app/src/modules/bills/BillsModule.js:1342 +msgid "Bill marked as paid. Transaction created." +msgstr "Facture marquée comme payée. Opération créée." -#: /app/src/modules/bills/BillsModule.js:1469 -#: /app/src/modules/bills/BillsModule.js:1562 -#: /app/src/modules/income/IncomeModule.js:621 -#: /app/src/modules/income/IncomeModule.js:687 -#: /app/src/modules/transfers/TransfersModule.js:1036 +#: /app/src/modules/bills/BillsModule.js:1374 +#: /app/src/modules/bills/BillsModule.js:1467 +#: /app/src/modules/income/IncomeModule.js:628 +#: /app/src/modules/income/IncomeModule.js:694 +#: /app/src/modules/transfers/TransfersModule.js:1068 msgid "Action undone" msgstr "Action annulée" -#: /app/src/modules/bills/BillsModule.js:1472 -#: /app/src/modules/bills/BillsModule.js:1565 -#: /app/src/modules/income/IncomeModule.js:624 -#: /app/src/modules/income/IncomeModule.js:690 -#: /app/src/modules/transfers/TransfersModule.js:1039 +#: /app/src/modules/bills/BillsModule.js:1377 +#: /app/src/modules/bills/BillsModule.js:1470 +#: /app/src/modules/income/IncomeModule.js:631 +#: /app/src/modules/income/IncomeModule.js:697 +#: /app/src/modules/transfers/TransfersModule.js:1071 msgid "Failed to undo action: {message}" msgstr "Échec de l'annulation de l'action : {message}" -#: /app/src/modules/bills/BillsModule.js:1487 -#: /app/src/modules/transfers/TransfersModule.js:1050 +#: /app/src/modules/bills/BillsModule.js:1392 +#: /app/src/modules/transfers/TransfersModule.js:1082 msgid "" "Mark this bill as unpaid? Transactions created for the payment will be " "deleted, a linked imported transaction will be unlinked, and the bill " @@ -7092,8 +7308,8 @@ msgstr "" "paiement seront supprimées, toute opération importée associée sera dissociée " "et le calendrier de facturation sera réinitialisé." -#: /app/src/modules/bills/BillsModule.js:1492 -#: /app/src/modules/transfers/TransfersModule.js:1053 +#: /app/src/modules/bills/BillsModule.js:1397 +#: /app/src/modules/transfers/TransfersModule.js:1085 msgid "" "Auto-pay is on for this bill — it may pay it again on the next run. Disable " "auto-pay first if the payment should not recur." @@ -7102,165 +7318,169 @@ msgstr "" "soit à nouveau réglée lors du prochain cycle. Désactivez d'abord le paiement " "automatique si vous ne souhaitez pas que ce paiement soit renouvelé." -#: /app/src/modules/bills/BillsModule.js:1505 +#: /app/src/modules/bills/BillsModule.js:1410 msgid "Payment reverted — the bill is marked as unpaid." msgstr "Paiement refusé — la facture est marquée comme impayée." -#: /app/src/modules/bills/BillsModule.js:1519 -#: /app/src/modules/transfers/TransfersModule.js:988 +#: /app/src/modules/bills/BillsModule.js:1424 +#: /app/src/modules/transfers/TransfersModule.js:1020 msgid "Skip this payment and advance to the next due date?" msgstr "Passer ce paiement et aller à la prochaine échéance ?" -#: /app/src/modules/bills/BillsModule.js:1535 -#: /app/src/modules/transfers/TransfersModule.js:1008 +#: /app/src/modules/bills/BillsModule.js:1440 +#: /app/src/modules/transfers/TransfersModule.js:1040 msgid "Payment skipped. Advanced to next due date." msgstr "Paiement passé. Avance à la prochaine échéance." -#: /app/src/modules/bills/BillsModule.js:1572 -#: /app/src/modules/income/IncomeModule.js:697 -#: /app/src/modules/transfers/TransfersModule.js:1248 +#: /app/src/modules/bills/BillsModule.js:1477 +#: /app/src/modules/income/IncomeModule.js:704 +#: /app/src/modules/transfers/TransfersModule.js:1241 msgid "Detecting..." msgstr "Détection en cours..." -#: /app/src/modules/bills/BillsModule.js:1578 -#: /app/src/modules/transfers/TransfersModule.js:1254 +#: /app/src/modules/bills/BillsModule.js:1483 +#: /app/src/modules/transfers/TransfersModule.js:1249 msgid "No recurring transactions detected" msgstr "Aucune opération récurrente détectée" -#: /app/src/modules/bills/BillsModule.js:1589 /app/templates/index.php:2618 +#: /app/src/modules/bills/BillsModule.js:1494 /app/templates/index.php:2618 msgid "Detect Bills" msgstr "Détecter les factures" -#: /app/src/modules/bills/BillsModule.js:1626 +#: /app/src/modules/bills/BillsModule.js:1536 msgid "Please select at least one bill to add" msgstr "Veuillez sélectionner au moins une facture à ajouter" -#: /app/src/modules/bills/BillsModule.js:1638 +#: /app/src/modules/bills/BillsModule.js:1548 msgid "%n bill added successfully" msgid_plural "%n bills added successfully" msgstr[0] "%n facture ajoutée avec succès" msgstr[1] "%n factures ajoutées avec succès" -#: /app/src/modules/bills/BillsModule.js:1642 +#: /app/src/modules/bills/BillsModule.js:1552 msgid "Failed to add selected bills" msgstr "Échec de l'ajout des factures sélectionnées" -#: /app/src/modules/bills/BillsModule.js:1735 +#: /app/src/modules/bills/BillsModule.js:1645 #: /app/src/modules/tagsets/TagSetsModule.js:635 -#: /app/src/modules/transfers/TransfersModule.js:1182 +#: /app/src/modules/transfers/TransfersModule.js:1199 msgid "No tags defined" msgstr "Aucune étiquette définie" -#: /app/src/modules/categories/CategoriesModule.js:112 -#: /app/src/modules/categories/CategoriesModule.js:115 +#: /app/src/modules/categories/CategoriesModule.js:113 +#: /app/src/modules/categories/CategoriesModule.js:116 msgid "Failed to load categories" msgstr "Échec du chargement des catégories" -#: /app/src/modules/categories/CategoriesModule.js:320 -#, fuzzy -#| msgid "Collapse all" +#: /app/src/modules/categories/CategoriesModule.js:321 msgid "Collapse" -msgstr "Tout réduire" +msgstr "Réduire" -#: /app/src/modules/categories/CategoriesModule.js:320 -#, fuzzy -#| msgid "Expand all" +#: /app/src/modules/categories/CategoriesModule.js:321 msgid "Expand" -msgstr "Tout développer" +msgstr "Développer" + +#: /app/src/modules/categories/CategoriesModule.js:334 +msgid "Shared by {owner} — you have full control" +msgstr "Partagé par {owner} — vous disposez d'un contrôle total" + +#: /app/src/modules/categories/CategoriesModule.js:334 +msgid "Shared (full control)" +msgstr "Partagé (contrôle total)" -#: /app/src/modules/categories/CategoriesModule.js:333 +#: /app/src/modules/categories/CategoriesModule.js:336 msgid "Shared by {owner} — you can edit" msgstr "Partagé par {owner} — vous pouvez modifier" -#: /app/src/modules/categories/CategoriesModule.js:333 +#: /app/src/modules/categories/CategoriesModule.js:336 msgid "Shared (editable)" msgstr "Partagé (modifiable)" -#: /app/src/modules/categories/CategoriesModule.js:335 +#: /app/src/modules/categories/CategoriesModule.js:338 #: /app/src/modules/projects/ProjectsModule.js:57 #: /app/src/modules/rules/RulesModule.js:132 -#: /app/src/modules/savings/SavingsModule.js:126 +#: /app/src/modules/savings/SavingsModule.js:128 msgid "Shared by {owner}" msgstr "Partagé par {owner}" -#: /app/src/modules/categories/CategoriesModule.js:335 +#: /app/src/modules/categories/CategoriesModule.js:338 #: /app/src/modules/projects/ProjectsModule.js:57 #: /app/src/modules/rules/RulesModule.js:132 -#: /app/src/modules/savings/SavingsModule.js:126 +#: /app/src/modules/savings/SavingsModule.js:128 #: /app/src/modules/transactions/transactionRow.js:71 msgid "Shared" msgstr "Partagé" -#: /app/src/modules/categories/CategoriesModule.js:337 +#: /app/src/modules/categories/CategoriesModule.js:340 msgid "Hidden from your reports — the owner and other viewers are unaffected" msgstr "" "Masqué dans vos rapports — le propriétaire et les autres personnes qui " "consultent le rapport ne sont pas affectés" -#: /app/src/modules/categories/CategoriesModule.js:337 +#: /app/src/modules/categories/CategoriesModule.js:340 msgid "Hidden from my reports" msgstr "Masqué dans mes rapports" -#: /app/src/modules/categories/CategoriesModule.js:345 +#: /app/src/modules/categories/CategoriesModule.js:348 msgid "Show in my reports" msgstr "Afficher dans mes rapports" -#: /app/src/modules/categories/CategoriesModule.js:345 +#: /app/src/modules/categories/CategoriesModule.js:348 msgid "Hide from my reports" msgstr "Masquer dans mes rapports" -#: /app/src/modules/categories/CategoriesModule.js:349 +#: /app/src/modules/categories/CategoriesModule.js:352 msgid "Delete {name}" msgstr "Supprimer {name}" -#: /app/src/modules/categories/CategoriesModule.js:435 +#: /app/src/modules/categories/CategoriesModule.js:438 msgid "Category hidden from your reports" msgstr "Catégorie masquée dans vos rapports" -#: /app/src/modules/categories/CategoriesModule.js:436 +#: /app/src/modules/categories/CategoriesModule.js:439 msgid "Category shown in your reports again" msgstr "Catégorie à nouveau affichée dans vos rapports" -#: /app/src/modules/categories/CategoriesModule.js:600 +#: /app/src/modules/categories/CategoriesModule.js:606 msgid "Shared categories can only be reordered among themselves" msgstr "Les catégories partagées ne peuvent être réordonnées qu'entre elles" -#: /app/src/modules/categories/CategoriesModule.js:616 +#: /app/src/modules/categories/CategoriesModule.js:622 msgid "Category reordered successfully" msgstr "Catégorie réorganisée avec succès" -#: /app/src/modules/categories/CategoriesModule.js:682 -#: /app/src/modules/dashboard/DashboardModule.js:5101 +#: /app/src/modules/categories/CategoriesModule.js:700 +#: /app/src/modules/dashboard/DashboardModule.js:5333 #: /app/src/modules/reports/ReportsModule.js:204 #: /app/src/modules/reports/ReportsModule.js:207 #: /app/src/modules/reports/ReportsModule.js:209 -#: /app/src/modules/reports/ReportsModule.js:1702 -#: /app/src/modules/transactions/TransactionsModule.js:503 +#: /app/src/modules/reports/ReportsModule.js:1703 +#: /app/src/modules/transactions/TransactionsModule.js:525 #: /app/templates/index.php:594 /app/templates/index.php:616 #: /app/templates/index.php:634 /app/templates/index.php:685 #: /app/templates/index.php:1620 /app/templates/index.php:2032 -#: /app/templates/index.php:3617 /app/templates/index.php:6570 +#: /app/templates/index.php:3617 /app/templates/index.php:6571 msgid "All Accounts" msgstr "Tous les comptes" -#: /app/src/modules/categories/CategoriesModule.js:784 +#: /app/src/modules/categories/CategoriesModule.js:792 msgid "Increasing" msgstr "En augmentation" -#: /app/src/modules/categories/CategoriesModule.js:785 +#: /app/src/modules/categories/CategoriesModule.js:793 msgid "Decreasing" msgstr "En baisse" -#: /app/src/modules/categories/CategoriesModule.js:786 +#: /app/src/modules/categories/CategoriesModule.js:794 msgid "Stable" msgstr "Stable" -#: /app/src/modules/categories/CategoriesModule.js:803 +#: /app/src/modules/categories/CategoriesModule.js:811 #: /app/templates/index.php:2052 msgid "No transactions in this category yet." msgstr "Aucune opération dans cette catégorie pour le moment." -#: /app/src/modules/categories/CategoriesModule.js:832 +#: /app/src/modules/categories/CategoriesModule.js:840 #: /app/src/modules/transactions/transactionRow.js:67 msgid "" "Part of a split transaction. The amount shown is the part in this category." @@ -7268,37 +7488,37 @@ msgstr "" "Fait partie d'une opération ventilée. Le montant indiqué correspond à la " "partie relevant de cette catégorie." -#: /app/src/modules/categories/CategoriesModule.js:832 +#: /app/src/modules/categories/CategoriesModule.js:840 #: /app/src/modules/transactions/transactionRow.js:68 msgid "Split part" msgstr "Partie ventilée" -#: /app/src/modules/categories/CategoriesModule.js:833 +#: /app/src/modules/categories/CategoriesModule.js:841 msgid "Split part of {total}" msgstr "Partie ventilée de {total}" -#: /app/src/modules/categories/CategoriesModule.js:906 +#: /app/src/modules/categories/CategoriesModule.js:914 msgid "Spending" msgstr "Dépenses" -#: /app/src/modules/categories/CategoriesModule.js:1051 +#: /app/src/modules/categories/CategoriesModule.js:1059 msgid "Root" msgstr "Racine" -#: /app/src/modules/categories/CategoriesModule.js:1075 +#: /app/src/modules/categories/CategoriesModule.js:1083 #: /app/templates/index.php:1884 /app/templates/index.php:1948 msgid "Add Category" msgstr "Ajouter une catégorie" -#: /app/src/modules/categories/CategoriesModule.js:1128 +#: /app/src/modules/categories/CategoriesModule.js:1138 msgid "Edit Shared Category" msgstr "Modifier la catégorie partagée" -#: /app/src/modules/categories/CategoriesModule.js:1129 +#: /app/src/modules/categories/CategoriesModule.js:1139 msgid "Edit Category" msgstr "Modifier la catégorie" -#: /app/src/modules/categories/CategoriesModule.js:1167 +#: /app/src/modules/categories/CategoriesModule.js:1185 msgid "" "Are you sure you want to delete the category \"{name}\"? This action cannot " "be undone." @@ -7306,34 +7526,34 @@ msgstr "" "Êtes-vous sûr de vouloir supprimer la catégorie « {name} » ? Cette action " "est irréversible." -#: /app/src/modules/categories/CategoriesModule.js:1176 -#: /app/src/modules/categories/CategoriesModule.js:1205 +#: /app/src/modules/categories/CategoriesModule.js:1198 +#: /app/src/modules/categories/CategoriesModule.js:1227 msgid "Category deleted; its transactions are now Uncategorized" msgstr "Catégorie supprimée ; ses opérations sont désormais non catégorisées" -#: /app/src/modules/categories/CategoriesModule.js:1177 -#: /app/src/modules/categories/CategoriesModule.js:1206 +#: /app/src/modules/categories/CategoriesModule.js:1199 +#: /app/src/modules/categories/CategoriesModule.js:1228 msgid "Category deleted successfully" msgstr "Catégorie supprimée avec succès" -#: /app/src/modules/categories/CategoriesModule.js:1183 -#: /app/src/modules/categories/CategoriesModule.js:1215 -#: /app/src/modules/categories/CategoriesModule.js:1227 +#: /app/src/modules/categories/CategoriesModule.js:1205 +#: /app/src/modules/categories/CategoriesModule.js:1237 +#: /app/src/modules/categories/CategoriesModule.js:1249 msgid "Failed to delete category" msgstr "Impossible de supprimer la catégorie" -#: /app/src/modules/categories/CategoriesModule.js:1194 +#: /app/src/modules/categories/CategoriesModule.js:1216 msgid "this category" msgstr "cette catégorie" -#: /app/src/modules/categories/CategoriesModule.js:1196 +#: /app/src/modules/categories/CategoriesModule.js:1218 msgid "" "Are you sure you want to delete \"{name}\"? This action cannot be undone." msgstr "" "Êtes-vous sûr de vouloir supprimer « {name} » ? Cette action est " "irréversible." -#: /app/src/modules/categories/CategoriesModule.js:1243 +#: /app/src/modules/categories/CategoriesModule.js:1265 msgid "" "This category still has transactions assigned to it. Move them to " "Uncategorized and delete \"{name}\"?" @@ -7341,7 +7561,7 @@ msgstr "" "Cette catégorie contient encore des opérations qui lui sont affectées. " "Souhaitez-vous les déplacer vers « Non classé » et supprimer « {name} » ?" -#: /app/src/modules/categories/CategoriesModule.js:1323 +#: /app/src/modules/categories/CategoriesModule.js:1345 msgid "" "Are you sure you want to delete %n category? This action cannot be undone." msgid_plural "" @@ -7353,19 +7573,19 @@ msgstr[1] "" "Êtes-vous sûr de vouloir supprimer %n catégories ? Cette action est " "irréversible." -#: /app/src/modules/categories/CategoriesModule.js:1335 -#: /app/src/modules/pensions/PensionsModule.js:834 -#: /app/src/modules/pensions/PensionsModule.js:1096 +#: /app/src/modules/categories/CategoriesModule.js:1357 +#: /app/src/modules/pensions/PensionsModule.js:884 +#: /app/src/modules/pensions/PensionsModule.js:1183 msgid "Failed to delete" msgstr "Échec de la suppression" -#: /app/src/modules/categories/CategoriesModule.js:1347 +#: /app/src/modules/categories/CategoriesModule.js:1369 msgid "%n category deleted successfully" msgid_plural "%n categories deleted successfully" msgstr[0] "%n catégorie supprimée avec succès" msgstr[1] "%n catégories supprimées avec succès" -#: /app/src/modules/categories/CategoriesModule.js:1370 +#: /app/src/modules/categories/CategoriesModule.js:1392 msgid "Give %n category a new color? Its current color will be replaced." msgid_plural "" "Give %n categories new colors? Their current colors will be replaced." @@ -7376,53 +7596,53 @@ msgstr[1] "" "Attribuer de nouvelles couleurs à %n catégories ? Leurs couleurs actuelles " "seront remplacées." -#: /app/src/modules/categories/CategoriesModule.js:1399 +#: /app/src/modules/categories/CategoriesModule.js:1421 msgid "%n category recolored" msgid_plural "%n categories recolored" msgstr[0] "%n catégorie recolorée" msgstr[1] "%n catégories recolorées" -#: /app/src/modules/categories/CategoriesModule.js:1405 +#: /app/src/modules/categories/CategoriesModule.js:1427 msgid "Failed to recolor: {errors}" msgstr "Échec de la recoloration : {errors}" -#: /app/src/modules/categories/CategoriesModule.js:1478 -#: /app/templates/index.php:6820 +#: /app/src/modules/categories/CategoriesModule.js:1507 +#: /app/templates/index.php:6821 msgid "None (Top Level)" msgstr "Aucune (niveau supérieur)" -#: /app/src/modules/categories/CategoriesModule.js:1497 +#: /app/src/modules/categories/CategoriesModule.js:1536 msgid "Category name is required" msgstr "Le nom de la catégorie est requis" -#: /app/src/modules/categories/CategoriesModule.js:1534 -#: /app/src/modules/categories/CategoriesModule.js:1549 +#: /app/src/modules/categories/CategoriesModule.js:1574 +#: /app/src/modules/categories/CategoriesModule.js:1589 msgid "Failed to save category" msgstr "Échec de l'enregistrement de la catégorie" -#: /app/src/modules/categories/CategoriesModule.js:1537 +#: /app/src/modules/categories/CategoriesModule.js:1577 msgid "Category updated successfully" msgstr "Catégorie mise à jour avec succès" -#: /app/src/modules/categories/CategoriesModule.js:1537 +#: /app/src/modules/categories/CategoriesModule.js:1577 msgid "Category created successfully" msgstr "Catégorie créée avec succès" -#: /app/src/modules/categories/CategoriesModule.js:1564 -#: /app/src/modules/categories/CategoriesModule.js:1572 +#: /app/src/modules/categories/CategoriesModule.js:1604 +#: /app/src/modules/categories/CategoriesModule.js:1612 msgid "Failed to create default categories" msgstr "Échec de la création des catégories par défaut" -#: /app/src/modules/categories/CategoriesModule.js:1567 +#: /app/src/modules/categories/CategoriesModule.js:1607 msgid "Default categories created successfully" msgstr "Catégories par défaut créées avec succès" -#: /app/src/modules/categories/CategoriesModule.js:1615 -#: /app/src/modules/rules/RulesModule.js:1363 +#: /app/src/modules/categories/CategoriesModule.js:1655 +#: /app/src/modules/rules/RulesModule.js:1378 msgid "Could not read that file: {error}" msgstr "Impossible de lire ce fichier : {error}" -#: /app/src/modules/categories/CategoriesModule.js:1641 +#: /app/src/modules/categories/CategoriesModule.js:1681 msgid "" "{create} new categories will be created. {exists} already exist and will be " "left unchanged." @@ -7430,50 +7650,50 @@ msgstr "" "{create} nouvelles catégories seront créées. {exists} existent déjà et " "resteront inchangées." -#: /app/src/modules/categories/CategoriesModule.js:1642 +#: /app/src/modules/categories/CategoriesModule.js:1682 msgid "%n new category will be created." msgid_plural "%n new categories will be created." msgstr[0] "%n nouvelle catégorie sera créée." msgstr[1] "%n nouvelles catégories seront créées." -#: /app/src/modules/categories/CategoriesModule.js:1661 +#: /app/src/modules/categories/CategoriesModule.js:1701 msgid "Import %n category" msgid_plural "Import %n categories" msgstr[0] "Import %n catégorie" msgstr[1] "Import %n catégories" -#: /app/src/modules/categories/CategoriesModule.js:1662 +#: /app/src/modules/categories/CategoriesModule.js:1702 msgid "Nothing to import" msgstr "Rien à importer" -#: /app/src/modules/categories/CategoriesModule.js:1672 +#: /app/src/modules/categories/CategoriesModule.js:1712 msgid "Exists" msgstr "Existe" -#: /app/src/modules/categories/CategoriesModule.js:1673 +#: /app/src/modules/categories/CategoriesModule.js:1713 #: /app/src/modules/import/ImportModule.js:1992 msgid "New" msgstr "Nouveau" -#: /app/src/modules/categories/CategoriesModule.js:1700 +#: /app/src/modules/categories/CategoriesModule.js:1740 msgid "Imported %n category" msgid_plural "Imported %n categories" msgstr[0] "Importé %n catégorie" msgstr[1] "Importé %n catégories" -#: /app/src/modules/categories/CategoriesModule.js:1900 +#: /app/src/modules/categories/CategoriesModule.js:1964 msgid "Budgets adjusted from {month}" msgstr "Budgets ajustés à partir de {month}" -#: /app/src/modules/categories/CategoriesModule.js:1901 +#: /app/src/modules/categories/CategoriesModule.js:1965 msgid "Remove adjustment" msgstr "Supprimer l'ajustement" -#: /app/src/modules/categories/CategoriesModule.js:1914 +#: /app/src/modules/categories/CategoriesModule.js:1978 msgid "Adjust budgets from this month" msgstr "Ajuster les budgets à partir de ce mois-ci" -#: /app/src/modules/categories/CategoriesModule.js:1930 +#: /app/src/modules/categories/CategoriesModule.js:1994 msgid "" "This will save the current budget values as a new baseline from {month} " "onwards. Previous months will keep their existing values. You can edit the " @@ -7483,42 +7703,75 @@ msgstr "" "à partir du mois de {month}. Les mois précédents conserveront leurs valeurs " "actuelles. Vous pourrez modifier les nouvelles valeurs après confirmation." -#: /app/src/modules/categories/CategoriesModule.js:1932 +#: /app/src/modules/categories/CategoriesModule.js:1996 msgid "Adjust budgets from {month}?" msgstr "Ajuster les budgets à partir de {month} ?" -#: /app/src/modules/categories/CategoriesModule.js:1945 -#: /app/src/modules/categories/CategoriesModule.js:1965 +#: /app/src/modules/categories/CategoriesModule.js:1997 +#: /app/src/utils/dialogs.js:236 /app/src/utils/matchingDialog.js:98 +msgid "Confirm" +msgstr "Confirmer" + +#: /app/src/modules/categories/CategoriesModule.js:1998 +#: /app/src/modules/transfers/TransfersModule.js:176 +#: /app/src/modules/transfers/TransfersModule.js:596 +#: /app/src/utils/dialogs.js:237 /app/src/utils/dialogs.js:262 +#: /app/src/utils/matchingDialog.js:97 /app/templates/index.php:1721 +#: /app/templates/index.php:1751 /app/templates/index.php:2577 +#: /app/templates/index.php:2726 /app/templates/index.php:2924 +#: /app/templates/index.php:4779 /app/templates/index.php:5083 +#: /app/templates/index.php:5104 /app/templates/index.php:5193 +#: /app/templates/index.php:5271 /app/templates/index.php:5291 +#: /app/templates/index.php:5411 /app/templates/index.php:5435 +#: /app/templates/index.php:5471 /app/templates/index.php:5507 +#: /app/templates/index.php:5554 /app/templates/index.php:5645 +#: /app/templates/index.php:5679 /app/templates/index.php:5754 +#: /app/templates/index.php:5785 /app/templates/index.php:5951 +#: /app/templates/index.php:6148 /app/templates/index.php:6382 +#: /app/templates/index.php:6552 /app/templates/index.php:6640 +#: /app/templates/index.php:6769 /app/templates/index.php:6788 +#: /app/templates/index.php:6864 /app/templates/index.php:6894 +#: /app/templates/index.php:6925 /app/templates/index.php:6964 +#: /app/templates/index.php:6995 /app/templates/index.php:7091 +#: /app/templates/index.php:7147 /app/templates/index.php:7187 +#: /app/templates/index.php:7213 /app/templates/index.php:7251 +#: /app/templates/index.php:7293 /app/templates/index.php:7339 +#: /app/templates/index.php:7426 /app/templates/index.php:7497 +msgid "Cancel" +msgstr "Annuler" + +#: /app/src/modules/categories/CategoriesModule.js:2009 +#: /app/src/modules/categories/CategoriesModule.js:2029 msgid "Failed to create budget adjustment" msgstr "Échec de la création de l'ajustement budgétaire" -#: /app/src/modules/categories/CategoriesModule.js:1959 +#: /app/src/modules/categories/CategoriesModule.js:2023 msgid "" "Budget adjusted from {month}. You can now edit values for this month onwards." msgstr "" "Budget ajusté à partir de {month}. Vous pouvez désormais modifier les " "valeurs pour ce mois-ci et les mois suivants." -#: /app/src/modules/categories/CategoriesModule.js:1974 +#: /app/src/modules/categories/CategoriesModule.js:2038 msgid "Budget adjustment created." msgstr "Ajustement budgétaire créé." -#: /app/src/modules/categories/CategoriesModule.js:1975 -#: /app/src/modules/transactions/TransactionsModule.js:4177 -#: /app/src/modules/transactions/TransactionsModule.js:4332 +#: /app/src/modules/categories/CategoriesModule.js:2039 +#: /app/src/modules/transactions/TransactionsModule.js:4228 +#: /app/src/modules/transactions/TransactionsModule.js:4383 #: /app/src/utils/notifications.js:73 msgid "Undo" msgstr "Annuler" -#: /app/src/modules/categories/CategoriesModule.js:2008 +#: /app/src/modules/categories/CategoriesModule.js:2072 msgid "Budget adjustment removed" msgstr "Ajustement budgétaire supprimé" -#: /app/src/modules/categories/CategoriesModule.js:2011 +#: /app/src/modules/categories/CategoriesModule.js:2075 msgid "Failed to remove budget adjustment" msgstr "Échec de la suppression de l'ajustement budgétaire" -#: /app/src/modules/categories/CategoriesModule.js:2337 +#: /app/src/modules/categories/CategoriesModule.js:2397 msgid "" "Envelope budgeting on: unspent budget carries to next month. Click to turn " "off." @@ -7526,812 +7779,856 @@ msgstr "" "Budgétisation par enveloppes activée : le budget non dépensé est reporté au " "mois suivant. Cliquez pour désactiver." -#: /app/src/modules/categories/CategoriesModule.js:2337 +#: /app/src/modules/categories/CategoriesModule.js:2397 msgid "Turn on envelope budgeting: unspent budget carries to next month" msgstr "" "Activez la budgétisation par enveloppes : le budget non dépensé est reporté " "au mois suivant" -#: /app/src/modules/categories/CategoriesModule.js:2338 -#, fuzzy -#| msgid "Envelope budgeting disabled" +#: /app/src/modules/categories/CategoriesModule.js:2398 msgid "Envelope budgeting" -msgstr "Budgétisation par enveloppes désactivée" +msgstr "Budgétisation par enveloppes" -#: /app/src/modules/categories/CategoriesModule.js:2344 -#, fuzzy -#| msgid "Listed under {category}" +#: /app/src/modules/categories/CategoriesModule.js:2405 msgid "Budget for {category}" -msgstr "Répertorié sous {category}" +msgstr "Budget pour {category}" -#: /app/src/modules/categories/CategoriesModule.js:2350 +#: /app/src/modules/categories/CategoriesModule.js:2412 msgid "Auto-calculated from recurring bills/income. Enter a value to override." msgstr "" "Calculé automatiquement à partir des factures ou revenus récurrents. " "Saisissez une valeur pour remplacer ce montant." -#: /app/src/modules/categories/CategoriesModule.js:2350 -#: /app/src/modules/pensions/PensionsModule.js:1034 +#: /app/src/modules/categories/CategoriesModule.js:2412 +#: /app/src/modules/pensions/PensionsModule.js:1108 msgid "auto" msgstr "auto" -#: /app/src/modules/categories/CategoriesModule.js:2352 +#: /app/src/modules/categories/CategoriesModule.js:2414 msgid "{base} − {over} overspent = {available} available" msgstr "{base} − {over} de dépassement = {available} de disponible" -#: /app/src/modules/categories/CategoriesModule.js:2353 +#: /app/src/modules/categories/CategoriesModule.js:2415 msgid "{base} + {carried} carried = {available} available" msgstr "{base} + {carried} de reporté = {available} de disponible" -#: /app/src/modules/categories/CategoriesModule.js:2354 +#: /app/src/modules/categories/CategoriesModule.js:2416 msgid "(projected)" msgstr "(prévu)" -#: /app/src/modules/categories/CategoriesModule.js:2358 -#, fuzzy -#| msgid "Listed under {category}" +#: /app/src/modules/categories/CategoriesModule.js:2420 msgid "Budget period for {category}" -msgstr "Répertorié sous {category}" +msgstr "Période budgétaire pour {category}" -#: /app/src/modules/categories/CategoriesModule.js:2371 +#: /app/src/modules/categories/CategoriesModule.js:2433 #: /app/templates/index.php:2236 /app/templates/index.php:5139 msgid "Progress" msgstr "Avancement" -#: /app/src/modules/categories/CategoriesModule.js:2378 +#: /app/src/modules/categories/CategoriesModule.js:2440 msgid "No budget set" msgstr "Aucun budget défini" -#: /app/src/modules/categories/CategoriesModule.js:2452 +#: /app/src/modules/categories/CategoriesModule.js:2514 msgid "Envelope budgeting enabled — unspent budget now carries to next month" msgstr "" "Budgétisation par enveloppes activée : le budget non dépensé est désormais " "reporté au mois suivant" -#: /app/src/modules/categories/CategoriesModule.js:2453 +#: /app/src/modules/categories/CategoriesModule.js:2515 msgid "Envelope budgeting disabled" msgstr "Budgétisation par enveloppes désactivée" -#: /app/src/modules/categories/CategoriesModule.js:2456 +#: /app/src/modules/categories/CategoriesModule.js:2518 msgid "Failed to update envelope setting" msgstr "Échec de la mise à jour du paramètre de l'enveloppe" -#: /app/src/modules/categories/CategoriesModule.js:2565 +#: /app/src/modules/categories/CategoriesModule.js:2639 msgid "Budget updated" msgstr "Budget mis à jour" -#: /app/src/modules/categories/CategoriesModule.js:2568 +#: /app/src/modules/categories/CategoriesModule.js:2642 msgid "Failed to update budget: {message}" msgstr "Échec de la mise à jour du budget : {message}" -#: /app/src/modules/categories/CategoriesModule.js:2657 +#: /app/src/modules/categories/CategoriesModule.js:2731 msgid "Over-assigned: {income} in, {budgeted} budgeted" -msgstr "" +msgstr "Dépassement : {income} perçus, {budgeted} prévu" -#: /app/src/modules/categories/CategoriesModule.js:2659 +#: /app/src/modules/categories/CategoriesModule.js:2733 msgid "{income} in, {budgeted} budgeted" -msgstr "" +msgstr "{income} encaissé, {budgeted} budgété" -#: /app/src/modules/dashboard/DashboardModule.js:403 -#: /app/src/modules/dashboard/DashboardModule.js:425 -#: /app/src/modules/dashboard/DashboardModule.js:517 +#: /app/src/modules/dashboard/DashboardModule.js:404 +#: /app/src/modules/dashboard/DashboardModule.js:426 +#: /app/src/modules/dashboard/DashboardModule.js:518 msgid "{percent}% vs last month" msgstr "{percent} % par rapport au mois dernier" -#: /app/src/modules/dashboard/DashboardModule.js:442 -#, javascript-format +#: /app/src/modules/dashboard/DashboardModule.js:443 +#, no-javascript-format msgid "{percent}% savings rate" msgstr "{percent}% de taux d'épargne" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Great" msgstr "Super" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Good" msgstr "Bon" -#: /app/src/modules/dashboard/DashboardModule.js:491 +#: /app/src/modules/dashboard/DashboardModule.js:492 msgid "Low" msgstr "Bas" -#: /app/src/modules/dashboard/DashboardModule.js:616 -#: /app/src/modules/dashboard/DashboardModule.js:686 +#: /app/src/modules/dashboard/DashboardModule.js:617 +#: /app/src/modules/dashboard/DashboardModule.js:687 msgid "Last 7 days" msgstr "7 derniers jours" -#: /app/src/modules/dashboard/DashboardModule.js:617 -#: /app/src/modules/dashboard/DashboardModule.js:689 +#: /app/src/modules/dashboard/DashboardModule.js:618 +#: /app/src/modules/dashboard/DashboardModule.js:690 msgid "Last 30 days" msgstr "30 derniers jours" -#: /app/src/modules/dashboard/DashboardModule.js:618 -#: /app/src/modules/dashboard/DashboardModule.js:690 +#: /app/src/modules/dashboard/DashboardModule.js:619 +#: /app/src/modules/dashboard/DashboardModule.js:691 msgid "Last 90 days" msgstr "90 derniers jours" -#: /app/src/modules/dashboard/DashboardModule.js:619 -#: /app/src/modules/dashboard/DashboardModule.js:691 +#: /app/src/modules/dashboard/DashboardModule.js:620 +#: /app/src/modules/dashboard/DashboardModule.js:692 msgid "Last 6 months" msgstr "6 derniers mois" -#: /app/src/modules/dashboard/DashboardModule.js:620 -#: /app/src/modules/dashboard/DashboardModule.js:692 +#: /app/src/modules/dashboard/DashboardModule.js:621 +#: /app/src/modules/dashboard/DashboardModule.js:693 msgid "Last year" msgstr "Année dernière" -#: /app/src/modules/dashboard/DashboardModule.js:621 -#: /app/src/modules/dashboard/DashboardModule.js:695 +#: /app/src/modules/dashboard/DashboardModule.js:622 +#: /app/src/modules/dashboard/DashboardModule.js:696 msgid "Current budget period" msgstr "Période budgétaire actuelle" -#: /app/src/modules/dashboard/DashboardModule.js:703 #: /app/src/modules/dashboard/DashboardModule.js:704 +#: /app/src/modules/dashboard/DashboardModule.js:705 #: /app/templates/index.php:2597 msgid "Date Range" msgstr "Plage de dates" -#: /app/src/modules/dashboard/DashboardModule.js:789 -#: /app/src/modules/dashboard/DashboardModule.js:791 +#: /app/src/modules/dashboard/DashboardModule.js:726 +#, fuzzy +#| msgid "Exclude shared accounts" +msgid "Exclude shared bills" +msgstr "Exclure les comptes partagés" + +#: /app/src/modules/dashboard/DashboardModule.js:742 +msgid "Show bills overdue for more than a week" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:845 +#: /app/src/modules/dashboard/DashboardModule.js:847 msgid "All accounts" msgstr "Tous les comptes" -#: /app/src/modules/dashboard/DashboardModule.js:907 +#: /app/src/modules/dashboard/DashboardModule.js:966 msgid "%n category under budget" msgid_plural "%n categories under budget" msgstr[0] "%n catégorie en dessous du budget" msgstr[1] "%n catégories en dessous du budget" -#: /app/src/modules/dashboard/DashboardModule.js:933 +#: /app/src/modules/dashboard/DashboardModule.js:992 msgid "{onTrack}/{total} on track" msgstr "{onTrack}/{total} en bonne voie" -#: /app/src/modules/dashboard/DashboardModule.js:964 +#: /app/src/modules/dashboard/DashboardModule.js:1023 msgid "Debt free by {date}" msgstr "Désendetté d'ici le {date}" -#: /app/src/modules/dashboard/DashboardModule.js:990 +#: /app/src/modules/dashboard/DashboardModule.js:1049 msgid "Rates unavailable for {currencies}" msgstr "Taux non disponibles pour {currencies}" -#: /app/src/modules/dashboard/DashboardModule.js:992 +#: /app/src/modules/dashboard/DashboardModule.js:1051 msgid "Converted to {currency} at current rates" msgstr "Converti en {currency} aux taux actuels" -#: /app/src/modules/dashboard/DashboardModule.js:1037 -#: /app/src/modules/dashboard/DashboardModule.js:2247 +#: /app/src/modules/dashboard/DashboardModule.js:1096 +#: /app/src/modules/dashboard/DashboardModule.js:2410 #: /app/src/utils/formatters.js:262 msgid "Checking" msgstr "Vérification" -#: /app/src/modules/dashboard/DashboardModule.js:1067 +#: /app/src/modules/dashboard/DashboardModule.js:1126 msgid "All accounts hidden" msgstr "Tous les comptes masqués" -#: /app/src/modules/dashboard/DashboardModule.js:1113 +#: /app/src/modules/dashboard/DashboardModule.js:1172 msgid "No accounts" msgstr "Aucun compte" -#: /app/src/modules/dashboard/DashboardModule.js:1139 -#: /app/src/modules/rules/components/ActionBuilder.js:144 +#: /app/src/modules/dashboard/DashboardModule.js:1198 +#: /app/src/modules/rules/components/ActionBuilder.js:150 msgid "Move up" msgstr "Monter" -#: /app/src/modules/dashboard/DashboardModule.js:1140 -#: /app/src/modules/rules/components/ActionBuilder.js:145 +#: /app/src/modules/dashboard/DashboardModule.js:1199 +#: /app/src/modules/rules/components/ActionBuilder.js:151 msgid "Move down" msgstr "Descendre" -#: /app/src/modules/dashboard/DashboardModule.js:1284 +#: /app/src/modules/dashboard/DashboardModule.js:1343 #: /app/src/modules/transactions/transactionRow.js:68 msgid "Split transaction" msgstr "Opération fractionnée" -#: /app/src/modules/dashboard/DashboardModule.js:1306 +#: /app/src/modules/dashboard/DashboardModule.js:1365 msgid "No recent transactions" msgstr "Aucune opération récente" -#: /app/src/modules/dashboard/DashboardModule.js:1388 +#: /app/src/modules/dashboard/DashboardModule.js:1447 msgid "No budget alerts. %n category is muted." msgid_plural "No budget alerts. %n categories are muted." msgstr[0] "Aucune alerte budgétaire. %n catégorie est désactivée." msgstr[1] "Aucune alerte budgétaire. %n catégories sont désactivées." -#: /app/src/modules/dashboard/DashboardModule.js:1389 +#: /app/src/modules/dashboard/DashboardModule.js:1448 msgid "No budget alerts from the budgets you set." msgstr "Aucune alerte budgétaire concernant les budgets que vous avez définis." -#: /app/src/modules/dashboard/DashboardModule.js:1407 -#, javascript-format +#: /app/src/modules/dashboard/DashboardModule.js:1466 +#, no-javascript-format msgid "{percent}% over" msgstr "{percent}% de dépassement" -#: /app/src/modules/dashboard/DashboardModule.js:1408 +#: /app/src/modules/dashboard/DashboardModule.js:1467 msgid "{percent}% used" msgstr "{percent} % utilisé" -#: /app/src/modules/dashboard/DashboardModule.js:1444 +#: /app/src/modules/dashboard/DashboardModule.js:1503 msgid "(from a bill)" msgstr "(depuis une facture)" -#: /app/src/modules/dashboard/DashboardModule.js:1480 +#: /app/src/modules/dashboard/DashboardModule.js:1539 msgid "No category has a budget yet." msgstr "Aucune catégorie ne dispose encore d'un budget." -#: /app/src/modules/dashboard/DashboardModule.js:1519 +#: /app/src/modules/dashboard/DashboardModule.js:1578 msgid "Failed to save the budget alert filter" msgstr "Échec de l'enregistrement du filtre d'alerte budgétaire" -#: /app/src/modules/dashboard/DashboardModule.js:1569 +#: /app/src/modules/dashboard/DashboardModule.js:1616 +#: /app/templates/index.php:1943 /app/templates/index.php:2244 +msgid "No categories yet" +msgstr "Aucune catégorie pour l'instant" + +#: /app/src/modules/dashboard/DashboardModule.js:1690 msgid "Highest rate: {rate}% APR" msgstr "Taux le plus élevé : {rate} % TAEG" -#: /app/src/modules/dashboard/DashboardModule.js:1600 +#: /app/src/modules/dashboard/DashboardModule.js:1721 #: /app/templates/index.php:770 /app/templates/index.php:4129 msgid "Total Debt" msgstr "Endettement total" -#: /app/src/modules/dashboard/DashboardModule.js:1601 +#: /app/src/modules/dashboard/DashboardModule.js:1722 msgid "Debt Free" msgstr "Désendetté" -#: /app/src/modules/dashboard/DashboardModule.js:1676 +#: /app/src/modules/dashboard/DashboardModule.js:1797 msgid "remaining" msgstr "restant" -#: /app/src/modules/dashboard/DashboardModule.js:1679 +#: /app/src/modules/dashboard/DashboardModule.js:1800 msgid "paid off" msgstr "remboursé" -#: /app/src/modules/dashboard/DashboardModule.js:1707 +#: /app/src/modules/dashboard/DashboardModule.js:1828 msgid "Ahead of schedule" msgstr "En avance sur le calendrier" -#: /app/src/modules/dashboard/DashboardModule.js:1708 +#: /app/src/modules/dashboard/DashboardModule.js:1829 msgid "Behind schedule" msgstr "En retard sur le calendrier" -#: /app/src/modules/dashboard/DashboardModule.js:1754 -#: /app/src/modules/dashboard/DashboardModule.js:2494 +#: /app/src/modules/dashboard/DashboardModule.js:1914 +#: /app/src/modules/dashboard/DashboardModule.js:2657 msgid "Overdue by %n day" msgid_plural "Overdue by %n days" msgstr[0] "En retard de %n jour" msgstr[1] "En retard de %n jours" -#: /app/src/modules/dashboard/DashboardModule.js:1757 -#: /app/src/modules/dashboard/DashboardModule.js:2497 +#: /app/src/modules/dashboard/DashboardModule.js:1917 +#: /app/src/modules/dashboard/DashboardModule.js:2660 +#: /app/src/modules/pensions/PensionsModule.js:33 msgid "Due today" msgstr "À échéance aujourd'hui" -#: /app/src/modules/dashboard/DashboardModule.js:1760 -#: /app/src/modules/dashboard/DashboardModule.js:2500 +#: /app/src/modules/dashboard/DashboardModule.js:1920 +#: /app/src/modules/dashboard/DashboardModule.js:2663 msgid "Due in %n day" msgid_plural "Due in %n days" msgstr[0] "À échéance dans %n jour" msgstr[1] "À échéance dans %n jours" -#: /app/src/modules/dashboard/DashboardModule.js:1762 +#: /app/src/modules/dashboard/DashboardModule.js:1922 msgid "Due {date}" msgstr "Échéance le {date}" -#: /app/src/modules/dashboard/DashboardModule.js:1782 -#: /app/src/modules/dashboard/DashboardModule.js:1800 +#: /app/src/modules/dashboard/DashboardModule.js:1942 +#: /app/src/modules/dashboard/DashboardModule.js:1960 #: /app/templates/index.php:737 msgid "No budgets configured" msgstr "Aucun budget configuré" -#: /app/src/modules/dashboard/DashboardModule.js:1889 +#: /app/src/modules/dashboard/DashboardModule.js:2052 #: /app/templates/index.php:748 /app/templates/index.php:2988 msgid "No savings goals yet" msgstr "Aucun objectif d'épargne pour le moment" -#: /app/src/modules/dashboard/DashboardModule.js:1905 +#: /app/src/modules/dashboard/DashboardModule.js:2068 msgid "Target: {amount}" msgstr "Objectif : {amount}" -#: /app/src/modules/dashboard/DashboardModule.js:1911 +#: /app/src/modules/dashboard/DashboardModule.js:2074 msgid "{amount} saved" msgstr "{amount} épargné" -#: /app/src/modules/dashboard/DashboardModule.js:1974 +#: /app/src/modules/dashboard/DashboardModule.js:2137 #: /app/src/modules/projects/ProjectsModule.js:78 msgid "{spent} of {total}" msgstr "{spent} de {total}" -#: /app/src/modules/dashboard/DashboardModule.js:2010 -#: /app/src/modules/pensions/PensionsModule.js:159 +#: /app/src/modules/dashboard/DashboardModule.js:2173 +#: /app/src/modules/pensions/PensionsModule.js:182 msgid "Pension Income" msgstr "Pension de retraite" -#: /app/src/modules/dashboard/DashboardModule.js:2017 -#: /app/src/modules/pensions/PensionsModule.js:166 +#: /app/src/modules/dashboard/DashboardModule.js:2180 +#: /app/src/modules/pensions/PensionsModule.js:189 msgid "%n pension" msgid_plural "%n pensions" msgstr[0] "%n pension de retraite" msgstr[1] "%n de retraites" -#: /app/src/modules/dashboard/DashboardModule.js:2020 -#: /app/src/modules/pensions/PensionsModule.js:169 +#: /app/src/modules/dashboard/DashboardModule.js:2183 +#: /app/src/modules/pensions/PensionsModule.js:192 msgid "{amount}/yr income" msgstr "revenu de {amount}/an" -#: /app/src/modules/dashboard/DashboardModule.js:2060 +#: /app/src/modules/dashboard/DashboardModule.js:2223 msgid "{amount} ({percent}%) vs 30d ago" msgstr "{amount} ({percent} %) contre il y a 30 jours" -#: /app/src/modules/dashboard/DashboardModule.js:2077 -#: /app/src/modules/dashboard/DashboardModule.js:2084 -#: /app/src/modules/dashboard/DashboardModule.js:2089 +#: /app/src/modules/dashboard/DashboardModule.js:2240 +#: /app/src/modules/dashboard/DashboardModule.js:2247 +#: /app/src/modules/dashboard/DashboardModule.js:2252 #: /app/templates/index.php:848 msgid "No spending data" msgstr "Aucune donnée de dépenses" -#: /app/src/modules/dashboard/DashboardModule.js:2123 -#: /app/src/modules/dashboard/DashboardModule.js:2231 +#: /app/src/modules/dashboard/DashboardModule.js:2286 +#: /app/src/modules/dashboard/DashboardModule.js:2394 #: /app/templates/index.php:857 /app/templates/index.php:884 msgid "No account data" msgstr "Aucune donnée de compte" -#: /app/src/modules/dashboard/DashboardModule.js:2156 +#: /app/src/modules/dashboard/DashboardModule.js:2319 #: /app/templates/index.php:866 msgid "No budget data" msgstr "Aucune donnée budgétaire" -#: /app/src/modules/dashboard/DashboardModule.js:2196 +#: /app/src/modules/dashboard/DashboardModule.js:2359 #: /app/templates/index.php:875 msgid "No savings goals" msgstr "Aucun objectif d'épargne" -#: /app/src/modules/dashboard/DashboardModule.js:2249 +#: /app/src/modules/dashboard/DashboardModule.js:2412 msgid "Credit Cards" msgstr "Cartes bancaires" -#: /app/src/modules/dashboard/DashboardModule.js:2250 +#: /app/src/modules/dashboard/DashboardModule.js:2413 msgid "Investments" msgstr "Investissements" -#: /app/src/modules/dashboard/DashboardModule.js:2251 +#: /app/src/modules/dashboard/DashboardModule.js:2414 msgid "Loans" msgstr "Prêts" -#: /app/src/modules/dashboard/DashboardModule.js:2259 +#: /app/src/modules/dashboard/DashboardModule.js:2422 msgid "%n account" msgid_plural "%n accounts" msgstr[0] "%n compte" msgstr[1] "%n comptes" -#: /app/src/modules/dashboard/DashboardModule.js:2271 +#: /app/src/modules/dashboard/DashboardModule.js:2434 #: /app/templates/index.php:893 msgid "No accounts to reconcile" msgstr "Aucun compte à rapprocher" -#: /app/src/modules/dashboard/DashboardModule.js:2284 +#: /app/src/modules/dashboard/DashboardModule.js:2447 msgid "All accounts reconciled" msgstr "Tous les comptes sont rapprochés" -#: /app/src/modules/dashboard/DashboardModule.js:2292 +#: /app/src/modules/dashboard/DashboardModule.js:2455 msgid "Up to date" msgstr "À jour" -#: /app/src/modules/dashboard/DashboardModule.js:2308 +#: /app/src/modules/dashboard/DashboardModule.js:2471 msgid "No data available" msgstr "Aucune donnée disponible" -#: /app/src/modules/dashboard/DashboardModule.js:2347 +#: /app/src/modules/dashboard/DashboardModule.js:2510 msgid "No large transactions" msgstr "Aucune opération importante" -#: /app/src/modules/dashboard/DashboardModule.js:2371 +#: /app/src/modules/dashboard/DashboardModule.js:2534 msgid "No spending data for this period" msgstr "Aucune donnée de dépenses pour cette période" -#: /app/src/modules/dashboard/DashboardModule.js:2390 +#: /app/src/modules/dashboard/DashboardModule.js:2553 msgid "Daily average" msgstr "Moyenne quotidienne" -#: /app/src/modules/dashboard/DashboardModule.js:2401 +#: /app/src/modules/dashboard/DashboardModule.js:2564 msgid "No pensions to project" msgstr "Aucune retraite à projeter" -#: /app/src/modules/dashboard/DashboardModule.js:2406 +#: /app/src/modules/dashboard/DashboardModule.js:2569 msgid "" "Set your date of birth in your Nextcloud profile for an accurate horizon" msgstr "" "Indiquez votre date de naissance dans votre profil Nextcloud pour obtenir un " "horizon précis" -#: /app/src/modules/dashboard/DashboardModule.js:2412 +#: /app/src/modules/dashboard/DashboardModule.js:2575 msgid "Projected at retirement" msgstr "Projection à la retraite" -#: /app/src/modules/dashboard/DashboardModule.js:2416 +#: /app/src/modules/dashboard/DashboardModule.js:2579 msgid "Projected income / yr" msgstr "Revenu prévu / an" -#: /app/src/modules/dashboard/DashboardModule.js:2428 +#: /app/src/modules/dashboard/DashboardModule.js:2591 msgid "No unmatched transfers" msgstr "Aucun transfert sans correspondance" -#: /app/src/modules/dashboard/DashboardModule.js:2448 +#: /app/src/modules/dashboard/DashboardModule.js:2611 msgid "No category trends available" msgstr "Aucune tendance de catégorie disponible" -#: /app/src/modules/dashboard/DashboardModule.js:2480 +#: /app/src/modules/dashboard/DashboardModule.js:2643 msgid "No bills due soon" msgstr "Aucune facture à payer prochainement" -#: /app/src/modules/dashboard/DashboardModule.js:2546 -#: /app/src/modules/dashboard/DashboardModule.js:2552 +#: /app/src/modules/dashboard/DashboardModule.js:2718 msgid "No recurring income set up" msgstr "Aucun revenu récurrent configuré" -#: /app/src/modules/dashboard/DashboardModule.js:2573 -#: /app/src/modules/import/ImportModule.js:2624 +#: /app/src/modules/dashboard/DashboardModule.js:2733 +#, fuzzy +#| msgid "Avg Monthly Income" +msgid "Monthly income" +msgstr "Revenu mensuel moyen" + +#: /app/src/modules/dashboard/DashboardModule.js:2734 +msgid "{received} of {due} received this month" +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:2738 +#, fuzzy +#| msgid "Received This Month" +msgid "Income received this month" +msgstr "Reçu ce mois-ci" + +#: /app/src/modules/dashboard/DashboardModule.js:2757 +#: /app/src/modules/import/ImportModule.js:2633 msgid "No recent imports" msgstr "Aucune importation récente" -#: /app/src/modules/dashboard/DashboardModule.js:2599 +#: /app/src/modules/dashboard/DashboardModule.js:2783 msgid "No import rules configured" msgstr "Aucune règle d'importation configurée" -#: /app/src/modules/dashboard/DashboardModule.js:2607 +#: /app/src/modules/dashboard/DashboardModule.js:2791 msgid "Active rules" msgstr "Règles actives" -#: /app/src/modules/dashboard/DashboardModule.js:2611 +#: /app/src/modules/dashboard/DashboardModule.js:2795 msgid "Total rules" msgstr "Total des règles" -#: /app/src/modules/dashboard/DashboardModule.js:2622 +#: /app/src/modules/dashboard/DashboardModule.js:2806 msgid "No spending data available" msgstr "Aucune donnée de dépenses disponible" -#: /app/src/modules/dashboard/DashboardModule.js:2632 +#: /app/src/modules/dashboard/DashboardModule.js:2816 msgid "Per day" msgstr "Par jour" -#: /app/src/modules/dashboard/DashboardModule.js:2636 +#: /app/src/modules/dashboard/DashboardModule.js:2820 msgid "Projected monthly" msgstr "Prévu mensuellement" -#: /app/src/modules/dashboard/DashboardModule.js:2651 +#: /app/src/modules/dashboard/DashboardModule.js:2835 msgid "Uncategorized transactions" msgstr "Opérations non classées" -#: /app/src/modules/dashboard/DashboardModule.js:2765 +#: /app/src/modules/dashboard/DashboardModule.js:2957 #: /app/src/modules/reports/ReportsModule.js:896 msgid "Click to view transactions" msgstr "Cliquez pour afficher les opérations" -#: /app/src/modules/dashboard/DashboardModule.js:2791 +#: /app/src/modules/dashboard/DashboardModule.js:2982 +#, fuzzy +#| msgid "%n category under budget" +#| msgid_plural "%n categories under budget" +msgid "%n category hidden" +msgid_plural "%n categories hidden" +msgstr[0] "%n catégorie en dessous du budget" +msgstr[1] "%n catégories en dessous du budget" + +#: /app/src/modules/dashboard/DashboardModule.js:2987 msgid "Total Spending" msgstr "Dépenses totales" -#: /app/src/modules/dashboard/DashboardModule.js:2887 +#: /app/src/modules/dashboard/DashboardModule.js:3084 msgid "{month} (so far)" -msgstr "" +msgstr "{month} (jusqu'à présent)" -#: /app/src/modules/dashboard/DashboardModule.js:2965 +#: /app/src/modules/dashboard/DashboardModule.js:3162 #: /app/templates/index.php:1194 msgid "Liabilities" msgstr "Passif" -#: /app/src/modules/dashboard/DashboardModule.js:3058 +#: /app/src/modules/dashboard/DashboardModule.js:3255 msgid "Asset Value" msgstr "Valeur d'actif" -#: /app/src/modules/dashboard/DashboardModule.js:3081 +#: /app/src/modules/dashboard/DashboardModule.js:3278 msgid "Portfolio" msgstr "Portfolio" -#: /app/src/modules/dashboard/DashboardModule.js:3154 +#: /app/src/modules/dashboard/DashboardModule.js:3351 #: /app/templates/index.php:800 msgid "Now" msgstr "Maintenant" -#: /app/src/modules/dashboard/DashboardModule.js:3301 +#: /app/src/modules/dashboard/DashboardModule.js:3498 msgid "just now" msgstr "à l'instant" -#: /app/src/modules/dashboard/DashboardModule.js:3303 +#: /app/src/modules/dashboard/DashboardModule.js:3500 msgid "%n hour ago" msgid_plural "%n hours ago" msgstr[0] "il y a %n heure" msgstr[1] "il y a %n heures" -#: /app/src/modules/dashboard/DashboardModule.js:3306 +#: /app/src/modules/dashboard/DashboardModule.js:3503 msgid "yesterday" msgstr "hier" -#: /app/src/modules/dashboard/DashboardModule.js:3308 +#: /app/src/modules/dashboard/DashboardModule.js:3505 msgid "%n day ago" msgid_plural "%n days ago" msgstr[0] "il y a %n jour" msgstr[1] "il y a %n jours" -#: /app/src/modules/dashboard/DashboardModule.js:3311 -#: /app/src/modules/dashboard/DashboardModule.js:3313 +#: /app/src/modules/dashboard/DashboardModule.js:3508 +#: /app/src/modules/dashboard/DashboardModule.js:3510 msgid "Snapshots recorded automatically daily" msgstr "Instantanés enregistrés automatiquement chaque jour" -#: /app/src/modules/dashboard/DashboardModule.js:3311 +#: /app/src/modules/dashboard/DashboardModule.js:3508 msgid "Last: {time}" msgstr "Le dernier : {time}" -#: /app/src/modules/dashboard/DashboardModule.js:3316 +#: /app/src/modules/dashboard/DashboardModule.js:3513 msgid "Record now" msgstr "Enregistrer maintenant" -#: /app/src/modules/dashboard/DashboardModule.js:3587 +#: /app/src/modules/dashboard/DashboardModule.js:3784 msgid "Net worth snapshot recorded" msgstr "Instantané de la valeur nette enregistré" -#: /app/src/modules/dashboard/DashboardModule.js:3595 +#: /app/src/modules/dashboard/DashboardModule.js:3792 msgid "Failed to record snapshot" msgstr "Échec de l'enregistrement de l'instantané" -#: /app/src/modules/dashboard/DashboardModule.js:3855 +#: /app/src/modules/dashboard/DashboardModule.js:4052 msgid "Failed to save dashboard layout" msgstr "Échec de l'enregistrement de la disposition du tableau de bord" -#: /app/src/modules/dashboard/DashboardModule.js:3917 +#: /app/src/modules/dashboard/DashboardModule.js:4114 #: /app/templates/index.php:649 msgid "No net worth history yet" msgstr "Aucun historique de la valeur nette pour l'instant" -#: /app/src/modules/dashboard/DashboardModule.js:3918 +#: /app/src/modules/dashboard/DashboardModule.js:4115 msgid "Snapshots are recorded automatically every day." msgstr "Des instantanés sont enregistrés automatiquement chaque jour." -#: /app/src/modules/dashboard/DashboardModule.js:3932 +#: /app/src/modules/dashboard/DashboardModule.js:4129 #: /app/templates/index.php:673 msgid "No asset value history yet" msgstr "Aucun historique de la valeur des actifs pour le moment" -#: /app/src/modules/dashboard/DashboardModule.js:3933 +#: /app/src/modules/dashboard/DashboardModule.js:4130 #: /app/templates/index.php:674 msgid "Add snapshots to your assets to track their combined value over time." msgstr "" "Ajoutez des instantanés à vos actifs pour suivre leur valeur combinée au fil " "du temps." -#: /app/src/modules/dashboard/DashboardModule.js:3941 +#: /app/src/modules/dashboard/DashboardModule.js:4138 #: /app/templates/index.php:687 /app/templates/index.php:723 msgid "View All" msgstr "Tout afficher" -#: /app/src/modules/dashboard/DashboardModule.js:4789 +#: /app/src/modules/dashboard/DashboardModule.js:5016 msgid "Failed to save dashboard lock state" msgstr "Échec de l'enregistrement de l'état de verrouillage du tableau de bord" -#: /app/src/modules/dashboard/DashboardModule.js:4807 -#: /app/src/modules/dashboard/DashboardModule.js:4818 +#: /app/src/modules/dashboard/DashboardModule.js:5034 +#: /app/src/modules/dashboard/DashboardModule.js:5045 #: /app/templates/index.php:352 msgid "Unlock Dashboard" msgstr "Déverrouiller le tableau de bord" -#: /app/src/modules/dashboard/DashboardModule.js:4807 -#: /app/src/modules/dashboard/DashboardModule.js:4833 +#: /app/src/modules/dashboard/DashboardModule.js:5034 +#: /app/src/modules/dashboard/DashboardModule.js:5060 msgid "Lock Dashboard" msgstr "Verrouiller le tableau de bord" -#: /app/src/modules/dashboard/DashboardModule.js:4819 +#: /app/src/modules/dashboard/DashboardModule.js:5046 #: /app/templates/index.php:329 msgid "Dashboard is locked. Click unlock to reorder tiles." msgstr "" "Le tableau de bord est verrouillé. Cliquez sur « Déverrouiller » pour " "réorganiser les tuiles." -#: /app/src/modules/dashboard/DashboardModule.js:4834 +#: /app/src/modules/dashboard/DashboardModule.js:5062 +#, fuzzy +#| msgid "Drag tiles to reorder your dashboard" +msgid "Use the arrows on each tile to reorder your dashboard" +msgstr "Faites glisser les tuiles pour réorganiser votre tableau de bord" + +#: /app/src/modules/dashboard/DashboardModule.js:5063 msgid "Drag tiles to reorder your dashboard" msgstr "Faites glisser les tuiles pour réorganiser votre tableau de bord" -#: /app/src/modules/dashboard/DashboardModule.js:4879 -#, fuzzy -#| msgid "Extras" +#: /app/src/modules/dashboard/DashboardModule.js:5108 msgid "Extra small" -msgstr "Suppléments" +msgstr "Très petit" -#: /app/src/modules/dashboard/DashboardModule.js:4880 +#: /app/src/modules/dashboard/DashboardModule.js:5109 msgid "Small" -msgstr "" +msgstr "Petit" -#: /app/src/modules/dashboard/DashboardModule.js:4881 +#: /app/src/modules/dashboard/DashboardModule.js:5110 msgid "Medium" -msgstr "" +msgstr "Moyen" -#: /app/src/modules/dashboard/DashboardModule.js:4882 -#, fuzzy -#| msgid "Target" +#: /app/src/modules/dashboard/DashboardModule.js:5111 msgid "Large" -msgstr "Objectif" +msgstr "Grand" -#: /app/src/modules/dashboard/DashboardModule.js:4909 +#: /app/src/modules/dashboard/DashboardModule.js:5138 msgid "Move earlier" -msgstr "" +msgstr "Déplacé plus tôt" -#: /app/src/modules/dashboard/DashboardModule.js:4909 -#, fuzzy -#| msgid "Move account" +#: /app/src/modules/dashboard/DashboardModule.js:5138 msgid "Move later" -msgstr "Déplacer le compte" +msgstr "Reporté à plus tard" -#: /app/src/modules/dashboard/DashboardModule.js:4937 -#: /app/src/modules/dashboard/DashboardModule.js:5031 -#: /app/templates/index.php:7437 +#: /app/src/modules/dashboard/DashboardModule.js:5166 +#: /app/src/modules/dashboard/DashboardModule.js:5263 +#: /app/templates/index.php:7438 msgid "Tile Settings" msgstr "Paramètres des tuiles" -#: /app/src/modules/dashboard/DashboardModule.js:4955 +#: /app/src/modules/dashboard/DashboardModule.js:5184 msgid "Remove tile" msgstr "Retirer la tuile" -#: /app/src/modules/dashboard/DashboardModule.js:4955 +#: /app/src/modules/dashboard/DashboardModule.js:5184 msgid "Hide tile" msgstr "Masquer la tuile" -#: /app/src/modules/dashboard/DashboardModule.js:5061 +#: /app/src/modules/dashboard/DashboardModule.js:5293 msgid "Look ahead" msgstr "Regarder vers l'avenir" -#: /app/src/modules/dashboard/DashboardModule.js:5064 +#: /app/src/modules/dashboard/DashboardModule.js:5296 msgid "Next 30 days" msgstr "30 prochains jours" -#: /app/src/modules/dashboard/DashboardModule.js:5065 +#: /app/src/modules/dashboard/DashboardModule.js:5297 msgid "Next 60 days" msgstr "60 prochains jours" -#: /app/src/modules/dashboard/DashboardModule.js:5066 +#: /app/src/modules/dashboard/DashboardModule.js:5298 msgid "Next 90 days" msgstr "90 prochains jours" -#: /app/src/modules/dashboard/DashboardModule.js:5075 +#: /app/src/modules/dashboard/DashboardModule.js:5307 msgid "Forecast horizon" msgstr "Horizon prévisionnel" -#: /app/src/modules/dashboard/DashboardModule.js:5078 +#: /app/src/modules/dashboard/DashboardModule.js:5310 msgid "Next 3 months" msgstr "Les 3 prochains mois" -#: /app/src/modules/dashboard/DashboardModule.js:5079 +#: /app/src/modules/dashboard/DashboardModule.js:5311 msgid "Next 6 months" msgstr "Les 6 prochains mois" -#: /app/src/modules/dashboard/DashboardModule.js:5080 +#: /app/src/modules/dashboard/DashboardModule.js:5312 msgid "Next 12 months" msgstr "Les 12 prochains mois" -#: /app/src/modules/dashboard/DashboardModule.js:5089 +#: /app/src/modules/dashboard/DashboardModule.js:5321 msgid "Years to compare" msgstr "Années à comparer" -#: /app/src/modules/dashboard/DashboardModule.js:5092 +#: /app/src/modules/dashboard/DashboardModule.js:5324 msgid "Last 2 years" msgstr "Les 2 dernières années" -#: /app/src/modules/dashboard/DashboardModule.js:5093 +#: /app/src/modules/dashboard/DashboardModule.js:5325 msgid "Last 3 years" msgstr "Les 3 dernières années" -#: /app/src/modules/dashboard/DashboardModule.js:5094 +#: /app/src/modules/dashboard/DashboardModule.js:5326 msgid "Last 5 years" msgstr "Les 5 dernières années" -#: /app/src/modules/dashboard/DashboardModule.js:5125 +#: /app/src/modules/dashboard/DashboardModule.js:5357 #: /app/templates/index.php:3222 msgid "Exclude shared accounts" msgstr "Exclure les comptes partagés" -#: /app/src/modules/dashboard/DashboardModule.js:5139 +#: /app/src/modules/dashboard/DashboardModule.js:5378 msgid "Show legend" msgstr "Afficher la légende" -#: /app/src/modules/dashboard/DashboardModule.js:5154 +#: /app/src/modules/dashboard/DashboardModule.js:5393 msgid "Show top-level categories only" msgstr "Afficher uniquement les catégories de niveau supérieur" -#: /app/src/modules/dashboard/DashboardModule.js:5169 -#: /app/src/modules/dashboard/DashboardModule.js:5170 +#: /app/src/modules/dashboard/DashboardModule.js:5408 +#: /app/src/modules/dashboard/DashboardModule.js:5409 msgid "Chart Type" msgstr "Type de graphique" -#: /app/src/modules/dashboard/DashboardModule.js:5180 -#: /app/src/modules/dashboard/DashboardModule.js:5181 +#: /app/src/modules/dashboard/DashboardModule.js:5419 +#: /app/src/modules/dashboard/DashboardModule.js:5420 msgid "Rows to show" msgstr "Lignes à afficher" -#: /app/src/modules/dashboard/DashboardModule.js:5196 -#: /app/src/modules/dashboard/DashboardModule.js:5197 +#: /app/src/modules/dashboard/DashboardModule.js:5435 +#: /app/src/modules/dashboard/DashboardModule.js:5436 msgid "Display Format" msgstr "Format d'affichage" -#: /app/src/modules/dashboard/DashboardModule.js:5209 +#: /app/src/modules/dashboard/DashboardModule.js:5448 msgid "Show change indicator" msgstr "Afficher l'indicateur de modification" -#: /app/src/modules/dashboard/DashboardModule.js:5223 +#: /app/src/modules/dashboard/DashboardModule.js:5462 msgid "No settings available for this tile." msgstr "Aucun paramètre disponible pour cette tuile." -#: /app/src/modules/dashboard/DashboardModule.js:5230 +#: /app/src/modules/dashboard/DashboardModule.js:5469 msgid "Drag to reorder. Toggle visibility for each item." msgstr "" "Faites glisser pour réorganiser. Basculez la visibilité de chaque élément." -#: /app/src/modules/dashboard/DashboardModule.js:5248 +#: /app/src/modules/dashboard/DashboardModule.js:5487 msgid "Only categories with a budget I set" msgstr "Uniquement les catégories pour lesquelles j'ai défini un budget" -#: /app/src/modules/dashboard/DashboardModule.js:5250 +#: /app/src/modules/dashboard/DashboardModule.js:5489 msgid "Leaves out the budgets worked out from your bills and recurring income." msgstr "" "Ne tient pas compte des budgets établis à partir de vos factures et de vos " "revenus réguliers." -#: /app/src/modules/dashboard/DashboardModule.js:5251 +#: /app/src/modules/dashboard/DashboardModule.js:5490 msgid "Untick a category to stop it alerting, here and in notifications." msgstr "" "Décochez une catégorie pour désactiver ses alertes, ici et dans les " "notifications." -#: /app/src/modules/dashboard/DashboardModule.js:5487 +#: /app/src/modules/dashboard/DashboardModule.js:5510 +#, fuzzy +#| msgid "Categories to create:" +msgid "Categories to show" +msgstr "Catégories à créer :" + +#: /app/src/modules/dashboard/DashboardModule.js:5511 +msgid "" +"Untick a category to leave it off this tile, along with its subcategories. " +"Reports and totals still count it." +msgstr "" + +#: /app/src/modules/dashboard/DashboardModule.js:5741 msgid "All tiles are visible" msgstr "Toutes les tuiles sont visibles" -#: /app/src/modules/dashboard/DashboardModule.js:5493 +#: /app/src/modules/dashboard/DashboardModule.js:5747 msgid "Insights & Analytics" msgstr "Perspectives et analyses" -#: /app/src/modules/dashboard/DashboardModule.js:5494 +#: /app/src/modules/dashboard/DashboardModule.js:5748 msgid "Budgeting" msgstr "Établissement du budget" -#: /app/src/modules/dashboard/DashboardModule.js:5495 +#: /app/src/modules/dashboard/DashboardModule.js:5749 msgid "Forecasting" msgstr "Prévision" -#: /app/src/modules/dashboard/DashboardModule.js:5498 +#: /app/src/modules/dashboard/DashboardModule.js:5752 #: /app/templates/index.php:5736 msgid "Debts" msgstr "Dettes" -#: /app/src/modules/dashboard/DashboardModule.js:5499 +#: /app/src/modules/dashboard/DashboardModule.js:5753 msgid "Goals" msgstr "Objectifs" -#: /app/src/modules/dashboard/DashboardModule.js:5501 +#: /app/src/modules/dashboard/DashboardModule.js:5755 msgid "Alerts" msgstr "Alertes" -#: /app/src/modules/dashboard/DashboardModule.js:5502 +#: /app/src/modules/dashboard/DashboardModule.js:5756 msgid "Interactive" msgstr "Interactif" -#: /app/src/modules/dashboard/DashboardModule.js:5524 +#: /app/src/modules/dashboard/DashboardModule.js:5778 msgid "Hero" msgstr "Bandeau" -#: /app/src/modules/dashboard/DashboardModule.js:5533 -#: /app/src/modules/dashboard/DashboardModule.js:5567 -#, fuzzy -#| msgid "Add Income" +#: /app/src/modules/dashboard/DashboardModule.js:5787 +#: /app/src/modules/dashboard/DashboardModule.js:5821 msgid "Add {name}" -msgstr "Ajouter un revenu" +msgstr "Ajouter {name}" -#: /app/src/modules/dashboard/DashboardModule.js:5555 +#: /app/src/modules/dashboard/DashboardModule.js:5809 msgid "Add Another" msgstr "En ajouter un autre" -#: /app/src/modules/dashboard/DashboardModule.js:5629 +#: /app/src/modules/dashboard/DashboardModule.js:5883 msgid "Maximum of {max} instances reached" msgstr "Nombre maximal d'instances ({max}) atteint" -#: /app/src/modules/dashboard/DashboardModule.js:5699 +#: /app/src/modules/dashboard/DashboardModule.js:5953 msgid "Tile added" msgstr "Tuile ajoutée" -#: /app/src/modules/dashboard/DashboardModule.js:5737 +#: /app/src/modules/dashboard/DashboardModule.js:5991 msgid "Tile removed" msgstr "Tuile supprimée" @@ -8356,7 +8653,7 @@ msgid "Manual" msgstr "Manuel" #: /app/src/modules/exchange-rates/ExchangeRatesModule.js:173 -#: /app/templates/index.php:4532 /app/templates/index.php:6412 +#: /app/templates/index.php:4532 /app/templates/index.php:6413 msgid "None" msgstr "Aucun" @@ -8680,7 +8977,7 @@ msgstr "" "des données." #: /app/src/modules/help/HelpModule.js:52 /app/templates/index.php:287 -#: /app/templates/index.php:4960 /app/templates/index.php:7561 +#: /app/templates/index.php:4960 /app/templates/index.php:7562 msgid "Help & Docs" msgstr "Aide et documentation" @@ -8740,6 +9037,9 @@ msgid "" "created, categories and tags are created as needed, and transfer rows are " "skipped." msgstr "" +"Lit un fichier d'exportation Toshl Finance : chaque compte du fichier est " +"associé à son nom ou créé, les catégories et les étiquettes sont créées si " +"nécessaire, et les lignes de virement sont ignorées." #: /app/src/modules/import/ImportModule.js:101 msgid "" @@ -8747,6 +9047,10 @@ msgid "" "created in its own currency, categories and tags are created as needed, and " "each transfer is imported into both accounts and linked." msgstr "" +"Lit un fichier d'exportation Firefly III : chaque compte du fichier est " +"associé par son nom ou créé dans sa propre devise ; les catégories et les " +"étiquettes sont créées selon les besoins ; et chaque virement est importé " +"dans les deux comptes et relié." #: /app/src/modules/import/ImportModule.js:102 msgid "" @@ -8754,6 +9058,10 @@ msgid "" "category groups become parent categories, and transfers are linked. Income " "assigned to \"Ready to Assign\" is left uncategorized." msgstr "" +"Lit le registre YNAB exporté : chaque compte est associé à son nom ou créé, " +"les groupes de catégories deviennent des catégories parentes et les " +"virements sont reliés. Les revenus affectés à la rubrique « Prêts à être " +"affectés » ne sont pas classés dans une catégorie." #: /app/src/modules/import/ImportModule.js:103 msgid "" @@ -8761,6 +9069,10 @@ msgid "" "category groups become parent categories, split transactions are imported as " "their parts, and transfers are linked." msgstr "" +"Lit un fichier d'exportation « Actual Budget » : chaque compte est associé à " +"son nom ou créé, les groupes de catégories deviennent des catégories " +"parentes, les opérations fractionnées sont importées sous forme de parties " +"distinctes et les virements sont reliés entre eux." #: /app/src/modules/import/ImportModule.js:104 msgid "" @@ -8768,12 +9080,19 @@ msgid "" "categories are created as needed, labels become tags, and transfers and card " "payments are linked." msgstr "" +"Lit le fichier « transactions.csv » de Mint : chaque compte est associé à " +"son nom ou créé, les catégories sont créées si nécessaire, les libellés " +"deviennent des étiquettes, et les virements ainsi que les paiements par " +"carte sont reliés." #: /app/src/modules/import/ImportModule.js:105 msgid "" "Reads a Monarch Money download: each account is matched by name or created, " "categories are created as needed, and transfers and card payments are linked." msgstr "" +"Lit un fichier téléchargé depuis Monarch Money : chaque compte est associé à " +"son nom ou créé, les catégories sont créées selon les besoins, et les " +"virements ainsi que les paiements par carte sont rattachés." #: /app/src/modules/import/ImportModule.js:187 msgid "Rule: {name}" @@ -8797,10 +9116,8 @@ msgid "My Templates" msgstr "Mes modèles" #: /app/src/modules/import/ImportModule.js:282 -#, fuzzy -#| msgid "Other" msgid "Other apps" -msgstr "Autre" +msgstr "Autres apps" #: /app/src/modules/import/ImportModule.js:285 msgid "Save mapping as template…" @@ -8907,12 +9224,16 @@ msgstr "Les comptes de ce modèle ne correspondent pas au fichier importé" #: /app/src/modules/import/ImportModule.js:938 msgid "Now choose your {app} export file." msgstr "" +"Sélectionnez maintenant votre fichier d'exportation de l'application {app}." #: /app/src/modules/import/ImportModule.js:967 msgid "" "This file looks like a {app} export, so that format has been selected. " "Choose Custom CSV to map the columns yourself." msgstr "" +"Ce fichier ressemble à une exportation de l'application {app} ; ce format a " +"donc été sélectionné. Choisissez « CSV personnalisé » pour mapper vous-même " +"les colonnes." #: /app/src/modules/import/ImportModule.js:1013 msgid "%n record" @@ -8986,6 +9307,8 @@ msgid "" "{count} split total rows will be skipped; the parts of each split are " "imported instead" msgstr "" +"{count} lignes du total ventilé seront ignorées ; ce sont les parties de " +"chaque ventilation qui seront importées à la place" #: /app/src/modules/import/ImportModule.js:1881 msgid "This import will create %n new account" @@ -9039,7 +9362,7 @@ msgid "{matching} of {total} rows would be added as income" msgstr "{matching} lignes sur {total} seraient ajoutées en tant que revenus" #: /app/src/modules/import/ImportModule.js:1935 -#, javascript-format +#, no-javascript-format msgid "" "but {percent}% of what is already in {account} is an expense. If that looks " "wrong, go back and map the column holding the transaction type before " @@ -9054,7 +9377,7 @@ msgid "{matching} of {total} rows would be added as an expense" msgstr "{matching} lignes sur {total} seraient ajoutées en tant que dépense" #: /app/src/modules/import/ImportModule.js:1944 -#, javascript-format +#, no-javascript-format msgid "" "but {percent}% of what is already in {account} is income. If that looks " "wrong, go back and map the column holding the transaction type before " @@ -9182,8 +9505,8 @@ msgstr[1] "" #: /app/src/modules/import/ImportModule.js:2484 msgid "%n transfer between your accounts was linked" msgid_plural "%n transfers between your accounts were linked" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%n virement entre vos comptes a été associé" +msgstr[1] "%n virements entre vos comptes ont été associés" #: /app/src/modules/import/ImportModule.js:2490 msgid "Import complete. %n category created — it may take a moment to appear." @@ -9200,300 +9523,278 @@ msgstr[1] "" msgid "Failed to import transactions: {message}" msgstr "Échec de l'importation des opérations : {message}" -#: /app/src/modules/import/ImportModule.js:2518 +#: /app/src/modules/import/ImportModule.js:2527 msgid "Auto-linked {count} transfer pairs" msgstr "{count} virements liés automatiquement" -#: /app/src/modules/import/ImportModule.js:2634 +#: /app/src/modules/import/ImportModule.js:2643 #: /app/src/modules/projects/ProjectsModule.js:95 msgid "{start} to {end}" msgstr "{start} à {end}" -#: /app/src/modules/import/ImportModule.js:2648 +#: /app/src/modules/import/ImportModule.js:2657 msgid "0 Bytes" msgstr "0 octet" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "Bytes" msgstr "Octets" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "KB" msgstr "Ko" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "MB" msgstr "Mo" -#: /app/src/modules/import/ImportModule.js:2650 +#: /app/src/modules/import/ImportModule.js:2659 msgid "GB" msgstr "Go" -#: /app/src/modules/income/IncomeModule.js:51 #: /app/src/modules/income/IncomeModule.js:54 +#: /app/src/modules/income/IncomeModule.js:57 msgid "Failed to load recurring income" msgstr "Échec du chargement des revenus récurrents" -#: /app/src/modules/income/IncomeModule.js:96 -#: /app/src/modules/transfers/TransfersModule.js:140 -#: /app/templates/index.php:1423 /app/templates/index.php:2974 -msgid "Completed" -msgstr "Terminé" - -#: /app/src/modules/income/IncomeModule.js:99 -#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 -#: /app/templates/index.php:2888 -msgid "Received" -msgstr "Reçu" - -#: /app/src/modules/income/IncomeModule.js:102 /app/templates/index.php:2887 -msgid "Expected Soon" -msgstr "Attendu prochainement" - -#: /app/src/modules/income/IncomeModule.js:136 -msgid "No date set" -msgstr "Aucune date fixée" - -#: /app/src/modules/income/IncomeModule.js:140 +#: /app/src/modules/income/IncomeModule.js:128 msgid "Auto-create enabled" msgstr "Création automatique activée" -#: /app/src/modules/income/IncomeModule.js:140 +#: /app/src/modules/income/IncomeModule.js:128 msgid "Auto-create" msgstr "Création automatique" -#: /app/src/modules/income/IncomeModule.js:145 +#: /app/src/modules/income/IncomeModule.js:133 msgid "Mark as received" msgstr "Marquer comme reçu" -#: /app/src/modules/income/IncomeModule.js:147 +#: /app/src/modules/income/IncomeModule.js:135 msgid "Mark Received" msgstr "Marquer comme reçu" -#: /app/src/modules/income/IncomeModule.js:156 +#: /app/src/modules/income/IncomeModule.js:144 msgid "Edit income" msgstr "Modifier le revenu" -#: /app/src/modules/income/IncomeModule.js:159 +#: /app/src/modules/income/IncomeModule.js:147 msgid "Delete income" msgstr "Supprimer le revenu" -#: /app/src/modules/income/IncomeModule.js:349 +#: /app/src/modules/income/IncomeModule.js:324 msgid "Edit Recurring Income" msgstr "Modifier le revenu récurrent" -#: /app/src/modules/income/IncomeModule.js:370 +#: /app/src/modules/income/IncomeModule.js:356 msgid "Add Recurring Income" msgstr "Ajouter un revenu récurrent" -#: /app/src/modules/income/IncomeModule.js:436 +#: /app/src/modules/income/IncomeModule.js:403 /app/templates/index.php:6698 +msgid "First payment date" +msgstr "Date du premier versement" + +#: /app/src/modules/income/IncomeModule.js:406 +#, fuzzy +#| msgid "The date this transfer is due. It can be in the past." +msgid "The date this income is expected. It can be in the past." +msgstr "" +"La date à laquelle ce virement doit être effectué. Elle peut être antérieure " +"à la date du présent document." + +#: /app/src/modules/income/IncomeModule.js:407 /app/templates/index.php:6700 +msgid "Payments repeat from this date (optional)" +msgstr "Les paiements sont récurrents à partir de cette date (facultatif)" + +#: /app/src/modules/income/IncomeModule.js:432 msgid "Expected Day (1-7)" msgstr "Jour prévu (1-7)" -#: /app/src/modules/income/IncomeModule.js:440 /app/templates/index.php:6691 +#: /app/src/modules/income/IncomeModule.js:436 /app/templates/index.php:6692 msgid "Expected Day" msgstr "Jour prévu" -#: /app/src/modules/income/IncomeModule.js:441 /app/templates/index.php:6693 +#: /app/src/modules/income/IncomeModule.js:437 /app/templates/index.php:6694 msgid "Day of the month when income is expected" msgstr "Jour du mois où le revenu est attendu" -#: /app/src/modules/income/IncomeModule.js:454 -#: /app/src/modules/transfers/TransfersModule.js:789 -msgid "Follows the start date" -msgstr "Suit la date de début" +#: /app/src/modules/income/IncomeModule.js:498 +#, fuzzy +#| msgid "Day of the month when income is expected" +msgid "Choose the date this income is expected" +msgstr "Jour du mois où le revenu est attendu" -#: /app/src/modules/income/IncomeModule.js:520 +#: /app/src/modules/income/IncomeModule.js:534 msgid "Income source created successfully" msgstr "Source de revenus créée avec succès" -#: /app/src/modules/income/IncomeModule.js:520 +#: /app/src/modules/income/IncomeModule.js:534 msgid "Income source updated successfully" msgstr "Source de revenus mise à jour avec succès" -#: /app/src/modules/income/IncomeModule.js:524 +#: /app/src/modules/income/IncomeModule.js:538 msgid "Failed to save income" msgstr "Échec de l'enregistrement du revenu" -#: /app/src/modules/income/IncomeModule.js:529 +#: /app/src/modules/income/IncomeModule.js:543 msgid "Are you sure you want to delete this recurring income?" msgstr "Êtes-vous sûr de vouloir supprimer ce revenu récurrent ?" -#: /app/src/modules/income/IncomeModule.js:536 +#: /app/src/modules/income/IncomeModule.js:550 msgid "Income source deleted successfully" msgstr "Source de revenus supprimée avec succès" -#: /app/src/modules/income/IncomeModule.js:540 +#: /app/src/modules/income/IncomeModule.js:554 msgid "Failed to delete income" msgstr "Échec de la suppression du revenu" -#: /app/src/modules/income/IncomeModule.js:578 +#: /app/src/modules/income/IncomeModule.js:594 msgid "Income marked as received. Transaction created." msgstr "Revenu marqué comme reçu. Opération créée." -#: /app/src/modules/income/IncomeModule.js:579 +#: /app/src/modules/income/IncomeModule.js:595 msgid "Income marked as received." msgstr "Revenu marqué comme reçu." -#: /app/src/modules/income/IncomeModule.js:590 +#: /app/src/modules/income/IncomeModule.js:605 msgid "Failed to mark income as received" msgstr "Échec du marquage du revenu comme reçu" -#: /app/src/modules/income/IncomeModule.js:637 -#, fuzzy -#| msgid "Skip this payment and advance to the next due date?" +#: /app/src/modules/income/IncomeModule.js:644 msgid "Skip this payment and advance to the next expected date?" -msgstr "Passer ce paiement et aller à la prochaine échéance ?" +msgstr "Ignorer ce paiement et passer à la prochaine date prévue ?" -#: /app/src/modules/income/IncomeModule.js:644 -#: /app/src/modules/income/IncomeModule.js:667 -#, fuzzy -#| msgid "Failed to save income" +#: /app/src/modules/income/IncomeModule.js:651 +#: /app/src/modules/income/IncomeModule.js:674 msgid "Failed to skip income" -msgstr "Échec de l'enregistrement du revenu" +msgstr "Impossible de ne pas prendre en compte les revenus" -#: /app/src/modules/income/IncomeModule.js:660 -#, fuzzy -#| msgid "Payment skipped. Advanced to next due date." +#: /app/src/modules/income/IncomeModule.js:667 msgid "Payment skipped. Advanced to next expected date." -msgstr "Paiement passé. Avance à la prochaine échéance." +msgstr "Paiement ignoré. Passage à la prochaine date prévue." -#: /app/src/modules/income/IncomeModule.js:703 +#: /app/src/modules/income/IncomeModule.js:710 msgid "No recurring income patterns found in your transactions" msgstr "Aucun modèle de revenus récurrents n'a été détecté dans vos opérations" -#: /app/src/modules/income/IncomeModule.js:715 /app/templates/index.php:2835 +#: /app/src/modules/income/IncomeModule.js:722 /app/templates/index.php:2835 msgid "Detect Income" msgstr "Détecter les revenus" -#: /app/src/modules/income/IncomeModule.js:736 +#: /app/src/modules/income/IncomeModule.js:744 msgid "%n occurrence" msgid_plural "%n occurrences" msgstr[0] "%n occurrence" msgstr[1] "%n occurrences" -#: /app/src/modules/income/IncomeModule.js:737 +#: /app/src/modules/income/IncomeModule.js:745 msgid "Source: {source}" msgstr "Source : {source}" -#: /app/src/modules/income/IncomeModule.js:754 +#: /app/src/modules/income/IncomeModule.js:767 msgid "Please select at least one income source to add" msgstr "Veuillez sélectionner au moins une source de revenus à ajouter" -#: /app/src/modules/income/IncomeModule.js:767 +#: /app/src/modules/income/IncomeModule.js:780 msgid "%n income source added successfully" msgid_plural "%n income sources added successfully" msgstr[0] "%n source de revenus ajoutée avec succès" msgstr[1] "%n sources de revenus ajoutées avec succès" -#: /app/src/modules/income/IncomeModule.js:771 +#: /app/src/modules/income/IncomeModule.js:784 msgid "Failed to add selected income sources" msgstr "Échec de l'ajout des sources de revenus sélectionnées" #: /app/src/modules/onboarding/OnboardingModule.js:37 #: /app/src/modules/onboarding/OnboardingModule.js:71 -#, fuzzy -#| msgid "Importing Bank Statements" msgid "Import a statement" -msgstr "Importation des relevés bancaires" +msgstr "Importer un relevé" #: /app/src/modules/onboarding/OnboardingModule.js:39 -#, fuzzy -#| msgid "Connect" msgid "Connect a bank" -msgstr "Connecter" +msgstr "Connecter une banque" #: /app/src/modules/onboarding/OnboardingModule.js:45 -#, fuzzy -#| msgid "Failed to get base currency" msgid "Set your base currency" -msgstr "Impossible de récupérer la devise de base" +msgstr "Définissez votre devise de base" #: /app/src/modules/onboarding/OnboardingModule.js:46 msgid "The currency your totals and reports are shown in." -msgstr "" +msgstr "La devise dans laquelle s'affichent vos totaux et vos rapports." #: /app/src/modules/onboarding/OnboardingModule.js:48 -#, fuzzy -#| msgid "Save settings" msgid "Open settings" -msgstr "Enregistrer les paramètres" +msgstr "Ouvrir les paramètres" #: /app/src/modules/onboarding/OnboardingModule.js:53 -#, fuzzy -#| msgid "Failed to create default categories" msgid "Create the default categories" -msgstr "Échec de la création des catégories par défaut" +msgstr "Créer les catégories par défaut" #: /app/src/modules/onboarding/OnboardingModule.js:54 msgid "" "A ready-made set of income and spending categories, which you can change " "later." msgstr "" +"Un ensemble prédéfini de catégories de revenus et de dépenses, que vous " +"pourrez modifier ultérieurement." #: /app/src/modules/onboarding/OnboardingModule.js:56 -#, fuzzy -#| msgid "Failed to create default categories" msgid "Create default categories" -msgstr "Échec de la création des catégories par défaut" +msgstr "Créer des catégories par défaut" #: /app/src/modules/onboarding/OnboardingModule.js:61 #: /app/src/modules/onboarding/OnboardingModule.js:64 -#, fuzzy -#| msgid "Add new account" msgid "Add an account" -msgstr "Ajouter un nouveau compte" +msgstr "Ajouter un compte" #: /app/src/modules/onboarding/OnboardingModule.js:62 msgid "A bank account, card or cash wallet to record money in and out of." msgstr "" +"Un compte bancaire, une carte ou un porte-monnaie pour noter les entrées et " +"les sorties d'argent." #: /app/src/modules/onboarding/OnboardingModule.js:70 msgid "Import a statement or connect your bank" -msgstr "" +msgstr "Importez un relevé ou connectez-vous à votre banque" #: /app/src/modules/onboarding/OnboardingModule.js:72 msgid "" "Bring in your transactions from a CSV, OFX or QIF file your bank gives you." msgstr "" +"Importez vos opérations à partir d'un fichier CSV, OFX ou QIF fourni par " +"votre banque." #: /app/src/modules/onboarding/OnboardingModule.js:79 -#, fuzzy -#| msgid "Select a category" msgid "Set a budget for one category" -msgstr "Sélectionnez une catégorie" +msgstr "Définissez un budget pour une catégorie" #: /app/src/modules/onboarding/OnboardingModule.js:80 msgid "Choose how much you want to spend on something each month." msgstr "" +"Choisissez le montant que vous souhaitez consacrer à une dépense chaque mois." #: /app/src/modules/onboarding/OnboardingModule.js:153 -#, fuzzy -#| msgid "Categories with Budget" msgid "Get started with Budget" -msgstr "Catégories avec budget" +msgstr "Commencez à utiliser Budget" #: /app/src/modules/onboarding/OnboardingModule.js:156 msgid "" "A few steps to a working budget. Each one ticks itself off once it is done." msgstr "" +"Quelques étapes pour établir un budget fonctionnel. Chacune d'entre elles " +"est cochée une fois terminée." #: /app/src/modules/onboarding/OnboardingModule.js:162 #: /app/src/modules/onboarding/OnboardingModule.js:163 msgid "Hide this checklist" -msgstr "" +msgstr "Masquer cette liste de vérification" #: /app/src/modules/onboarding/OnboardingModule.js:174 -#, fuzzy -#| msgid "Getting Started Guide" msgid "Getting started progress" -msgstr "Guide de démarrage" +msgstr "Avancement de la mise en route" #: /app/src/modules/onboarding/OnboardingModule.js:181 -#, fuzzy -#| msgid "{spent} of {total}" msgid "{done} of {total} done" -msgstr "{spent} de {total}" +msgstr "{done} sur {total} terminé" #: /app/src/modules/onboarding/OnboardingModule.js:196 msgid "" @@ -9501,16 +9802,17 @@ msgid "" "budgets to explore, then clear them in one click when you are ready for your " "own." msgstr "" +"Vous ne faites que jeter un œil ? Pour découvrir Budget, importez un " +"échantillon de comptes, d'opérations et de budgets, puis effacez-les d'un " +"simple clic lorsque vous serez prêt à créer les vôtres." #: /app/src/modules/onboarding/OnboardingModule.js:200 msgid "Try with sample data" -msgstr "" +msgstr "Essayez avec un échantillon de données" #: /app/src/modules/onboarding/OnboardingModule.js:211 -#, fuzzy -#| msgid "Getting Started Guide" msgid "Read the getting started guide" -msgstr "Guide de démarrage" +msgstr "Lire le guide de démarrage" #: /app/src/modules/onboarding/OnboardingModule.js:218 #, fuzzy @@ -9526,23 +9828,25 @@ msgstr "Activer/désactiver le verrouillage du tableau de bord" #: /app/src/modules/onboarding/OnboardingModule.js:247 msgid "(done)" -msgstr "" +msgstr "(terminé)" #: /app/src/modules/onboarding/OnboardingModule.js:247 msgid "(not done yet)" -msgstr "" +msgstr "(pas encore terminé)" #: /app/src/modules/onboarding/OnboardingModule.js:273 msgid "Guide" -msgstr "" +msgstr "Guide" #: /app/src/modules/onboarding/OnboardingModule.js:296 msgid "You're looking at sample data" -msgstr "" +msgstr "Vous consultez ici un échantillon de données" #: /app/src/modules/onboarding/OnboardingModule.js:298 msgid "None of it is real. Clear it when you are ready to add your own." msgstr "" +"Tout cela n'est pas réel. Effacez-le lorsque vous serez prêt à ajouter vos " +"propres éléments." #: /app/src/modules/onboarding/OnboardingModule.js:303 #: /app/src/modules/onboarding/OnboardingModule.js:390 @@ -9554,74 +9858,87 @@ msgstr "Effacer la sélection" #: /app/src/modules/onboarding/OnboardingModule.js:373 msgid "Sample data added. Have a look around." msgstr "" +"Des échantillons de données ont été ajoutés. N'hésitez pas à les consulter." #: /app/src/modules/onboarding/OnboardingModule.js:387 msgid "" "This deletes everything in your budget: the sample data and anything you " "added while trying it. Your settings are kept." msgstr "" +"Cette opération supprime tout le contenu de votre budget : les données " +"d'échantillon et tout ce que vous avez ajouté pendant que vous testiez " +"l'application. Vos paramètres sont conservés." #: /app/src/modules/onboarding/OnboardingModule.js:389 -#, fuzzy -#| msgid "Clear selection" msgid "Clear sample data?" -msgstr "Effacer la sélection" +msgstr "Effacer les données d'échantillon ?" #: /app/src/modules/onboarding/OnboardingModule.js:403 msgid "Sample data cleared" +msgstr "Données d'échantillon effacées" + +#: /app/src/modules/pensions/PensionsModule.js:26 +msgid "Paused" msgstr "" -#: /app/src/modules/pensions/PensionsModule.js:37 -#: /app/src/modules/pensions/PensionsModule.js:40 +#: /app/src/modules/pensions/PensionsModule.js:30 +#: /app/src/modules/transfers/TransfersModule.js:144 +#: /app/src/utils/billDates.js:36 /app/src/utils/incomeStatus.js:52 +#: /app/templates/index.php:2662 /app/templates/index.php:2689 +msgid "Overdue" +msgstr "En retard" + +#: /app/src/modules/pensions/PensionsModule.js:60 +#: /app/src/modules/pensions/PensionsModule.js:63 msgid "Failed to load pensions" msgstr "Échec du chargement des retraites" -#: /app/src/modules/pensions/PensionsModule.js:90 -#: /app/src/modules/pensions/PensionsModule.js:514 +#: /app/src/modules/pensions/PensionsModule.js:113 +#: /app/src/modules/pensions/PensionsModule.js:563 msgid "Workplace" msgstr "Lieu de travail" -#: /app/src/modules/pensions/PensionsModule.js:91 -#: /app/src/modules/pensions/PensionsModule.js:515 +#: /app/src/modules/pensions/PensionsModule.js:114 +#: /app/src/modules/pensions/PensionsModule.js:564 msgid "Personal" msgstr "Personnel" -#: /app/src/modules/pensions/PensionsModule.js:92 -#: /app/src/modules/pensions/PensionsModule.js:516 +#: /app/src/modules/pensions/PensionsModule.js:115 +#: /app/src/modules/pensions/PensionsModule.js:565 #: /app/templates/index.php:5330 msgid "SIPP" msgstr "SIPP" -#: /app/src/modules/pensions/PensionsModule.js:93 -#: /app/src/modules/pensions/PensionsModule.js:517 +#: /app/src/modules/pensions/PensionsModule.js:116 +#: /app/src/modules/pensions/PensionsModule.js:566 #: /app/templates/index.php:5331 msgid "Defined Benefit" msgstr "Prestations définies" -#: /app/src/modules/pensions/PensionsModule.js:94 -#: /app/src/modules/pensions/PensionsModule.js:518 +#: /app/src/modules/pensions/PensionsModule.js:117 +#: /app/src/modules/pensions/PensionsModule.js:567 #: /app/templates/index.php:5332 msgid "State Pension" msgstr "Pension de retraite publique" -#: /app/src/modules/pensions/PensionsModule.js:102 -#: /app/src/modules/pensions/PensionsModule.js:533 +#: /app/src/modules/pensions/PensionsModule.js:125 +#: /app/src/modules/pensions/PensionsModule.js:582 msgid "{amount}/year" msgstr "{amount}/an" -#: /app/src/modules/pensions/PensionsModule.js:114 +#: /app/src/modules/pensions/PensionsModule.js:137 msgid "{amount}/month" msgstr "{amount}/mois" -#: /app/src/modules/pensions/PensionsModule.js:117 +#: /app/src/modules/pensions/PensionsModule.js:140 msgid "View details" msgstr "Voir les détails" -#: /app/src/modules/pensions/PensionsModule.js:158 +#: /app/src/modules/pensions/PensionsModule.js:181 msgid "{amount}/yr" msgstr "{amount}/an" -#: /app/src/modules/pensions/PensionsModule.js:192 +#: /app/src/modules/pensions/PensionsModule.js:215 msgid "" "Set your date of birth in your Nextcloud profile for accurate retirement " "projections." @@ -9629,192 +9946,241 @@ msgstr "" "Indiquez votre date de naissance dans votre profil Nextcloud pour obtenir " "des projections de retraite précises." -#: /app/src/modules/pensions/PensionsModule.js:396 +#: /app/src/modules/pensions/PensionsModule.js:419 msgid "Edit Pension" msgstr "Modifier la pension de retraite" -#: /app/src/modules/pensions/PensionsModule.js:418 +#: /app/src/modules/pensions/PensionsModule.js:441 #: /app/templates/index.php:3711 /app/templates/index.php:5308 msgid "Add Pension" msgstr "Ajouter une pension de retraite" -#: /app/src/modules/pensions/PensionsModule.js:468 +#: /app/src/modules/pensions/PensionsModule.js:515 msgid "Failed to save pension" msgstr "Échec de l'enregistrement de la pension de retraite" -#: /app/src/modules/pensions/PensionsModule.js:474 +#: /app/src/modules/pensions/PensionsModule.js:521 msgid "Pension updated" msgstr "Pension de retraite mise à jour" -#: /app/src/modules/pensions/PensionsModule.js:474 +#: /app/src/modules/pensions/PensionsModule.js:521 msgid "Pension added" msgstr "Pension de retraite ajoutée" -#: /app/src/modules/pensions/PensionsModule.js:481 +#: /app/src/modules/pensions/PensionsModule.js:528 msgid "" "Are you sure you want to delete this pension? This action cannot be undone." msgstr "" "Êtes-vous sûr de vouloir supprimer cette pension de retraite ? Cette action " "est irréversible." -#: /app/src/modules/pensions/PensionsModule.js:494 +#: /app/src/modules/pensions/PensionsModule.js:529 +msgid "" +"Its balance updates, contributions and schedules are deleted with it. Any " +"bank transactions that paid into or out of it stay in your accounts, and " +"still count as money moved to or from a pension rather than spending or " +"income." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:543 msgid "Pension deleted" msgstr "Pension de retraite supprimée" -#: /app/src/modules/pensions/PensionsModule.js:582 +#: /app/src/modules/pensions/PensionsModule.js:627 msgid "Balance history is unavailable." msgstr "L'historique du solde n'est pas disponible." -#: /app/src/modules/pensions/PensionsModule.js:587 +#: /app/src/modules/pensions/PensionsModule.js:632 msgid "Add at least two balance updates to see history." msgstr "Ajoutez au moins deux mises à jour du solde pour voir l'historique." -#: /app/src/modules/pensions/PensionsModule.js:639 -#: /app/src/modules/pensions/PensionsModule.js:655 +#: /app/src/modules/pensions/PensionsModule.js:684 +#: /app/src/modules/pensions/PensionsModule.js:700 msgid "Projection is unavailable." msgstr "La projection n'est pas disponible." -#: /app/src/modules/pensions/PensionsModule.js:648 +#: /app/src/modules/pensions/PensionsModule.js:693 msgid "No projection available for this pension type." msgstr "Aucune projection n'est disponible pour ce type de pension." -#: /app/src/modules/pensions/PensionsModule.js:672 +#: /app/src/modules/pensions/PensionsModule.js:717 msgid "Projected value (today's money)" msgstr "Valeur projetée (en monnaie d'aujourd'hui)" -#: /app/src/modules/pensions/PensionsModule.js:672 +#: /app/src/modules/pensions/PensionsModule.js:717 msgid "Projected value" msgstr "Valeur projetée" -#: /app/src/modules/pensions/PensionsModule.js:683 +#: /app/src/modules/pensions/PensionsModule.js:728 +#: /app/src/modules/rules/components/ActionBuilder.js:206 msgid "Target" msgstr "Objectif" -#: /app/src/modules/pensions/PensionsModule.js:727 +#: /app/src/modules/pensions/PensionsModule.js:772 msgid "Projected {projected} of {target} target ({pct} there)" msgstr "Prévision de {projected} sur un objectif de {target} ({pct} atteints)" -#: /app/src/modules/pensions/PensionsModule.js:741 -#: /app/src/modules/pensions/PensionsModule.js:815 +#: /app/src/modules/pensions/PensionsModule.js:786 +#: /app/src/modules/pensions/PensionsModule.js:861 msgid "Activity is unavailable." msgstr "L'activité n'est pas disponible." -#: /app/src/modules/pensions/PensionsModule.js:746 +#: /app/src/modules/pensions/PensionsModule.js:792 msgid "No activity yet" msgstr "Aucune activité pour le moment" -#: /app/src/modules/pensions/PensionsModule.js:753 +#: /app/src/modules/pensions/PensionsModule.js:799 msgid "an account" msgstr "un compte" -#: /app/src/modules/pensions/PensionsModule.js:764 +#: /app/src/modules/pensions/PensionsModule.js:810 msgid "Contribution from {account}" msgstr "Cotisation sur {account}" -#: /app/src/modules/pensions/PensionsModule.js:771 +#: /app/src/modules/pensions/PensionsModule.js:817 msgid "Withdrawal to {account}" msgstr "Retrait depuis {account}" -#: /app/src/modules/pensions/PensionsModule.js:772 +#: /app/src/modules/pensions/PensionsModule.js:818 msgid "Withdrawal" msgstr "Retrait" -#: /app/src/modules/pensions/PensionsModule.js:778 +#: /app/src/modules/pensions/PensionsModule.js:824 msgid "Balance Update" msgstr "Mise à jour du solde" -#: /app/src/modules/pensions/PensionsModule.js:783 +#: /app/src/modules/pensions/PensionsModule.js:829 msgid "Contribution" msgstr "Cotisation" -#: /app/src/modules/pensions/PensionsModule.js:791 +#: /app/src/modules/pensions/PensionsModule.js:837 msgid "Linked to a bank transaction" msgstr "Lié à une opération bancaire" -#: /app/src/modules/pensions/PensionsModule.js:791 +#: /app/src/modules/pensions/PensionsModule.js:837 msgid "linked" msgstr "lié" -#: /app/src/modules/pensions/PensionsModule.js:823 +#: /app/src/modules/pensions/PensionsModule.js:869 msgid "Delete this balance update?" msgstr "Supprimer cette mise à jour du solde ?" -#: /app/src/modules/pensions/PensionsModule.js:824 +#: /app/src/modules/pensions/PensionsModule.js:870 msgid "" -"Delete this entry? If it is linked to a bank transaction, that transaction " -"will be removed too." +"Delete this entry? A bank transaction the app booked for it is removed too; " +"one that came from a statement import or bank sync stays in its account." msgstr "" -"Supprimer cette écriture ? Si elle est liée à une opération bancaire, cette " -"opération sera également supprimée." -#: /app/src/modules/pensions/PensionsModule.js:842 -#: /app/src/modules/pensions/PensionsModule.js:1099 +#: /app/src/modules/pensions/PensionsModule.js:873 +#, fuzzy +#| msgid "" +#| "This transaction was reconciled against a bank statement. Deleting it " +#| "will make past reconciliations no longer match." +msgid "" +"Its bank transaction was reconciled against a bank statement. Deleting it " +"will make past reconciliations no longer match." +msgstr "" +"Cette opération a été rapprochée d'un relevé bancaire. Sa suppression rendra " +"les rapprochements antérieurs incohérents." + +#: /app/src/modules/pensions/PensionsModule.js:892 +#: /app/src/modules/pensions/PensionsModule.js:1186 msgid "Deleted" msgstr "Supprimée" -#: /app/src/modules/pensions/PensionsModule.js:879 +#: /app/src/modules/pensions/PensionsModule.js:932 msgid "Failed to update balance" msgstr "Échec de la mise à jour du solde" -#: /app/src/modules/pensions/PensionsModule.js:886 +#: /app/src/modules/pensions/PensionsModule.js:939 msgid "Balance updated" msgstr "Solde mis à jour" -#: /app/src/modules/pensions/PensionsModule.js:913 -#: /app/src/modules/pensions/PensionsModule.js:1055 +#: /app/src/modules/pensions/PensionsModule.js:969 +#: /app/src/modules/pensions/PensionsModule.js:1139 #: /app/templates/index.php:5461 /app/templates/index.php:5541 msgid "Not from a tracked account" msgstr "Ne provient pas d'un compte suivi" -#: /app/src/modules/pensions/PensionsModule.js:938 +#: /app/src/modules/pensions/PensionsModule.js:997 msgid "Failed to log contribution" msgstr "Échec de l'enregistrement de la cotisation" -#: /app/src/modules/pensions/PensionsModule.js:947 +#: /app/src/modules/pensions/PensionsModule.js:1006 msgid "Contribution logged" msgstr "Cotisation enregistrée" -#: /app/src/modules/pensions/PensionsModule.js:960 +#: /app/src/modules/pensions/PensionsModule.js:1019 #: /app/templates/index.php:5497 msgid "Not into a tracked account" msgstr "Pas sur un compte suivi" -#: /app/src/modules/pensions/PensionsModule.js:992 +#: /app/src/modules/pensions/PensionsModule.js:1054 msgid "Withdrawal recorded" msgstr "Retrait enregistré" -#: /app/src/modules/pensions/PensionsModule.js:1021 +#: /app/src/modules/pensions/PensionsModule.js:1093 msgid "No scheduled contributions" msgstr "Aucune cotisation prévue" -#: /app/src/modules/pensions/PensionsModule.js:1034 +#: /app/src/modules/pensions/PensionsModule.js:1108 msgid "manual" msgstr "manuel" -#: /app/src/modules/pensions/PensionsModule.js:1039 -msgid "Next: {date}" -msgstr "Suivant : {date}" +#: /app/src/modules/pensions/PensionsModule.js:1112 +#, fuzzy +#| msgid "From: {account}" +msgid "from {account}" +msgstr "Depuis : {account}" -#: /app/src/modules/pensions/PensionsModule.js:1042 +#: /app/src/modules/pensions/PensionsModule.js:1117 +#: /app/src/modules/pensions/PensionsModule.js:1223 msgid "Post now" msgstr "Publier maintenant" -#: /app/src/modules/pensions/PensionsModule.js:1081 +#: /app/src/modules/pensions/PensionsModule.js:1123 +msgid "Next: {date}" +msgstr "Suivant : {date}" + +#: /app/src/modules/pensions/PensionsModule.js:1168 msgid "Failed to save recurring contribution" msgstr "Échec de l'enregistrement de la cotisation récurrente" -#: /app/src/modules/pensions/PensionsModule.js:1085 +#: /app/src/modules/pensions/PensionsModule.js:1172 msgid "Recurring contribution saved" msgstr "Cotisation récurrente enregistrée" -#: /app/src/modules/pensions/PensionsModule.js:1092 +#: /app/src/modules/pensions/PensionsModule.js:1179 msgid "Delete this scheduled contribution?" msgstr "Supprimer cette cotisation programmée ?" -#: /app/src/modules/pensions/PensionsModule.js:1115 +#: /app/src/modules/pensions/PensionsModule.js:1221 +msgid "" +"Post the {date} contribution of {amount} from {account} now? It is recorded " +"with today's date." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1222 +msgid "" +"Post the {date} contribution of {amount} now? It is recorded with today's " +"date." +msgstr "" + +#: /app/src/modules/pensions/PensionsModule.js:1233 msgid "Contribution posted" msgstr "Cotisation publiée" +#: /app/src/modules/pensions/PensionsModule.js:1249 +#, fuzzy +#| msgid "Contribution logged" +msgid "Contribution undone" +msgstr "Cotisation enregistrée" + +#: /app/src/modules/projects/ProjectsModule.js:86 +#: /app/src/utils/billDates.js:38 /app/src/utils/incomeStatus.js:55 +msgid "Upcoming" +msgstr "À venir" + #: /app/src/modules/projects/ProjectsModule.js:88 /app/templates/index.php:3023 msgid "Finished" msgstr "Terminé" @@ -9831,23 +10197,23 @@ msgstr "{time} du temps écoulé, {spent} dépensé" msgid "{amount} left" msgstr "{amount} restant" -#: /app/src/modules/projects/ProjectsModule.js:155 +#: /app/src/modules/projects/ProjectsModule.js:156 msgid "Not counted in this project" msgstr "Non pris en compte dans ce projet" -#: /app/src/modules/projects/ProjectsModule.js:170 +#: /app/src/modules/projects/ProjectsModule.js:171 msgid "Directly in {category}" msgstr "Directement dans {category}" -#: /app/src/modules/projects/ProjectsModule.js:173 +#: /app/src/modules/projects/ProjectsModule.js:174 msgid "Unallocated" msgstr "Non alloué" -#: /app/src/modules/projects/ProjectsModule.js:178 +#: /app/src/modules/projects/ProjectsModule.js:179 msgid "No subcategories or amounts yet" msgstr "Aucune sous-catégorie ni aucun montant pour l'instant" -#: /app/src/modules/projects/ProjectsModule.js:196 +#: /app/src/modules/projects/ProjectsModule.js:197 msgid "" "Delete the project \"{name}\"? Its categories and transactions are not " "changed." @@ -9855,45 +10221,45 @@ msgstr "" "Supprimer le projet « {name} » ? Ses catégories et ses opérations resteront " "inchangées." -#: /app/src/modules/projects/ProjectsModule.js:204 +#: /app/src/modules/projects/ProjectsModule.js:205 msgid "Project deleted" msgstr "Projet supprimé" -#: /app/src/modules/projects/ProjectsModule.js:257 +#: /app/src/modules/projects/ProjectsModule.js:258 msgid "Edit Project" msgstr "Modifier le projet" -#: /app/src/modules/projects/ProjectsModule.js:257 +#: /app/src/modules/projects/ProjectsModule.js:258 #: /app/templates/index.php:3013 /app/templates/index.php:3020 #: /app/templates/index.php:5154 msgid "New Project" msgstr "Nouveau projet" -#: /app/src/modules/projects/ProjectsModule.js:265 +#: /app/src/modules/projects/ProjectsModule.js:266 msgid "Choose a category…" msgstr "Choisissez une catégorie…" -#: /app/src/modules/projects/ProjectsModule.js:300 +#: /app/src/modules/projects/ProjectsModule.js:301 msgid "No amount" msgstr "Aucun montant" -#: /app/src/modules/projects/ProjectsModule.js:312 +#: /app/src/modules/projects/ProjectsModule.js:313 msgid "The subcategory amounts are {amount} over the total" msgstr "Les montants des sous-catégories représentent {amount} du total" -#: /app/src/modules/projects/ProjectsModule.js:313 +#: /app/src/modules/projects/ProjectsModule.js:314 msgid "Unallocated: {amount}" msgstr "Non alloué : {amount}" -#: /app/src/modules/projects/ProjectsModule.js:333 +#: /app/src/modules/projects/ProjectsModule.js:334 msgid "Choose a category for the project" msgstr "Choisissez une catégorie pour le projet" -#: /app/src/modules/projects/ProjectsModule.js:356 +#: /app/src/modules/projects/ProjectsModule.js:357 msgid "Project saved" msgstr "Projet sauvegardé" -#: /app/src/modules/projects/ProjectsModule.js:356 +#: /app/src/modules/projects/ProjectsModule.js:357 msgid "Project created" msgstr "Projet créé" @@ -9941,7 +10307,7 @@ msgstr "Rien durant cette période" msgid "No data for the selected period." msgstr "Aucune donnée pour la période sélectionnée." -#: /app/src/modules/reports/ReportsModule.js:1105 +#: /app/src/modules/reports/ReportsModule.js:1106 msgid "" "You have accounts in more than one currency. Amounts are summed in their " "original currency without conversion." @@ -9949,70 +10315,84 @@ msgstr "" "Vous possédez des comptes dans plusieurs devises. Les montants sont " "additionnés dans leur devise d'origine, sans conversion." -#: /app/src/modules/reports/ReportsModule.js:1160 +#: /app/src/modules/reports/ReportsModule.js:1161 msgid "Net Cash Flow" msgstr "Flux de trésorerie net" -#: /app/src/modules/reports/ReportsModule.js:1301 /app/templates/index.php:3187 +#: /app/src/modules/reports/ReportsModule.js:1302 /app/templates/index.php:3187 #: /app/templates/index.php:3503 msgid "Money Flow" msgstr "Flux de trésorerie" -#: /app/src/modules/reports/ReportsModule.js:1427 +#: /app/src/modules/reports/ReportsModule.js:1428 msgid "Failed to generate comparison" msgstr "Échec de la génération de la comparaison" -#: /app/src/modules/reports/ReportsModule.js:1461 +#: /app/src/modules/reports/ReportsModule.js:1462 msgid "YTD" msgstr "Cumul à ce jour" -#: /app/src/modules/reports/ReportsModule.js:1486 +#: /app/src/modules/reports/ReportsModule.js:1487 msgid "{monthName} - Year over Year Comparison" msgstr "{monthName} – Comparaison d'une année sur l'autre" -#: /app/src/modules/reports/ReportsModule.js:1487 +#: /app/src/modules/reports/ReportsModule.js:1488 msgid "Annual Income & Expenses" msgstr "Revenus et dépenses annuels" -#: /app/src/modules/reports/ReportsModule.js:1564 +#: /app/src/modules/reports/ReportsModule.js:1565 msgid "Change" msgstr "Modifier" -#: /app/src/modules/reports/ReportsModule.js:1608 +#: /app/src/modules/reports/ReportsModule.js:1609 msgid "Report exported as {format}" msgstr "Rapport exporté au format {format}" -#: /app/src/modules/reports/ReportsModule.js:1811 +#: /app/src/modules/reports/ReportsModule.js:1812 msgid "Failed to generate bills calendar" msgstr "Échec de la génération du calendrier des factures" -#: /app/src/modules/reports/ReportsModule.js:1839 +#: /app/src/modules/reports/ReportsModule.js:1840 msgid "Total Bills" msgstr "Total des factures" -#: /app/src/modules/reports/ReportsModule.js:1911 +#: /app/src/modules/reports/ReportsModule.js:1909 +#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 +#: /app/src/utils/billDates.js:35 /app/templates/index.php:2690 +msgid "Paid" +msgstr "Payée" + +#: /app/src/modules/reports/ReportsModule.js:1912 msgid "No payment recorded - the bill has moved on from this date" msgstr "" "Aucun paiement n'a été enregistré — la facture a été reportée au-delà de " "cette date" -#: /app/src/modules/reports/ReportsModule.js:1914 +#: /app/src/modules/reports/ReportsModule.js:1915 msgid "Due" msgstr "À payer" -#: /app/src/modules/reports/ReportsModule.js:1919 -#: /app/src/modules/transactions/TransactionsModule.js:1988 +#: /app/src/modules/reports/ReportsModule.js:1920 +#: /app/src/modules/transactions/TransactionsModule.js:2016 #: /app/src/modules/transactions/transactionRow.js:55 -#: /app/src/modules/transfers/TransfersModule.js:473 +#: /app/src/modules/transfers/TransfersModule.js:447 #: /app/templates/index.php:5812 /app/templates/index.php:5818 msgid "Transfer" msgstr "Transfert" -#: /app/src/modules/reports/ReportsModule.js:1937 +#: /app/src/modules/reports/ReportsModule.js:1938 msgid "Monthly Totals" msgstr "Totaux mensuels" -#: /app/src/modules/reports/ReportsModule.js:1956 +#: /app/src/modules/reports/ReportsModule.js:1962 +#, fuzzy +#| msgid "The projected balance is only shown for the current year." +msgid "" +"The projected balance is only shown for your own accounts, not ones shared " +"with you." +msgstr "Le solde prévisionnel n'est affiché que pour l'année en cours." + +#: /app/src/modules/reports/ReportsModule.js:1964 #, fuzzy #| msgid "" #| "Pick an account above to see what is left in it after each month's bills." @@ -10022,28 +10402,31 @@ msgstr "" "Choisissez un compte parmi ceux ci-dessus pour voir le solde restant après " "le paiement des factures mensuelles." -#: /app/src/modules/reports/ReportsModule.js:1959 +#: /app/src/modules/reports/ReportsModule.js:1967 msgid "The projected balance is only shown for the current year." -msgstr "" +msgstr "Le solde prévisionnel n'est affiché que pour l'année en cours." -#: /app/src/modules/reports/ReportsModule.js:1977 +#: /app/src/modules/reports/ReportsModule.js:1985 msgid "Bills {bills}, transfers in {transfers}, income {income}" -msgstr "" +msgstr "Factures {bills}, virements entrants {transfers}, revenus {income}" -#: /app/src/modules/reports/ReportsModule.js:1986 +#: /app/src/modules/reports/ReportsModule.js:1994 msgid "" "{account} today: {balance}. Each month carries on from the month before, " "less the bills and plus the transfers and recurring income still due." msgstr "" +"{account} aujourd'hui : {balance}. Chaque mois reprend le solde du mois " +"précédent, déduction faite des factures et majoré des virements et des " +"revenus récurrents encore à percevoir." -#: /app/src/modules/reports/ReportsModule.js:1991 +#: /app/src/modules/reports/ReportsModule.js:1999 #, fuzzy #| msgid "Your projected balance falls to {balance} in {month}." msgid "Lowest: {balance} in {month}." msgstr "Votre solde prévisionnel s'établit à {balance} en {month}." -#: /app/src/modules/reports/ReportsModule.js:2027 -#: /app/src/modules/reports/ReportsModule.js:2029 +#: /app/src/modules/reports/ReportsModule.js:2035 +#: /app/src/modules/reports/ReportsModule.js:2037 msgid "%n bill" msgid_plural "%n bills" msgstr[0] "%n facture" @@ -10152,100 +10535,122 @@ msgid "NOT" msgstr "NOT" #: /app/src/modules/rules/RulesModule.js:242 -#: /app/src/modules/rules/RulesModule.js:271 +#: /app/src/modules/rules/RulesModule.js:286 msgid "Category #{id}" msgstr "Categorie #{id}" #: /app/src/modules/rules/RulesModule.js:247 -#: /app/src/modules/rules/RulesModule.js:277 +#: /app/src/modules/rules/RulesModule.js:292 msgid "Vendor:" msgstr "Fournisseur :" #: /app/src/modules/rules/RulesModule.js:250 -#: /app/src/modules/rules/RulesModule.js:281 +#, fuzzy +#| msgid "Set Description" +msgid "Set description" +msgstr "Définir la description" + +#: /app/src/modules/rules/RulesModule.js:253 +#: /app/src/modules/rules/RulesModule.js:296 msgid "Set notes" msgstr "Définir des remarques" -#: /app/src/modules/rules/RulesModule.js:253 +#: /app/src/modules/rules/RulesModule.js:256 msgid "Set tags" msgstr "Définir des étiquettes" -#: /app/src/modules/rules/RulesModule.js:256 +#: /app/src/modules/rules/RulesModule.js:259 msgid "Type:" msgstr "Type :" -#: /app/src/modules/rules/RulesModule.js:259 +#: /app/src/modules/rules/RulesModule.js:262 msgid "Move account" msgstr "Déplacer le compte" -#: /app/src/modules/rules/RulesModule.js:262 +#: /app/src/modules/rules/RulesModule.js:265 msgid "Set reference" msgstr "Définir une référence" -#: /app/src/modules/rules/RulesModule.js:285 +#: /app/src/modules/rules/RulesModule.js:270 +msgid "Regular expression: {source} → {target}" +msgstr "" + +#: /app/src/modules/rules/RulesModule.js:274 +#, fuzzy +#| msgid "Rate change deleted" +msgid "Case change on {field}" +msgstr "Modification du taux supprimée" + +#: /app/src/modules/rules/RulesModule.js:277 +#, fuzzy +#| msgid "Replace notes" +msgid "Replace in {field}" +msgstr "Remplacer les remarques" + +#: /app/src/modules/rules/RulesModule.js:300 msgid "No actions" msgstr "Aucune action" -#: /app/src/modules/rules/RulesModule.js:413 -#: /app/src/modules/rules/RulesModule.js:432 +#: /app/src/modules/rules/RulesModule.js:428 +#: /app/src/modules/rules/RulesModule.js:447 msgid "rule" msgstr "règle" -#: /app/src/modules/rules/RulesModule.js:413 -#: /app/src/modules/rules/RulesModule.js:432 +#: /app/src/modules/rules/RulesModule.js:428 +#: /app/src/modules/rules/RulesModule.js:447 msgid "rules" msgstr "règles" -#: /app/src/modules/rules/RulesModule.js:413 +#: /app/src/modules/rules/RulesModule.js:428 msgid "active" msgstr "active" -#: /app/src/modules/rules/RulesModule.js:414 +#: /app/src/modules/rules/RulesModule.js:429 msgid "Run all rules in this group" msgstr "Exécuter toutes les règles de ce groupe" -#: /app/src/modules/rules/RulesModule.js:414 +#: /app/src/modules/rules/RulesModule.js:429 msgid "Run Group" msgstr "Exécuter ce groupe" -#: /app/src/modules/rules/RulesModule.js:431 +#: /app/src/modules/rules/RulesModule.js:446 msgid "Ungrouped" msgstr "Non groupé" -#: /app/src/modules/rules/RulesModule.js:722 +#: /app/src/modules/rules/RulesModule.js:737 msgid "This rule has been upgraded to the new format with advanced features" msgstr "" "Cette règle a été mise à niveau vers le nouveau format, avec des " "fonctionnalités avancées" -#: /app/src/modules/rules/RulesModule.js:725 +#: /app/src/modules/rules/RulesModule.js:740 msgid "Failed to upgrade rule format" msgstr "Échec de la mise à niveau du format de la règle" -#: /app/src/modules/rules/RulesModule.js:741 +#: /app/src/modules/rules/RulesModule.js:756 msgid "Edit Rule" msgstr "Modifier la règle" -#: /app/src/modules/rules/RulesModule.js:769 /app/templates/index.php:2756 +#: /app/src/modules/rules/RulesModule.js:784 /app/templates/index.php:2756 msgid "Add Rule" msgstr "Ajouter une règle" -#: /app/src/modules/rules/RulesModule.js:874 -#: /app/src/modules/rules/RulesModule.js:1225 +#: /app/src/modules/rules/RulesModule.js:889 +#: /app/src/modules/rules/RulesModule.js:1240 msgid "Error: CriteriaBuilder not initialized" msgstr "Erreur : CriteriaBuilder non initialisé" -#: /app/src/modules/rules/RulesModule.js:880 -#: /app/src/modules/rules/RulesModule.js:1064 -#: /app/src/modules/rules/RulesModule.js:1230 +#: /app/src/modules/rules/RulesModule.js:895 +#: /app/src/modules/rules/RulesModule.js:1079 +#: /app/src/modules/rules/RulesModule.js:1245 msgid "Invalid criteria: {errors}" msgstr "Critères invalides : {errors}" -#: /app/src/modules/rules/RulesModule.js:895 +#: /app/src/modules/rules/RulesModule.js:910 #: /app/src/modules/shared-expenses/SharedExpensesModule.js:508 #: /app/src/modules/sharing/SharingModule.js:32 -#: /app/src/modules/transactions/TransactionsModule.js:1289 -#: /app/src/modules/transactions/TransactionsModule.js:4767 +#: /app/src/modules/transactions/TransactionsModule.js:1315 +#: /app/src/modules/transactions/TransactionsModule.js:4818 #: /app/src/utils/loading.js:33 /app/templates/index.php:902 #: /app/templates/index.php:912 /app/templates/index.php:921 #: /app/templates/index.php:930 /app/templates/index.php:939 @@ -10256,107 +10661,107 @@ msgstr "Critères invalides : {errors}" msgid "Loading..." msgstr "Chargement..." -#: /app/src/modules/rules/RulesModule.js:914 +#: /app/src/modules/rules/RulesModule.js:929 msgid "Failed to preview rule: {error}" msgstr "Échec de la prévisualisation de la règle : {error}" -#: /app/src/modules/rules/RulesModule.js:918 /app/templates/index.php:6548 +#: /app/src/modules/rules/RulesModule.js:933 /app/templates/index.php:6549 msgid "Preview Matches" msgstr "Aperçu des correspondances" -#: /app/src/modules/rules/RulesModule.js:938 -#: /app/src/modules/rules/RulesModule.js:1140 /app/templates/index.php:6521 +#: /app/src/modules/rules/RulesModule.js:953 +#: /app/src/modules/rules/RulesModule.js:1155 /app/templates/index.php:6522 msgid "Current Category" msgstr "Catégorie actuelle" -#: /app/src/modules/rules/RulesModule.js:956 +#: /app/src/modules/rules/RulesModule.js:971 msgid "No matching transactions found" msgstr "Aucune opération correspondante trouvée" -#: /app/src/modules/rules/RulesModule.js:1002 /app/templates/quick-add.php:160 +#: /app/src/modules/rules/RulesModule.js:1017 /app/templates/quick-add.php:160 msgid "Saving..." msgstr "Enregistrement..." -#: /app/src/modules/rules/RulesModule.js:1010 +#: /app/src/modules/rules/RulesModule.js:1025 msgid "Failed to save rule" msgstr "Échec de l'enregistrement de la règle" -#: /app/src/modules/rules/RulesModule.js:1014 -#: /app/src/modules/rules/RulesModule.js:1680 +#: /app/src/modules/rules/RulesModule.js:1029 +#: /app/src/modules/rules/RulesModule.js:1695 msgid "Running..." msgstr "En cours d'exécution..." -#: /app/src/modules/rules/RulesModule.js:1028 -#: /app/src/modules/rules/RulesModule.js:1695 +#: /app/src/modules/rules/RulesModule.js:1043 +#: /app/src/modules/rules/RulesModule.js:1710 msgid "Rule applied: %n transaction updated" msgid_plural "Rule applied: %n transactions updated" msgstr[0] "Règle appliquée : %n opération mise à jour" msgstr[1] "Règle appliquée : %n opérations mises à jour" -#: /app/src/modules/rules/RulesModule.js:1034 -#: /app/src/modules/rules/RulesModule.js:1152 -#: /app/src/modules/rules/RulesModule.js:1700 -#: /app/src/modules/rules/RulesModule.js:1739 +#: /app/src/modules/rules/RulesModule.js:1049 +#: /app/src/modules/rules/RulesModule.js:1167 +#: /app/src/modules/rules/RulesModule.js:1715 +#: /app/src/modules/rules/RulesModule.js:1754 msgid "No transactions were updated" msgstr "Aucune opération n'a été mise à jour" -#: /app/src/modules/rules/RulesModule.js:1039 -#: /app/src/modules/rules/RulesModule.js:1704 +#: /app/src/modules/rules/RulesModule.js:1054 +#: /app/src/modules/rules/RulesModule.js:1719 msgid "Failed to run rule: {error}" msgstr "Échec de l'exécution de la règle : {error}" -#: /app/src/modules/rules/RulesModule.js:1042 /app/templates/index.php:6549 +#: /app/src/modules/rules/RulesModule.js:1057 /app/templates/index.php:6550 msgid "Run Rule Now" msgstr "Appliquez la règle dès maintenant" -#: /app/src/modules/rules/RulesModule.js:1059 +#: /app/src/modules/rules/RulesModule.js:1074 msgid "CriteriaBuilder not initialized" msgstr "CriteriaBuilder non initialisé" -#: /app/src/modules/rules/RulesModule.js:1071 +#: /app/src/modules/rules/RulesModule.js:1086 msgid "ActionBuilder not initialized" msgstr "ActionBuilder non initialisé" -#: /app/src/modules/rules/RulesModule.js:1076 -#: /app/src/modules/rules/RulesModule.js:1241 +#: /app/src/modules/rules/RulesModule.js:1091 +#: /app/src/modules/rules/RulesModule.js:1256 msgid "Invalid actions: {errors}" msgstr "Actions invalides : {errors}" -#: /app/src/modules/rules/RulesModule.js:1145 +#: /app/src/modules/rules/RulesModule.js:1160 msgid "{count} updated" msgstr "{count} mise(s) à jour" -#: /app/src/modules/rules/RulesModule.js:1200 +#: /app/src/modules/rules/RulesModule.js:1215 msgid "Rule updated successfully" msgstr "Règle mise à jour avec succès" -#: /app/src/modules/rules/RulesModule.js:1200 +#: /app/src/modules/rules/RulesModule.js:1215 msgid "Rule created successfully" msgstr "Règle créée avec succès" -#: /app/src/modules/rules/RulesModule.js:1209 +#: /app/src/modules/rules/RulesModule.js:1224 msgid "Failed to save rule: {error}" msgstr "Échec de l'enregistrement de la règle : {error}" -#: /app/src/modules/rules/RulesModule.js:1236 +#: /app/src/modules/rules/RulesModule.js:1251 msgid "Error: ActionBuilder not initialized" msgstr "Erreur : ActionBuilder non initialisé" -#: /app/src/modules/rules/RulesModule.js:1324 +#: /app/src/modules/rules/RulesModule.js:1339 msgid "You have no rules to export." msgstr "Vous n'avez aucune règle à exporter." -#: /app/src/modules/rules/RulesModule.js:1346 +#: /app/src/modules/rules/RulesModule.js:1361 msgid "Exported %n rule" msgid_plural "Exported %n rules" msgstr[0] "%n règle exportée" msgstr[1] "%n règles exportées" -#: /app/src/modules/rules/RulesModule.js:1372 +#: /app/src/modules/rules/RulesModule.js:1387 msgid "No rules found in that file." msgstr "Aucune règle trouvée dans ce fichier." -#: /app/src/modules/rules/RulesModule.js:1390 +#: /app/src/modules/rules/RulesModule.js:1405 msgid "" "No rules could be imported. They may reference categories or accounts that " "don't exist here." @@ -10364,7 +10769,7 @@ msgstr "" "Aucune règle n'a pu être importée. Elles font peut-être référence à des " "catégories ou à des comptes qui n'existent pas ici." -#: /app/src/modules/rules/RulesModule.js:1392 +#: /app/src/modules/rules/RulesModule.js:1407 msgid "" "Imported {imported}; {failed} could not be imported (they may reference " "categories or accounts that don't exist here)." @@ -10372,21 +10777,21 @@ msgstr "" "{imported} importées ; {failed} n'ont pas pu être importées (elles font peut-" "être référence à des catégories ou à des comptes qui n'existent pas ici)." -#: /app/src/modules/rules/RulesModule.js:1394 +#: /app/src/modules/rules/RulesModule.js:1409 msgid "Imported %n rule" msgid_plural "Imported %n rules" msgstr[0] "%n règle importée" msgstr[1] "%n règles importées" -#: /app/src/modules/rules/RulesModule.js:1458 +#: /app/src/modules/rules/RulesModule.js:1473 msgid "Invalid JSON: {error}" msgstr "JSON invalide : {error}" -#: /app/src/modules/rules/RulesModule.js:1462 +#: /app/src/modules/rules/RulesModule.js:1477 msgid "Rule JSON must be a single object." msgstr "La règle JSON doit être un objet unique." -#: /app/src/modules/rules/RulesModule.js:1509 +#: /app/src/modules/rules/RulesModule.js:1524 msgid "" "This JSON could not be loaded into the builder. Fix the structure, or save " "directly from JSON." @@ -10394,71 +10799,71 @@ msgstr "" "Ce JSON n'a pas pu être chargé dans le générateur. Corrigez la structure ou " "enregistrez directement à partir du JSON." -#: /app/src/modules/rules/RulesModule.js:1587 +#: /app/src/modules/rules/RulesModule.js:1602 msgid "Rule JSON copied to clipboard" msgstr "Règle JSON copiée dans le presse-papiers" -#: /app/src/modules/rules/RulesModule.js:1592 +#: /app/src/modules/rules/RulesModule.js:1607 msgid "Could not copy automatically — the text is selected, press Ctrl+C" msgstr "" "Impossible de copier automatiquement — le texte est sélectionné, appuyez sur " "Ctrl+C" -#: /app/src/modules/rules/RulesModule.js:1602 +#: /app/src/modules/rules/RulesModule.js:1617 msgid "Failed to load rule" msgstr "Échec du chargement de la règle" -#: /app/src/modules/rules/RulesModule.js:1607 +#: /app/src/modules/rules/RulesModule.js:1622 msgid "Are you sure you want to delete this rule?" msgstr "Êtes-vous sûr de vouloir supprimer cette règle ?" -#: /app/src/modules/rules/RulesModule.js:1612 +#: /app/src/modules/rules/RulesModule.js:1627 msgid "Rule deleted successfully" msgstr "Règle supprimée avec succès" -#: /app/src/modules/rules/RulesModule.js:1616 +#: /app/src/modules/rules/RulesModule.js:1631 msgid "Failed to delete rule" msgstr "Échec de la suppression de la règle" -#: /app/src/modules/rules/RulesModule.js:1644 +#: /app/src/modules/rules/RulesModule.js:1659 msgid "Rule enabled" msgstr "Règle activée" -#: /app/src/modules/rules/RulesModule.js:1644 +#: /app/src/modules/rules/RulesModule.js:1659 msgid "Rule disabled" msgstr "Règle désactivée" -#: /app/src/modules/rules/RulesModule.js:1647 +#: /app/src/modules/rules/RulesModule.js:1662 msgid "Failed to update rule: {error}" msgstr "Échec de la mise à jour de la règle : {error}" -#: /app/src/modules/rules/RulesModule.js:1664 +#: /app/src/modules/rules/RulesModule.js:1679 msgid "Run rule \"{name}\" on matching transactions?" msgstr "Exécuter la règle « {name} » sur les opérations correspondantes ?" -#: /app/src/modules/rules/RulesModule.js:1707 /app/templates/index.php:6638 +#: /app/src/modules/rules/RulesModule.js:1722 /app/templates/index.php:6639 msgid "Run" msgstr "Exécuter" -#: /app/src/modules/rules/RulesModule.js:1714 +#: /app/src/modules/rules/RulesModule.js:1729 msgid "No active rules in this group" msgstr "Aucune règle active dans ce groupe" -#: /app/src/modules/rules/RulesModule.js:1718 +#: /app/src/modules/rules/RulesModule.js:1733 msgid "Run {count} active rules in group \"{name}\"?" msgstr "Exécuter {count} règles actives dans le groupe « {name} » ?" -#: /app/src/modules/rules/RulesModule.js:1734 +#: /app/src/modules/rules/RulesModule.js:1749 msgid "Group applied: %n transaction updated" msgid_plural "Group applied: %n transactions updated" msgstr[0] "Groupe appliqué : %n opération mise à jour" msgstr[1] "Groupe appliqué : %n opérations mises à jour" -#: /app/src/modules/rules/RulesModule.js:1743 +#: /app/src/modules/rules/RulesModule.js:1758 msgid "Failed to run group rules: {error}" msgstr "Échec de l'exécution des règles de groupe : {error}" -#: /app/src/modules/rules/RulesModule.js:1805 +#: /app/src/modules/rules/RulesModule.js:1820 msgid "" "Apply rules to matching transactions? This will modify the selected " "transactions." @@ -10466,22 +10871,22 @@ msgstr "" "Appliquer des règles aux opérations correspondantes ? Cela modifiera les " "opérations sélectionnées." -#: /app/src/modules/rules/RulesModule.js:1814 +#: /app/src/modules/rules/RulesModule.js:1829 msgid "Applying..." msgstr "Application en cours..." -#: /app/src/modules/rules/RulesModule.js:1832 +#: /app/src/modules/rules/RulesModule.js:1847 msgid "Rules applied: {success} updated, {skipped} skipped, {failed} failed" msgstr "" "Règles appliquées : {success} mise(s) à jour, {skipped} ignorée(s), {failed} " "en échec" -#: /app/src/modules/rules/RulesModule.js:1841 +#: /app/src/modules/rules/RulesModule.js:1856 msgid "Failed to apply rules" msgstr "Échec de l'application des règles" -#: /app/src/modules/rules/RulesModule.js:1844 /app/templates/index.php:2743 -#: /app/templates/index.php:6617 +#: /app/src/modules/rules/RulesModule.js:1859 /app/templates/index.php:2743 +#: /app/templates/index.php:6618 msgid "Apply Rules" msgstr "Appliquer les règles" @@ -10491,219 +10896,330 @@ msgid "+ Add Action" msgstr "+ Ajouter une action" #: /app/src/modules/rules/components/ActionBuilder.js:91 -#: /app/src/modules/rules/components/ActionBuilder.js:124 +#: /app/src/modules/rules/components/ActionBuilder.js:127 msgid "Set Category" msgstr "Définir la catégorie" #: /app/src/modules/rules/components/ActionBuilder.js:92 -#: /app/src/modules/rules/components/ActionBuilder.js:125 +#: /app/src/modules/rules/components/ActionBuilder.js:128 msgid "Set Vendor" msgstr "Définir le fournisseur" #: /app/src/modules/rules/components/ActionBuilder.js:93 -#: /app/src/modules/rules/components/ActionBuilder.js:126 +#: /app/src/modules/rules/components/ActionBuilder.js:129 msgid "Set Description" msgstr "Définir la description" #: /app/src/modules/rules/components/ActionBuilder.js:94 -#: /app/src/modules/rules/components/ActionBuilder.js:127 +#: /app/src/modules/rules/components/ActionBuilder.js:130 msgid "Set Notes" msgstr "Définir les remarques" #: /app/src/modules/rules/components/ActionBuilder.js:95 -#: /app/src/modules/rules/components/ActionBuilder.js:128 +#: /app/src/modules/rules/components/ActionBuilder.js:131 msgid "Add Tags" msgstr "Ajouter des étiquettes" #: /app/src/modules/rules/components/ActionBuilder.js:96 -#: /app/src/modules/rules/components/ActionBuilder.js:129 +#: /app/src/modules/rules/components/ActionBuilder.js:132 msgid "Set Account" msgstr "Définir le compte" #: /app/src/modules/rules/components/ActionBuilder.js:97 -#: /app/src/modules/rules/components/ActionBuilder.js:130 +#: /app/src/modules/rules/components/ActionBuilder.js:133 msgid "Set Transaction Type" msgstr "Définir le type d'opération" #: /app/src/modules/rules/components/ActionBuilder.js:98 -#: /app/src/modules/rules/components/ActionBuilder.js:131 +#: /app/src/modules/rules/components/ActionBuilder.js:134 msgid "Set Reference" msgstr "Définir la référence" #: /app/src/modules/rules/components/ActionBuilder.js:99 -#: /app/src/modules/rules/components/ActionBuilder.js:132 +#: /app/src/modules/rules/components/ActionBuilder.js:135 +msgid "Regex Replace" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:100 +#: /app/src/modules/rules/components/ActionBuilder.js:136 +#, fuzzy +#| msgid "Change" +msgid "Change Case" +msgstr "Modifier" + +#: /app/src/modules/rules/components/ActionBuilder.js:101 +#: /app/src/modules/rules/components/ActionBuilder.js:137 +#, fuzzy +#| msgid "Replace notes" +msgid "Replace Text" +msgstr "Remplacer les remarques" + +#: /app/src/modules/rules/components/ActionBuilder.js:102 +#: /app/src/modules/rules/components/ActionBuilder.js:138 msgid "Exclude from Forecast" msgstr "Exclure des prévisions" -#: /app/src/modules/rules/components/ActionBuilder.js:100 -#: /app/src/modules/rules/components/ActionBuilder.js:133 +#: /app/src/modules/rules/components/ActionBuilder.js:103 +#: /app/src/modules/rules/components/ActionBuilder.js:139 msgid "Auto-Link as Transfer" msgstr "Lien automatique en tant que virement" -#: /app/src/modules/rules/components/ActionBuilder.js:104 +#: /app/src/modules/rules/components/ActionBuilder.js:107 msgid "Stop processing after this rule" msgstr "Arrêter le traitement après cette règle" -#: /app/src/modules/rules/components/ActionBuilder.js:105 +#: /app/src/modules/rules/components/ActionBuilder.js:108 msgid "If checked, no rules with lower priority will run if this rule matches" msgstr "" "Si cette option est cochée, aucune règle de priorité inférieure ne sera " "exécutée si cette règle correspond" -#: /app/src/modules/rules/components/ActionBuilder.js:116 +#: /app/src/modules/rules/components/ActionBuilder.js:119 msgid "No actions yet. Use the dropdown below to add actions." msgstr "" "Aucune action pour le moment. Utilisez le menu déroulant ci-dessous pour " "ajouter des actions." -#: /app/src/modules/rules/components/ActionBuilder.js:146 +#: /app/src/modules/rules/components/ActionBuilder.js:152 msgid "Remove action" msgstr "Supprimer l'action" -#: /app/src/modules/rules/components/ActionBuilder.js:179 +#: /app/src/modules/rules/components/ActionBuilder.js:191 msgid "Unknown action type" msgstr "Type d'action inconnu" -#: /app/src/modules/rules/components/ActionBuilder.js:187 -#: /app/src/modules/rules/components/ActionBuilder.js:188 -msgid "Category:" -msgstr "Catégorie :" - -#: /app/src/modules/rules/components/ActionBuilder.js:189 -msgid "-- Select Category --" -msgstr "-- Sélectionner une catégorie --" +#: /app/src/modules/rules/components/ActionBuilder.js:199 +#: /app/src/modules/rules/components/CriteriaBuilder.js:187 +#, fuzzy +#| msgid "Match Field" +msgid "Field" +msgstr "Champ de correspondance" -#: /app/src/modules/rules/components/ActionBuilder.js:194 -#: /app/src/modules/rules/components/ActionBuilder.js:195 -#: /app/src/modules/rules/components/ActionBuilder.js:211 #: /app/src/modules/rules/components/ActionBuilder.js:212 -#: /app/src/modules/rules/components/ActionBuilder.js:228 -#: /app/src/modules/rules/components/ActionBuilder.js:229 -#: /app/src/modules/rules/components/ActionBuilder.js:245 -#: /app/src/modules/rules/components/ActionBuilder.js:246 -#: /app/src/modules/rules/components/ActionBuilder.js:286 -#: /app/src/modules/rules/components/ActionBuilder.js:287 -#: /app/src/modules/rules/components/ActionBuilder.js:342 -#: /app/src/modules/rules/components/ActionBuilder.js:343 -msgid "Behavior:" +#, fuzzy +#| msgid "Behavior:" +msgid "Behavior" msgstr "Comportement :" -#: /app/src/modules/rules/components/ActionBuilder.js:196 #: /app/src/modules/rules/components/ActionBuilder.js:213 -#: /app/src/modules/rules/components/ActionBuilder.js:230 -#: /app/src/modules/rules/components/ActionBuilder.js:344 +#: /app/src/modules/rules/components/ActionBuilder.js:287 +#: /app/src/modules/rules/components/ActionBuilder.js:304 +#: /app/src/modules/rules/components/ActionBuilder.js:321 +#: /app/src/modules/rules/components/ActionBuilder.js:435 msgid "Always set" msgstr "Toujours défini" -#: /app/src/modules/rules/components/ActionBuilder.js:197 #: /app/src/modules/rules/components/ActionBuilder.js:214 -#: /app/src/modules/rules/components/ActionBuilder.js:231 -#: /app/src/modules/rules/components/ActionBuilder.js:345 +#: /app/src/modules/rules/components/ActionBuilder.js:288 +#: /app/src/modules/rules/components/ActionBuilder.js:305 +#: /app/src/modules/rules/components/ActionBuilder.js:322 +#: /app/src/modules/rules/components/ActionBuilder.js:436 msgid "Only if empty" msgstr "Uniquement si vide" -#: /app/src/modules/rules/components/ActionBuilder.js:206 -#: /app/src/modules/rules/components/ActionBuilder.js:207 +#: /app/src/modules/rules/components/ActionBuilder.js:218 +#: /app/templates/index.php:6458 +msgid "Pattern" +msgstr "Occurence" + +#: /app/src/modules/rules/components/ActionBuilder.js:219 +#, fuzzy +#| msgid "Pattern" +msgid "Pattern: /\\d+/" +msgstr "Occurence" + +#: /app/src/modules/rules/components/ActionBuilder.js:220 +#, fuzzy +#| msgid "Replace notes" +msgid "Replacement" +msgstr "Remplacer les remarques" + +#: /app/src/modules/rules/components/ActionBuilder.js:221 +msgid "Replacement: e.g., X or $1" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:230 +#: /app/src/modules/rules/components/ActionBuilder.js:231 +#: /app/src/modules/rules/components/ActionBuilder.js:254 +#: /app/src/modules/rules/components/ActionBuilder.js:255 +#, fuzzy +#| msgid "Match Field" +msgid "Field:" +msgstr "Champ de correspondance" + +#: /app/src/modules/rules/components/ActionBuilder.js:239 +#: /app/src/modules/rules/components/ActionBuilder.js:240 +#, fuzzy +#| msgid "Model" +msgid "Mode:" +msgstr "Modèle" + +#: /app/src/modules/rules/components/ActionBuilder.js:241 +msgid "Uppercase" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:242 +msgid "Lowercase" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:243 +msgid "Title Case" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:244 +msgid "Sentence case" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:261 +#: /app/src/modules/rules/components/ActionBuilder.js:262 +msgid "Find:" +msgstr "" + +#: /app/src/modules/rules/components/ActionBuilder.js:263 +#, fuzzy +#| msgid "e.g., 15" +msgid "e.g., ACME" +msgstr "par exemple, 15" + +#: /app/src/modules/rules/components/ActionBuilder.js:266 +#: /app/src/modules/rules/components/ActionBuilder.js:267 +#, fuzzy +#| msgid "Replace notes" +msgid "Replace:" +msgstr "Remplacer les remarques" + +#: /app/src/modules/rules/components/ActionBuilder.js:268 +#, fuzzy +#| msgid "e.g., amazon" +msgid "e.g., Amazon" +msgstr "par ex. Amazon" + +#: /app/src/modules/rules/components/ActionBuilder.js:278 +#: /app/src/modules/rules/components/ActionBuilder.js:279 +msgid "Category:" +msgstr "Catégorie :" + +#: /app/src/modules/rules/components/ActionBuilder.js:280 +msgid "-- Select Category --" +msgstr "-- Sélectionner une catégorie --" + +#: /app/src/modules/rules/components/ActionBuilder.js:285 +#: /app/src/modules/rules/components/ActionBuilder.js:286 +#: /app/src/modules/rules/components/ActionBuilder.js:302 +#: /app/src/modules/rules/components/ActionBuilder.js:303 +#: /app/src/modules/rules/components/ActionBuilder.js:319 +#: /app/src/modules/rules/components/ActionBuilder.js:320 +#: /app/src/modules/rules/components/ActionBuilder.js:336 +#: /app/src/modules/rules/components/ActionBuilder.js:337 +#: /app/src/modules/rules/components/ActionBuilder.js:377 +#: /app/src/modules/rules/components/ActionBuilder.js:378 +#: /app/src/modules/rules/components/ActionBuilder.js:433 +#: /app/src/modules/rules/components/ActionBuilder.js:434 +msgid "Behavior:" +msgstr "Comportement :" + +#: /app/src/modules/rules/components/ActionBuilder.js:297 +#: /app/src/modules/rules/components/ActionBuilder.js:298 msgid "Vendor Name:" msgstr "Nom du fournisseur :" -#: /app/src/modules/rules/components/ActionBuilder.js:208 +#: /app/src/modules/rules/components/ActionBuilder.js:299 msgid "e.g., Amazon, Starbucks" msgstr "par ex. Amazon, Starbucks" -#: /app/src/modules/rules/components/ActionBuilder.js:223 -#: /app/src/modules/rules/components/ActionBuilder.js:224 -#: /app/src/modules/transactions/TransactionsModule.js:3726 -#: /app/templates/index.php:7103 +#: /app/src/modules/rules/components/ActionBuilder.js:314 +#: /app/src/modules/rules/components/ActionBuilder.js:315 +#: /app/src/modules/transactions/TransactionsModule.js:3777 +#: /app/templates/index.php:7104 msgid "Description:" msgstr "Description :" -#: /app/src/modules/rules/components/ActionBuilder.js:225 +#: /app/src/modules/rules/components/ActionBuilder.js:316 msgid "e.g., Grocery purchase, Salary" msgstr "par ex : courses, salaire" -#: /app/src/modules/rules/components/ActionBuilder.js:240 -#: /app/src/modules/rules/components/ActionBuilder.js:241 +#: /app/src/modules/rules/components/ActionBuilder.js:331 +#: /app/src/modules/rules/components/ActionBuilder.js:332 msgid "Notes Text:" msgstr "Remarques :" -#: /app/src/modules/rules/components/ActionBuilder.js:242 +#: /app/src/modules/rules/components/ActionBuilder.js:333 msgid "Text to add to transaction notes" msgstr "Texte à ajouter aux remarques de l'opération" -#: /app/src/modules/rules/components/ActionBuilder.js:247 +#: /app/src/modules/rules/components/ActionBuilder.js:338 msgid "Replace notes" msgstr "Remplacer les remarques" -#: /app/src/modules/rules/components/ActionBuilder.js:248 +#: /app/src/modules/rules/components/ActionBuilder.js:339 msgid "Append to notes" msgstr "Ajouter aux remarques" -#: /app/src/modules/rules/components/ActionBuilder.js:253 -#: /app/src/modules/rules/components/ActionBuilder.js:254 +#: /app/src/modules/rules/components/ActionBuilder.js:344 +#: /app/src/modules/rules/components/ActionBuilder.js:345 msgid "Separator:" msgstr "Séparateur :" -#: /app/src/modules/rules/components/ActionBuilder.js:255 +#: /app/src/modules/rules/components/ActionBuilder.js:346 msgid "e.g., | or -" msgstr "par ex. | ou -" -#: /app/src/modules/rules/components/ActionBuilder.js:268 +#: /app/src/modules/rules/components/ActionBuilder.js:359 msgid "Tags to Add:" msgstr "Étiquettes à ajouter :" -#: /app/src/modules/rules/components/ActionBuilder.js:270 +#: /app/src/modules/rules/components/ActionBuilder.js:361 msgid "No tag sets available" msgstr "Aucun jeu d'étiquettes disponible" -#: /app/src/modules/rules/components/ActionBuilder.js:288 +#: /app/src/modules/rules/components/ActionBuilder.js:379 msgid "Merge with existing tags" msgstr "Fusionner avec les étiquettes existantes" -#: /app/src/modules/rules/components/ActionBuilder.js:289 +#: /app/src/modules/rules/components/ActionBuilder.js:380 msgid "Replace all tags" msgstr "Remplacer toutes les étiquettes" -#: /app/src/modules/rules/components/ActionBuilder.js:300 -#: /app/src/modules/rules/components/ActionBuilder.js:301 +#: /app/src/modules/rules/components/ActionBuilder.js:391 +#: /app/src/modules/rules/components/ActionBuilder.js:392 msgid "Account:" msgstr "Compte :" -#: /app/src/modules/rules/components/ActionBuilder.js:302 +#: /app/src/modules/rules/components/ActionBuilder.js:393 msgid "-- Select Account --" msgstr "-- Sélectionner un compte --" -#: /app/src/modules/rules/components/ActionBuilder.js:309 +#: /app/src/modules/rules/components/ActionBuilder.js:400 msgid "This will reassign the transaction to a different account" msgstr "Cela réaffectera l'opération à un autre compte" -#: /app/src/modules/rules/components/ActionBuilder.js:317 +#: /app/src/modules/rules/components/ActionBuilder.js:408 msgid "Transaction Type:" msgstr "Type d'opération :" -#: /app/src/modules/rules/components/ActionBuilder.js:337 -#: /app/src/modules/rules/components/ActionBuilder.js:338 +#: /app/src/modules/rules/components/ActionBuilder.js:428 +#: /app/src/modules/rules/components/ActionBuilder.js:429 msgid "Reference Value:" msgstr "Valeur de référence :" -#: /app/src/modules/rules/components/ActionBuilder.js:339 +#: /app/src/modules/rules/components/ActionBuilder.js:430 msgid "e.g., CHECK-1234, AUTO" msgstr "par ex. CHÈQUE-1234, AUTO" -#: /app/src/modules/rules/components/ActionBuilder.js:355 -#: /app/src/modules/rules/components/ActionBuilder.js:356 +#: /app/src/modules/rules/components/ActionBuilder.js:446 +#: /app/src/modules/rules/components/ActionBuilder.js:447 msgid "Forecast:" msgstr "PrévisionS :" -#: /app/src/modules/rules/components/ActionBuilder.js:357 +#: /app/src/modules/rules/components/ActionBuilder.js:448 msgid "Exclude from forecast" msgstr "Exclure des prévisions" -#: /app/src/modules/rules/components/ActionBuilder.js:358 +#: /app/src/modules/rules/components/ActionBuilder.js:449 msgid "Include in forecast" msgstr "Inclure dans les prévisions" -#: /app/src/modules/rules/components/ActionBuilder.js:362 +#: /app/src/modules/rules/components/ActionBuilder.js:453 msgid "" "Extraordinary one-time amounts are left out of the forecast averages (they " "still affect your real balance)." @@ -10711,7 +11227,7 @@ msgstr "" "Les montants exceptionnels ponctuels sont exclus des moyennes " "prévisionnelles (ils affectent toutefois votre solde réel)." -#: /app/src/modules/rules/components/ActionBuilder.js:370 +#: /app/src/modules/rules/components/ActionBuilder.js:461 msgid "" "After import, automatically find and link a matching transaction from " "another account as a transfer pair. Matches by amount, opposite type, and " @@ -10722,42 +11238,79 @@ msgstr "" "virement. La correspondance est établie en fonction du montant, du type " "opposé et de la proximité des dates (dans un intervalle de 3 jours)." -#: /app/src/modules/rules/components/ActionBuilder.js:529 +#: /app/src/modules/rules/components/ActionBuilder.js:649 msgid "Action {number}: Missing type" msgstr "Action {number} : Type manquant" -#: /app/src/modules/rules/components/ActionBuilder.js:536 +#: /app/src/modules/rules/components/ActionBuilder.js:656 msgid "Action {number}: Category not selected" msgstr "Action {number} : Catégorie non sélectionnée" -#: /app/src/modules/rules/components/ActionBuilder.js:541 +#: /app/src/modules/rules/components/ActionBuilder.js:661 msgid "Action {number}: Vendor name is empty" msgstr "Action {number} : Le nom du fournisseur est vide" -#: /app/src/modules/rules/components/ActionBuilder.js:546 +#: /app/src/modules/rules/components/ActionBuilder.js:666 msgid "Action {number}: Description is empty" msgstr "Action {number} : La description est vide" -#: /app/src/modules/rules/components/ActionBuilder.js:551 +#: /app/src/modules/rules/components/ActionBuilder.js:671 msgid "Action {number}: Notes text is empty" msgstr "Action {number} : Le texte des remarques est vide" -#: /app/src/modules/rules/components/ActionBuilder.js:556 +#: /app/src/modules/rules/components/ActionBuilder.js:676 msgid "Action {number}: No tags selected" msgstr "Action {number} : Aucune étiquette sélectionnée" -#: /app/src/modules/rules/components/ActionBuilder.js:561 +#: /app/src/modules/rules/components/ActionBuilder.js:681 msgid "Action {number}: Account not selected" msgstr "Action {number} : Compte non sélectionné" -#: /app/src/modules/rules/components/ActionBuilder.js:566 +#: /app/src/modules/rules/components/ActionBuilder.js:686 msgid "Action {number}: Invalid transaction type" msgstr "Action {number} : Type de opération non valide" -#: /app/src/modules/rules/components/ActionBuilder.js:571 +#: /app/src/modules/rules/components/ActionBuilder.js:691 msgid "Action {number}: Reference value is empty" msgstr "Action {number} : La valeur de référence est vide" +#: /app/src/modules/rules/components/ActionBuilder.js:696 +#, fuzzy +#| msgid "Action {number}: Reference value is empty" +msgid "Action {number}: Regex field is invalid" +msgstr "Action {number} : La valeur de référence est vide" + +#: /app/src/modules/rules/components/ActionBuilder.js:699 +#, fuzzy +#| msgid "Action {number}: Reference value is empty" +msgid "Action {number}: Regex target field is invalid" +msgstr "Action {number} : La valeur de référence est vide" + +#: /app/src/modules/rules/components/ActionBuilder.js:702 +#, fuzzy +#| msgid "Action {number}: Reference value is empty" +msgid "Action {number}: Regex pattern is empty" +msgstr "Action {number} : La valeur de référence est vide" + +#: /app/src/modules/rules/components/ActionBuilder.js:707 +#: /app/src/modules/rules/components/ActionBuilder.js:715 +#, fuzzy +#| msgid "Action {number}: Notes text is empty" +msgid "Action {number}: Text field is invalid" +msgstr "Action {number} : Le texte des remarques est vide" + +#: /app/src/modules/rules/components/ActionBuilder.js:710 +#, fuzzy +#| msgid "Action {number}: Category not selected" +msgid "Action {number}: Case mode is invalid" +msgstr "Action {number} : Catégorie non sélectionnée" + +#: /app/src/modules/rules/components/ActionBuilder.js:718 +#, fuzzy +#| msgid "Action {number}: Notes text is empty" +msgid "Action {number}: Replace text target is empty" +msgstr "Action {number} : Le texte des remarques est vide" + #: /app/src/modules/rules/components/CriteriaBuilder.js:155 #, fuzzy #| msgid "condition {number}" @@ -10784,12 +11337,6 @@ msgstr "+ Ajouter une condition" msgid "+ Add Group" msgstr "+ Ajouter un groupe" -#: /app/src/modules/rules/components/CriteriaBuilder.js:187 -#, fuzzy -#| msgid "Match Field" -msgid "Field" -msgstr "Champ de correspondance" - #: /app/src/modules/rules/components/CriteriaBuilder.js:191 #: /app/templates/index.php:2432 msgid "Transaction Type" @@ -10805,7 +11352,7 @@ msgid "Import Source" msgstr "Source d'importation" #: /app/src/modules/rules/components/CriteriaBuilder.js:199 -#: /app/templates/index.php:6445 +#: /app/templates/index.php:6446 msgid "Match Type" msgstr "Type de correspondance" @@ -10905,20 +11452,14 @@ msgstr "La condition à {path} n'a aucun type de correspondance sélectionné" msgid "Condition at {path} has no pattern value" msgstr "La condition à {path} ne possède pas de valeur d'occurence" -#: /app/src/modules/rules/components/CriteriaBuilder.js:546 -msgid "Condition at {path} has invalid regex pattern: {error}" -msgstr "" -"La condition à {path} contient un motif d'expression régulière invalide : " -"{error}" - -#: /app/src/modules/rules/components/CriteriaBuilder.js:557 +#: /app/src/modules/rules/components/CriteriaBuilder.js:551 msgid "" "Condition at {path} 'between' pattern must have 'min' and 'max' properties" msgstr "" "La condition « entre » au niveau de {path} doit comporter les propriétés " "« min » et « max »" -#: /app/src/modules/rules/components/CriteriaBuilder.js:560 +#: /app/src/modules/rules/components/CriteriaBuilder.js:554 msgid "Condition at {path} 'between' pattern must be valid JSON with min/max" msgstr "" "La condition « entre » au niveau de {path} doit être un JSON valide incluant " @@ -10929,91 +11470,91 @@ msgstr "" msgid "Failed to load savings goals" msgstr "Échec du chargement des objectifs d'épargne" -#: /app/src/modules/savings/SavingsModule.js:104 +#: /app/src/modules/savings/SavingsModule.js:106 msgid "Target date passed" msgstr "Date de l'objectif dépassée" -#: /app/src/modules/savings/SavingsModule.js:106 +#: /app/src/modules/savings/SavingsModule.js:108 msgid "Target date: Today" msgstr "Date de l'objectif : Aujourd'hui" -#: /app/src/modules/savings/SavingsModule.js:108 +#: /app/src/modules/savings/SavingsModule.js:110 msgid "%n day left" msgid_plural "%n days left" msgstr[0] "%n jour restant" msgstr[1] "%n jours restants" -#: /app/src/modules/savings/SavingsModule.js:110 +#: /app/src/modules/savings/SavingsModule.js:112 msgid "Target: {date}" msgstr "Objectif : {date}" -#: /app/src/modules/savings/SavingsModule.js:116 +#: /app/src/modules/savings/SavingsModule.js:118 msgid "Goal reached!" msgstr "Objectif atteint !" -#: /app/src/modules/savings/SavingsModule.js:118 +#: /app/src/modules/savings/SavingsModule.js:120 msgid "Auto-tracked" msgstr "Suivi automatiquement" -#: /app/src/modules/savings/SavingsModule.js:120 +#: /app/src/modules/savings/SavingsModule.js:122 msgid "+ Add money" msgstr "+ Ajouter des fonds" -#: /app/src/modules/savings/SavingsModule.js:154 +#: /app/src/modules/savings/SavingsModule.js:156 msgid "of {amount}" msgstr "d'un montant de {amount}" -#: /app/src/modules/savings/SavingsModule.js:250 +#: /app/src/modules/savings/SavingsModule.js:252 msgid "Auto-calculated from tag" msgstr "Calculé automatiquement à partir de l'étiquette" -#: /app/src/modules/savings/SavingsModule.js:266 /app/templates/index.php:5237 +#: /app/src/modules/savings/SavingsModule.js:268 /app/templates/index.php:5237 msgid "No linked account" msgstr "Aucun compte lié" -#: /app/src/modules/savings/SavingsModule.js:288 /app/templates/index.php:5245 +#: /app/src/modules/savings/SavingsModule.js:290 /app/templates/index.php:5245 msgid "No linked tag" msgstr "Aucune étiquette liée" -#: /app/src/modules/savings/SavingsModule.js:347 +#: /app/src/modules/savings/SavingsModule.js:349 msgid "Edit Savings Goal" msgstr "Modifier l'objectif d'épargne" -#: /app/src/modules/savings/SavingsModule.js:347 /app/templates/index.php:5202 +#: /app/src/modules/savings/SavingsModule.js:349 /app/templates/index.php:5202 msgid "Add Savings Goal" msgstr "Ajouter un objectif d'épargne" -#: /app/src/modules/savings/SavingsModule.js:423 -#: /app/src/modules/savings/SavingsModule.js:437 +#: /app/src/modules/savings/SavingsModule.js:425 +#: /app/src/modules/savings/SavingsModule.js:439 msgid "Failed to save goal" msgstr "Échec de l'enregistrement de l'objectif" -#: /app/src/modules/savings/SavingsModule.js:433 +#: /app/src/modules/savings/SavingsModule.js:435 msgid "Goal updated" msgstr "Objectif mis à jour" -#: /app/src/modules/savings/SavingsModule.js:433 +#: /app/src/modules/savings/SavingsModule.js:435 msgid "Goal created" msgstr "Objectif créé" -#: /app/src/modules/savings/SavingsModule.js:449 +#: /app/src/modules/savings/SavingsModule.js:451 msgid "Are you sure you want to delete this savings goal?" msgstr "Êtes-vous sûr de vouloir supprimer cet objectif d'épargne ?" -#: /app/src/modules/savings/SavingsModule.js:456 +#: /app/src/modules/savings/SavingsModule.js:458 msgid "Goal deleted" msgstr "Objectif supprimé" -#: /app/src/modules/savings/SavingsModule.js:470 -#: /app/src/modules/savings/SavingsModule.js:496 +#: /app/src/modules/savings/SavingsModule.js:472 +#: /app/src/modules/savings/SavingsModule.js:498 msgid "This goal is auto-tracked via a tag" msgstr "Cet objectif est suivi automatiquement via une étiquette" -#: /app/src/modules/savings/SavingsModule.js:510 +#: /app/src/modules/savings/SavingsModule.js:512 msgid "Added {amount} to goal" msgstr "{amount} ajouté à l'objectif" -#: /app/src/modules/savings/SavingsModule.js:514 +#: /app/src/modules/savings/SavingsModule.js:516 msgid "Failed to add money to goal" msgstr "Échec de l'ajout de fonds à l'objectif" @@ -11181,7 +11722,7 @@ msgid "Edit Contact" msgstr "Modifier le contact" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:268 -#: /app/templates/index.php:4202 /app/templates/index.php:7221 +#: /app/templates/index.php:4202 /app/templates/index.php:7222 msgid "Add Contact" msgstr "Ajouter un contact" @@ -11214,7 +11755,7 @@ msgid "Failed to load contact details" msgstr "Échec du chargement des détails du contact" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:433 -#: /app/templates/index.php:7371 +#: /app/templates/index.php:7372 msgid "No shared expenses" msgstr "Aucune dépense partagée" @@ -11231,10 +11772,15 @@ msgid "Open" msgstr "Ouvrir" #: /app/src/modules/shared-expenses/SharedExpensesModule.js:468 -#: /app/templates/index.php:7377 +#: /app/templates/index.php:7378 msgid "No settlements yet" msgstr "Aucun règlement pour l'instant" +#: /app/src/modules/shared-expenses/SharedExpensesModule.js:476 +#: /app/src/utils/incomeStatus.js:54 /app/templates/index.php:2888 +msgid "Received" +msgstr "Reçu" + #: /app/src/modules/shared-expenses/SharedExpensesModule.js:518 msgid "No unsettled expenses" msgstr "Aucune dépense en attente de règlement" @@ -11436,7 +11982,7 @@ msgid "Budgets shared with you by other users." msgstr "Budgets partagés avec vous par d'autres utilisateurs." #: /app/src/modules/sharing/SharingModule.js:155 -#: /app/src/modules/transactions/TransactionsModule.js:1616 +#: /app/src/modules/transactions/TransactionsModule.js:1642 msgid "Leave" msgstr "Quitter" @@ -11444,88 +11990,102 @@ msgstr "Quitter" msgid "Failed to load configuration" msgstr "Échec du chargement de la configuration" -#: /app/src/modules/sharing/SharingModule.js:270 /app/templates/index.php:2831 +#: /app/src/modules/sharing/SharingModule.js:270 +msgid "Read & Write, plus deleting them." +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:273 +msgid "" +"Read & Write, plus the type, parent, subcategories, budget and report " +"settings. Only you can delete." +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:275 /app/templates/index.php:2831 msgid "Recurring Income" msgstr "Revenu récurrent" -#: /app/src/modules/sharing/SharingModule.js:273 /app/templates/index.php:4769 +#: /app/src/modules/sharing/SharingModule.js:278 /app/templates/index.php:4769 msgid "Import Rules" msgstr "Règles d'importation" -#: /app/src/modules/sharing/SharingModule.js:289 +#: /app/src/modules/sharing/SharingModule.js:294 msgid "" "Automatically share new items of this type at the permission selected here" msgstr "" "Partager automatiquement les nouveaux éléments de ce type avec le niveau " "d'autorisation sélectionné ici" -#: /app/src/modules/sharing/SharingModule.js:291 +#: /app/src/modules/sharing/SharingModule.js:296 msgid "Auto-share new" msgstr "Partage automatique des nouveaux éléments" -#: /app/src/modules/sharing/SharingModule.js:293 -#: /app/src/modules/sharing/SharingModule.js:339 /app/templates/index.php:1922 +#: /app/src/modules/sharing/SharingModule.js:298 +#: /app/src/modules/sharing/SharingModule.js:345 /app/templates/index.php:1922 msgid "Select All" msgstr "Tout sélectionner" -#: /app/src/modules/sharing/SharingModule.js:295 +#: /app/src/modules/sharing/SharingModule.js:300 msgid "Read only" msgstr "Lecture seule" -#: /app/src/modules/sharing/SharingModule.js:296 +#: /app/src/modules/sharing/SharingModule.js:301 msgid "Read & Write" msgstr "Lecture et écriture" -#: /app/src/modules/sharing/SharingModule.js:321 +#: /app/src/modules/sharing/SharingModule.js:302 +msgid "Full control" +msgstr "" + +#: /app/src/modules/sharing/SharingModule.js:327 msgid "Save Configuration" msgstr "Enregistrer la configuration" -#: /app/src/modules/sharing/SharingModule.js:339 -#: /app/src/modules/transactions/TransactionsModule.js:5212 +#: /app/src/modules/sharing/SharingModule.js:345 +#: /app/src/modules/transactions/TransactionsModule.js:5263 msgid "Deselect All" msgstr "Tout désélectionner" -#: /app/src/modules/sharing/SharingModule.js:387 +#: /app/src/modules/sharing/SharingModule.js:393 msgid "Failed to save some sections: {types}" msgstr "Échec de l'enregistrement de certaines sections : {types}" -#: /app/src/modules/sharing/SharingModule.js:389 +#: /app/src/modules/sharing/SharingModule.js:395 msgid "Share configuration saved" msgstr "Configuration de partage enregistrée" -#: /app/src/modules/sharing/SharingModule.js:396 +#: /app/src/modules/sharing/SharingModule.js:402 msgid "Please enter a username" msgstr "Veuillez saisir un nom d'utilisateur" -#: /app/src/modules/sharing/SharingModule.js:402 +#: /app/src/modules/sharing/SharingModule.js:408 msgid "Invitation sent to {user}" msgstr "Invitation envoyée à {user}" -#: /app/src/modules/sharing/SharingModule.js:404 +#: /app/src/modules/sharing/SharingModule.js:410 msgid "Failed to share budget" msgstr "Échec du partage du budget" -#: /app/src/modules/sharing/SharingModule.js:410 +#: /app/src/modules/sharing/SharingModule.js:416 msgid "Share accepted — reloading budget data" msgstr "Partage accepté — rechargement des données budgétaires" -#: /app/src/modules/sharing/SharingModule.js:419 +#: /app/src/modules/sharing/SharingModule.js:425 msgid "Share declined" msgstr "Partage refusé" -#: /app/src/modules/sharing/SharingModule.js:425 +#: /app/src/modules/sharing/SharingModule.js:431 msgid "Are you sure? The user will lose access to your budget." msgstr "Êtes-vous sûr ? L'utilisateur perdra l'accès à votre budget." -#: /app/src/modules/sharing/SharingModule.js:428 +#: /app/src/modules/sharing/SharingModule.js:434 msgid "Share revoked" msgstr "Partage révoqué" -#: /app/src/modules/sharing/SharingModule.js:435 +#: /app/src/modules/sharing/SharingModule.js:441 msgid "Are you sure you want to leave this shared budget?" msgstr "Êtes-vous sûr de vouloir quitter ce budget partagé ?" -#: /app/src/modules/sharing/SharingModule.js:438 +#: /app/src/modules/sharing/SharingModule.js:444 msgid "Left shared budget — reloading your data" msgstr "Budget partagé quitté — rechargement de vos données" @@ -11553,18 +12113,18 @@ msgstr "Masqué : non proposé lors de l'ajout de nouvelles opérations" #: /app/src/modules/tagsets/TagSetsModule.js:82 #: /app/src/modules/tagsets/TagSetsModule.js:386 #: /app/src/modules/tagsets/TagSetsModule.js:717 /app/templates/index.php:5078 -#: /app/templates/index.php:6953 +#: /app/templates/index.php:6954 msgid "Hidden" msgstr "Masqué" -#: /app/src/modules/tagsets/TagSetsModule.js:180 /app/templates/index.php:6933 +#: /app/src/modules/tagsets/TagSetsModule.js:180 /app/templates/index.php:6934 msgid "Edit Tag" msgstr "Modifier l'étiquette" #: /app/src/modules/tagsets/TagSetsModule.js:188 #: /app/src/modules/tagsets/TagSetsModule.js:726 /app/templates/index.php:2094 -#: /app/templates/index.php:5060 /app/templates/index.php:6902 -#: /app/templates/index.php:6923 +#: /app/templates/index.php:5060 /app/templates/index.php:6903 +#: /app/templates/index.php:6924 msgid "Add Tag" msgstr "Ajouter une étiquette" @@ -11605,8 +12165,8 @@ msgstr "Enregistrez d'abord la catégorie pour gérer les jeux d'étiquettes" msgid "Tag Sets" msgstr "Jeux d'étiquettes" -#: /app/src/modules/tagsets/TagSetsModule.js:356 /app/templates/index.php:6872 -#: /app/templates/index.php:6892 +#: /app/src/modules/tagsets/TagSetsModule.js:356 /app/templates/index.php:6873 +#: /app/templates/index.php:6893 msgid "Add Tag Set" msgstr "Ajouter un jeu d'étiquettes" @@ -11695,7 +12255,7 @@ msgstr "Sélectionnez une catégorie pour gérer les jeux d'étiquettes" msgid "No tag sets yet." msgstr "Aucun jeu d'étiquettes pour le moment." -#: /app/src/modules/tagsets/TagSetsModule.js:729 /app/templates/index.php:6972 +#: /app/src/modules/tagsets/TagSetsModule.js:729 /app/templates/index.php:6973 msgid "Edit Tag Set" msgstr "Modifier le jeu d'étiquettes" @@ -11721,37 +12281,43 @@ msgstr "Jeu d'étiquettes mis à jour avec succès" msgid "Tag updated successfully" msgstr "Étiquette mise à jour avec succès" -#: /app/src/modules/transactions/TransactionsModule.js:480 +#: /app/src/modules/transactions/TransactionsModule.js:365 +msgid "" +"This transaction is scheduled, so it is not on a statement yet and cannot be " +"ticked." +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:502 msgid "{category} + {count} subcategory" msgid_plural "{category} + {count} subcategories" msgstr[0] "{category} + {count} sous-catégorie" msgstr[1] "{category} + {count} sous-catégories" -#: /app/src/modules/transactions/TransactionsModule.js:937 +#: /app/src/modules/transactions/TransactionsModule.js:963 msgid "Failed to select all matching transactions" msgstr "Échec de la sélection de toutes les opérations correspondantes" -#: /app/src/modules/transactions/TransactionsModule.js:984 +#: /app/src/modules/transactions/TransactionsModule.js:1010 msgid "All {total} transactions matching the current filter are selected." msgstr "" "Toutes les {total} opérations correspondant au filtre actuel sont " "sélectionnées." -#: /app/src/modules/transactions/TransactionsModule.js:985 +#: /app/src/modules/transactions/TransactionsModule.js:1011 msgid "Clear selection" msgstr "Effacer la sélection" -#: /app/src/modules/transactions/TransactionsModule.js:1000 +#: /app/src/modules/transactions/TransactionsModule.js:1026 msgid "All %n transaction on this page is selected." msgid_plural "All %n transactions on this page are selected." msgstr[0] "%n opération de cette page est sélectionnée." msgstr[1] "Toutes les %n opérations de cette page sont sélectionnées." -#: /app/src/modules/transactions/TransactionsModule.js:1001 +#: /app/src/modules/transactions/TransactionsModule.js:1027 msgid "Select all {total} matching transactions" msgstr "Sélectionner toutes les {total} opérations correspondantes" -#: /app/src/modules/transactions/TransactionsModule.js:1061 +#: /app/src/modules/transactions/TransactionsModule.js:1087 msgid "" "Are you sure you want to delete %n transaction? This action cannot be undone." msgid_plural "" @@ -11764,7 +12330,7 @@ msgstr[1] "" "Êtes-vous sûr de vouloir supprimer %n opérations ? Cette action est " "irréversible." -#: /app/src/modules/transactions/TransactionsModule.js:1064 +#: /app/src/modules/transactions/TransactionsModule.js:1090 msgid "" "%n of these was auto-generated from bill payments. Deleting real payments " "will cause your balance to diverge from your bank statement." @@ -11780,42 +12346,42 @@ msgstr[1] "" "factures. La suppression de paiements réels entraînera un écart entre votre " "solde et votre relevé bancaire." -#: /app/src/modules/transactions/TransactionsModule.js:1080 +#: /app/src/modules/transactions/TransactionsModule.js:1106 msgid "Successfully deleted %n transaction" msgid_plural "Successfully deleted %n transactions" msgstr[0] "%n opération supprimée avec succès" msgstr[1] "%n opérations supprimées avec succès" -#: /app/src/modules/transactions/TransactionsModule.js:1088 -#: /app/src/modules/transactions/TransactionsModule.js:5347 +#: /app/src/modules/transactions/TransactionsModule.js:1114 +#: /app/src/modules/transactions/TransactionsModule.js:5398 msgid "Failed to delete %n transaction" msgid_plural "Failed to delete %n transactions" msgstr[0] "Échec de la suppression de %n opération" msgstr[1] "Échec de la suppression de %n opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1101 +#: /app/src/modules/transactions/TransactionsModule.js:1127 msgid "Are you sure you want to mark %n transaction as reconciled?" msgid_plural "Are you sure you want to mark %n transactions as reconciled?" msgstr[0] "Êtes-vous sûr de vouloir marquer %n opération comme rapprochée ?" msgstr[1] "Êtes-vous sûr de vouloir marquer %n opérations comme rapprochées ?" -#: /app/src/modules/transactions/TransactionsModule.js:1115 +#: /app/src/modules/transactions/TransactionsModule.js:1141 msgid "Successfully reconciled %n transaction" msgid_plural "Successfully reconciled %n transactions" msgstr[0] "%n opération rapprochée avec succès" msgstr[1] "%n opérations rapprochées avec succès" -#: /app/src/modules/transactions/TransactionsModule.js:1123 +#: /app/src/modules/transactions/TransactionsModule.js:1149 msgid "Failed to reconcile %n transaction" msgid_plural "Failed to reconcile %n transactions" msgstr[0] "Échec du rapprochement de %n opération" msgstr[1] "Échec du rapprochement de %n opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1127 +#: /app/src/modules/transactions/TransactionsModule.js:1153 msgid "Failed to reconcile transactions" msgstr "Échec du rapprochement des opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1136 +#: /app/src/modules/transactions/TransactionsModule.js:1162 msgid "Are you sure you want to mark %n transaction as unreconciled?" msgid_plural "Are you sure you want to mark %n transactions as unreconciled?" msgstr[0] "" @@ -11823,54 +12389,54 @@ msgstr[0] "" msgstr[1] "" "Êtes-vous sûr de vouloir marquer %n opérations comme non rapprochées ?" -#: /app/src/modules/transactions/TransactionsModule.js:1150 +#: /app/src/modules/transactions/TransactionsModule.js:1176 msgid "Successfully unreconciled %n transaction" msgid_plural "Successfully unreconciled %n transactions" msgstr[0] "Annulation réussie du rapprochement de %n opération" msgstr[1] "Annulation réussie du rapprochement de %n opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1158 +#: /app/src/modules/transactions/TransactionsModule.js:1184 msgid "Failed to unreconcile %n transaction" msgid_plural "Failed to unreconcile %n transactions" msgstr[0] "Échec de l'annulation du rapprochement de %n opération" msgstr[1] "Échec de l'annulation du rapprochement de %n opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1162 +#: /app/src/modules/transactions/TransactionsModule.js:1188 msgid "Failed to unreconcile transactions" msgstr "Échec de l'annulation du rapprochement des opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1182 -#: /app/templates/index.php:7161 +#: /app/src/modules/transactions/TransactionsModule.js:1208 +#: /app/templates/index.php:7162 msgid "Don't change" msgstr "Ne pas modifier" -#: /app/src/modules/transactions/TransactionsModule.js:1214 +#: /app/src/modules/transactions/TransactionsModule.js:1240 msgid "Please fill in at least one field to update" msgstr "Veuillez remplir au moins un champ pour effectuer la mise à jour" -#: /app/src/modules/transactions/TransactionsModule.js:1218 +#: /app/src/modules/transactions/TransactionsModule.js:1244 msgid "Are you sure you want to update %n transaction?" msgid_plural "Are you sure you want to update %n transactions?" msgstr[0] "Êtes-vous sûr de vouloir mettre à jour %n opération ?" msgstr[1] "Êtes-vous sûr de vouloir mettre à jour %n opérations ?" -#: /app/src/modules/transactions/TransactionsModule.js:1232 +#: /app/src/modules/transactions/TransactionsModule.js:1258 msgid "Successfully updated %n transaction" msgid_plural "Successfully updated %n transactions" msgstr[0] "Mise à jour réussie de %n opération" msgstr[1] "Mise à jour réussie de %n opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1243 +#: /app/src/modules/transactions/TransactionsModule.js:1269 msgid "Failed to update %n transaction" msgid_plural "Failed to update %n transactions" msgstr[0] "Échec de la mise à jour de %n opération" msgstr[1] "Échec de la mise à jour de %n opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1247 +#: /app/src/modules/transactions/TransactionsModule.js:1273 msgid "Failed to update transactions" msgstr "Échec de la mise à jour des opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1283 +#: /app/src/modules/transactions/TransactionsModule.js:1309 msgid "" "Add or remove tags on %n selected transaction. Tags you leave unchecked are " "not touched." @@ -11884,11 +12450,11 @@ msgstr[1] "" "Ajoutez ou supprimez des étiquettes sur %n opérations sélectionnées. Les " "étiquettes que vous ne cochez pas ne seront pas modifiées." -#: /app/src/modules/transactions/TransactionsModule.js:1349 +#: /app/src/modules/transactions/TransactionsModule.js:1375 msgid "applies to {count} of {total}" msgstr "s'applique à {count} sur {total}" -#: /app/src/modules/transactions/TransactionsModule.js:1365 +#: /app/src/modules/transactions/TransactionsModule.js:1391 msgid "%n selected transaction is in a category these tags do not cover." msgid_plural "" "%n selected transactions are in categories these tags do not cover." @@ -11899,67 +12465,67 @@ msgstr[1] "" "%n opérations sélectionnées appartiennent à des catégories qui ne sont pas " "couvertes par ces étiquettes." -#: /app/src/modules/transactions/TransactionsModule.js:1397 +#: /app/src/modules/transactions/TransactionsModule.js:1423 msgid "Please select at least one tag to add or remove" msgstr "Veuillez sélectionner au moins une étiquette à ajouter ou à supprimer" -#: /app/src/modules/transactions/TransactionsModule.js:1411 -#: /app/src/modules/transactions/TransactionsModule.js:1435 +#: /app/src/modules/transactions/TransactionsModule.js:1437 +#: /app/src/modules/transactions/TransactionsModule.js:1461 msgid "Failed to update tags" msgstr "Échec de la mise à jour des étiquettes" -#: /app/src/modules/transactions/TransactionsModule.js:1431 +#: /app/src/modules/transactions/TransactionsModule.js:1457 msgid "Failed to update tags on %n transaction" msgid_plural "Failed to update tags on %n transactions" msgstr[0] "Échec de la mise à jour des étiquettes sur %n opération" msgstr[1] "Échec de la mise à jour des étiquettes sur %n opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1449 +#: /app/src/modules/transactions/TransactionsModule.js:1475 msgid "Updated tags on %n transaction" msgid_plural "Updated tags on %n transactions" msgstr[0] "Étiquettes mises à jour sur %n opération" msgstr[1] "Étiquettes mises à jour sur %n opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1457 +#: /app/src/modules/transactions/TransactionsModule.js:1483 msgid "{tag} applied to {count} of them" msgstr "{tag} a été appliquée à {count} d'entre eux" -#: /app/src/modules/transactions/TransactionsModule.js:1490 +#: /app/src/modules/transactions/TransactionsModule.js:1516 msgid "Server error ({status}) — check the Nextcloud logs" msgstr "Erreur serveur ({status}) — vérifiez les journaux de Nextcloud" -#: /app/src/modules/transactions/TransactionsModule.js:1501 +#: /app/src/modules/transactions/TransactionsModule.js:1527 msgid "Please fill in all reconciliation fields" msgstr "Veuillez remplir tous les champs de rapprochement" -#: /app/src/modules/transactions/TransactionsModule.js:1514 +#: /app/src/modules/transactions/TransactionsModule.js:1540 msgid "Failed to start reconciliation" msgstr "Échec du lancement du rapprochement" -#: /app/src/modules/transactions/TransactionsModule.js:1518 +#: /app/src/modules/transactions/TransactionsModule.js:1544 msgid "A reconciliation is already in progress for this account. Resume it?" msgstr "" "Une rapprochement est déjà en cours pour ce compte. Souhaitez-vous le " "reprendre ?" -#: /app/src/modules/transactions/TransactionsModule.js:1527 +#: /app/src/modules/transactions/TransactionsModule.js:1553 msgid "Failed to start reconciliation: {message}" msgstr "Échec du lancement du rapprochement : {message}" -#: /app/src/modules/transactions/TransactionsModule.js:1568 +#: /app/src/modules/transactions/TransactionsModule.js:1594 msgid "Reconciliation started — tick the transactions on your statement" msgstr "Le rapprochement a commencé — cochez les opérations sur votre relevé" -#: /app/src/modules/transactions/TransactionsModule.js:1596 -#: /app/src/modules/transfers/TransfersModule.js:492 +#: /app/src/modules/transactions/TransactionsModule.js:1622 +#: /app/src/modules/transfers/TransfersModule.js:466 msgid "Statement balance" msgstr "Solde du relevé" -#: /app/src/modules/transactions/TransactionsModule.js:1600 +#: /app/src/modules/transactions/TransactionsModule.js:1626 msgid "Starting balance" msgstr "Solde initial" -#: /app/src/modules/transactions/TransactionsModule.js:1601 +#: /app/src/modules/transactions/TransactionsModule.js:1627 msgid "" "Where the account stood before this statement: the balance at your last " "reconciliation, or — the first time — the account’s opening balance plus " @@ -11971,61 +12537,61 @@ msgstr "" "compte majoré des montants déjà marqués comme rapprochés. Vérifiez-le par " "rapport au solde d'ouverture indiqué sur votre relevé." -#: /app/src/modules/transactions/TransactionsModule.js:1604 +#: /app/src/modules/transactions/TransactionsModule.js:1630 msgid "Ticked ({count})" msgstr "Coché(s) ({count})" -#: /app/src/modules/transactions/TransactionsModule.js:1608 +#: /app/src/modules/transactions/TransactionsModule.js:1634 msgid "Difference" msgstr "Différence" -#: /app/src/modules/transactions/TransactionsModule.js:1613 +#: /app/src/modules/transactions/TransactionsModule.js:1639 msgid "Finish" msgstr "Terminer" -#: /app/src/modules/transactions/TransactionsModule.js:1614 +#: /app/src/modules/transactions/TransactionsModule.js:1640 msgid "Tick %n transaction up to {date}" msgid_plural "Tick all %n transactions up to {date}" msgstr[0] "Cochez %n opération jusqu'au {date}" msgstr[1] "Cochez toutes les %n opérations jusqu'au {date}" -#: /app/src/modules/transactions/TransactionsModule.js:1615 +#: /app/src/modules/transactions/TransactionsModule.js:1641 msgid "Create {amount} adjustment" msgstr "Créer un ajustement de {amount}" -#: /app/src/modules/transactions/TransactionsModule.js:1616 +#: /app/src/modules/transactions/TransactionsModule.js:1642 msgid "Keep the session and come back later" msgstr "Conservez la session et revenir plus tard" -#: /app/src/modules/transactions/TransactionsModule.js:1617 +#: /app/src/modules/transactions/TransactionsModule.js:1643 msgid "Cancel session" msgstr "Annuler la session" -#: /app/src/modules/transactions/TransactionsModule.js:1646 +#: /app/src/modules/transactions/TransactionsModule.js:1672 msgid "Failed to tick transactions" msgstr "Échec de la validation des opérations" -#: /app/src/modules/transactions/TransactionsModule.js:1656 +#: /app/src/modules/transactions/TransactionsModule.js:1682 msgid "Failed to tick transactions: {message}" msgstr "Échec de la validation des opérations : {message}" -#: /app/src/modules/transactions/TransactionsModule.js:1707 +#: /app/src/modules/transactions/TransactionsModule.js:1733 msgid "Failed to update reconciliation" msgstr "Échec de la mise à jour du rapprochement" -#: /app/src/modules/transactions/TransactionsModule.js:1718 +#: /app/src/modules/transactions/TransactionsModule.js:1744 msgid "Failed to update reconciliation: {message}" msgstr "Échec de la mise à jour du rapprochement : {message}" -#: /app/src/modules/transactions/TransactionsModule.js:1764 +#: /app/src/modules/transactions/TransactionsModule.js:1790 msgid "A reconciliation is in progress for this account (statement of {date})" msgstr "Un rapprochement est en cours pour ce compte (relevé du {date})" -#: /app/src/modules/transactions/TransactionsModule.js:1765 +#: /app/src/modules/transactions/TransactionsModule.js:1791 msgid "Resume" msgstr "Continuer" -#: /app/src/modules/transactions/TransactionsModule.js:1811 +#: /app/src/modules/transactions/TransactionsModule.js:1837 msgid "" "Cancel this reconciliation? Ticked transactions will be released (nothing is " "marked reconciled)." @@ -12033,23 +12599,23 @@ msgstr "" "Annuler ce rapprochement ? Les opérations cochées seront libérées (aucune ne " "sera marquée comme rapprochée)." -#: /app/src/modules/transactions/TransactionsModule.js:1819 +#: /app/src/modules/transactions/TransactionsModule.js:1845 msgid "Failed to cancel" msgstr "Échec de l'annulation" -#: /app/src/modules/transactions/TransactionsModule.js:1822 +#: /app/src/modules/transactions/TransactionsModule.js:1848 msgid "Reconciliation cancelled" msgstr "Rapprochement annulé" -#: /app/src/modules/transactions/TransactionsModule.js:1824 +#: /app/src/modules/transactions/TransactionsModule.js:1850 msgid "Failed to cancel reconciliation: {message}" msgstr "Échec de l'annulation du rapprochement : {message}" -#: /app/src/modules/transactions/TransactionsModule.js:1846 +#: /app/src/modules/transactions/TransactionsModule.js:1872 msgid "Reconciliation completed — {count} transactions marked as reconciled" msgstr "Rapprochement terminé — {count} opérations marquées comme rapprochées" -#: /app/src/modules/transactions/TransactionsModule.js:1849 +#: /app/src/modules/transactions/TransactionsModule.js:1875 msgid "%n older uncleared transaction was not ticked and remains unreconciled" msgid_plural "" "%n older uncleared transactions were not ticked and remain unreconciled" @@ -12059,108 +12625,108 @@ msgstr[1] "" "%n anciennes opérations non apurées n'ont pas été cochées et restent non " "rapprochées" -#: /app/src/modules/transactions/TransactionsModule.js:1854 +#: /app/src/modules/transactions/TransactionsModule.js:1880 msgid "Failed to complete reconciliation: {error}" msgstr "Échec du rapprochement : {error}" -#: /app/src/modules/transactions/TransactionsModule.js:1871 +#: /app/src/modules/transactions/TransactionsModule.js:1899 msgid "Reconciliation Adjustment" msgstr "Ajustement de rapprochement" -#: /app/src/modules/transactions/TransactionsModule.js:1872 +#: /app/src/modules/transactions/TransactionsModule.js:1900 msgid "Adjustment to match statement balance of {amount}" msgstr "" "Ajustement pour correspondre au solde du relevé d'un montant de {amount}" -#: /app/src/modules/transactions/TransactionsModule.js:1874 +#: /app/src/modules/transactions/TransactionsModule.js:1902 msgid "Failed to create adjustment" msgstr "Échec de la création de l'ajustement" -#: /app/src/modules/transactions/TransactionsModule.js:1887 +#: /app/src/modules/transactions/TransactionsModule.js:1915 msgid "Adjustment transaction created" msgstr "Ajustement de rapprochement créé" -#: /app/src/modules/transactions/TransactionsModule.js:1892 +#: /app/src/modules/transactions/TransactionsModule.js:1920 msgid "Failed to create adjustment: {message}" msgstr "Échec de la création de l'ajustement : {message}" -#: /app/src/modules/transactions/TransactionsModule.js:1916 +#: /app/src/modules/transactions/TransactionsModule.js:1944 #: /app/templates/index.php:5833 msgid "Choose an account" msgstr "Choisir un compte" -#: /app/src/modules/transactions/TransactionsModule.js:1937 -#: /app/src/modules/transfers/TransfersModule.js:515 -#: /app/src/modules/transfers/TransfersModule.js:527 +#: /app/src/modules/transactions/TransactionsModule.js:1965 +#: /app/src/modules/transfers/TransfersModule.js:492 +#: /app/src/modules/transfers/TransfersModule.js:504 #: /app/templates/index.php:2519 /app/templates/quick-add.php:24 msgid "Select account..." msgstr "Sélectionner un compte..." -#: /app/src/modules/transactions/TransactionsModule.js:1974 +#: /app/src/modules/transactions/TransactionsModule.js:2002 #: /app/src/modules/transactions/transactionRow.js:211 #: /app/src/modules/transactions/transactionRow.js:293 #: /app/src/modules/transactions/transactionRow.js:294 msgid "Edit transaction" msgstr "Modifier l'opération" -#: /app/src/modules/transactions/TransactionsModule.js:1975 +#: /app/src/modules/transactions/TransactionsModule.js:2003 #: /app/templates/index.php:5794 #, fuzzy #| msgid "View transactions" msgid "New transaction" msgstr "Afficher les opérations" -#: /app/src/modules/transactions/TransactionsModule.js:2232 -#: /app/src/modules/transactions/TransactionsModule.js:2255 +#: /app/src/modules/transactions/TransactionsModule.js:2277 +#: /app/src/modules/transactions/TransactionsModule.js:2299 msgid "Failed to load transaction" msgstr "Échec du chargement de l'opération" -#: /app/src/modules/transactions/TransactionsModule.js:2359 -#: /app/src/modules/transactions/TransactionsModule.js:2370 +#: /app/src/modules/transactions/TransactionsModule.js:2403 +#: /app/src/modules/transactions/TransactionsModule.js:2414 msgid "The receipt could not be read" msgstr "Le reçu n'a pas pu être lu" -#: /app/src/modules/transactions/TransactionsModule.js:2400 +#: /app/src/modules/transactions/TransactionsModule.js:2444 msgid "date" msgstr "Date" -#: /app/src/modules/transactions/TransactionsModule.js:2404 +#: /app/src/modules/transactions/TransactionsModule.js:2448 msgid "amount" msgstr "montant" -#: /app/src/modules/transactions/TransactionsModule.js:2407 +#: /app/src/modules/transactions/TransactionsModule.js:2451 msgid "description" msgstr "description" -#: /app/src/modules/transactions/TransactionsModule.js:2408 +#: /app/src/modules/transactions/TransactionsModule.js:2452 msgid "vendor" msgstr "fournisseur" -#: /app/src/modules/transactions/TransactionsModule.js:2414 +#: /app/src/modules/transactions/TransactionsModule.js:2458 msgid "category" msgstr "catégorie" -#: /app/src/modules/transactions/TransactionsModule.js:2509 +#: /app/src/modules/transactions/TransactionsModule.js:2553 msgid "Savings / discount" msgstr "Économies / réduction" -#: /app/src/modules/transactions/TransactionsModule.js:2514 +#: /app/src/modules/transactions/TransactionsModule.js:2558 msgid "VAT / tax" msgstr "TVA / taxe" -#: /app/src/modules/transactions/TransactionsModule.js:2553 +#: /app/src/modules/transactions/TransactionsModule.js:2597 msgid "Split into {count} lines from the receipt. Set a category on each." msgstr "" "Ventilez le reçu en {count} lignes. Attribuez une catégorie à chacune " "d'entre elles." -#: /app/src/modules/transactions/TransactionsModule.js:2564 +#: /app/src/modules/transactions/TransactionsModule.js:2608 msgid "Filled in: {fields}. Check them before saving." msgstr "" "Les champs suivants ont été renseignés : {fields}. Vérifiez-les avant de " "sauvegarder." -#: /app/src/modules/transactions/TransactionsModule.js:2565 +#: /app/src/modules/transactions/TransactionsModule.js:2609 msgid "" "Nothing was filled in — the fields already had values. Clear one and scan " "again to use the receipt." @@ -12168,24 +12734,24 @@ msgstr "" "Aucun champ n'a été renseigné : les champs contenaient déjà des valeurs. " "Effacez l'un d'entre eux et relancez le scan pour utiliser le reçu." -#: /app/src/modules/transactions/TransactionsModule.js:2569 +#: /app/src/modules/transactions/TransactionsModule.js:2613 msgid "Read {count} items from the receipt." msgstr "Lecture de {count} lignes du reçu." -#: /app/src/modules/transactions/TransactionsModule.js:2572 +#: /app/src/modules/transactions/TransactionsModule.js:2616 msgid "The items do not add up to the total — worth a look." msgstr "" "Le total des articles ne correspond pas au montant total — c'est intéressant." -#: /app/src/modules/transactions/TransactionsModule.js:2575 +#: /app/src/modules/transactions/TransactionsModule.js:2619 msgid "Receipt currency: {currency}." msgstr "Devise du reçu : {currency}." -#: /app/src/modules/transactions/TransactionsModule.js:2577 +#: /app/src/modules/transactions/TransactionsModule.js:2621 msgid "The photo will be attached when you save." msgstr "La photo sera jointe lorsque vous enregistrerez le fichier." -#: /app/src/modules/transactions/TransactionsModule.js:2595 +#: /app/src/modules/transactions/TransactionsModule.js:2639 msgid "" "These items cannot be split individually: they do not add up to the total, " "so the parts would not balance." @@ -12193,61 +12759,61 @@ msgstr "" "Ces éléments ne peuvent pas être ventilés individuellement : leur somme " "n'égale pas le total, ce qui fausserait l'équilibre des comptes." -#: /app/src/modules/transactions/TransactionsModule.js:2604 +#: /app/src/modules/transactions/TransactionsModule.js:2648 msgid "Split into {count} lines" msgstr "Ventilé en {count} lignes" -#: /app/src/modules/transactions/TransactionsModule.js:2606 +#: /app/src/modules/transactions/TransactionsModule.js:2650 msgid "the savings as a negative line" msgstr "les économies sous forme de ligne négative" -#: /app/src/modules/transactions/TransactionsModule.js:2607 +#: /app/src/modules/transactions/TransactionsModule.js:2651 msgid "the tax as its own line" msgstr "la taxe sur une ligne distincte" -#: /app/src/modules/transactions/TransactionsModule.js:2609 +#: /app/src/modules/transactions/TransactionsModule.js:2653 msgid " and " msgstr " et " -#: /app/src/modules/transactions/TransactionsModule.js:2609 +#: /app/src/modules/transactions/TransactionsModule.js:2653 msgid "One line per item, plus {extras}" msgstr "Une ligne par article, plus {extras}" -#: /app/src/modules/transactions/TransactionsModule.js:2610 +#: /app/src/modules/transactions/TransactionsModule.js:2654 msgid "One line per item on the receipt" msgstr "Une ligne par article sur le reçu" -#: /app/src/modules/transactions/TransactionsModule.js:2660 +#: /app/src/modules/transactions/TransactionsModule.js:2704 msgid "Select receipt" msgstr "Sélectionner le reçu" -#: /app/src/modules/transactions/TransactionsModule.js:2698 +#: /app/src/modules/transactions/TransactionsModule.js:2742 msgid "No receipts yet — they are attached when you save." msgstr "Pas encore de reçus — ils sont joints lorsque vous sauvegardez." -#: /app/src/modules/transactions/TransactionsModule.js:2706 +#: /app/src/modules/transactions/TransactionsModule.js:2750 msgid "on save" msgstr "lors de l'enregistrement" -#: /app/src/modules/transactions/TransactionsModule.js:2707 -#: /app/src/modules/transactions/TransactionsModule.js:2763 +#: /app/src/modules/transactions/TransactionsModule.js:2751 +#: /app/src/modules/transactions/TransactionsModule.js:2807 msgid "Remove attachment" msgstr "Supprimer la pièce jointe" -#: /app/src/modules/transactions/TransactionsModule.js:2755 +#: /app/src/modules/transactions/TransactionsModule.js:2799 msgid "Receipt" msgstr "Reçu" -#: /app/src/modules/transactions/TransactionsModule.js:2757 +#: /app/src/modules/transactions/TransactionsModule.js:2801 msgid "The file no longer exists in your Files" msgstr "Le fichier n'existe plus dans vos fichiers" -#: /app/src/modules/transactions/TransactionsModule.js:2765 +#: /app/src/modules/transactions/TransactionsModule.js:2809 msgid "No receipts attached" msgstr "Aucun reçu joint" -#: /app/src/modules/transactions/TransactionsModule.js:2844 -#: /app/src/modules/transactions/TransactionsModule.js:5038 +#: /app/src/modules/transactions/TransactionsModule.js:2888 +#: /app/src/modules/transactions/TransactionsModule.js:5089 msgid "" "This transaction was reconciled against a bank statement. Changing its " "amount, type, account or date will make past reconciliations no longer " @@ -12257,95 +12823,108 @@ msgstr "" "son type, son compte ou sa date rendra les rapprochements antérieurs " "invalides. Continuer ?" -#: /app/src/modules/transactions/TransactionsModule.js:2861 +#: /app/src/modules/transactions/TransactionsModule.js:2905 msgid "Please select destination account" msgstr "Veuillez sélectionner le compte de destination" -#: /app/src/modules/transactions/TransactionsModule.js:2865 +#: /app/src/modules/transactions/TransactionsModule.js:2909 msgid "Cannot transfer to same account" msgstr "Impossible d'effectuer un virement vers le même compte" -#: /app/src/modules/transactions/TransactionsModule.js:2918 +#: /app/src/modules/transactions/TransactionsModule.js:2962 msgid "Transfer created successfully" msgstr "Virement créé avec succès" -#: /app/src/modules/transactions/TransactionsModule.js:3014 +#: /app/src/modules/transactions/TransactionsModule.js:3058 msgid "The transaction was saved, but {count} receipt(s) could not be attached" msgstr "" "L'opération a été enregistrée, mais {count} reçu(s) n'a (ont) pas pu être " "joint(s)" -#: /app/src/modules/transactions/TransactionsModule.js:3018 -#: /app/src/modules/transactions/TransactionsModule.js:5093 +#: /app/src/modules/transactions/TransactionsModule.js:3062 +#: /app/src/modules/transactions/TransactionsModule.js:5144 msgid "Transaction updated" msgstr "Opération mise à jour" -#: /app/src/modules/transactions/TransactionsModule.js:3018 +#: /app/src/modules/transactions/TransactionsModule.js:3062 msgid "Transaction created" msgstr "Opération créée" -#: /app/src/modules/transactions/TransactionsModule.js:3201 +#: /app/src/modules/transactions/TransactionsModule.js:3245 msgid "Remove" msgstr "Supprimer" -#: /app/src/modules/transactions/TransactionsModule.js:3239 +#: /app/src/modules/transactions/TransactionsModule.js:3283 msgid "Fully allocated" msgstr "Entièrement allouée" -#: /app/src/modules/transactions/TransactionsModule.js:3240 +#: /app/src/modules/transactions/TransactionsModule.js:3284 msgid "Remaining: {amount}" msgstr "Restant : {amount}" -#: /app/src/modules/transactions/TransactionsModule.js:3265 +#: /app/src/modules/transactions/TransactionsModule.js:3309 msgid "Auto-calculated from the transaction total minus the other splits" msgstr "" "Calculé automatiquement à partir du montant total de l'opération moins les " "autres ventilations" -#: /app/src/modules/transactions/TransactionsModule.js:3268 +#: /app/src/modules/transactions/TransactionsModule.js:3312 msgid "Amount (remaining)" msgstr "Montant (restant)" -#: /app/src/modules/transactions/TransactionsModule.js:3322 +#: /app/src/modules/transactions/TransactionsModule.js:3366 msgid "A split needs at least two parts with an amount." msgstr "Une ventilation nécessite au moins deux parties avec un montant." -#: /app/src/modules/transactions/TransactionsModule.js:3328 +#: /app/src/modules/transactions/TransactionsModule.js:3372 msgid "Split amounts must add up to the transaction total ({total})." msgstr "" "La somme des montants ventilés doit être égale au total de l'opération " "({total})." -#: /app/src/modules/transactions/TransactionsModule.js:3399 +#: /app/src/modules/transactions/TransactionsModule.js:3443 msgid "The transaction was saved, but not split: {reason}" msgstr "L'opération a été enregistrée, mais n'a pas été ventilée : {reason}" -#: /app/src/modules/transactions/TransactionsModule.js:3400 +#: /app/src/modules/transactions/TransactionsModule.js:3444 msgid "The transaction was saved, but its splits could not be stored" msgstr "" "L'opération a été enregistrée, mais ses ventilations n'ont pas pu être " "enregistrées" -#: /app/src/modules/transactions/TransactionsModule.js:3406 -#: /app/src/modules/transactions/TransactionsModule.js:3421 +#: /app/src/modules/transactions/TransactionsModule.js:3450 +#: /app/src/modules/transactions/TransactionsModule.js:3472 msgid "Are you sure you want to delete this transaction?" msgstr "Êtes-vous sûr de vouloir supprimer cette opération ?" -#: /app/src/modules/transactions/TransactionsModule.js:3415 +#: /app/src/modules/transactions/TransactionsModule.js:3459 msgid "This will decrease the account balance by {amount}." msgstr "Cela réduira le solde du compte de {amount}." -#: /app/src/modules/transactions/TransactionsModule.js:3416 +#: /app/src/modules/transactions/TransactionsModule.js:3460 msgid "This will increase the account balance by {amount}." msgstr "Cela augmentera le solde du compte de {amount}." -#: /app/src/modules/transactions/TransactionsModule.js:3419 +#: /app/src/modules/transactions/TransactionsModule.js:3467 +msgid "" +"This is the upcoming payment of a bill, not money that has moved. Deleting " +"it removes the scheduled entry until the bill is next paid; the bill itself " +"stays, and the account balance does not change. Are you sure?" +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:3468 +msgid "" +"This transaction is scheduled and not in the account balance yet, so the " +"balance does not change. Are you sure you want to delete it?" +msgstr "" + +#: /app/src/modules/transactions/TransactionsModule.js:3470 msgid "This transaction was auto-generated from a bill payment." msgstr "" "Cette opération a été générée automatiquement à partir d'un paiement de " "facture." -#: /app/src/modules/transactions/TransactionsModule.js:3419 +#: /app/src/modules/transactions/TransactionsModule.js:3470 msgid "" "If this is a real payment, deleting it will cause your balance to diverge " "from your bank statement. Are you sure?" @@ -12353,7 +12932,7 @@ msgstr "" "S'il s'agit d'un paiement réel, sa suppression entraînera un écart entre " "votre solde et votre relevé bancaire. Êtes-vous sûr ?" -#: /app/src/modules/transactions/TransactionsModule.js:3426 +#: /app/src/modules/transactions/TransactionsModule.js:3477 msgid "" "This transaction was reconciled against a bank statement. Deleting it will " "make past reconciliations no longer match." @@ -12361,7 +12940,7 @@ msgstr "" "Cette opération a été rapprochée d'un relevé bancaire. Sa suppression rendra " "les rapprochements antérieurs incohérents." -#: /app/src/modules/transactions/TransactionsModule.js:3430 +#: /app/src/modules/transactions/TransactionsModule.js:3481 msgid "" "This transaction funds a pension contribution. Deleting it will unlink it " "from that contribution (the contribution itself is kept)." @@ -12369,37 +12948,37 @@ msgstr "" "Cette opération finance une cotisation de retraite. Sa suppression rompra le " "lien avec cette cotisation (la cotisation elle-même est conservée)." -#: /app/src/modules/transactions/TransactionsModule.js:3441 -#: /app/src/modules/transactions/TransactionsModule.js:3464 +#: /app/src/modules/transactions/TransactionsModule.js:3492 +#: /app/src/modules/transactions/TransactionsModule.js:3515 msgid "Failed to delete transaction" msgstr "Échec de la suppression de l'opération" -#: /app/src/modules/transactions/TransactionsModule.js:3451 +#: /app/src/modules/transactions/TransactionsModule.js:3502 msgid "Transaction deleted" msgstr "Opération supprimée" -#: /app/src/modules/transactions/TransactionsModule.js:3545 +#: /app/src/modules/transactions/TransactionsModule.js:3596 msgid "Amount ({currency})" msgstr "Montant ({currency})" -#: /app/src/modules/transactions/TransactionsModule.js:3546 +#: /app/src/modules/transactions/TransactionsModule.js:3597 msgid "Destination Amount ({currency})" msgstr "Montant converti ({currency})" -#: /app/src/modules/transactions/TransactionsModule.js:3722 -#: /app/templates/index.php:7111 +#: /app/src/modules/transactions/TransactionsModule.js:3773 +#: /app/templates/index.php:7112 msgid "Date:" msgstr "Date :" -#: /app/src/modules/transactions/TransactionsModule.js:3730 +#: /app/src/modules/transactions/TransactionsModule.js:3781 msgid "Total Amount:" msgstr "Montant total :" -#: /app/src/modules/transactions/TransactionsModule.js:3960 +#: /app/src/modules/transactions/TransactionsModule.js:4011 msgid "Date window (days):" msgstr "Intervalle de date (jours) :" -#: /app/src/modules/transactions/TransactionsModule.js:3965 +#: /app/src/modules/transactions/TransactionsModule.js:4016 msgid "" "Matches must be within this many days of each other. Use 0 for exact date " "match." @@ -12407,53 +12986,53 @@ msgstr "" "Les correspondances doivent se situer dans cet intervalle de jours. Utilisez " "0 pour une correspondance à la date exacte." -#: /app/src/modules/transactions/TransactionsModule.js:3968 +#: /app/src/modules/transactions/TransactionsModule.js:4019 msgid "Matching mode:" msgstr "Mode de correspondance :" -#: /app/src/modules/transactions/TransactionsModule.js:3973 +#: /app/src/modules/transactions/TransactionsModule.js:4024 msgid "Auto-link exact matches" msgstr "Lier automatiquement les correspondances exactes" -#: /app/src/modules/transactions/TransactionsModule.js:3974 +#: /app/src/modules/transactions/TransactionsModule.js:4025 msgid "Single-match pairs linked automatically. Multi-match shown for review." msgstr "" "Les paires à correspondance unique sont associées automatiquement. Les cas " "de correspondances multiples sont présentés pour examen." -#: /app/src/modules/transactions/TransactionsModule.js:3980 +#: /app/src/modules/transactions/TransactionsModule.js:4031 msgid "Review all matches" msgstr "Passer en revue toutes les correspondances" -#: /app/src/modules/transactions/TransactionsModule.js:3981 +#: /app/src/modules/transactions/TransactionsModule.js:4032 msgid "All candidates shown for your confirmation before linking." msgstr "Tous les candidats sont affichés pour confirmation avant la liaison." -#: /app/src/modules/transactions/TransactionsModule.js:4013 -#: /app/templates/index.php:7049 +#: /app/src/modules/transactions/TransactionsModule.js:4064 +#: /app/templates/index.php:7050 msgid "Scanning for matching transactions..." msgstr "Recherche d'opérations correspondantes..." -#: /app/src/modules/transactions/TransactionsModule.js:4024 -#: /app/templates/index.php:7082 +#: /app/src/modules/transactions/TransactionsModule.js:4075 +#: /app/templates/index.php:7083 msgid "No matching transactions found." msgstr "Aucune opération correspondante trouvée." -#: /app/src/modules/transactions/TransactionsModule.js:4039 +#: /app/src/modules/transactions/TransactionsModule.js:4090 msgid "Failed to scan for matches. Please try again." msgstr "Échec de la recherche de correspondances. Veuillez réessayer." -#: /app/src/modules/transactions/TransactionsModule.js:4059 +#: /app/src/modules/transactions/TransactionsModule.js:4110 msgid "Linking %n exact match pair..." msgid_plural "Linking %n exact match pairs..." msgstr[0] "Liaison de %n paire de correspondance exacte..." msgstr[1] "Liaison de %n paires de correspondance exactes..." -#: /app/src/modules/transactions/TransactionsModule.js:4127 +#: /app/src/modules/transactions/TransactionsModule.js:4178 msgid "Exact Matches" msgstr "Correspondances exactes" -#: /app/src/modules/transactions/TransactionsModule.js:4128 +#: /app/src/modules/transactions/TransactionsModule.js:4179 msgid "" "These transactions have exactly one match. Uncheck any you don't want to " "link." @@ -12461,105 +13040,105 @@ msgstr "" "Ces opérations ne comportent qu'une seule correspondance. Décochez celles " "que vous ne souhaitez pas associer." -#: /app/src/modules/transactions/TransactionsModule.js:4254 +#: /app/src/modules/transactions/TransactionsModule.js:4305 msgid "Select a match (%n option):" msgid_plural "Select a match (%n options):" msgstr[0] "Sélectionnez une correspondance (%n option) :" msgstr[1] "Sélectionnez une correspondance (%n options) :" -#: /app/src/modules/transactions/TransactionsModule.js:4258 +#: /app/src/modules/transactions/TransactionsModule.js:4309 msgid "Link Selected" msgstr "Lien sélectionné" -#: /app/src/modules/transactions/TransactionsModule.js:4286 +#: /app/src/modules/transactions/TransactionsModule.js:4337 msgid "No matches selected" msgstr "Aucune correspondance sélectionnée" -#: /app/src/modules/transactions/TransactionsModule.js:4293 +#: /app/src/modules/transactions/TransactionsModule.js:4344 msgid "Linking..." msgstr "Liaison en cours..." -#: /app/src/modules/transactions/TransactionsModule.js:4300 +#: /app/src/modules/transactions/TransactionsModule.js:4351 msgid "Linked %n pair" msgid_plural "Linked %n pairs" msgstr[0] "%n paire liée" msgstr[1] "%n paires liées" -#: /app/src/modules/transactions/TransactionsModule.js:4302 +#: /app/src/modules/transactions/TransactionsModule.js:4353 msgid "%n failed" msgid_plural "%n failed" msgstr[0] "%n échec" msgstr[1] "%n échecs" -#: /app/src/modules/transactions/TransactionsModule.js:4314 +#: /app/src/modules/transactions/TransactionsModule.js:4365 msgid "Linked Pairs" msgstr "Paires liées" -#: /app/src/modules/transactions/TransactionsModule.js:4315 +#: /app/src/modules/transactions/TransactionsModule.js:4366 msgid "These transactions have been linked. Click Undo to unlink a pair." msgstr "" "Ces opérations ont été associées. Cliquez sur Annuler pour dissocier une " "paire." -#: /app/src/modules/transactions/TransactionsModule.js:4352 -#: /app/templates/index.php:7089 +#: /app/src/modules/transactions/TransactionsModule.js:4403 +#: /app/templates/index.php:7090 msgid "Confirm Selected" msgstr "Confirmer la sélection" -#: /app/src/modules/transactions/TransactionsModule.js:4379 +#: /app/src/modules/transactions/TransactionsModule.js:4430 msgid "Match undone" msgstr "Correspondance annulée" -#: /app/src/modules/transactions/TransactionsModule.js:4381 +#: /app/src/modules/transactions/TransactionsModule.js:4432 msgid "Failed to undo match" msgstr "Échec de l'annulation de la correspondance" -#: /app/src/modules/transactions/TransactionsModule.js:4390 +#: /app/src/modules/transactions/TransactionsModule.js:4441 msgid "Please select a match first" msgstr "Veuillez d'abord sélectionner une correspondance" -#: /app/src/modules/transactions/TransactionsModule.js:4418 +#: /app/src/modules/transactions/TransactionsModule.js:4469 msgid "Transactions linked" msgstr "Opérations liées" -#: /app/src/modules/transactions/TransactionsModule.js:4560 +#: /app/src/modules/transactions/TransactionsModule.js:4611 msgid "Enter description..." msgstr "Saisissez une description..." -#: /app/src/modules/transactions/TransactionsModule.js:4592 -#: /app/src/utils/userPicker.js:66 /app/templates/index.php:7231 +#: /app/src/modules/transactions/TransactionsModule.js:4643 +#: /app/src/utils/userPicker.js:66 /app/templates/index.php:7232 msgid "Type to search..." msgstr "Tapez pour rechercher..." -#: /app/src/modules/transactions/TransactionsModule.js:4625 +#: /app/src/modules/transactions/TransactionsModule.js:4676 msgid "No categories found" msgstr "Aucune catégorie trouvée" -#: /app/src/modules/transactions/TransactionsModule.js:4779 +#: /app/src/modules/transactions/TransactionsModule.js:4830 msgid "No tags" msgstr "Aucune étiquette" -#: /app/src/modules/transactions/TransactionsModule.js:4935 +#: /app/src/modules/transactions/TransactionsModule.js:4986 msgid "Error loading tags" msgstr "Erreur lors du chargement des étiquettes" -#: /app/src/modules/transactions/TransactionsModule.js:5146 +#: /app/src/modules/transactions/TransactionsModule.js:5197 msgid "Find Duplicate Transactions" msgstr "Rechercher les opérations en double" -#: /app/src/modules/transactions/TransactionsModule.js:5152 +#: /app/src/modules/transactions/TransactionsModule.js:5203 msgid "Scanning for duplicates..." msgstr "Recherche de doublons..." -#: /app/src/modules/transactions/TransactionsModule.js:5188 +#: /app/src/modules/transactions/TransactionsModule.js:5239 msgid "No duplicate transactions found." msgstr "Aucune opération en double n'a été trouvée." -#: /app/src/modules/transactions/TransactionsModule.js:5198 +#: /app/src/modules/transactions/TransactionsModule.js:5249 msgid "Failed to scan for duplicates. Please try again." msgstr "Échec de la recherche de doublons. Veuillez réessayer." -#: /app/src/modules/transactions/TransactionsModule.js:5207 +#: /app/src/modules/transactions/TransactionsModule.js:5258 msgid "" "Found {groupCount} group(s) with {duplicateCount} suspected duplicate(s). " "The oldest transaction in each group is kept by default. Review and adjust " @@ -12570,29 +13149,34 @@ msgstr "" "par défaut. Examinez et ajustez la sélection, puis supprimez les éléments " "cochés." -#: /app/src/modules/transactions/TransactionsModule.js:5210 -#: /app/src/modules/transactions/TransactionsModule.js:5355 +#: /app/src/modules/transactions/TransactionsModule.js:5261 +#: /app/src/modules/transactions/TransactionsModule.js:5406 #: /app/templates/index.php:1932 msgid "Delete Selected" msgstr "Supprimer la sélection" -#: /app/src/modules/transactions/TransactionsModule.js:5236 +#: /app/src/modules/transactions/TransactionsModule.js:5276 +#: /app/src/utils/matchingDialog.js:48 +msgid "(no description)" +msgstr "(aucune description)" + +#: /app/src/modules/transactions/TransactionsModule.js:5287 msgid "keep" msgstr "conserver" -#: /app/src/modules/transactions/TransactionsModule.js:5237 +#: /app/src/modules/transactions/TransactionsModule.js:5288 msgid "bill" msgstr "facture" -#: /app/src/modules/transactions/TransactionsModule.js:5239 +#: /app/src/modules/transactions/TransactionsModule.js:5290 msgid "scheduled" msgstr "programmé" -#: /app/src/modules/transactions/TransactionsModule.js:5240 +#: /app/src/modules/transactions/TransactionsModule.js:5291 msgid "pending" msgstr "en attente" -#: /app/src/modules/transactions/TransactionsModule.js:5301 +#: /app/src/modules/transactions/TransactionsModule.js:5352 msgid "Delete %n suspected duplicate transaction? This cannot be undone." msgid_plural "" "Delete %n suspected duplicate transactions? This cannot be undone." @@ -12603,7 +13187,7 @@ msgstr[1] "" "Supprimer %n opérations suspectées d'être des doublons ? Cette action est " "irréversible." -#: /app/src/modules/transactions/TransactionsModule.js:5303 +#: /app/src/modules/transactions/TransactionsModule.js:5354 msgid "" "%n of these was generated from bill payments. Make sure they are truly " "duplicates before deleting." @@ -12617,17 +13201,17 @@ msgstr[1] "" "%n d'entre eux provenaient de paiements de factures. Assurez-vous qu'il " "s'agit bien de doublons avant de les supprimer." -#: /app/src/modules/transactions/TransactionsModule.js:5319 +#: /app/src/modules/transactions/TransactionsModule.js:5370 msgid "Deleted %n duplicate transaction" msgid_plural "Deleted %n duplicate transactions" msgstr[0] "%n opération en double supprimée" msgstr[1] "%n opérations en double supprimées" -#: /app/src/modules/transactions/TransactionsModule.js:5342 +#: /app/src/modules/transactions/TransactionsModule.js:5393 msgid "All duplicates have been resolved." msgstr "Tous les doublons ont été résolus." -#: /app/src/modules/transactions/TransactionsModule.js:5351 +#: /app/src/modules/transactions/TransactionsModule.js:5402 msgid "Failed to delete duplicates" msgstr "Échec de la suppression des doublons" @@ -12716,61 +13300,72 @@ msgstr "" msgid "More actions" msgstr "Plus d'actions" -#: /app/src/modules/transfers/TransfersModule.js:55 -#: /app/src/modules/transfers/TransfersModule.js:68 +#: /app/src/modules/transfers/TransfersModule.js:58 +#: /app/src/modules/transfers/TransfersModule.js:73 msgid "Failed to load transfers" msgstr "Échec du chargement des virements" -#: /app/src/modules/transfers/TransfersModule.js:82 +#: /app/src/modules/transfers/TransfersModule.js:87 msgid "Recurring Transfers" msgstr "Virements récurrents" -#: /app/src/modules/transfers/TransfersModule.js:84 +#: /app/src/modules/transfers/TransfersModule.js:89 msgid "Detect recurring transfers" msgstr "Détecter les virements récurrents" -#: /app/src/modules/transfers/TransfersModule.js:86 -#: /app/src/modules/transfers/TransfersModule.js:1264 +#: /app/src/modules/transfers/TransfersModule.js:91 +#: /app/src/modules/transfers/TransfersModule.js:1259 msgid "Find Transfers" msgstr "Trouver des virements" -#: /app/src/modules/transfers/TransfersModule.js:88 +#: /app/src/modules/transfers/TransfersModule.js:93 msgid "Add new transfer" msgstr "Ajouter un nouveau virement" -#: /app/src/modules/transfers/TransfersModule.js:90 -#: /app/src/modules/transfers/TransfersModule.js:459 -#: /app/src/modules/transfers/TransfersModule.js:609 +#: /app/src/modules/transfers/TransfersModule.js:95 +#: /app/src/modules/transfers/TransfersModule.js:433 +#: /app/src/modules/transfers/TransfersModule.js:594 msgid "Add Transfer" msgstr "Ajouter un virement" -#: /app/src/modules/transfers/TransfersModule.js:103 +#: /app/src/modules/transfers/TransfersModule.js:108 msgid "Active Transfers" msgstr "Virements actifs" -#: /app/src/modules/transfers/TransfersModule.js:112 +#: /app/src/modules/transfers/TransfersModule.js:117 #: /app/templates/index.php:2653 msgid "Due This Month" msgstr "À échéance ce mois-ci" -#: /app/src/modules/transfers/TransfersModule.js:121 +#: /app/src/modules/transfers/TransfersModule.js:126 #: /app/templates/index.php:2671 /app/templates/index.php:2861 msgid "Monthly Total" msgstr "Total mensuel" -#: /app/src/modules/transfers/TransfersModule.js:130 +#: /app/src/modules/transfers/TransfersModule.js:135 msgid "Completed This Month" msgstr "Effectué ce mois-ci" -#: /app/src/modules/transfers/TransfersModule.js:137 +#: /app/src/modules/transfers/TransfersModule.js:142 msgid "All Transfers" msgstr "Tous les virements" -#: /app/src/modules/transfers/TransfersModule.js:152 +#: /app/src/modules/transfers/TransfersModule.js:143 +#: /app/src/utils/billDates.js:37 /app/templates/index.php:2688 +msgid "Due Soon" +msgstr "Prochainement à échéance" + +#: /app/src/modules/transfers/TransfersModule.js:145 +#: /app/src/utils/incomeStatus.js:43 /app/templates/index.php:1423 +#: /app/templates/index.php:2974 +msgid "Completed" +msgstr "Terminé" + +#: /app/src/modules/transfers/TransfersModule.js:157 msgid "No recurring transfers yet" msgstr "Aucun virement récurrent pour l'instant" -#: /app/src/modules/transfers/TransfersModule.js:153 +#: /app/src/modules/transfers/TransfersModule.js:158 msgid "" "Set up automatic transfers between your accounts to automate savings or bill " "payments." @@ -12778,15 +13373,15 @@ msgstr "" "Mettez en place des virements automatiques entre vos comptes pour " "automatiser l'épargne ou le paiement des factures." -#: /app/src/modules/transfers/TransfersModule.js:156 +#: /app/src/modules/transfers/TransfersModule.js:161 msgid "Add Your First Transfer" msgstr "Ajoutez votre premier virement" -#: /app/src/modules/transfers/TransfersModule.js:164 +#: /app/src/modules/transfers/TransfersModule.js:169 msgid "Detected Recurring Transfers" msgstr "Virements récurrents détectés" -#: /app/src/modules/transfers/TransfersModule.js:167 +#: /app/src/modules/transfers/TransfersModule.js:172 msgid "" "These recurring transactions may be transfers between your accounts. Select " "the ones to add and choose the destination account." @@ -12795,154 +13390,168 @@ msgstr "" "Sélectionnez celles que vous souhaitez ajouter et choisissez le compte de " "destination." -#: /app/src/modules/transfers/TransfersModule.js:170 +#: /app/src/modules/transfers/TransfersModule.js:175 msgid "Add Selected as Transfers" msgstr "Ajouter la sélection aux virements" -#: /app/src/modules/transfers/TransfersModule.js:382 +#: /app/src/modules/transfers/TransfersModule.js:368 msgid "Edit transfer" msgstr "Modifier le virement" -#: /app/src/modules/transfers/TransfersModule.js:385 +#: /app/src/modules/transfers/TransfersModule.js:371 msgid "Delete transfer" msgstr "Supprimer le virement" -#: /app/src/modules/transfers/TransfersModule.js:459 +#: /app/src/modules/transfers/TransfersModule.js:433 msgid "Edit Transfer" msgstr "Modifier le virement" -#: /app/src/modules/transfers/TransfersModule.js:477 +#: /app/src/modules/transfers/TransfersModule.js:451 msgid "e.g., Monthly Savings" msgstr "par ex. Épargne mensuelle" -#: /app/src/modules/transfers/TransfersModule.js:489 +#: /app/src/modules/transfers/TransfersModule.js:463 msgid "Amount type" msgstr "Type de montant" -#: /app/src/modules/transfers/TransfersModule.js:491 +#: /app/src/modules/transfers/TransfersModule.js:465 msgid "Fixed amount" msgstr "Montant fixe" -#: /app/src/modules/transfers/TransfersModule.js:493 +#: /app/src/modules/transfers/TransfersModule.js:467 msgid "Current balance" msgstr "Solde actuel" -#: /app/src/modules/transfers/TransfersModule.js:494 +#: /app/src/modules/transfers/TransfersModule.js:468 msgid "Minimum payment" msgstr "Paiement minimum" -#: /app/src/modules/transfers/TransfersModule.js:513 +#: /app/src/modules/transfers/TransfersModule.js:485 +#: /app/templates/index.php:6196 +msgid "Custom" +msgstr "Personnalisé" + +#: /app/src/modules/transfers/TransfersModule.js:490 msgid "From Account" msgstr "Depuis le compte" -#: /app/src/modules/transfers/TransfersModule.js:525 +#: /app/src/modules/transfers/TransfersModule.js:502 #: /app/templates/index.php:5837 msgid "To Account" msgstr "Vers le compte" -#: /app/src/modules/transfers/TransfersModule.js:537 -#: /app/src/modules/transfers/TransfersModule.js:777 +#: /app/src/modules/transfers/TransfersModule.js:514 +#: /app/src/modules/transfers/TransfersModule.js:769 msgid "Day of Month (1-31)" msgstr "Jour du mois (1-31)" -#: /app/src/modules/transfers/TransfersModule.js:539 +#: /app/src/modules/transfers/TransfersModule.js:516 msgid "e.g., 15" msgstr "par exemple, 15" -#: /app/src/modules/transfers/TransfersModule.js:554 +#: /app/src/modules/transfers/TransfersModule.js:522 +#: /app/templates/index.php:6227 +msgid "Due Month" +msgstr "Mois d'échéance" + +#: /app/src/modules/transfers/TransfersModule.js:526 +msgid "The month the cycle starts from" +msgstr "" + +#: /app/src/modules/transfers/TransfersModule.js:539 #: /app/templates/index.php:712 /app/templates/index.php:734 #: /app/templates/index.php:5233 /app/templates/index.php:5852 -#: /app/templates/index.php:5969 /app/templates/index.php:6803 +#: /app/templates/index.php:5969 /app/templates/index.php:6804 msgid "Details" msgstr "Détails" -#: /app/src/modules/transfers/TransfersModule.js:556 +#: /app/src/modules/transfers/TransfersModule.js:541 msgid "Transaction Description Pattern (Optional)" msgstr "Modèle de description de l'opération (facultatif)" -#: /app/src/modules/transfers/TransfersModule.js:558 +#: /app/src/modules/transfers/TransfersModule.js:543 msgid "e.g., Savings Transfer" msgstr "par ex. Virement d'épargne" -#: /app/src/modules/transfers/TransfersModule.js:560 +#: /app/src/modules/transfers/TransfersModule.js:545 msgid "Used to match imported transactions" msgstr "Utilisé pour faire correspondre les opérations importées" -#: /app/src/modules/transfers/TransfersModule.js:569 +#: /app/src/modules/transfers/TransfersModule.js:554 msgid "Category for created transactions (optional)" msgstr "Catégorie pour les opérations créées (facultatif)" -#: /app/src/modules/transfers/TransfersModule.js:577 +#: /app/src/modules/transfers/TransfersModule.js:562 msgid "Optional notes..." msgstr "Notes facultatives..." -#: /app/src/modules/transfers/TransfersModule.js:584 +#: /app/src/modules/transfers/TransfersModule.js:569 msgid "Also create transactions now" msgstr "Créer également des opérations dès maintenant" -#: /app/src/modules/transfers/TransfersModule.js:586 +#: /app/src/modules/transfers/TransfersModule.js:571 msgid "Creates paired debit/credit transactions immediately" msgstr "Crée immédiatement des opérations de débit/crédit appariées" -#: /app/src/modules/transfers/TransfersModule.js:590 -#: /app/templates/index.php:6339 +#: /app/src/modules/transfers/TransfersModule.js:575 +#: /app/templates/index.php:6340 msgid "Transaction Date" msgstr "Date de l'opération" -#: /app/src/modules/transfers/TransfersModule.js:592 -#: /app/templates/index.php:6341 +#: /app/src/modules/transfers/TransfersModule.js:577 +#: /app/templates/index.php:6342 msgid "Leave empty to use next due date" msgstr "Laissez vide pour utiliser la prochaine date d'échéance" -#: /app/src/modules/transfers/TransfersModule.js:599 +#: /app/src/modules/transfers/TransfersModule.js:584 msgid "Enable auto-pay (automatically create transactions when due)" msgstr "" "Activer le paiement automatique (créer automatiquement des opérations à " "l'échéance)" -#: /app/src/modules/transfers/TransfersModule.js:609 +#: /app/src/modules/transfers/TransfersModule.js:594 msgid "Update Transfer" msgstr "Mettre à jour le virement" -#: /app/src/modules/transfers/TransfersModule.js:667 +#: /app/src/modules/transfers/TransfersModule.js:652 msgid "" "Pays what was owed at the due date. Later charges roll to the next payment" msgstr "" "Règle le montant dû à la date d'échéance. Les frais ultérieurs sont reportés " "sur le prochain paiement" -#: /app/src/modules/transfers/TransfersModule.js:668 +#: /app/src/modules/transfers/TransfersModule.js:653 msgid "Pays everything owed on the card at payment time" msgstr "Règle la totalité du montant dû sur la carte à la date d'échéance" -#: /app/src/modules/transfers/TransfersModule.js:669 +#: /app/src/modules/transfers/TransfersModule.js:654 msgid "Pays the card's minimum payment, never more than is owed" msgstr "" "Règle le montant minimum dû sur la carte, sans jamais dépasser le montant dû" -#: /app/src/modules/transfers/TransfersModule.js:682 +#: /app/src/modules/transfers/TransfersModule.js:667 msgid "Resolved from the card at each payment" msgstr "Déduit de la carte à chaque paiement" -#: /app/src/modules/transfers/TransfersModule.js:766 +#: /app/src/modules/transfers/TransfersModule.js:758 msgid "The date this transfer is due. It can be in the past." msgstr "" "La date à laquelle ce virement doit être effectué. Elle peut être antérieure " "à la date du présent document." -#: /app/src/modules/transfers/TransfersModule.js:778 +#: /app/src/modules/transfers/TransfersModule.js:770 msgid "Day of the month when the transfer is due" msgstr "Jour du mois où le virement doit être effectué" -#: /app/src/modules/transfers/TransfersModule.js:796 +#: /app/src/modules/transfers/TransfersModule.js:788 msgid "The transfer repeats from this date (optional)" msgstr "Le virement est récurrent à partir de cette date (facultatif)" -#: /app/src/modules/transfers/TransfersModule.js:797 +#: /app/src/modules/transfers/TransfersModule.js:789 msgid "Transfer only occurs on or after this date (optional)" msgstr "Le virement n'a lieu qu'à partir de cette date (facultatif)" -#: /app/src/modules/transfers/TransfersModule.js:819 +#: /app/src/modules/transfers/TransfersModule.js:816 msgid "Please enter the date the transfer is due" msgstr "Veuillez saisir la date à laquelle le virement doit être effectué" @@ -12954,122 +13563,134 @@ msgstr "Veuillez sélectionner un compte source" msgid "Please select a destination account" msgstr "Veuillez sélectionner un compte de destination" -#: /app/src/modules/transfers/TransfersModule.js:882 -#: /app/src/modules/transfers/TransfersModule.js:895 +#: /app/src/modules/transfers/TransfersModule.js:887 +#: /app/src/modules/transfers/TransfersModule.js:900 msgid "Failed to save transfer" msgstr "Échec de l'enregistrement du virement" -#: /app/src/modules/transfers/TransfersModule.js:886 +#: /app/src/modules/transfers/TransfersModule.js:891 msgid "Transfer updated" msgstr "Virement mis à jour" -#: /app/src/modules/transfers/TransfersModule.js:886 +#: /app/src/modules/transfers/TransfersModule.js:891 msgid "Transfer added" msgstr "Virement ajouté" -#: /app/src/modules/transfers/TransfersModule.js:901 +#: /app/src/modules/transfers/TransfersModule.js:906 msgid "Are you sure you want to delete this transfer?" msgstr "Êtes-vous sûr de vouloir supprimer ce virment ?" -#: /app/src/modules/transfers/TransfersModule.js:908 -#: /app/src/modules/transfers/TransfersModule.js:918 +#: /app/src/modules/transfers/TransfersModule.js:913 +#: /app/src/modules/transfers/TransfersModule.js:923 msgid "Failed to delete transfer" msgstr "Échec de la suppression du virement" -#: /app/src/modules/transfers/TransfersModule.js:911 +#: /app/src/modules/transfers/TransfersModule.js:916 msgid "Transfer deleted" msgstr "Virement supprimé" -#: /app/src/modules/transfers/TransfersModule.js:932 -#: /app/src/modules/transfers/TransfersModule.js:944 +#: /app/src/modules/transfers/TransfersModule.js:937 +#: /app/src/modules/transfers/TransfersModule.js:949 msgid "Failed to update transfer" msgstr "Échec de la mise à jour du virement" -#: /app/src/modules/transfers/TransfersModule.js:936 +#: /app/src/modules/transfers/TransfersModule.js:941 msgid "Transfer deactivated" msgstr "Virement désactivé" -#: /app/src/modules/transfers/TransfersModule.js:936 +#: /app/src/modules/transfers/TransfersModule.js:941 msgid "Transfer activated" msgstr "Virement activé" -#: /app/src/modules/transfers/TransfersModule.js:964 -#: /app/src/modules/transfers/TransfersModule.js:974 +#: /app/src/modules/transfers/TransfersModule.js:990 +#: /app/src/modules/transfers/TransfersModule.js:1006 msgid "Failed to mark transfer as paid" msgstr "Échec du marquage du virement comme payé" -#: /app/src/modules/transfers/TransfersModule.js:967 +#: /app/src/modules/transfers/TransfersModule.js:996 +#, fuzzy +#| msgid "" +#| "These bills were marked as paid, but no transaction was recorded — your " +#| "account balance does not reflect these payments." +msgid "" +"The transfer was marked as paid, but no transactions were recorded. Check " +"both accounts, or add the transfer manually." +msgstr "" +"Ces factures ont été marquées comme payées, mais aucune opération n'a été " +"enregistrée : le solde de votre compte ne reflète pas ces paiements." + +#: /app/src/modules/transfers/TransfersModule.js:998 msgid "Transfer marked as paid" msgstr "Virement marqué comme payé" -#: /app/src/modules/transfers/TransfersModule.js:995 -#: /app/src/modules/transfers/TransfersModule.js:1014 +#: /app/src/modules/transfers/TransfersModule.js:1027 +#: /app/src/modules/transfers/TransfersModule.js:1046 msgid "Failed to skip transfer" msgstr "Impossible de passer l'étape du virement" -#: /app/src/modules/transfers/TransfersModule.js:1062 -#: /app/src/modules/transfers/TransfersModule.js:1071 +#: /app/src/modules/transfers/TransfersModule.js:1093 +#: /app/src/modules/transfers/TransfersModule.js:1103 msgid "Failed to mark transfer as unpaid" msgstr "Échec du marquage du virement comme impayé" -#: /app/src/modules/transfers/TransfersModule.js:1068 +#: /app/src/modules/transfers/TransfersModule.js:1100 msgid "Payment reverted — the transfer is marked as unpaid." msgstr "Paiement rejeté — le virement est marqué comme non réglé." -#: /app/src/modules/transfers/TransfersModule.js:1078 +#: /app/src/modules/transfers/TransfersModule.js:1110 msgid "Statement" msgstr "Relevé" -#: /app/src/modules/transfers/TransfersModule.js:1079 +#: /app/src/modules/transfers/TransfersModule.js:1111 msgid "Full balance" msgstr "Solde total" -#: /app/src/modules/transfers/TransfersModule.js:1080 +#: /app/src/modules/transfers/TransfersModule.js:1112 msgid "Minimum" msgstr "Minimum" -#: /app/src/modules/transfers/TransfersModule.js:1083 +#: /app/src/modules/transfers/TransfersModule.js:1115 msgid "Amount is resolved from the card at each payment" msgstr "Le montant est prélevé sur la carte à chaque paiement" -#: /app/src/modules/transfers/TransfersModule.js:1261 +#: /app/src/modules/transfers/TransfersModule.js:1256 msgid "Failed to detect recurring transfers" msgstr "Échec de la détection des virements récurrents" -#: /app/src/modules/transfers/TransfersModule.js:1294 +#: /app/src/modules/transfers/TransfersModule.js:1289 msgid "From: {account}" msgstr "Depuis : {account}" -#: /app/src/modules/transfers/TransfersModule.js:1297 -#: /app/src/modules/transfers/TransfersModule.js:1298 +#: /app/src/modules/transfers/TransfersModule.js:1292 +#: /app/src/modules/transfers/TransfersModule.js:1293 msgid "To:" msgstr "Vers :" -#: /app/src/modules/transfers/TransfersModule.js:1299 +#: /app/src/modules/transfers/TransfersModule.js:1294 msgid "— Select destination —" msgstr "— Sélectionner la destination —" -#: /app/src/modules/transfers/TransfersModule.js:1316 +#: /app/src/modules/transfers/TransfersModule.js:1325 msgid "Please select at least one transfer to add" msgstr "Veuillez sélectionner au moins un virement à ajouter" -#: /app/src/modules/transfers/TransfersModule.js:1327 +#: /app/src/modules/transfers/TransfersModule.js:1336 msgid "Please select a destination account for all selected transfers" msgstr "" "Veuillez sélectionner un compte de destination pour tous les virements " "sélectionnés" -#: /app/src/modules/transfers/TransfersModule.js:1333 +#: /app/src/modules/transfers/TransfersModule.js:1342 msgid "Source and destination accounts must be different" msgstr "Les comptes source et de destination doivent être différents" -#: /app/src/modules/transfers/TransfersModule.js:1350 +#: /app/src/modules/transfers/TransfersModule.js:1359 msgid "%n transfer added successfully" msgid_plural "%n transfers added successfully" msgstr[0] "%n virement ajouté avec succès" msgstr[1] "%n virements ajoutés avec succès" -#: /app/src/modules/transfers/TransfersModule.js:1353 +#: /app/src/modules/transfers/TransfersModule.js:1362 msgid "Failed to add selected transfers" msgstr "Échec de l'ajout des virments sélectionnés" @@ -13077,11 +13698,11 @@ msgstr "Échec de l'ajout des virments sélectionnés" msgid "{name} (closed)" msgstr "{name} (clôturé)" -#: /app/src/utils/billDates.js:29 +#: /app/src/utils/billDates.js:95 msgid "Paid {paidDate}, next due {dueDate}" -msgstr "" +msgstr "Payé le {paidDate}, prochaine échéance le {dueDate}" -#: /app/src/utils/billDates.js:34 +#: /app/src/utils/billDates.js:100 #, fuzzy #| msgid "Paid: {date}" msgid "Paid {date}" @@ -13117,7 +13738,7 @@ msgstr "Lecture seule" #: /app/src/utils/dialogs.js:339 msgid "Got it" -msgstr "" +msgstr "D'accord" #: /app/src/utils/formatters.js:268 /app/templates/index.php:5984 msgid "Mortgage" @@ -13129,9 +13750,115 @@ msgstr "Hypothèque" msgid "Week of {date}" msgstr "Échéance le {date}" +#: /app/src/utils/incomeStatus.js:35 +#, fuzzy +#| msgid "Received" +msgid "Received {date}" +msgstr "Reçu" + +#: /app/src/utils/incomeStatus.js:39 +msgid "No date set" +msgstr "Aucune date fixée" + +#: /app/src/utils/incomeStatus.js:43 /app/templates/index.php:2792 +msgid "Inactive" +msgstr "Inactif" + +#: /app/src/utils/incomeStatus.js:53 /app/templates/index.php:2887 +msgid "Expected Soon" +msgstr "Attendu prochainement" + +#: /app/src/utils/incomeStatus.js:59 +#, fuzzy +#| msgid "Paid {paidDate}, next due {dueDate}" +msgid "Received {receivedDate}, next expected {expectedDate}" +msgstr "Payé le {paidDate}, prochaine échéance le {dueDate}" + #: /app/src/utils/loading.js:84 msgid "Retry" +msgstr "Réessayer" + +#: /app/src/utils/matchingDialog.js:33 +msgid "Exact amount" +msgstr "Montant exact" + +#: /app/src/utils/matchingDialog.js:34 +msgid "Similar amount (±5%)" +msgstr "Montant similaire (±5 %)" + +#: /app/src/utils/matchingDialog.js:35 +msgid "Approximate amount (±20%)" +msgstr "Montant approximatif (±20 %)" + +#: /app/src/utils/matchingDialog.js:36 +msgid "Vendor matches" +msgstr "Correspondance du fournisseur" + +#: /app/src/utils/matchingDialog.js:37 +msgid "Vendor partially matches" +msgstr "Correspondance partielle du fournisseur" + +#: /app/src/utils/matchingDialog.js:38 +msgid "Description matches" +msgstr "Correspondance de la description" + +#: /app/src/utils/matchingDialog.js:39 +msgid "Description partially matches" +msgstr "Correspondance partielle de la description" + +#: /app/src/utils/matchingDialog.js:40 +msgid "Same day" +msgstr "Le jour même" + +#: /app/src/utils/matchingDialog.js:41 +msgid "±1 day" +msgstr "±1 jour" + +#: /app/src/utils/matchingDialog.js:42 +msgid "±3 days" +msgstr "±3 jours" + +#: /app/src/utils/matchingDialog.js:43 +msgid "±7 days" +msgstr "±7 jours" + +#: /app/src/utils/matchingDialog.js:61 +msgid "Strong match" +msgstr "Forte correspondance" + +#: /app/src/utils/matchingDialog.js:73 +msgid "Existing Transaction Found" +msgstr "Opération existante trouvée" + +#: /app/src/utils/matchingDialog.js:77 +msgid "" +"We found existing transactions that may already represent this bill payment " +"({billName}, {amount}). Would you like to link one instead of creating a new " +"transaction?" +msgstr "" +"Nous avons trouvé des opérations existantes susceptibles de correspondre à " +"ce paiement de facture ({billName}, {amount}). Souhaitez-vous en associer " +"une plutôt que de créer une nouvelle opération ?" + +#: /app/src/utils/matchingDialog.js:78 +msgid "" +"Whichever you choose, the bill is marked as paid and moves on to its next " +"due date." msgstr "" +"Quel que soit votre choix, la facture est marquée comme payée et passe à la " +"prochaine date d'échéance." + +#: /app/src/utils/matchingDialog.js:85 +msgid "Create a new transaction instead" +msgstr "Créer plutôt une nouvelle opération" + +#: /app/src/utils/matchingDialog.js:91 +msgid "Don't create any transaction (just mark as paid)" +msgstr "Ne pas créer une opération (marquer simplement comme payé)" + +#: /app/src/utils/matchingDialog.js:92 +msgid "Your account balance will NOT reflect this payment." +msgstr "Le solde de votre compte ne reflétera PAS ce paiement." #: /app/src/utils/multiselect.js:32 msgid "Select column(s)..." @@ -13161,7 +13888,7 @@ msgstr "Effacer la recherche" msgid "Tools & Settings" msgstr "Outils et paramètres" -#: /app/templates/index.php:217 /app/templates/index.php:7554 +#: /app/templates/index.php:217 /app/templates/index.php:7555 msgid "Help" msgstr "Aide" @@ -13507,7 +14234,7 @@ msgid "Filters" msgstr "Filtres" #: /app/templates/index.php:1458 /app/templates/index.php:1615 -#: /app/templates/index.php:6564 +#: /app/templates/index.php:6565 msgid "Filter Transactions" msgstr "Filtrer les opérations" @@ -13520,12 +14247,12 @@ msgid "Cleared" msgstr "Effacées" #: /app/templates/index.php:1489 /app/templates/index.php:1662 -#: /app/templates/index.php:6575 +#: /app/templates/index.php:6576 msgid "From Date" msgstr "À partir de" #: /app/templates/index.php:1494 /app/templates/index.php:1667 -#: /app/templates/index.php:6580 +#: /app/templates/index.php:6581 msgid "To Date" msgstr "Jusqu'au" @@ -13558,7 +14285,7 @@ msgid "Save Preset" msgstr "Enregistrer le préréglage" #: /app/templates/index.php:1544 /app/templates/index.php:1854 -#: /app/templates/index.php:2805 /app/templates/index.php:6471 +#: /app/templates/index.php:2805 /app/templates/index.php:6472 msgid "Actions" msgstr "Actions" @@ -13679,7 +14406,7 @@ msgstr "100 par page" msgid "250 per page" msgstr "250 par page" -#: /app/templates/index.php:1824 /app/templates/index.php:7315 +#: /app/templates/index.php:1824 /app/templates/index.php:7316 msgid "Select all" msgstr "Tout sélectionner" @@ -13715,10 +14442,6 @@ msgstr "Attribuez une couleur différente à chaque catégorie sélectionnée" msgid "Recolor" msgstr "Recoloriser" -#: /app/templates/index.php:1943 /app/templates/index.php:2244 -msgid "No categories yet" -msgstr "Aucune catégorie pour l'instant" - #: /app/templates/index.php:1944 msgid "" "Create your first category to start organizing your transactions, or use our " @@ -13843,14 +14566,19 @@ msgid "" "yet; negative means your budgets add up to more than came in. Amounts " "carried over from earlier months are not counted again." msgstr "" +"Les revenus perçus ce mois-ci dans vos catégories de revenus, moins le total " +"des dépenses budgétées de ce mois-ci. Un solde positif correspond à l'argent " +"que vous n'avez pas encore affecté à un budget ; un solde négatif signifie " +"que le total de vos budgets est supérieur aux revenus. Les montants reportés " +"des mois précédents ne sont pas comptabilisés une nouvelle fois." #: /app/templates/index.php:2174 msgid "Ready to Assign" -msgstr "" +msgstr "Prêt à attribuer" #: /app/templates/index.php:2175 msgid "Income this month minus this month's budgets" -msgstr "" +msgstr "Revenus de ce mois-ci moins les dépenses prévues pour ce mois-ci" #: /app/templates/index.php:2184 msgid "Total Budgeted" @@ -13920,7 +14648,7 @@ msgstr "Parcourir les fichiers" #: /app/templates/index.php:2300 msgid "Switching from another app?" -msgstr "" +msgstr "Vous venez d'une autre application ?" #: /app/templates/index.php:2301 msgid "" @@ -13928,25 +14656,36 @@ msgid "" "file. Accounts and categories are created as needed, and transfers between " "your accounts are linked." msgstr "" +"Exportez vos données depuis l'application que vous quittez, sélectionnez-les " +"ici, puis choisissez le fichier. Les comptes et les catégories sont créés " +"selon vos besoins, et les virements entre vos comptes sont mis en " +"correspondance." #: /app/templates/index.php:2306 msgid "Options > Export data, then export all transactions." -msgstr "" +msgstr "Options > Exporter les données, puis exporter toutes les opérations." #: /app/templates/index.php:2312 msgid "" "Plan menu > Export Plan Data. Unzip the download and pick the file ending in " "\"Register\". YNAB 4 register exports work too." msgstr "" +"Menu « Plan » > « Exporter les données du plan ». Décompressez le fichier " +"téléchargé et sélectionnez celui dont l'extension est « Register ». Les " +"exportations au format « Register » de YNAB 4 fonctionnent également." #: /app/templates/index.php:2318 msgid "" "Open All accounts and choose Export from the menu above the transactions." msgstr "" +"Ouvrez « Tous les comptes » et sélectionnez « Exporter » dans le menu situé " +"au-dessus des opérations." #: /app/templates/index.php:2324 msgid "Use the transactions.csv file from Mint's \"Export all transactions\"." msgstr "" +"Utilisez le fichier \"transactions.csv\" issu de la fonction « Exporter " +"toutes les transactions » de Mint." #: /app/templates/index.php:2330 #, fuzzy @@ -13957,6 +14696,7 @@ msgstr "Échec du chargement des opérations" #: /app/templates/index.php:2336 msgid "Export your entries as a CSV file, covering all accounts." msgstr "" +"Exportez vos entrées sous forme de fichier CSV, en incluant tous les comptes." #: /app/templates/index.php:2344 msgid "Supported Formats:" @@ -14243,10 +14983,6 @@ msgstr "Règles de recherche..." msgid "Search rules" msgstr "Rechercher des règles" -#: /app/templates/index.php:2792 -msgid "Inactive" -msgstr "Inactif" - #: /app/templates/index.php:2801 msgid "Pri" msgstr "Principes pour l'investissement responsable" @@ -14494,9 +15230,9 @@ msgstr "Enregistrer les paramètres actuels du rapport" #: /app/templates/index.php:3175 /app/templates/index.php:5084 #: /app/templates/index.php:5105 /app/templates/index.php:5192 #: /app/templates/index.php:5555 /app/templates/index.php:5950 -#: /app/templates/index.php:6147 /app/templates/index.php:6380 -#: /app/templates/index.php:6550 /app/templates/index.php:6767 -#: /app/templates/index.php:6862 /app/templates/index.php:7249 +#: /app/templates/index.php:6147 /app/templates/index.php:6381 +#: /app/templates/index.php:6551 /app/templates/index.php:6768 +#: /app/templates/index.php:6863 /app/templates/index.php:7250 msgid "Save" msgstr "Sauvegarder" @@ -14747,7 +15483,7 @@ msgid "Edit pension" msgstr "Modifier la pension de retraite" #: /app/templates/index.php:3817 /app/templates/index.php:4859 -#: /app/templates/index.php:5338 /app/templates/index.php:7457 +#: /app/templates/index.php:5338 /app/templates/index.php:7458 msgid "Provider" msgstr "Fournisseur" @@ -15068,6 +15804,8 @@ msgstr "" #: /app/templates/index.php:4395 msgid "Changes are saved as you make them." msgstr "" +"Les modifications sont enregistrées au fur et à mesure que vous les " +"effectuez." #: /app/templates/index.php:4399 #, fuzzy @@ -15233,7 +15971,7 @@ msgstr "Caractère utilisé pour la séparation des milliers" msgid "Space ( )" msgstr "Espace ( )" -#: /app/templates/index.php:4538 /app/templates/index.php:6513 +#: /app/templates/index.php:4538 /app/templates/index.php:6514 msgid "Preview:" msgstr "Aperçu :" @@ -15364,7 +16102,7 @@ msgstr "Format privilégié pour les exportations de données" msgid "CSV" msgstr "CSV" -#: /app/templates/index.php:4689 /app/templates/index.php:6397 +#: /app/templates/index.php:4689 /app/templates/index.php:6398 msgid "JSON" msgstr "JSON" @@ -15700,6 +16438,8 @@ msgid "" "Put every setting on this page back to its default. Your accounts, " "transactions and other data are not touched." msgstr "" +"Réinitialisez tous les paramètres de cette page à leurs valeurs par défaut. " +"Vos comptes, vos opérations et vos autres données ne seront pas modifiés." #: /app/templates/index.php:4944 /app/templates/index.php:4949 msgid "Factory Reset" @@ -15718,13 +16458,13 @@ msgstr "" #: /app/templates/index.php:4965 msgid "What's new" -msgstr "" +msgstr "Quoi de neuf" #: /app/templates/index.php:4969 msgid "Open docs site" msgstr "Ouvrir le site de documentation" -#: /app/templates/index.php:4973 /app/templates/index.php:7562 +#: /app/templates/index.php:4973 /app/templates/index.php:7563 msgid "Report an Issue" msgstr "Signaler un problème" @@ -15810,8 +16550,8 @@ msgstr "Copiez ces informations lorsque vous signalez des problèmes." msgid "Copy to Clipboard" msgstr "Copier dans le presse-papiers" -#: /app/templates/index.php:5065 /app/templates/index.php:6911 -#: /app/templates/index.php:6943 +#: /app/templates/index.php:5065 /app/templates/index.php:6912 +#: /app/templates/index.php:6944 msgid "Tag Name" msgstr "Nom de l'étiquette" @@ -15820,16 +16560,16 @@ msgid "e.g., Business, Vacation, Groceries" msgstr "par ex. : Affaires, Vacances, Courses" #: /app/templates/index.php:5069 /app/templates/index.php:5254 -#: /app/templates/index.php:6826 /app/templates/index.php:6915 -#: /app/templates/index.php:6947 +#: /app/templates/index.php:6827 /app/templates/index.php:6916 +#: /app/templates/index.php:6948 msgid "Color" msgstr "Couleur" #: /app/templates/index.php:5072 msgid "Color (hex code)" -msgstr "" +msgstr "Couleur (code hexadécimal)" -#: /app/templates/index.php:5080 /app/templates/index.php:6955 +#: /app/templates/index.php:5080 /app/templates/index.php:6956 msgid "" "Stop offering this tag when tagging new transactions. Transactions that " "already have it keep it." @@ -16393,10 +17133,10 @@ msgid "Save transaction" msgstr "Enregistrer l'opération" #: /app/templates/index.php:5951 /app/templates/index.php:6148 -#: /app/templates/index.php:6381 /app/templates/index.php:6551 -#: /app/templates/index.php:6768 /app/templates/index.php:6787 -#: /app/templates/index.php:6863 /app/templates/index.php:7146 -#: /app/templates/index.php:7186 /app/templates/index.php:7212 +#: /app/templates/index.php:6382 /app/templates/index.php:6552 +#: /app/templates/index.php:6769 /app/templates/index.php:6788 +#: /app/templates/index.php:6864 /app/templates/index.php:7147 +#: /app/templates/index.php:7187 /app/templates/index.php:7213 msgid "Cancel and close dialog" msgstr "Annuler et fermer la boîte de dialogue" @@ -16570,11 +17310,11 @@ msgstr "par ex. Canal+, Loyer, Facture d'électricité" msgid "Name of the vendor or recurring bill" msgstr "Nom du fournisseur ou de la facture récurrente" -#: /app/templates/index.php:6175 /app/templates/index.php:6659 +#: /app/templates/index.php:6175 /app/templates/index.php:6660 msgid "Transaction description (optional)" msgstr "Description de l'opération (facultatif)" -#: /app/templates/index.php:6176 /app/templates/index.php:6660 +#: /app/templates/index.php:6176 /app/templates/index.php:6661 msgid "Used as the description when transactions are auto-generated" msgstr "" "Utilisé comme description lorsque les opérations sont générées " @@ -16584,10 +17324,6 @@ msgstr "" msgid "Expected bill amount" msgstr "Montant prévu de la facture" -#: /app/templates/index.php:6196 -msgid "Custom" -msgstr "Personnalisé" - #: /app/templates/index.php:6198 msgid "How often this bill is due" msgstr "Fréquence de paiement de cette facture" @@ -16600,11 +17336,7 @@ msgstr "Sélectionner les mois" msgid "Select which months this bill occurs" msgstr "Sélectionnez les mois au cours desquels cette facture est émise" -#: /app/templates/index.php:6227 -msgid "Due Month" -msgstr "Mois d'échéance" - -#: /app/templates/index.php:6229 /app/templates/index.php:6705 +#: /app/templates/index.php:6229 /app/templates/index.php:6706 msgid "Select month..." msgstr "Sélectionnez le mois..." @@ -16634,7 +17366,7 @@ msgstr "Payer depuis le compte" msgid "Account used to pay this bill (optional)" msgstr "Compte utilisé pour régler cette facture (facultatif)" -#: /app/templates/index.php:6280 /app/templates/index.php:6747 +#: /app/templates/index.php:6280 /app/templates/index.php:6748 msgid "Auto-detect Pattern" msgstr "Détection automatique de récurrence" @@ -16650,11 +17382,11 @@ msgstr "" "Les opérations importées correspondant à ce modèle (montant similaire, date " "d'échéance proche) marquent automatiquement la facture comme payée" -#: /app/templates/index.php:6287 /app/templates/index.php:6754 +#: /app/templates/index.php:6287 /app/templates/index.php:6755 msgid "Additional notes..." msgstr "Remarques supplémentaires..." -#: /app/templates/index.php:6288 /app/templates/index.php:6755 +#: /app/templates/index.php:6288 /app/templates/index.php:6756 msgid "Any additional notes (optional)" msgstr "Toute remarque supplémentaire (facultatif)" @@ -16662,74 +17394,74 @@ msgstr "Toute remarque supplémentaire (facultatif)" msgid "Schedule" msgstr "Planifier" -#: /app/templates/index.php:6304 +#: /app/templates/index.php:6305 msgid "End Date" msgstr "Date de fin" -#: /app/templates/index.php:6306 +#: /app/templates/index.php:6307 msgid "Bill will automatically stop after this date (optional)" msgstr "" "La facturation s'arrêtera automatiquement après cette date (facultatif)" -#: /app/templates/index.php:6310 +#: /app/templates/index.php:6311 msgid "Remaining Payments" msgstr "Paiements restants" -#: /app/templates/index.php:6311 +#: /app/templates/index.php:6312 msgid "e.g., 10" msgstr "par ex., 10" -#: /app/templates/index.php:6312 +#: /app/templates/index.php:6313 msgid "Number of payments left before bill auto-deactivates (optional)" msgstr "" "Nombre de paiements restants avant la désactivation automatique de la " "facture (facultatif)" -#: /app/templates/index.php:6316 +#: /app/templates/index.php:6317 msgid "Reminder" msgstr "Rappel" -#: /app/templates/index.php:6318 +#: /app/templates/index.php:6319 msgid "No reminder" msgstr "Aucun rappel" -#: /app/templates/index.php:6319 +#: /app/templates/index.php:6320 msgid "On due date" msgstr "À l'échéance" -#: /app/templates/index.php:6320 +#: /app/templates/index.php:6321 msgid "1 day before" msgstr "1 jour avant" -#: /app/templates/index.php:6321 +#: /app/templates/index.php:6322 msgid "2 days before" msgstr "2 jours avant" -#: /app/templates/index.php:6322 +#: /app/templates/index.php:6323 msgid "3 days before" msgstr "3 jours avant" -#: /app/templates/index.php:6323 +#: /app/templates/index.php:6324 msgid "5 days before" msgstr "5 jours avant" -#: /app/templates/index.php:6324 +#: /app/templates/index.php:6325 msgid "1 week before" msgstr "1 semaine avant" -#: /app/templates/index.php:6325 +#: /app/templates/index.php:6326 msgid "2 weeks before" msgstr "2 semaines avant" -#: /app/templates/index.php:6327 +#: /app/templates/index.php:6328 msgid "Receive a notification before bill is due" msgstr "Recevez une notification avant l'échéance de la facture" -#: /app/templates/index.php:6333 +#: /app/templates/index.php:6334 msgid "Create future transaction for this bill" msgstr "Créer une opération à venir pour cette facture" -#: /app/templates/index.php:6335 +#: /app/templates/index.php:6336 msgid "" "Keeps a scheduled transaction for the next due date so the upcoming payment " "shows in the transaction list and forecasts. Untick to never pre-create " @@ -16739,32 +17471,32 @@ msgstr "" "paiement à venir apparaisse dans la liste des opérations et les prévisions. " "Décochez cette case pour ne jamais pré-créer d'opérations pour cette facture." -#: /app/templates/index.php:6347 +#: /app/templates/index.php:6348 msgid "Auto-pay when due" msgstr "Paiement automatique à l'échéance" -#: /app/templates/index.php:6349 +#: /app/templates/index.php:6350 msgid "" "Automatically mark this bill as paid when due date arrives (requires account)" msgstr "" "Marquer automatiquement cette facture comme payée à la date d'échéance " "(nécessite un compte)" -#: /app/templates/index.php:6355 /app/templates/index.php:6761 +#: /app/templates/index.php:6356 /app/templates/index.php:6762 msgid "Exclude from forecast (extraordinary)" msgstr "Exclure des prévisions (exceptionnel)" -#: /app/templates/index.php:6357 +#: /app/templates/index.php:6358 msgid "Transactions generated by this bill are left out of forecast averages." msgstr "" "Les opérations générées par cette facture sont exclues des moyennes " "prévisionnelles." -#: /app/templates/index.php:6362 +#: /app/templates/index.php:6363 msgid "Auto-pay failed!" msgstr "Le paiement automatique a échoué !" -#: /app/templates/index.php:6362 +#: /app/templates/index.php:6363 msgid "" "Auto-pay has been disabled. Please check the bill details and re-enable if " "needed." @@ -16772,123 +17504,119 @@ msgstr "" "Le paiement automatique a été désactivé. Veuillez vérifier les détails de la " "facture et le réactiver si nécessaire." -#: /app/templates/index.php:6373 /app/templates/index.php:7133 +#: /app/templates/index.php:6374 /app/templates/index.php:7134 msgid "Add Split" msgstr "Ajouter une ventilation" -#: /app/templates/index.php:6380 +#: /app/templates/index.php:6381 msgid "Save bill" msgstr "Enregistrer la facture" -#: /app/templates/index.php:6390 +#: /app/templates/index.php:6391 msgid "Add/Edit Rule" msgstr "Ajouter/Modifier une règle" -#: /app/templates/index.php:6395 +#: /app/templates/index.php:6396 msgid "Rule editor view" msgstr "Vue de l'éditeur de règles" -#: /app/templates/index.php:6396 +#: /app/templates/index.php:6397 msgid "Builder" msgstr "Constructeur" -#: /app/templates/index.php:6405 +#: /app/templates/index.php:6406 msgid "Rule Name" msgstr "Nom de la règle" -#: /app/templates/index.php:6406 +#: /app/templates/index.php:6407 msgid "e.g., Amazon Purchases, Grocery Stores" msgstr "par ex. Achats sur Amazon, Épiceries" -#: /app/templates/index.php:6407 +#: /app/templates/index.php:6408 msgid "A descriptive name for this rule" msgstr "Un nom descriptif pour cette règle" -#: /app/templates/index.php:6411 +#: /app/templates/index.php:6412 msgid "Group" msgstr "Grouper" -#: /app/templates/index.php:6414 +#: /app/templates/index.php:6415 msgid "Optional" msgstr "Facultatif" -#: /app/templates/index.php:6418 +#: /app/templates/index.php:6419 msgid "Priority" msgstr "Priorité" -#: /app/templates/index.php:6427 +#: /app/templates/index.php:6428 msgid "Matching Criteria" msgstr "Critères de correspondance" -#: /app/templates/index.php:6428 +#: /app/templates/index.php:6429 msgid "Define when this rule should apply to a transaction" msgstr "Définissez quand cette règle doit s'appliquer à une opération" -#: /app/templates/index.php:6433 +#: /app/templates/index.php:6434 msgid "Match Field" msgstr "Champ de correspondance" -#: /app/templates/index.php:6441 +#: /app/templates/index.php:6442 msgid "Which transaction field to match against" msgstr "Quel champ de l'opération utiliser pour la correspondance" -#: /app/templates/index.php:6447 +#: /app/templates/index.php:6448 msgid "Contains" msgstr "Contient" -#: /app/templates/index.php:6448 +#: /app/templates/index.php:6449 msgid "Exact Match" msgstr "Correspondance exacte" -#: /app/templates/index.php:6449 +#: /app/templates/index.php:6450 msgid "Starts With" msgstr "Commence par" -#: /app/templates/index.php:6450 +#: /app/templates/index.php:6451 msgid "Ends With" msgstr "Se termine par" -#: /app/templates/index.php:6451 +#: /app/templates/index.php:6452 msgid "Regex" msgstr "Expression régulière" -#: /app/templates/index.php:6453 +#: /app/templates/index.php:6454 msgid "How to match the pattern" msgstr "Comment faire correspondre l'occurence" -#: /app/templates/index.php:6457 -msgid "Pattern" -msgstr "Occurence" - -#: /app/templates/index.php:6458 +#: /app/templates/index.php:6459 msgid "e.g., AMAZON, grocery|supermarket" msgstr "par ex. CDiscount, épicerie|supermarché" -#: /app/templates/index.php:6459 +#: /app/templates/index.php:6460 msgid "Text or pattern to match (case-insensitive)" msgstr "Texte ou occurence à faire correspondre (insensible à la casse)" -#: /app/templates/index.php:6472 +#: /app/templates/index.php:6473 msgid "What to do when a transaction matches these criteria" msgstr "Que faire lorsqu'une opération répond à ces critères" -#: /app/templates/index.php:6484 +#: /app/templates/index.php:6485 msgid "Only active rules are applied" msgstr "Seules les règles actives sont appliquées" -#: /app/templates/index.php:6490 +#: /app/templates/index.php:6491 msgid "Apply during import" msgstr "Appliquer lors de l'importation" -#: /app/templates/index.php:6492 +#: /app/templates/index.php:6493 msgid "Auto-apply when importing transactions" msgstr "Appliquer automatiquement lors de l'importation des opérations" -#: /app/templates/index.php:6501 +#: /app/templates/index.php:6502 msgid "Rule JSON" msgstr "Règle JSON" -#: /app/templates/index.php:6503 +#: /app/templates/index.php:6504 msgid "" "The raw rule structure. Edit or paste JSON here — it is checked when you " "save. Copy it to move a rule between instances (category and account IDs are " @@ -16899,51 +17627,51 @@ msgstr "" "des instances (les ID de catégorie et de compte sont spécifiques à " "l'instance et peuvent nécessiter un ajustement)." -#: /app/templates/index.php:6507 +#: /app/templates/index.php:6508 msgid "Copy JSON" msgstr "Copier le JSON" -#: /app/templates/index.php:6513 +#: /app/templates/index.php:6514 msgid "matching transactions" msgstr "opérations correspondantes" -#: /app/templates/index.php:6513 +#: /app/templates/index.php:6514 msgid "showing first 50" msgstr "affichage des 50 premières" -#: /app/templates/index.php:6534 /app/templates/index.php:6603 +#: /app/templates/index.php:6535 /app/templates/index.php:6604 msgid "Updated" msgstr "Mises à jour" -#: /app/templates/index.php:6538 /app/templates/index.php:6607 +#: /app/templates/index.php:6539 /app/templates/index.php:6608 msgid "Skipped" msgstr "Ignorées" -#: /app/templates/index.php:6542 /app/templates/index.php:6611 +#: /app/templates/index.php:6543 /app/templates/index.php:6612 msgid "Failed" msgstr "Échouées" -#: /app/templates/index.php:6548 +#: /app/templates/index.php:6549 msgid "Preview matching transactions" msgstr "Prévisualiser les opérations correspondantes" -#: /app/templates/index.php:6549 +#: /app/templates/index.php:6550 msgid "Apply rule to uncategorized transactions now" msgstr "Appliquer la règle aux opérations non catégorisées maintenant" -#: /app/templates/index.php:6550 +#: /app/templates/index.php:6551 msgid "Save rule" msgstr "Enregistrer la règle" -#: /app/templates/index.php:6560 +#: /app/templates/index.php:6561 msgid "Apply Rules to Transactions" msgstr "Appliquer des règles aux opérations" -#: /app/templates/index.php:6589 /app/templates/index.php:6633 +#: /app/templates/index.php:6590 /app/templates/index.php:6634 msgid "Only apply to uncategorized transactions" msgstr "Appliquer uniquement aux opérations non catégorisées" -#: /app/templates/index.php:6591 +#: /app/templates/index.php:6592 msgid "" "When enabled, rules will only be applied to transactions that don't have a " "category assigned" @@ -16951,111 +17679,103 @@ msgstr "" "Une fois activées, les règles ne s'appliqueront qu'aux opérations sans " "catégorie attribuée" -#: /app/templates/index.php:6626 +#: /app/templates/index.php:6627 msgid "Run Rule" msgstr "Appliquer la règle" -#: /app/templates/index.php:6647 +#: /app/templates/index.php:6648 msgid "Add/Edit Recurring Income" msgstr "Ajouter/Modifier un revenu récurrent" -#: /app/templates/index.php:6652 +#: /app/templates/index.php:6653 msgid "Income Name" msgstr "Libellé du revenu" -#: /app/templates/index.php:6653 +#: /app/templates/index.php:6654 msgid "e.g., Salary, Dividends, Rental Income" msgstr "par ex. : Salaire, Dividendes, Revenus locatifs" -#: /app/templates/index.php:6654 +#: /app/templates/index.php:6655 msgid "Name of the recurring income" msgstr "Nom du revenu récurrent" -#: /app/templates/index.php:6664 +#: /app/templates/index.php:6665 msgid "Expected Amount" msgstr "Montant attendu" -#: /app/templates/index.php:6666 +#: /app/templates/index.php:6667 msgid "Expected amount each period" msgstr "Montant attendu pour chaque période" -#: /app/templates/index.php:6671 +#: /app/templates/index.php:6672 msgid "e.g., Employer Name, Company" msgstr "par ex. Nom de l'employeur, Entreprise" -#: /app/templates/index.php:6672 +#: /app/templates/index.php:6673 msgid "Who pays this income (optional)" msgstr "Qui verse ce revenu (facultatif)" -#: /app/templates/index.php:6687 +#: /app/templates/index.php:6688 msgid "How often you receive this income" msgstr "Fréquence à laquelle vous recevez ce revenu" -#: /app/templates/index.php:6697 -msgid "First payment date" -msgstr "Date du premier versement" - -#: /app/templates/index.php:6699 -msgid "Payments repeat from this date (optional)" -msgstr "Les paiements sont récurrents à partir de cette date (facultatif)" - -#: /app/templates/index.php:6703 +#: /app/templates/index.php:6704 msgid "Expected Month" msgstr "Mois prévu" -#: /app/templates/index.php:6719 +#: /app/templates/index.php:6720 msgid "Month when yearly income is expected" msgstr "Mois où le revenu annuel est attendu" -#: /app/templates/index.php:6727 +#: /app/templates/index.php:6728 msgid "Categorize this income (optional)" msgstr "Catégoriser ce revenu (facultatif)" -#: /app/templates/index.php:6731 +#: /app/templates/index.php:6732 msgid "Receive To Account" msgstr "Recevoir sur le compte" -#: /app/templates/index.php:6735 +#: /app/templates/index.php:6736 msgid "Account where income is received (optional)" msgstr "Compte de réception du revenu (facultatif)" -#: /app/templates/index.php:6741 +#: /app/templates/index.php:6742 msgid "Auto-create transaction when due" msgstr "Création automatique de l'opération à échéance" -#: /app/templates/index.php:6743 +#: /app/templates/index.php:6744 msgid "" "Automatically create a transaction when the expected date arrives (requires " "account)" msgstr "" "Créer automatiquement une opération à la date prévue (nécessite un compte)" -#: /app/templates/index.php:6748 +#: /app/templates/index.php:6749 msgid "e.g., PAYROLL, DIVIDEND" msgstr "par ex. : Salaires, Dividendes" -#: /app/templates/index.php:6749 +#: /app/templates/index.php:6750 msgid "Pattern to match in transaction descriptions for auto-linking" msgstr "" "Occurence à rechercher dans les descriptions de l'opération pour la liaison " "automatique" -#: /app/templates/index.php:6763 +#: /app/templates/index.php:6764 msgid "" "Transactions generated by this income are left out of forecast averages." msgstr "" "Les opérations générées par ces revenus sont exclues des moyennes " "prévisionnelles." -#: /app/templates/index.php:6767 +#: /app/templates/index.php:6768 msgid "Save income" msgstr "Enregistrer le revenu" -#: /app/templates/index.php:6778 +#: /app/templates/index.php:6779 msgid "Import Categories" msgstr "Importe les catégories" -#: /app/templates/index.php:6783 +#: /app/templates/index.php:6784 msgid "" "Categories that already exist are left unchanged; anything missing is " "created underneath them." @@ -17063,35 +17783,35 @@ msgstr "" "Les catégories existantes restent inchangées ; celles qui manquent sont " "créées sous celles-ci." -#: /app/templates/index.php:6794 +#: /app/templates/index.php:6795 msgid "Add/Edit Category" msgstr "Ajouter/Modifier une catégorie" -#: /app/templates/index.php:6805 +#: /app/templates/index.php:6806 msgid "Category Name" msgstr "Nom de la catégorie" -#: /app/templates/index.php:6818 +#: /app/templates/index.php:6819 msgid "Parent Category" msgstr "Catégorie parente" -#: /app/templates/index.php:6822 +#: /app/templates/index.php:6823 msgid "Make this a subcategory (optional)" msgstr "En faire une sous-catégorie (facultatif)" -#: /app/templates/index.php:6828 +#: /app/templates/index.php:6829 msgid "Color for charts and display" msgstr "Couleur pour les graphiques et l'affichage" -#: /app/templates/index.php:6836 +#: /app/templates/index.php:6837 msgid "Options" msgstr "Options" -#: /app/templates/index.php:6840 +#: /app/templates/index.php:6841 msgid "Exclude from reports" msgstr "Exclure des rapports" -#: /app/templates/index.php:6842 +#: /app/templates/index.php:6843 msgid "" "Transactions in this category will not count toward budgets, spending " "reports, or dashboard totals." @@ -17099,11 +17819,11 @@ msgstr "" "Les opérations de cette catégorie ne seront pas prises en compte dans les " "budgets, les rapports de dépenses ou les totaux des tableaux de bord." -#: /app/templates/index.php:6848 +#: /app/templates/index.php:6849 msgid "Exclude from budgeting" msgstr "Exclure du budget" -#: /app/templates/index.php:6850 +#: /app/templates/index.php:6851 msgid "" "For spending you track but never budget against. The category keeps counting " "in reports, the dashboard and every total — it just drops out of the Budget " @@ -17115,48 +17835,48 @@ msgstr "" "« Budget », des alertes budgétaires et du rapport budgétaire, tout comme ses " "sous-catégories." -#: /app/templates/index.php:6862 +#: /app/templates/index.php:6863 msgid "Save category" msgstr "Enregistrer la catégorie" -#: /app/templates/index.php:6880 /app/templates/index.php:6981 +#: /app/templates/index.php:6881 /app/templates/index.php:6982 msgid "Tag Set Name" msgstr "Nom du jeu d'étiquettes" -#: /app/templates/index.php:6881 /app/templates/index.php:6982 +#: /app/templates/index.php:6882 /app/templates/index.php:6983 msgid "e.g., Activity, Equipment, Location" msgstr "par ex. : Activité, Équipement, Location" -#: /app/templates/index.php:6885 /app/templates/index.php:6986 +#: /app/templates/index.php:6886 /app/templates/index.php:6987 msgid "Optional description" msgstr "Description facultative" -#: /app/templates/index.php:6912 /app/templates/index.php:6944 +#: /app/templates/index.php:6913 /app/templates/index.php:6945 msgid "e.g., Fishing, Rods, Online" msgstr "par ex. : Pêche, Cannes à pêche, En ligne" -#: /app/templates/index.php:6962 /app/templates/index.php:6993 +#: /app/templates/index.php:6963 /app/templates/index.php:6994 msgid "Save Changes" msgstr "Enregistrer les modifications" -#: /app/templates/index.php:7003 +#: /app/templates/index.php:7004 msgid "Find Transfer Matches" msgstr "Trouver des correspondances de virement" -#: /app/templates/index.php:7005 +#: /app/templates/index.php:7006 msgid "Source Transaction" msgstr "Opération source" -#: /app/templates/index.php:7016 +#: /app/templates/index.php:7017 msgid "Searching for matches..." msgstr "Recherche de correspondances..." -#: /app/templates/index.php:7019 +#: /app/templates/index.php:7020 msgid "No matching transactions found within the date range." msgstr "" "Aucune opération correspondante n'a été trouvée dans la plage de dates." -#: /app/templates/index.php:7020 +#: /app/templates/index.php:7021 msgid "" "Matches must have the same amount, opposite type (income/expense), and be " "within 3 days." @@ -17164,11 +17884,11 @@ msgstr "" "Les correspondances doivent avoir le même montant, être de type opposé " "(revenu/dépense) et se situer dans un intervalle de 3 jours." -#: /app/templates/index.php:7025 +#: /app/templates/index.php:7026 msgid "No match? Create the other side" msgstr "Aucune correspondance ? Créer l'autre côté" -#: /app/templates/index.php:7026 +#: /app/templates/index.php:7027 msgid "" "Creates the opposite transaction in the account you pick and links the pair " "as a transfer. Useful when the other account has nothing to import (e.g. a " @@ -17178,46 +17898,46 @@ msgstr "" "deux opérations sous forme de virement. Utile lorsque l'autre compte ne " "permet aucune importation (par exemple, un compte de prêt)." -#: /app/templates/index.php:7028 +#: /app/templates/index.php:7029 msgid "Counterpart account" msgstr "Compte de contrepartie" -#: /app/templates/index.php:7029 +#: /app/templates/index.php:7030 msgid "Create and link" msgstr "Créer et lier" -#: /app/templates/index.php:7033 /app/templates/index.php:7090 +#: /app/templates/index.php:7034 /app/templates/index.php:7091 msgid "Close dialog" msgstr "Fermer la boîte de dialogue" -#: /app/templates/index.php:7041 +#: /app/templates/index.php:7042 msgid "Match Transfers" msgstr "Correspondances de virements" -#: /app/templates/index.php:7058 +#: /app/templates/index.php:7059 msgid "Matched Pairs" msgstr "Paires appariées" -#: /app/templates/index.php:7062 +#: /app/templates/index.php:7063 msgid "Need Review" msgstr "À réviser" -#: /app/templates/index.php:7068 +#: /app/templates/index.php:7069 msgid "Auto-Matched Pairs" msgstr "Paires appariées automatiquement" -#: /app/templates/index.php:7069 +#: /app/templates/index.php:7070 msgid "" "These transactions were automatically linked. Click Undo to unlink a pair." msgstr "" "Ces opérations ont été appariées automatiquement. Cliquez sur Annuler pour " "dissocier une paire." -#: /app/templates/index.php:7075 +#: /app/templates/index.php:7076 msgid "Needs Manual Review" msgstr "Nécessite une vérification manuelle" -#: /app/templates/index.php:7076 +#: /app/templates/index.php:7077 msgid "" "These transactions have multiple potential matches. Select the correct match " "for each." @@ -17225,7 +17945,7 @@ msgstr "" "Ces opérations présentent plusieurs correspondances potentielles. " "Sélectionnez la correspondance appropriée pour chacune d'elles." -#: /app/templates/index.php:7083 +#: /app/templates/index.php:7084 msgid "" "Matches require: same amount, same currency, opposite type (income/expense), " "different accounts, within your configured date window." @@ -17234,367 +17954,370 @@ msgstr "" "opposé (revenu/dépense), des comptes différents et une date située dans la " "plage configurée." -#: /app/templates/index.php:7088 +#: /app/templates/index.php:7089 msgid "Scan for Matches" msgstr "Rechercher des correspondances" -#: /app/templates/index.php:7107 +#: /app/templates/index.php:7108 msgid "Amount:" msgstr "Montant :" -#: /app/templates/index.php:7138 +#: /app/templates/index.php:7139 msgid "Remaining to allocate:" msgstr "Reste à allouer :" -#: /app/templates/index.php:7143 +#: /app/templates/index.php:7144 msgid "Unsplit Transaction" msgstr "Opération dissociée" -#: /app/templates/index.php:7145 +#: /app/templates/index.php:7146 msgid "Save Splits" msgstr "Enregistrer les ventilations" -#: /app/templates/index.php:7155 +#: /app/templates/index.php:7156 msgid "Bulk Edit Transactions" msgstr "Modifier les opérations en masse" -#: /app/templates/index.php:7156 +#: /app/templates/index.php:7157 msgid "Edit fields for" msgstr "Modifier les champs pour" -#: /app/templates/index.php:7156 +#: /app/templates/index.php:7157 msgid "selected transactions. Leave fields empty to keep existing values." msgstr "" "les opérations sélectionnées. Laissez les champs vides pour conserver les " "valeurs existantes." -#: /app/templates/index.php:7157 +#: /app/templates/index.php:7158 msgid "Bulk edit form" msgstr "Formulaire de modification en masse" -#: /app/templates/index.php:7163 +#: /app/templates/index.php:7164 msgid "Update category for all selected transactions (optional)" msgstr "" "Mettre à jour la catégorie pour toutes les opérations sélectionnées " "(facultatif)" -#: /app/templates/index.php:7169 +#: /app/templates/index.php:7170 msgid "Update vendor name for all selected transactions (optional)" msgstr "" "Mettre à jour le nom du fournisseur pour toutes les opérations sélectionnées " "(facultatif)" -#: /app/templates/index.php:7175 +#: /app/templates/index.php:7176 msgid "Update reference number for all selected transactions (optional)" msgstr "" "Mettre à jour le numéro de référence pour toutes les opérations " "sélectionnées (facultatif)" -#: /app/templates/index.php:7181 +#: /app/templates/index.php:7182 msgid "Update notes for all selected transactions (optional)" msgstr "" "Mettre à jour les remarques pour toutes les opérations sélectionnées " "(facultatif)" -#: /app/templates/index.php:7185 +#: /app/templates/index.php:7186 msgid "Update selected transactions" msgstr "Mettre à jour les opérations sélectionnées" -#: /app/templates/index.php:7185 +#: /app/templates/index.php:7186 msgid "Update Transactions" msgstr "Mettre à jour les opérations" -#: /app/templates/index.php:7195 +#: /app/templates/index.php:7196 msgid "Bulk Edit Tags" msgstr "Modifie en masse les étiquettes" -#: /app/templates/index.php:7197 +#: /app/templates/index.php:7198 msgid "Bulk tag form" msgstr "Formulaire des étiquettes en masse" -#: /app/templates/index.php:7199 +#: /app/templates/index.php:7200 msgid "Add these tags" msgstr "Ajouter ces étiquettes" -#: /app/templates/index.php:7204 +#: /app/templates/index.php:7205 msgid "Remove these tags" msgstr "Supprimer ces étiquettes" -#: /app/templates/index.php:7211 +#: /app/templates/index.php:7212 msgid "Apply tag changes to selected transactions" msgstr "" "Appliquer les modifications des étiquettes aux opérations sélectionnées" -#: /app/templates/index.php:7211 +#: /app/templates/index.php:7212 msgid "Apply Tags" msgstr "Appliquer les étiquettes" -#: /app/templates/index.php:7222 +#: /app/templates/index.php:7223 msgid "Contact form" msgstr "Formulaire de contact" -#: /app/templates/index.php:7230 +#: /app/templates/index.php:7231 msgid "Nextcloud User" msgstr "Utilisateur Nextcloud" -#: /app/templates/index.php:7232 +#: /app/templates/index.php:7233 msgid "" "Type a name, user ID or email to link a Nextcloud user, or leave it empty " "for someone without an account" msgstr "" +"Saisissez un nom, un identifiant ou une adresse e-mail pour associer un " +"utilisateur Nextcloud, ou laissez ce champ vide pour une personne ne " +"disposant pas de compte" -#: /app/templates/index.php:7237 +#: /app/templates/index.php:7238 msgid "e.g., John, Roommate, Partner" msgstr "par ex. Jean, Colocataire, Partenaire" -#: /app/templates/index.php:7241 +#: /app/templates/index.php:7242 msgid "Email" msgstr "E-mail" -#: /app/templates/index.php:7242 +#: /app/templates/index.php:7243 msgid "Optional email address" msgstr "Adresse e-mail facultative" -#: /app/templates/index.php:7259 +#: /app/templates/index.php:7260 msgid "Share Expense" msgstr "Partager une dépense" -#: /app/templates/index.php:7260 +#: /app/templates/index.php:7261 msgid "Share expense form" msgstr "Formulaire de partage d'une dépense" -#: /app/templates/index.php:7270 +#: /app/templates/index.php:7271 msgid "Split Method" msgstr "Méthode de répartition" -#: /app/templates/index.php:7272 +#: /app/templates/index.php:7273 msgid "Equally" msgstr "Equitablement" -#: /app/templates/index.php:7273 +#: /app/templates/index.php:7274 msgid "By percentage" msgstr "En pourcentage" -#: /app/templates/index.php:7274 +#: /app/templates/index.php:7275 msgid "By amount" msgstr "Par montant" -#: /app/templates/index.php:7279 +#: /app/templates/index.php:7280 msgid "Split between" msgstr "Ventilé entre" -#: /app/templates/index.php:7287 +#: /app/templates/index.php:7288 msgid "Optional notes about this split" msgstr "Remarques facultatives concernant cette répartition" -#: /app/templates/index.php:7291 +#: /app/templates/index.php:7292 msgid "Save Split" msgstr "Enregistrer la ventilation" -#: /app/templates/index.php:7301 +#: /app/templates/index.php:7302 msgid "Settle Expenses" msgstr "Régler les dépenses" -#: /app/templates/index.php:7302 +#: /app/templates/index.php:7303 msgid "Settlement form" msgstr "Formulaire de règlement" -#: /app/templates/index.php:7311 +#: /app/templates/index.php:7312 msgid "Select expenses to settle" msgstr "Sélectionnez les dépenses à régler" -#: /app/templates/index.php:7333 /app/templates/quick-add.php:66 +#: /app/templates/index.php:7334 /app/templates/quick-add.php:66 msgid "Optional notes" msgstr "Remarques facultatives" -#: /app/templates/index.php:7337 +#: /app/templates/index.php:7338 msgid "Settle Selected" msgstr "Règlement sélectionné" -#: /app/templates/index.php:7347 +#: /app/templates/index.php:7348 msgid "Contact Details" msgstr "Détails du contact" -#: /app/templates/index.php:7354 +#: /app/templates/index.php:7355 msgid "Balance:" msgstr "Solde :" -#: /app/templates/index.php:7360 +#: /app/templates/index.php:7361 msgid "Settle All" msgstr "Tout régler" -#: /app/templates/index.php:7361 +#: /app/templates/index.php:7362 msgid "Record Payment" msgstr "Enregistrer le paiement" -#: /app/templates/index.php:7366 +#: /app/templates/index.php:7367 msgid "Settlement History" msgstr "Historique des règlements" -#: /app/templates/index.php:7392 +#: /app/templates/index.php:7393 msgid "Confirm Factory Reset" msgstr "Confirmer la réinitialisation aux paramètres d'usine" -#: /app/templates/index.php:7396 +#: /app/templates/index.php:7397 msgid "WARNING: This action cannot be undone!" msgstr "AVERTISSEMENT : Cette action est irréversible !" -#: /app/templates/index.php:7397 +#: /app/templates/index.php:7398 msgid "A factory reset will permanently delete ALL of your data including:" msgstr "" "Une réinitialisation aux paramètres d'usine supprimera définitivement TOUTES " "vos données, y compris :" -#: /app/templates/index.php:7399 +#: /app/templates/index.php:7400 msgid "All accounts and their balances" msgstr "Tous les comptes et leurs soldes" -#: /app/templates/index.php:7400 +#: /app/templates/index.php:7401 msgid "All transactions and transaction history" msgstr "Toutes les opérations et l'historique des opérations" -#: /app/templates/index.php:7401 +#: /app/templates/index.php:7402 msgid "All bills and recurring income" msgstr "Toutes les factures et tous les revenus récurrents" -#: /app/templates/index.php:7402 +#: /app/templates/index.php:7403 msgid "All categories and budget settings" msgstr "Toutes les catégories et tous les paramètres de budget" -#: /app/templates/index.php:7403 +#: /app/templates/index.php:7404 msgid "All savings goals and pension accounts" msgstr "Tous les objectifs d'épargne et comptes de retraite" -#: /app/templates/index.php:7404 +#: /app/templates/index.php:7405 msgid "All import rules and settings" msgstr "Toutes les règles et tous les paramètres d'importation" -#: /app/templates/index.php:7405 +#: /app/templates/index.php:7406 msgid "All shared expenses and contacts" msgstr "Tous les frais partagés et les contacts" -#: /app/templates/index.php:7407 +#: /app/templates/index.php:7408 msgid "Only audit logs will be preserved for compliance purposes." msgstr "Seuls les journaux d'audit seront conservés à des fins de conformité." -#: /app/templates/index.php:7408 +#: /app/templates/index.php:7409 msgid "You will need to set up everything from scratch after this operation." msgstr "Vous devrez tout configurer à partir de zéro après cette opération." -#: /app/templates/index.php:7413 +#: /app/templates/index.php:7414 msgid "Type DELETE to confirm:" msgstr "Tapez SUPPRIMER pour confirmer :" -#: /app/templates/index.php:7418 +#: /app/templates/index.php:7419 msgid "Type DELETE to confirm" msgstr "Tapez DELETE pour confirmer" -#: /app/templates/index.php:7421 +#: /app/templates/index.php:7422 msgid "You must type DELETE (all caps) exactly to proceed" msgstr "" "Vous devez saisir DELETE (en majuscules) exactement tel quel pour continuer" -#: /app/templates/index.php:7450 /app/templates/index.php:7454 +#: /app/templates/index.php:7451 /app/templates/index.php:7455 msgid "Add Bank Connection" msgstr "Ajouter une connexion bancaire" -#: /app/templates/index.php:7459 +#: /app/templates/index.php:7460 msgid "Select a provider..." msgstr "Sélectionnez un fournisseur..." -#: /app/templates/index.php:7460 +#: /app/templates/index.php:7461 msgid "GoCardless (UK/Europe)" msgstr "GoCardless (Royaume-Uni/Europe)" -#: /app/templates/index.php:7461 +#: /app/templates/index.php:7462 msgid "SimpleFIN Bridge (US)" msgstr "SimpleFIN Bridge (États-Unis)" -#: /app/templates/index.php:7466 +#: /app/templates/index.php:7467 msgid "Connection Name" msgstr "Nom de la connexion" -#: /app/templates/index.php:7467 +#: /app/templates/index.php:7468 msgid "e.g. My Bank" msgstr "par ex. Ma banque" -#: /app/templates/index.php:7473 +#: /app/templates/index.php:7474 msgid "Setup Token" msgstr "Jeton de configuration" -#: /app/templates/index.php:7474 +#: /app/templates/index.php:7475 msgid "Paste your SimpleFIN setup token" msgstr "Collez votre jeton de configuration SimpleFIN" -#: /app/templates/index.php:7475 +#: /app/templates/index.php:7476 msgid "Get a token from beta-bridge.simplefin.org" msgstr "Obtenez un jeton sur beta-bridge.simplefin.org" -#: /app/templates/index.php:7482 +#: /app/templates/index.php:7483 msgid "Secret ID" msgstr "ID secret" -#: /app/templates/index.php:7483 +#: /app/templates/index.php:7484 msgid "Your GoCardless Secret ID" msgstr "Votre ID Secret GoCardless" -#: /app/templates/index.php:7486 +#: /app/templates/index.php:7487 msgid "Secret Key" msgstr "Clé secrète" -#: /app/templates/index.php:7487 +#: /app/templates/index.php:7488 msgid "Your GoCardless Secret Key" msgstr "Votre clé secrète GoCardless" -#: /app/templates/index.php:7489 +#: /app/templates/index.php:7490 msgid "Get API keys from bankaccountdata.gocardless.com" msgstr "Obtenez les clés API sur bankaccountdata.gocardless.com" -#: /app/templates/index.php:7502 +#: /app/templates/index.php:7503 msgid "Select Your Bank" msgstr "Sélectionnez votre banque" -#: /app/templates/index.php:7505 +#: /app/templates/index.php:7506 msgid "Country" msgstr "Pays" -#: /app/templates/index.php:7510 +#: /app/templates/index.php:7511 msgid "Search banks..." msgstr "Recherche des banques..." -#: /app/templates/index.php:7510 +#: /app/templates/index.php:7511 #, fuzzy #| msgid "Search banks..." msgid "Search banks" msgstr "Recherche des banques..." -#: /app/templates/index.php:7514 +#: /app/templates/index.php:7515 msgid "Loading banks..." msgstr "Chargement des banques..." -#: /app/templates/index.php:7523 +#: /app/templates/index.php:7524 msgid "Back" msgstr "Retour" -#: /app/templates/index.php:7529 +#: /app/templates/index.php:7530 msgid "Authorize with Your Bank" msgstr "Autoriser auprès de votre banque" -#: /app/templates/index.php:7532 +#: /app/templates/index.php:7533 msgid "A new window has been opened for you to authorize access at your bank." msgstr "" "Une nouvelle fenêtre s'est ouverte pour vous permettre d'autoriser l'accès " "auprès de votre banque." -#: /app/templates/index.php:7533 +#: /app/templates/index.php:7534 msgid "Once you have completed the authorization, click the button below." msgstr "Une fois l'autorisation effectuée, cliquez sur le bouton ci-dessous." -#: /app/templates/index.php:7535 +#: /app/templates/index.php:7536 msgid "If the window did not open, " msgstr "Si la fenêtre ne s'est pas ouverte, " -#: /app/templates/index.php:7536 +#: /app/templates/index.php:7537 msgid "click here to authorize" msgstr "cliquez ici pour autoriser" @@ -17614,6 +18337,42 @@ msgstr "Enregistrer l'opération" msgid "Transaction saved!" msgstr "Opération sauvegardée !" +#~ msgid "" +#~ "Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " +#~ "and one category is spending unusually." +#~ msgid_plural "" +#~ "Income {income}, spending {expenses} ({net} net). {bills} bills due soon, " +#~ "and {anomalies} categories are spending unusually." +#~ msgstr[0] "" +#~ "Revenus {income}, dépenses {expenses} ({net} net). Factures à régler " +#~ "prochainement : {bills}, et une catégorie affiche des dépenses " +#~ "inhabituelles." +#~ msgstr[1] "" +#~ "Revenus {income}, dépenses {expenses} ({net} net). Factures à régler " +#~ "prochainement : {bills}, et {anomalies} catégories affichent des dépenses " +#~ "inhabituelles." + +#~ msgid "duplicate of" +#~ msgstr "doublon de" + +#~ msgid "" +#~ "Delete this entry? If it is linked to a bank transaction, that " +#~ "transaction will be removed too." +#~ msgstr "" +#~ "Supprimer cette écriture ? Si elle est liée à une opération bancaire, " +#~ "cette opération sera également supprimée." + +#~ msgid "Only the goal owner can delete it" +#~ msgstr "Seul le propriétaire de l'objectif peut le supprimer" + +#~ msgid "Only the owner can delete this project" +#~ msgstr "Seul le propriétaire du projet peut le supprimer" + +#~ msgid "Condition at {path} has invalid regex pattern: {error}" +#~ msgstr "" +#~ "La condition à {path} contient un motif d'expression régulière invalide : " +#~ "{error}" + #~ msgid "Failed to rollback import" #~ msgstr "Impossible d’annuler l’import" diff --git a/budget/translationfiles/nl/budget.po b/budget/translationfiles/nl/budget.po index d1fe8145e..cfcbb97dc 100644 --- a/budget/translationfiles/nl/budget.po +++ b/budget/translationfiles/nl/budget.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Nextcloud 3.14159\n" "Report-Msgid-Bugs-To: translations\\@example.com\n" -"POT-Creation-Date: 2026-09-23 22:02+0000\n" +"POT-Creation-Date: 2026-10-03 01:04+0000\n" "PO-Revision-Date: 2026-09-17 01:50+0000\n" "Last-Translator: GitHub webhook \n" "Language-Team: Dutch