feat: add trash can to see deleted transactions

This commit is contained in:
Herculino Trotta
2025-02-01 11:12:43 -03:00
parent f9d299cb78
commit 0a3e47819a
12 changed files with 1351 additions and 837 deletions

View File

@@ -228,9 +228,12 @@ class Transaction(models.Model):
def delete(self, *args, **kwargs):
if settings.ENABLE_SOFT_DELETE:
self.deleted = True
self.deleted_at = timezone.now()
self.save()
if not self.deleted:
self.deleted = True
self.deleted_at = timezone.now()
self.save()
else:
super().delete(*args, **kwargs)
else:
super().delete(*args, **kwargs)

View File

@@ -6,6 +6,16 @@ urlpatterns = [
path(
"transactions/list/", views.transaction_all_list, name="transactions_all_list"
),
path(
"transactions/trash/",
views.transactions_trash_can_index,
name="transactions_trash_index",
),
path(
"transactions/trash/list/",
views.transactions_trash_can_list,
name="transactions_trash_list",
),
path(
"transactions/summary/",
views.transaction_all_summary,
@@ -41,6 +51,11 @@ urlpatterns = [
views.bulk_delete_transactions,
name="transactions_bulk_delete",
),
path(
"transactions/actions/undelete/",
views.bulk_undelete_transactions,
name="transactions_bulk_undelete",
),
path(
"transactions/actions/duplicate/",
views.bulk_clone_transactions,
@@ -56,6 +71,11 @@ urlpatterns = [
views.transaction_delete,
name="transaction_delete",
),
path(
"transaction/<int:transaction_id>/undelete/",
views.transaction_undelete,
name="transaction_undelete",
),
path(
"transaction/<int:transaction_id>/edit/",
views.transaction_edit,

View File

@@ -61,7 +61,7 @@ def bulk_unpay_transactions(request):
@login_required
def bulk_delete_transactions(request):
selected_transactions = request.GET.getlist("transactions", [])
transactions = Transaction.objects.filter(id__in=selected_transactions)
transactions = Transaction.all_objects.filter(id__in=selected_transactions)
count = transactions.count()
transactions.delete()
@@ -81,6 +81,30 @@ def bulk_delete_transactions(request):
)
@only_htmx
@login_required
def bulk_undelete_transactions(request):
selected_transactions = request.GET.getlist("transactions", [])
transactions = Transaction.deleted_objects.filter(id__in=selected_transactions)
count = transactions.count()
transactions.update(deleted=False, deleted_at=None)
messages.success(
request,
ngettext_lazy(
"%(count)s transaction restored successfully",
"%(count)s transactions restored successfully",
count,
)
% {"count": count},
)
return HttpResponse(
status=204,
headers={"HX-Trigger": "updated"},
)
@only_htmx
@login_required
def bulk_clone_transactions(request):

View File

@@ -244,7 +244,7 @@ def transaction_clone(request, transaction_id, **kwargs):
@login_required
@require_http_methods(["DELETE"])
def transaction_delete(request, transaction_id, **kwargs):
transaction = get_object_or_404(Transaction, id=transaction_id)
transaction = get_object_or_404(Transaction.all_objects, id=transaction_id)
transaction.delete()
@@ -256,6 +256,24 @@ def transaction_delete(request, transaction_id, **kwargs):
)
@only_htmx
@login_required
@require_http_methods(["GET"])
def transaction_undelete(request, transaction_id, **kwargs):
transaction = get_object_or_404(Transaction.deleted_objects, id=transaction_id)
transaction.deleted = False
transaction.deleted_at = None
transaction.save()
messages.success(request, _("Transaction restored successfully"))
return HttpResponse(
status=204,
headers={"HX-Trigger": "updated"},
)
@only_htmx
@login_required
@require_http_methods(["GET", "POST"])
@@ -457,3 +475,27 @@ def transaction_all_summary_select(request, selected):
return HttpResponse(
status=204,
)
@login_required
@require_http_methods(["GET"])
def transactions_trash_can_index(request):
return render(request, "transactions/pages/trash.html")
def transactions_trash_can_list(request):
transactions = Transaction.deleted_objects.prefetch_related(
"account",
"account__group",
"category",
"tags",
"account__exchange_currency",
"account__currency",
"installment_plan",
).all()
return render(
request,
"transactions/fragments/trash_list.html",
{"transactions": transactions},
)

View File

@@ -2,13 +2,13 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-28 17:02+0000\n"
"POT-Creation-Date: 2025-02-01 14:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -69,7 +69,7 @@ msgstr ""
#: apps/transactions/forms.py:39 apps/transactions/forms.py:291
#: apps/transactions/forms.py:298 apps/transactions/forms.py:478
#: apps/transactions/forms.py:723 apps/transactions/models.py:159
#: apps/transactions/models.py:311 apps/transactions/models.py:491
#: apps/transactions/models.py:314 apps/transactions/models.py:494
msgid "Category"
msgstr ""
@@ -77,8 +77,8 @@ msgstr ""
#: apps/transactions/filters.py:74 apps/transactions/forms.py:47
#: apps/transactions/forms.py:307 apps/transactions/forms.py:315
#: apps/transactions/forms.py:471 apps/transactions/forms.py:716
#: apps/transactions/models.py:165 apps/transactions/models.py:313
#: apps/transactions/models.py:495 templates/includes/navbar.html:98
#: apps/transactions/models.py:165 apps/transactions/models.py:316
#: apps/transactions/models.py:498 templates/includes/navbar.html:105
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
msgid "Tags"
msgstr ""
@@ -106,7 +106,7 @@ msgstr ""
#: apps/accounts/models.py:13 templates/account_groups/fragments/list.html:5
#: templates/account_groups/pages/index.html:4
#: templates/includes/navbar.html:108
#: templates/includes/navbar.html:115
msgid "Account Groups"
msgstr ""
@@ -147,15 +147,17 @@ msgstr ""
#: apps/accounts/models.py:59 apps/rules/models.py:19
#: apps/transactions/forms.py:59 apps/transactions/forms.py:463
#: apps/transactions/forms.py:708 apps/transactions/models.py:132
#: apps/transactions/models.py:271 apps/transactions/models.py:473
#: apps/transactions/models.py:274 apps/transactions/models.py:476
msgid "Account"
msgstr ""
#: apps/accounts/models.py:60 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:104
#: templates/includes/navbar.html:106
#: templates/transactions/fragments/summary.html:9
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:111
#: templates/includes/navbar.html:113
#: templates/monthly_overview/pages/overview.html:94
#: templates/transactions/fragments/summary.html:12
#: templates/transactions/pages/transactions.html:72
msgid "Accounts"
msgstr ""
@@ -334,7 +336,7 @@ msgstr ""
#: apps/common/widgets/tom_select.py:14
#: templates/mini_tools/unit_price_calculator.html:174
#: templates/monthly_overview/pages/overview.html:132
#: templates/monthly_overview/pages/overview.html:172
#: templates/transactions/pages/transactions.html:17
msgid "Clear"
msgstr ""
@@ -373,9 +375,11 @@ msgstr ""
#: apps/currencies/models.py:33 apps/transactions/filters.py:60
#: templates/currencies/fragments/list.html:5
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:112
#: templates/includes/navbar.html:114
#: templates/transactions/fragments/summary.html:6
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:119
#: templates/includes/navbar.html:121
#: templates/monthly_overview/pages/overview.html:81
#: templates/transactions/fragments/summary.html:8
#: templates/transactions/pages/transactions.html:59
msgid "Currencies"
msgstr ""
@@ -401,7 +405,7 @@ msgstr ""
#: apps/currencies/models.py:67 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:116
#: templates/includes/navbar.html:123
msgid "Exchange Rates"
msgstr ""
@@ -443,7 +447,7 @@ msgstr ""
#: apps/dca/models.py:27 apps/dca/models.py:179 apps/rules/models.py:26
#: apps/transactions/forms.py:333 apps/transactions/models.py:155
#: apps/transactions/models.py:320 apps/transactions/models.py:501
#: apps/transactions/models.py:323 apps/transactions/models.py:504
msgid "Notes"
msgstr ""
@@ -513,7 +517,7 @@ msgstr ""
#: apps/import_app/forms.py:61
#: templates/import_app/fragments/profiles/list.html:62
#: templates/includes/navbar.html:124
#: templates/includes/navbar.html:131
msgid "Import"
msgstr ""
@@ -607,7 +611,7 @@ msgstr ""
#: apps/rules/models.py:10 apps/rules/models.py:25
#: apps/transactions/forms.py:325 apps/transactions/models.py:153
#: apps/transactions/models.py:278 apps/transactions/models.py:487
#: apps/transactions/models.py:281 apps/transactions/models.py:490
msgid "Description"
msgstr ""
@@ -616,7 +620,7 @@ msgid "Trigger"
msgstr ""
#: apps/rules/models.py:20 apps/transactions/models.py:139
#: apps/transactions/models.py:276 apps/transactions/models.py:479
#: apps/transactions/models.py:279 apps/transactions/models.py:482
msgid "Type"
msgstr ""
@@ -629,22 +633,22 @@ msgstr ""
#: apps/rules/models.py:23 apps/transactions/forms.py:66
#: apps/transactions/forms.py:322 apps/transactions/forms.py:492
#: apps/transactions/models.py:143 apps/transactions/models.py:294
#: apps/transactions/models.py:503
#: apps/transactions/models.py:143 apps/transactions/models.py:297
#: apps/transactions/models.py:506
msgid "Reference Date"
msgstr ""
#: apps/rules/models.py:24 apps/transactions/models.py:148
#: apps/transactions/models.py:484
#: apps/transactions/models.py:487
msgid "Amount"
msgstr ""
#: apps/rules/models.py:29 apps/transactions/filters.py:81
#: apps/transactions/forms.py:55 apps/transactions/forms.py:486
#: apps/transactions/forms.py:731 apps/transactions/models.py:117
#: apps/transactions/models.py:170 apps/transactions/models.py:316
#: apps/transactions/models.py:498 templates/entities/fragments/list.html:5
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:100
#: apps/transactions/models.py:170 apps/transactions/models.py:319
#: apps/transactions/models.py:501 templates/entities/fragments/list.html:5
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:107
msgid "Entities"
msgstr ""
@@ -688,7 +692,7 @@ msgstr ""
msgid "Action deleted successfully"
msgstr ""
#: apps/transactions/filters.py:24 templates/includes/navbar.html:45
#: apps/transactions/filters.py:24 templates/includes/navbar.html:46
#: templates/transactions/widgets/paid_toggle_button.html:8
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
msgid "Projected"
@@ -703,7 +707,7 @@ msgid "Transaction Type"
msgstr ""
#: apps/transactions/filters.py:67 templates/categories/fragments/list.html:5
#: templates/categories/pages/index.html:4 templates/includes/navbar.html:96
#: templates/categories/pages/index.html:4 templates/includes/navbar.html:103
msgid "Categories"
msgstr ""
@@ -748,10 +752,7 @@ msgid "To Amount"
msgstr ""
#: apps/transactions/forms.py:398
#: templates/calendar_view/pages/calendar.html:84
#: templates/monthly_overview/pages/overview.html:84
#: templates/yearly_overview/pages/overview_by_account.html:79
#: templates/yearly_overview/pages/overview_by_currency.html:81
#: templates/cotton/ui/quick_transactions_buttons.html:40
msgid "Transfer"
msgstr ""
@@ -829,12 +830,8 @@ msgstr ""
#: templates/calendar_view/fragments/list.html:44
#: templates/calendar_view/fragments/list.html:52
#: templates/calendar_view/fragments/list.html:54
#: templates/calendar_view/pages/calendar.html:54
#: templates/cotton/ui/quick_transactions_buttons.html:10
#: templates/monthly_overview/fragments/monthly_summary.html:39
#: templates/monthly_overview/pages/overview.html:54
#: templates/transactions/fragments/summary.html:17
#: templates/yearly_overview/pages/overview_by_account.html:49
#: templates/yearly_overview/pages/overview_by_currency.html:51
msgid "Income"
msgstr ""
@@ -843,18 +840,15 @@ msgstr ""
#: templates/calendar_view/fragments/list.html:48
#: templates/calendar_view/fragments/list.html:56
#: templates/calendar_view/fragments/list.html:58
#: templates/calendar_view/pages/calendar.html:62
#: templates/monthly_overview/pages/overview.html:62
#: templates/yearly_overview/pages/overview_by_account.html:57
#: templates/yearly_overview/pages/overview_by_currency.html:59
#: templates/cotton/ui/quick_transactions_buttons.html:18
msgid "Expense"
msgstr ""
#: apps/transactions/models.py:181 apps/transactions/models.py:323
#: apps/transactions/models.py:181 apps/transactions/models.py:326
msgid "Installment Plan"
msgstr ""
#: apps/transactions/models.py:190 apps/transactions/models.py:524
#: apps/transactions/models.py:190 apps/transactions/models.py:527
msgid "Recurring Transaction"
msgstr ""
@@ -878,103 +872,103 @@ msgstr ""
msgid "Transaction"
msgstr ""
#: apps/transactions/models.py:212 templates/includes/navbar.html:53
#: templates/includes/navbar.html:94
#: apps/transactions/models.py:212 templates/includes/navbar.html:54
#: templates/includes/navbar.html:101
#: templates/recurring_transactions/fragments/list_transactions.html:5
#: templates/recurring_transactions/fragments/table.html:37
#: templates/transactions/pages/transactions.html:5
msgid "Transactions"
msgstr ""
#: apps/transactions/models.py:265
#: apps/transactions/models.py:268
msgid "Yearly"
msgstr ""
#: apps/transactions/models.py:266 apps/users/models.py:26
#: templates/includes/navbar.html:25
#: apps/transactions/models.py:269 apps/users/models.py:26
#: templates/includes/navbar.html:26
msgid "Monthly"
msgstr ""
#: apps/transactions/models.py:267
#: apps/transactions/models.py:270
msgid "Weekly"
msgstr ""
#: apps/transactions/models.py:268
#: apps/transactions/models.py:271
msgid "Daily"
msgstr ""
#: apps/transactions/models.py:281
#: apps/transactions/models.py:284
msgid "Number of Installments"
msgstr ""
#: apps/transactions/models.py:286
#: apps/transactions/models.py:289
msgid "Installment Start"
msgstr ""
#: apps/transactions/models.py:287
#: apps/transactions/models.py:290
msgid "The installment number to start counting from"
msgstr ""
#: apps/transactions/models.py:292 apps/transactions/models.py:507
#: apps/transactions/models.py:295 apps/transactions/models.py:510
msgid "Start Date"
msgstr ""
#: apps/transactions/models.py:296 apps/transactions/models.py:508
#: apps/transactions/models.py:299 apps/transactions/models.py:511
msgid "End Date"
msgstr ""
#: apps/transactions/models.py:301
#: apps/transactions/models.py:304
msgid "Recurrence"
msgstr ""
#: apps/transactions/models.py:304
#: apps/transactions/models.py:307
msgid "Installment Amount"
msgstr ""
#: apps/transactions/models.py:324 templates/includes/navbar.html:62
#: apps/transactions/models.py:327 templates/includes/navbar.html:69
#: templates/installment_plans/fragments/list.html:5
#: templates/installment_plans/pages/index.html:4
msgid "Installment Plans"
msgstr ""
#: apps/transactions/models.py:466
#: apps/transactions/models.py:469
msgid "day(s)"
msgstr ""
#: apps/transactions/models.py:467
#: apps/transactions/models.py:470
msgid "week(s)"
msgstr ""
#: apps/transactions/models.py:468
#: apps/transactions/models.py:471
msgid "month(s)"
msgstr ""
#: apps/transactions/models.py:469
#: apps/transactions/models.py:472
msgid "year(s)"
msgstr ""
#: apps/transactions/models.py:471
#: apps/transactions/models.py:474
#: templates/recurring_transactions/fragments/list.html:24
msgid "Paused"
msgstr ""
#: apps/transactions/models.py:510
#: apps/transactions/models.py:513
msgid "Recurrence Type"
msgstr ""
#: apps/transactions/models.py:513
#: apps/transactions/models.py:516
msgid "Recurrence Interval"
msgstr ""
#: apps/transactions/models.py:517
#: apps/transactions/models.py:520
msgid "Last Generated Date"
msgstr ""
#: apps/transactions/models.py:520
#: apps/transactions/models.py:523
msgid "Last Generated Reference Date"
msgstr ""
#: apps/transactions/models.py:525 templates/includes/navbar.html:64
#: apps/transactions/models.py:528 templates/includes/navbar.html:71
#: templates/recurring_transactions/fragments/list.html:5
#: templates/recurring_transactions/pages/index.html:4
msgid "Recurring Transactions"
@@ -1011,7 +1005,14 @@ msgid_plural "%(count)s transactions deleted successfully"
msgstr[0] ""
msgstr[1] ""
#: apps/transactions/views/actions.py:106
#: apps/transactions/views/actions.py:95
#, python-format
msgid "%(count)s transaction restored successfully"
msgid_plural "%(count)s transactions restored successfully"
msgstr[0] ""
msgstr[1] ""
#: apps/transactions/views/actions.py:130
#, python-format
msgid "%(count)s transaction duplicated successfully"
msgid_plural "%(count)s transactions duplicated successfully"
@@ -1118,7 +1119,11 @@ msgstr ""
msgid "Transaction deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:277
#: apps/transactions/views/transactions.py:269
msgid "Transaction restored successfully"
msgstr ""
#: apps/transactions/views/transactions.py:295
msgid "Transfer added successfully"
msgstr ""
@@ -1159,7 +1164,7 @@ msgid "This account is deactivated"
msgstr ""
#: apps/users/forms.py:50 apps/users/forms.py:63 apps/users/forms.py:85
#: templates/monthly_overview/pages/overview.html:116
#: templates/monthly_overview/pages/overview.html:153
#: templates/transactions/pages/transactions.html:35
msgid "Default"
msgstr ""
@@ -1180,15 +1185,15 @@ msgstr ""
msgid "Save"
msgstr ""
#: apps/users/models.py:27 templates/includes/navbar.html:27
#: apps/users/models.py:27 templates/includes/navbar.html:28
msgid "Yearly by currency"
msgstr ""
#: apps/users/models.py:28 templates/includes/navbar.html:29
#: apps/users/models.py:28 templates/includes/navbar.html:30
msgid "Yearly by account"
msgstr ""
#: apps/users/models.py:29 templates/includes/navbar.html:39
#: apps/users/models.py:29 templates/includes/navbar.html:40
msgid "Net Worth"
msgstr ""
@@ -1196,7 +1201,7 @@ msgstr ""
msgid "All Transactions"
msgstr ""
#: apps/users/models.py:31 templates/includes/navbar.html:31
#: apps/users/models.py:31 templates/includes/navbar.html:32
msgid "Calendar"
msgstr ""
@@ -1262,8 +1267,8 @@ msgstr ""
#: templates/account_groups/fragments/list.html:36
#: templates/accounts/fragments/list.html:41
#: templates/categories/fragments/table.html:29
#: templates/cotton/transaction/item.html:109
#: templates/cotton/ui/transactions_action_bar.html:47
#: templates/cotton/transaction/item.html:123
#: templates/cotton/ui/transactions_action_bar.html:49
#: templates/currencies/fragments/list.html:37
#: templates/dca/fragments/strategy/details.html:67
#: templates/dca/fragments/strategy/list.html:34
@@ -1281,8 +1286,10 @@ msgstr ""
#: templates/account_groups/fragments/list.html:43
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:124
#: templates/cotton/ui/transactions_action_bar.html:84
#: templates/cotton/transaction/item.html:138
#: templates/cotton/transaction/item.html:157
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:86
#: templates/currencies/fragments/list.html:44
#: templates/dca/fragments/strategy/details.html:75
#: templates/dca/fragments/strategy/list.html:42
@@ -1302,8 +1309,10 @@ msgstr ""
#: templates/account_groups/fragments/list.html:47
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:128
#: templates/cotton/ui/transactions_action_bar.html:86
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:161
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:88
#: templates/currencies/fragments/list.html:48
#: templates/dca/fragments/strategy/details.html:80
#: templates/dca/fragments/strategy/list.html:46
@@ -1326,8 +1335,10 @@ msgstr ""
#: templates/account_groups/fragments/list.html:48
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:129
#: templates/cotton/ui/transactions_action_bar.html:87
#: templates/cotton/transaction/item.html:143
#: templates/cotton/transaction/item.html:162
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:89
#: templates/currencies/fragments/list.html:49
#: templates/dca/fragments/strategy/details.html:81
#: templates/dca/fragments/strategy/list.html:47
@@ -1343,7 +1354,8 @@ msgstr ""
#: templates/account_groups/fragments/list.html:49
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:130
#: templates/cotton/transaction/item.html:144
#: templates/cotton/transaction/item.html:163
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:48
@@ -1436,27 +1448,6 @@ msgstr ""
msgid "Monthly Overview"
msgstr ""
#: templates/calendar_view/pages/calendar.html:69
#: templates/monthly_overview/pages/overview.html:69
#: templates/yearly_overview/pages/overview_by_account.html:64
#: templates/yearly_overview/pages/overview_by_currency.html:66
msgid "Installment"
msgstr ""
#: templates/calendar_view/pages/calendar.html:76
#: templates/monthly_overview/pages/overview.html:76
#: templates/yearly_overview/pages/overview_by_account.html:71
#: templates/yearly_overview/pages/overview_by_currency.html:73
msgid "Recurring"
msgstr ""
#: templates/calendar_view/pages/calendar.html:91
#: templates/monthly_overview/pages/overview.html:91
#: templates/yearly_overview/pages/overview_by_account.html:86
#: templates/yearly_overview/pages/overview_by_currency.html:88
msgid "Balance"
msgstr ""
#: templates/categories/fragments/add.html:5
msgid "Add category"
msgstr ""
@@ -1486,15 +1477,123 @@ msgstr ""
msgid "Search"
msgstr ""
#: templates/cotton/transaction/item.html:5
#: templates/cotton/transaction/item.html:7
msgid "Select"
msgstr ""
#: templates/cotton/transaction/item.html:116
#: templates/cotton/ui/transactions_action_bar.html:76
#: templates/cotton/transaction/item.html:130
#: templates/cotton/ui/transactions_action_bar.html:78
msgid "Duplicate"
msgstr ""
#: templates/cotton/transaction/item.html:151
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
msgid "Restore"
msgstr ""
#: templates/cotton/ui/account_card.html:15
#: templates/cotton/ui/currency_card.html:13
msgid "projected income"
msgstr ""
#: templates/cotton/ui/account_card.html:37
#: templates/cotton/ui/currency_card.html:35
msgid "projected expenses"
msgstr ""
#: templates/cotton/ui/account_card.html:61
#: templates/cotton/ui/currency_card.html:59
msgid "projected total"
msgstr ""
#: templates/cotton/ui/account_card.html:86
#: templates/cotton/ui/currency_card.html:84
msgid "current income"
msgstr ""
#: templates/cotton/ui/account_card.html:108
#: templates/cotton/ui/currency_card.html:106
msgid "current expenses"
msgstr ""
#: templates/cotton/ui/account_card.html:130
#: templates/cotton/ui/currency_card.html:128
msgid "current total"
msgstr ""
#: templates/cotton/ui/account_card.html:156
#: templates/cotton/ui/currency_card.html:154
msgid "final total"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:31
#: templates/cotton/ui/transactions_action_bar.html:31
msgid "Select All"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:37
#: templates/cotton/ui/transactions_action_bar.html:37
msgid "Unselect All"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:59
#: templates/cotton/ui/transactions_action_bar.html:90
msgid "Yes, delete them!"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:105
#: templates/cotton/ui/deleted_transactions_action_bar.html:129
#: templates/cotton/ui/deleted_transactions_action_bar.html:149
#: templates/cotton/ui/deleted_transactions_action_bar.html:169
#: templates/cotton/ui/deleted_transactions_action_bar.html:189
#: templates/cotton/ui/deleted_transactions_action_bar.html:209
#: templates/cotton/ui/deleted_transactions_action_bar.html:229
#: templates/cotton/ui/transactions_action_bar.html:136
#: templates/cotton/ui/transactions_action_bar.html:160
#: templates/cotton/ui/transactions_action_bar.html:180
#: templates/cotton/ui/transactions_action_bar.html:200
#: templates/cotton/ui/transactions_action_bar.html:220
#: templates/cotton/ui/transactions_action_bar.html:240
#: templates/cotton/ui/transactions_action_bar.html:260
msgid "copied!"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:114
#: templates/cotton/ui/transactions_action_bar.html:54
#: templates/cotton/ui/transactions_action_bar.html:145
msgid "Toggle Dropdown"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:122
#: templates/cotton/ui/transactions_action_bar.html:153
msgid "Flat Total"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:142
#: templates/cotton/ui/transactions_action_bar.html:173
msgid "Real Total"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:162
#: templates/cotton/ui/transactions_action_bar.html:193
msgid "Mean"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:182
#: templates/cotton/ui/transactions_action_bar.html:213
msgid "Max"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:202
#: templates/cotton/ui/transactions_action_bar.html:233
msgid "Min"
msgstr ""
#: templates/cotton/ui/deleted_transactions_action_bar.html:222
#: templates/cotton/ui/transactions_action_bar.html:253
msgid "Count"
msgstr ""
#: templates/cotton/ui/percentage_distribution.html:3
#: templates/cotton/ui/percentage_distribution.html:7
msgid "Projected Income"
@@ -1515,65 +1614,26 @@ msgstr ""
msgid "Current Expenses"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:29
msgid "Select All"
#: templates/cotton/ui/quick_transactions_buttons.html:25
msgid "Installment"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:35
msgid "Unselect All"
#: templates/cotton/ui/quick_transactions_buttons.html:32
msgid "Recurring"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:52
#: templates/cotton/ui/transactions_action_bar.html:143
msgid "Toggle Dropdown"
#: templates/cotton/ui/quick_transactions_buttons.html:47
msgid "Balance"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:60
#: templates/cotton/ui/transactions_action_bar.html:62
msgid "Mark as unpaid"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:67
#: templates/cotton/ui/transactions_action_bar.html:69
msgid "Mark as paid"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:88
msgid "Yes, delete them!"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:134
#: templates/cotton/ui/transactions_action_bar.html:158
#: templates/cotton/ui/transactions_action_bar.html:178
#: templates/cotton/ui/transactions_action_bar.html:198
#: templates/cotton/ui/transactions_action_bar.html:218
#: templates/cotton/ui/transactions_action_bar.html:238
#: templates/cotton/ui/transactions_action_bar.html:258
msgid "copied!"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:151
msgid "Flat Total"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:171
msgid "Real Total"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:191
msgid "Mean"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:211
msgid "Max"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:231
msgid "Min"
msgstr ""
#: templates/cotton/ui/transactions_action_bar.html:251
msgid "Count"
msgstr ""
#: templates/currencies/fragments/add.html:5
msgid "Add currency"
msgstr ""
@@ -1724,10 +1784,10 @@ msgid "Edit exchange rate"
msgstr ""
#: templates/exchange_rates/fragments/list.html:25
#: templates/includes/navbar.html:57
#: templates/includes/navbar.html:58
#: templates/installment_plans/fragments/list.html:21
#: templates/yearly_overview/pages/overview_by_account.html:135
#: templates/yearly_overview/pages/overview_by_currency.html:137
#: templates/yearly_overview/pages/overview_by_account.html:92
#: templates/yearly_overview/pages/overview_by_currency.html:94
msgid "All"
msgstr ""
@@ -1837,72 +1897,76 @@ msgstr ""
msgid "Logs for"
msgstr ""
#: templates/includes/navbar.html:10
#: templates/includes/navbar.html:11
msgid "Toggle navigation"
msgstr ""
#: templates/includes/navbar.html:21
#: templates/includes/navbar.html:22
msgid "Overview"
msgstr ""
#: templates/includes/navbar.html:43
#: templates/includes/navbar.html:44
msgid "Current"
msgstr ""
#: templates/includes/navbar.html:72
msgid "Tools"
msgstr ""
#: templates/includes/navbar.html:76
msgid "Dollar Cost Average Tracker"
#: templates/includes/navbar.html:63
msgid "Trash Can"
msgstr ""
#: templates/includes/navbar.html:79
msgid "Tools"
msgstr ""
#: templates/includes/navbar.html:83
msgid "Dollar Cost Average Tracker"
msgstr ""
#: templates/includes/navbar.html:86
#: templates/mini_tools/unit_price_calculator.html:5
#: templates/mini_tools/unit_price_calculator.html:10
msgid "Unit Price Calculator"
msgstr ""
#: templates/includes/navbar.html:82
#: templates/includes/navbar.html:89
#: templates/mini_tools/currency_converter/currency_converter.html:8
#: templates/mini_tools/currency_converter/currency_converter.html:15
msgid "Currency Converter"
msgstr ""
#: templates/includes/navbar.html:91
#: templates/includes/navbar.html:98
msgid "Management"
msgstr ""
#: templates/includes/navbar.html:120
#: templates/includes/navbar.html:127
msgid "Automation"
msgstr ""
#: templates/includes/navbar.html:122 templates/rules/fragments/list.html:5
#: templates/includes/navbar.html:129 templates/rules/fragments/list.html:5
#: templates/rules/pages/index.html:4
msgid "Rules"
msgstr ""
#: templates/includes/navbar.html:134
#: templates/includes/navbar.html:141
msgid "Only use this if you know what you're doing"
msgstr ""
#: templates/includes/navbar.html:135
#: templates/includes/navbar.html:142
msgid "Django Admin"
msgstr ""
#: templates/includes/navbar.html:144
#: templates/includes/navbar.html:151
msgid "Calculator"
msgstr ""
#: templates/includes/navbar/user_menu.html:11
#: templates/includes/navbar/user_menu.html:12
msgid "Settings"
msgstr ""
#: templates/includes/navbar/user_menu.html:38
#: templates/includes/navbar/user_menu.html:39
msgid "Clear cache"
msgstr ""
#: templates/includes/navbar/user_menu.html:42
#: templates/includes/navbar/user_menu.html:43
msgid "Logout"
msgstr ""
@@ -1989,6 +2053,17 @@ msgstr ""
msgid "No transactions this month"
msgstr ""
#: templates/monthly_overview/fragments/monthly_account_summary.html:14
#: templates/monthly_overview/fragments/monthly_currency_summary.html:13
#: templates/transactions/fragments/all_account_summary.html:14
#: templates/transactions/fragments/all_currency_summary.html:13
#: templates/transactions/fragments/summary.html:27
#: templates/transactions/fragments/summary.html:42
#: templates/yearly_overview/fragments/account_data.html:12
#: templates/yearly_overview/fragments/currency_data.html:12
msgid "No information to display"
msgstr ""
#: templates/monthly_overview/fragments/monthly_summary.html:6
msgid "Daily Spending Allowance"
msgstr ""
@@ -2000,51 +2075,46 @@ msgstr ""
#: templates/monthly_overview/fragments/monthly_summary.html:42
#: templates/monthly_overview/fragments/monthly_summary.html:106
#: templates/monthly_overview/fragments/monthly_summary.html:170
#: templates/transactions/fragments/summary.html:20
#: templates/transactions/fragments/summary.html:84
#: templates/transactions/fragments/summary.html:148
msgid "current"
msgstr ""
#: templates/monthly_overview/fragments/monthly_summary.html:72
#: templates/monthly_overview/fragments/monthly_summary.html:136
#: templates/monthly_overview/fragments/monthly_summary.html:199
#: templates/transactions/fragments/summary.html:50
#: templates/transactions/fragments/summary.html:114
#: templates/transactions/fragments/summary.html:177
msgid "projected"
msgstr ""
#: templates/monthly_overview/fragments/monthly_summary.html:103
#: templates/transactions/fragments/summary.html:81
msgid "Expenses"
msgstr ""
#: templates/monthly_overview/fragments/monthly_summary.html:167
#: templates/transactions/fragments/summary.html:145
msgid "Total"
msgstr ""
#: templates/monthly_overview/fragments/monthly_summary.html:256
#: templates/transactions/fragments/summary.html:234
#: templates/monthly_overview/fragments/monthly_summary.html:257
msgid "Distribution"
msgstr ""
#: templates/monthly_overview/pages/overview.html:108
#: templates/monthly_overview/pages/overview.html:68
msgid "Summary"
msgstr ""
#: templates/monthly_overview/pages/overview.html:142
msgid "Filter transactions"
msgstr ""
#: templates/monthly_overview/pages/overview.html:114
#: templates/monthly_overview/pages/overview.html:148
#: templates/transactions/pages/transactions.html:33
msgid "Order by"
msgstr ""
#: templates/monthly_overview/pages/overview.html:117
#: templates/monthly_overview/pages/overview.html:155
#: templates/transactions/pages/transactions.html:36
msgid "Oldest first"
msgstr ""
#: templates/monthly_overview/pages/overview.html:118
#: templates/monthly_overview/pages/overview.html:157
#: templates/transactions/pages/transactions.html:37
msgid "Newest first"
msgstr ""
@@ -2231,62 +2301,23 @@ msgstr ""
msgid "No transactions found"
msgstr ""
#: templates/transactions/fragments/summary.html:255
#: templates/yearly_overview/fragments/account_data.html:14
#: templates/yearly_overview/fragments/currency_data.html:14
msgid "projected income"
msgstr ""
#: templates/transactions/fragments/summary.html:277
#: templates/yearly_overview/fragments/account_data.html:36
#: templates/yearly_overview/fragments/currency_data.html:36
msgid "projected expenses"
msgstr ""
#: templates/transactions/fragments/summary.html:301
#: templates/yearly_overview/fragments/account_data.html:60
#: templates/yearly_overview/fragments/currency_data.html:60
msgid "projected total"
msgstr ""
#: templates/transactions/fragments/summary.html:326
#: templates/yearly_overview/fragments/account_data.html:85
#: templates/yearly_overview/fragments/currency_data.html:85
msgid "current income"
msgstr ""
#: templates/transactions/fragments/summary.html:348
#: templates/yearly_overview/fragments/account_data.html:107
#: templates/yearly_overview/fragments/currency_data.html:107
msgid "current expenses"
msgstr ""
#: templates/transactions/fragments/summary.html:370
#: templates/yearly_overview/fragments/account_data.html:129
#: templates/yearly_overview/fragments/currency_data.html:129
msgid "current total"
msgstr ""
#: templates/transactions/fragments/summary.html:396
#: templates/yearly_overview/fragments/account_data.html:155
#: templates/yearly_overview/fragments/currency_data.html:155
msgid "final total"
msgstr ""
#: templates/transactions/fragments/summary.html:426
#: templates/yearly_overview/fragments/account_data.html:185
#: templates/yearly_overview/fragments/currency_data.html:184
msgid "No information to display"
msgstr ""
#: templates/transactions/fragments/transfer.html:5
msgid "New transfer"
msgstr ""
#: templates/transactions/fragments/trash_list.html:7
msgid "No deleted transactions to show"
msgstr ""
#: templates/transactions/pages/transactions.html:15
msgid "Filter"
msgstr ""
#: templates/transactions/pages/trash.html:4
#: templates/transactions/pages/trash.html:9
msgid "Deleted transactions"
msgstr ""
#: templates/transactions/widgets/unselectable_income_expense_toggle_buttons.html:14
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:8
msgid "Unchanged"
@@ -2313,7 +2344,7 @@ msgstr ""
msgid "Yearly Overview"
msgstr ""
#: templates/yearly_overview/pages/overview_by_account.html:104
#: templates/yearly_overview/pages/overview_by_currency.html:106
#: templates/yearly_overview/pages/overview_by_account.html:61
#: templates/yearly_overview/pages/overview_by_currency.html:63
msgid "Year"
msgstr ""

View File

@@ -2,13 +2,13 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-28 00:49+0000\n"
"POT-Creation-Date: 2025-02-01 14:09+0000\n"
"PO-Revision-Date: 2025-01-29 06:12+0100\n"
"Last-Translator: Dimitri Decrock <dimitri@fam-decrock.eu>\n"
"Language-Team: \n"
@@ -70,7 +70,7 @@ msgstr "Nieuw saldo"
#: apps/transactions/forms.py:39 apps/transactions/forms.py:291
#: apps/transactions/forms.py:298 apps/transactions/forms.py:478
#: apps/transactions/forms.py:723 apps/transactions/models.py:159
#: apps/transactions/models.py:311 apps/transactions/models.py:491
#: apps/transactions/models.py:314 apps/transactions/models.py:494
msgid "Category"
msgstr "Categorie"
@@ -78,8 +78,8 @@ msgstr "Categorie"
#: apps/transactions/filters.py:74 apps/transactions/forms.py:47
#: apps/transactions/forms.py:307 apps/transactions/forms.py:315
#: apps/transactions/forms.py:471 apps/transactions/forms.py:716
#: apps/transactions/models.py:165 apps/transactions/models.py:313
#: apps/transactions/models.py:495 templates/includes/navbar.html:98
#: apps/transactions/models.py:165 apps/transactions/models.py:316
#: apps/transactions/models.py:498 templates/includes/navbar.html:105
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
msgid "Tags"
msgstr "Labels"
@@ -107,7 +107,7 @@ msgstr "Accountgroep"
#: apps/accounts/models.py:13 templates/account_groups/fragments/list.html:5
#: templates/account_groups/pages/index.html:4
#: templates/includes/navbar.html:108
#: templates/includes/navbar.html:115
msgid "Account Groups"
msgstr "Accountgroepen"
@@ -152,15 +152,17 @@ msgstr ""
#: apps/accounts/models.py:59 apps/rules/models.py:19
#: apps/transactions/forms.py:59 apps/transactions/forms.py:463
#: apps/transactions/forms.py:708 apps/transactions/models.py:132
#: apps/transactions/models.py:271 apps/transactions/models.py:473
#: apps/transactions/models.py:274 apps/transactions/models.py:476
msgid "Account"
msgstr "Rekening"
#: apps/accounts/models.py:60 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:104
#: templates/includes/navbar.html:106
#: templates/transactions/fragments/summary.html:9
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:111
#: templates/includes/navbar.html:113
#: templates/monthly_overview/pages/overview.html:94
#: templates/transactions/fragments/summary.html:12
#: templates/transactions/pages/transactions.html:72
msgid "Accounts"
msgstr "Rekeningen"
@@ -340,7 +342,7 @@ msgstr "Verwijder"
#: apps/common/widgets/tom_select.py:14
#: templates/mini_tools/unit_price_calculator.html:174
#: templates/monthly_overview/pages/overview.html:132
#: templates/monthly_overview/pages/overview.html:172
#: templates/transactions/pages/transactions.html:17
msgid "Clear"
msgstr "Leegmaken"
@@ -379,9 +381,11 @@ msgstr "Cijfers na de komma"
#: apps/currencies/models.py:33 apps/transactions/filters.py:60
#: templates/currencies/fragments/list.html:5
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:112
#: templates/includes/navbar.html:114
#: templates/transactions/fragments/summary.html:6
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:119
#: templates/includes/navbar.html:121
#: templates/monthly_overview/pages/overview.html:81
#: templates/transactions/fragments/summary.html:8
#: templates/transactions/pages/transactions.html:59
msgid "Currencies"
msgstr "Munteenheden"
@@ -407,7 +411,7 @@ msgstr "Datum en Tijd"
#: apps/currencies/models.py:67 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:116
#: templates/includes/navbar.html:123
msgid "Exchange Rates"
msgstr "Wisselkoersen"
@@ -449,7 +453,7 @@ msgstr "Betaal Munteenheid"
#: apps/dca/models.py:27 apps/dca/models.py:179 apps/rules/models.py:26
#: apps/transactions/forms.py:333 apps/transactions/models.py:155
#: apps/transactions/models.py:320 apps/transactions/models.py:501
#: apps/transactions/models.py:323 apps/transactions/models.py:504
msgid "Notes"
msgstr "Opmerkingen"
@@ -519,7 +523,7 @@ msgstr "Selecteer een bestand"
#: apps/import_app/forms.py:61
#: templates/import_app/fragments/profiles/list.html:62
#: templates/includes/navbar.html:124
#: templates/includes/navbar.html:131
msgid "Import"
msgstr "Importeer"
@@ -613,7 +617,7 @@ msgstr "Een waarde voor dit veld bestaat al in de regel."
#: apps/rules/models.py:10 apps/rules/models.py:25
#: apps/transactions/forms.py:325 apps/transactions/models.py:153
#: apps/transactions/models.py:278 apps/transactions/models.py:487
#: apps/transactions/models.py:281 apps/transactions/models.py:490
msgid "Description"
msgstr "Beschrijving"
@@ -622,7 +626,7 @@ msgid "Trigger"
msgstr "Trigger"
#: apps/rules/models.py:20 apps/transactions/models.py:139
#: apps/transactions/models.py:276 apps/transactions/models.py:479
#: apps/transactions/models.py:279 apps/transactions/models.py:482
msgid "Type"
msgstr "Soort"
@@ -635,22 +639,22 @@ msgstr "Betaald"
#: apps/rules/models.py:23 apps/transactions/forms.py:66
#: apps/transactions/forms.py:322 apps/transactions/forms.py:492
#: apps/transactions/models.py:143 apps/transactions/models.py:294
#: apps/transactions/models.py:503
#: apps/transactions/models.py:143 apps/transactions/models.py:297
#: apps/transactions/models.py:506
msgid "Reference Date"
msgstr "Referentiedatum"
#: apps/rules/models.py:24 apps/transactions/models.py:148
#: apps/transactions/models.py:484
#: apps/transactions/models.py:487
msgid "Amount"
msgstr "Bedrag"
#: apps/rules/models.py:29 apps/transactions/filters.py:81
#: apps/transactions/forms.py:55 apps/transactions/forms.py:486
#: apps/transactions/forms.py:731 apps/transactions/models.py:117
#: apps/transactions/models.py:170 apps/transactions/models.py:316
#: apps/transactions/models.py:498 templates/entities/fragments/list.html:5
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:100
#: apps/transactions/models.py:170 apps/transactions/models.py:319
#: apps/transactions/models.py:501 templates/entities/fragments/list.html:5
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:107
msgid "Entities"
msgstr "Bedrijven"
@@ -694,7 +698,7 @@ msgstr "Actie succesvol bijgewerkt"
msgid "Action deleted successfully"
msgstr "Actie succesvol verwijderd"
#: apps/transactions/filters.py:24 templates/includes/navbar.html:45
#: apps/transactions/filters.py:24 templates/includes/navbar.html:46
#: templates/transactions/widgets/paid_toggle_button.html:8
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
msgid "Projected"
@@ -709,7 +713,7 @@ msgid "Transaction Type"
msgstr "Soort transactie"
#: apps/transactions/filters.py:67 templates/categories/fragments/list.html:5
#: templates/categories/pages/index.html:4 templates/includes/navbar.html:96
#: templates/categories/pages/index.html:4 templates/includes/navbar.html:103
msgid "Categories"
msgstr "Categorieën"
@@ -754,10 +758,7 @@ msgid "To Amount"
msgstr "Naar Bedrag"
#: apps/transactions/forms.py:398
#: templates/calendar_view/pages/calendar.html:84
#: templates/monthly_overview/pages/overview.html:84
#: templates/yearly_overview/pages/overview_by_account.html:79
#: templates/yearly_overview/pages/overview_by_currency.html:81
#: templates/cotton/ui/quick_transactions_buttons.html:40
msgid "Transfer"
msgstr "Overschrijving"
@@ -837,28 +838,29 @@ msgid "Entity"
msgstr "Bedrijf"
#: apps/transactions/models.py:126
#: templates/calendar_view/pages/calendar.html:54
#: templates/calendar_view/fragments/list.html:42
#: templates/calendar_view/fragments/list.html:44
#: templates/calendar_view/fragments/list.html:52
#: templates/calendar_view/fragments/list.html:54
#: templates/cotton/ui/quick_transactions_buttons.html:10
#: templates/monthly_overview/fragments/monthly_summary.html:39
#: templates/monthly_overview/pages/overview.html:54
#: templates/transactions/fragments/summary.html:17
#: templates/yearly_overview/pages/overview_by_account.html:49
#: templates/yearly_overview/pages/overview_by_currency.html:51
msgid "Income"
msgstr "Ontvangsten Transactie"
#: apps/transactions/models.py:127
#: templates/calendar_view/pages/calendar.html:62
#: templates/monthly_overview/pages/overview.html:62
#: templates/yearly_overview/pages/overview_by_account.html:57
#: templates/yearly_overview/pages/overview_by_currency.html:59
#: templates/calendar_view/fragments/list.html:46
#: templates/calendar_view/fragments/list.html:48
#: templates/calendar_view/fragments/list.html:56
#: templates/calendar_view/fragments/list.html:58
#: templates/cotton/ui/quick_transactions_buttons.html:18
msgid "Expense"
msgstr "Uitgave Transactie"
#: apps/transactions/models.py:181 apps/transactions/models.py:323
#: apps/transactions/models.py:181 apps/transactions/models.py:326
msgid "Installment Plan"
msgstr "Afbetalingsplan"
#: apps/transactions/models.py:190 apps/transactions/models.py:524
#: apps/transactions/models.py:190 apps/transactions/models.py:527
msgid "Recurring Transaction"
msgstr "Terugkerende verrichting"
@@ -882,103 +884,103 @@ msgstr "Verwijderd Op"
msgid "Transaction"
msgstr "Verrichting"
#: apps/transactions/models.py:212 templates/includes/navbar.html:53
#: templates/includes/navbar.html:94
#: apps/transactions/models.py:212 templates/includes/navbar.html:54
#: templates/includes/navbar.html:101
#: templates/recurring_transactions/fragments/list_transactions.html:5
#: templates/recurring_transactions/fragments/table.html:37
#: templates/transactions/pages/transactions.html:5
msgid "Transactions"
msgstr "Verrichtingen"
#: apps/transactions/models.py:265
#: apps/transactions/models.py:268
msgid "Yearly"
msgstr "Jaarlijks"
#: apps/transactions/models.py:266 apps/users/models.py:26
#: templates/includes/navbar.html:25
#: apps/transactions/models.py:269 apps/users/models.py:26
#: templates/includes/navbar.html:26
msgid "Monthly"
msgstr "Maandelijks"
#: apps/transactions/models.py:267
#: apps/transactions/models.py:270
msgid "Weekly"
msgstr "Wekelijks"
#: apps/transactions/models.py:268
#: apps/transactions/models.py:271
msgid "Daily"
msgstr "Dagelijks"
#: apps/transactions/models.py:281
#: apps/transactions/models.py:284
msgid "Number of Installments"
msgstr "Aantal aflossingen"
#: apps/transactions/models.py:286
#: apps/transactions/models.py:289
msgid "Installment Start"
msgstr "Begin afbetaling"
#: apps/transactions/models.py:287
#: apps/transactions/models.py:290
msgid "The installment number to start counting from"
msgstr "Het nummer van de aflevering om mee te beginnen"
#: apps/transactions/models.py:292 apps/transactions/models.py:507
#: apps/transactions/models.py:295 apps/transactions/models.py:510
msgid "Start Date"
msgstr "Startdatum"
#: apps/transactions/models.py:296 apps/transactions/models.py:508
#: apps/transactions/models.py:299 apps/transactions/models.py:511
msgid "End Date"
msgstr "Einddatum"
#: apps/transactions/models.py:301
#: apps/transactions/models.py:304
msgid "Recurrence"
msgstr "Terugkeerpatroon"
#: apps/transactions/models.py:304
#: apps/transactions/models.py:307
msgid "Installment Amount"
msgstr "Termijnbedrag"
#: apps/transactions/models.py:324 templates/includes/navbar.html:62
#: apps/transactions/models.py:327 templates/includes/navbar.html:69
#: templates/installment_plans/fragments/list.html:5
#: templates/installment_plans/pages/index.html:4
msgid "Installment Plans"
msgstr "Afbetalingsplannen"
#: apps/transactions/models.py:466
#: apps/transactions/models.py:469
msgid "day(s)"
msgstr "dag(en)"
#: apps/transactions/models.py:467
#: apps/transactions/models.py:470
msgid "week(s)"
msgstr "we(e)k(en)"
#: apps/transactions/models.py:468
#: apps/transactions/models.py:471
msgid "month(s)"
msgstr "maand(en)"
#: apps/transactions/models.py:469
#: apps/transactions/models.py:472
msgid "year(s)"
msgstr "ja(a)r(en)"
#: apps/transactions/models.py:471
#: apps/transactions/models.py:474
#: templates/recurring_transactions/fragments/list.html:24
msgid "Paused"
msgstr "Gepauzeerd"
#: apps/transactions/models.py:510
#: apps/transactions/models.py:513
msgid "Recurrence Type"
msgstr "Type Terugkeerpatroon"
#: apps/transactions/models.py:513
#: apps/transactions/models.py:516
msgid "Recurrence Interval"
msgstr "Terugkeer Interval"
#: apps/transactions/models.py:517
#: apps/transactions/models.py:520
msgid "Last Generated Date"
msgstr "Laatste Gegenereerde Datum"
#: apps/transactions/models.py:520
#: apps/transactions/models.py:523
msgid "Last Generated Reference Date"
msgstr "Laatste Gegenereerde Referentiedatum"
#: apps/transactions/models.py:525 templates/includes/navbar.html:64
#: apps/transactions/models.py:528 templates/includes/navbar.html:71
#: templates/recurring_transactions/fragments/list.html:5
#: templates/recurring_transactions/pages/index.html:4
msgid "Recurring Transactions"
@@ -1015,7 +1017,16 @@ msgid_plural "%(count)s transactions deleted successfully"
msgstr[0] "%(count)s verrichting succesvol verwijderd"
msgstr[1] "%(count)s verrichtingen succesvol verwijderd"
#: apps/transactions/views/actions.py:106
#: apps/transactions/views/actions.py:95
#, fuzzy, python-format
#| msgid "%(count)s transaction deleted successfully"
#| msgid_plural "%(count)s transactions deleted successfully"
msgid "%(count)s transaction restored successfully"
msgid_plural "%(count)s transactions restored successfully"
msgstr[0] "%(count)s verrichting succesvol verwijderd"
msgstr[1] "%(count)s verrichtingen succesvol verwijderd"
#: apps/transactions/views/actions.py:130
#, python-format
msgid "%(count)s transaction duplicated successfully"
msgid_plural "%(count)s transactions duplicated successfully"
@@ -1122,7 +1133,13 @@ msgstr "Verrichting succesvol gedupliceerd"
msgid "Transaction deleted successfully"
msgstr "Verrichting succesvol verwijderd"
#: apps/transactions/views/transactions.py:277
#: apps/transactions/views/transactions.py:269
#, fuzzy
#| msgid "Transaction deleted successfully"
msgid "Transaction restored successfully"
msgstr "Verrichting succesvol verwijderd"
#: apps/transactions/views/transactions.py:295
msgid "Transfer added successfully"
msgstr "Transactie succesvol toegevoegd"
@@ -1163,7 +1180,7 @@ msgid "This account is deactivated"
msgstr "Deze gebruiker is gedeactiveerd"
#: apps/users/forms.py:50 apps/users/forms.py:63 apps/users/forms.py:85
#: templates/monthly_overview/pages/overview.html:116
#: templates/monthly_overview/pages/overview.html:153
#: templates/transactions/pages/transactions.html:35
msgid "Default"
msgstr "Standaard"
@@ -1184,15 +1201,15 @@ msgstr "Schrijfwijze Nummers"
msgid "Save"
msgstr "Opslaan"
#: apps/users/models.py:27 templates/includes/navbar.html:27
#: apps/users/models.py:27 templates/includes/navbar.html:28
msgid "Yearly by currency"
msgstr "Jaarlijks per munteenheid"
#: apps/users/models.py:28 templates/includes/navbar.html:29
#: apps/users/models.py:28 templates/includes/navbar.html:30
msgid "Yearly by account"
msgstr "Jaarlijks per rekening"
#: apps/users/models.py:29 templates/includes/navbar.html:39
#: apps/users/models.py:29 templates/includes/navbar.html:40
msgid "Net Worth"
msgstr "Netto Waarde"
@@ -1200,7 +1217,7 @@ msgstr "Netto Waarde"
msgid "All Transactions"
msgstr "Alle Verrichtingen"
#: apps/users/models.py:31 templates/includes/navbar.html:31
#: apps/users/models.py:31 templates/includes/navbar.html:32
msgid "Calendar"
msgstr "Kalender"
@@ -1266,8 +1283,8 @@ msgstr "Acties"
#: templates/account_groups/fragments/list.html:36
#: templates/accounts/fragments/list.html:41
#: templates/categories/fragments/table.html:29
#: templates/cotton/transaction/item.html:109
#: templates/cotton/ui/transactions_action_bar.html:47
#: templates/cotton/transaction/item.html:123
#: templates/cotton/ui/transactions_action_bar.html:49
#: templates/currencies/fragments/list.html:37
#: templates/dca/fragments/strategy/details.html:67
#: templates/dca/fragments/strategy/list.html:34
@@ -1285,8 +1302,10 @@ msgstr "Bijwerken"
#: templates/account_groups/fragments/list.html:43
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:124
#: templates/cotton/ui/transactions_action_bar.html:84
#: templates/cotton/transaction/item.html:138
#: templates/cotton/transaction/item.html:157
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:86
#: templates/currencies/fragments/list.html:44
#: templates/dca/fragments/strategy/details.html:75
#: templates/dca/fragments/strategy/list.html:42
@@ -1306,8 +1325,10 @@ msgstr "Verwijderen"
#: templates/account_groups/fragments/list.html:47
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:128
#: templates/cotton/ui/transactions_action_bar.html:86
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:161
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:88
#: templates/currencies/fragments/list.html:48
#: templates/dca/fragments/strategy/details.html:80
#: templates/dca/fragments/strategy/list.html:46
@@ -1330,8 +1351,10 @@ msgstr "Weet je het zeker?"
#: templates/account_groups/fragments/list.html:48
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:129
#: templates/cotton/ui/transactions_action_bar.html:87
#: templates/cotton/transaction/item.html:143
#: templates/cotton/transaction/item.html:162
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:89
#: templates/currencies/fragments/list.html:49
#: templates/dca/fragments/strategy/details.html:81
#: templates/dca/fragments/strategy/list.html:47
@@ -1347,7 +1370,8 @@ msgstr "Je kunt dit niet meer terugdraaien!"
#: templates/account_groups/fragments/list.html:49
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:130
#: templates/cotton/transaction/item.html:144
#: templates/cotton/transaction/item.html:163
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:48
@@ -1431,7 +1455,7 @@ msgstr "ZON"
msgid "Transactions on"
msgstr "Verrichtingen op"
#: templates/calendar_view/fragments/list_transactions.html:15
#: templates/calendar_view/fragments/list_transactions.html:13
msgid "No transactions on this date"
msgstr "Geen verrichtingen op deze datum"
@@ -1440,27 +1464,6 @@ msgstr "Geen verrichtingen op deze datum"
msgid "Monthly Overview"
msgstr "Overzicht per maand"
#: templates/calendar_view/pages/calendar.html:69
#: templates/monthly_overview/pages/overview.html:69
#: templates/yearly_overview/pages/overview_by_account.html:64
#: templates/yearly_overview/pages/overview_by_currency.html:66
msgid "Installment"
msgstr "Afbetaling"
#: templates/calendar_view/pages/calendar.html:76
#: templates/monthly_overview/pages/overview.html:76
#: templates/yearly_overview/pages/overview_by_account.html:71
#: templates/yearly_overview/pages/overview_by_currency.html:73
msgid "Recurring"
msgstr "Terugkerende"
#: templates/calendar_view/pages/calendar.html:91
#: templates/monthly_overview/pages/overview.html:91
#: templates/yearly_overview/pages/overview_by_account.html:86
#: templates/yearly_overview/pages/overview_by_currency.html:88
msgid "Balance"
msgstr "Saldo"
#: templates/categories/fragments/add.html:5
msgid "Add category"
msgstr "Categorie toevoegen"
@@ -1490,15 +1493,123 @@ msgstr "Sluiten"
msgid "Search"
msgstr "Zoeken"
#: templates/cotton/transaction/item.html:5
#: templates/cotton/transaction/item.html:7
msgid "Select"
msgstr "Selecteer"
#: templates/cotton/transaction/item.html:116
#: templates/cotton/ui/transactions_action_bar.html:76
#: templates/cotton/transaction/item.html:130
#: templates/cotton/ui/transactions_action_bar.html:78
msgid "Duplicate"
msgstr "Dupliceren"
#: templates/cotton/transaction/item.html:151
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
msgid "Restore"
msgstr ""
#: templates/cotton/ui/account_card.html:15
#: templates/cotton/ui/currency_card.html:13
msgid "projected income"
msgstr "verwachte inkomsten"
#: templates/cotton/ui/account_card.html:37
#: templates/cotton/ui/currency_card.html:35
msgid "projected expenses"
msgstr "verwachte uitgaven"
#: templates/cotton/ui/account_card.html:61
#: templates/cotton/ui/currency_card.html:59
msgid "projected total"
msgstr "verwachte totaal"
#: templates/cotton/ui/account_card.html:86
#: templates/cotton/ui/currency_card.html:84
msgid "current income"
msgstr "huidige inkomsten"
#: templates/cotton/ui/account_card.html:108
#: templates/cotton/ui/currency_card.html:106
msgid "current expenses"
msgstr "huidige uitgaven"
#: templates/cotton/ui/account_card.html:130
#: templates/cotton/ui/currency_card.html:128
msgid "current total"
msgstr "huidige totaal"
#: templates/cotton/ui/account_card.html:156
#: templates/cotton/ui/currency_card.html:154
msgid "final total"
msgstr "eindtotaal"
#: templates/cotton/ui/deleted_transactions_action_bar.html:31
#: templates/cotton/ui/transactions_action_bar.html:31
msgid "Select All"
msgstr "Alles selecteren"
#: templates/cotton/ui/deleted_transactions_action_bar.html:37
#: templates/cotton/ui/transactions_action_bar.html:37
msgid "Unselect All"
msgstr "Alles deselecteren"
#: templates/cotton/ui/deleted_transactions_action_bar.html:59
#: templates/cotton/ui/transactions_action_bar.html:90
msgid "Yes, delete them!"
msgstr "Ja, verwijder ze!"
#: templates/cotton/ui/deleted_transactions_action_bar.html:105
#: templates/cotton/ui/deleted_transactions_action_bar.html:129
#: templates/cotton/ui/deleted_transactions_action_bar.html:149
#: templates/cotton/ui/deleted_transactions_action_bar.html:169
#: templates/cotton/ui/deleted_transactions_action_bar.html:189
#: templates/cotton/ui/deleted_transactions_action_bar.html:209
#: templates/cotton/ui/deleted_transactions_action_bar.html:229
#: templates/cotton/ui/transactions_action_bar.html:136
#: templates/cotton/ui/transactions_action_bar.html:160
#: templates/cotton/ui/transactions_action_bar.html:180
#: templates/cotton/ui/transactions_action_bar.html:200
#: templates/cotton/ui/transactions_action_bar.html:220
#: templates/cotton/ui/transactions_action_bar.html:240
#: templates/cotton/ui/transactions_action_bar.html:260
msgid "copied!"
msgstr "gekopieerd!"
#: templates/cotton/ui/deleted_transactions_action_bar.html:114
#: templates/cotton/ui/transactions_action_bar.html:54
#: templates/cotton/ui/transactions_action_bar.html:145
msgid "Toggle Dropdown"
msgstr "In- Uitklapbaar"
#: templates/cotton/ui/deleted_transactions_action_bar.html:122
#: templates/cotton/ui/transactions_action_bar.html:153
msgid "Flat Total"
msgstr "Vast Totaal"
#: templates/cotton/ui/deleted_transactions_action_bar.html:142
#: templates/cotton/ui/transactions_action_bar.html:173
msgid "Real Total"
msgstr "Werkelijk Totaal"
#: templates/cotton/ui/deleted_transactions_action_bar.html:162
#: templates/cotton/ui/transactions_action_bar.html:193
msgid "Mean"
msgstr "Gemiddelde"
#: templates/cotton/ui/deleted_transactions_action_bar.html:182
#: templates/cotton/ui/transactions_action_bar.html:213
msgid "Max"
msgstr "Maximaal"
#: templates/cotton/ui/deleted_transactions_action_bar.html:202
#: templates/cotton/ui/transactions_action_bar.html:233
msgid "Min"
msgstr "Minimaal"
#: templates/cotton/ui/deleted_transactions_action_bar.html:222
#: templates/cotton/ui/transactions_action_bar.html:253
msgid "Count"
msgstr "Rekenen"
#: templates/cotton/ui/percentage_distribution.html:3
#: templates/cotton/ui/percentage_distribution.html:7
msgid "Projected Income"
@@ -1519,65 +1630,26 @@ msgstr "Verwachte uitgaven"
msgid "Current Expenses"
msgstr "Huidige uitgaven"
#: templates/cotton/ui/transactions_action_bar.html:29
msgid "Select All"
msgstr "Alles selecteren"
#: templates/cotton/ui/quick_transactions_buttons.html:25
msgid "Installment"
msgstr "Afbetaling"
#: templates/cotton/ui/transactions_action_bar.html:35
msgid "Unselect All"
msgstr "Alles deselecteren"
#: templates/cotton/ui/quick_transactions_buttons.html:32
msgid "Recurring"
msgstr "Terugkerende"
#: templates/cotton/ui/transactions_action_bar.html:52
#: templates/cotton/ui/transactions_action_bar.html:143
msgid "Toggle Dropdown"
msgstr "In- Uitklapbaar"
#: templates/cotton/ui/quick_transactions_buttons.html:47
msgid "Balance"
msgstr "Saldo"
#: templates/cotton/ui/transactions_action_bar.html:60
#: templates/cotton/ui/transactions_action_bar.html:62
msgid "Mark as unpaid"
msgstr "Markeren als niet betaald"
#: templates/cotton/ui/transactions_action_bar.html:67
#: templates/cotton/ui/transactions_action_bar.html:69
msgid "Mark as paid"
msgstr "Markeren als betaald"
#: templates/cotton/ui/transactions_action_bar.html:88
msgid "Yes, delete them!"
msgstr "Ja, verwijder ze!"
#: templates/cotton/ui/transactions_action_bar.html:134
#: templates/cotton/ui/transactions_action_bar.html:158
#: templates/cotton/ui/transactions_action_bar.html:178
#: templates/cotton/ui/transactions_action_bar.html:198
#: templates/cotton/ui/transactions_action_bar.html:218
#: templates/cotton/ui/transactions_action_bar.html:238
#: templates/cotton/ui/transactions_action_bar.html:258
msgid "copied!"
msgstr "gekopieerd!"
#: templates/cotton/ui/transactions_action_bar.html:151
msgid "Flat Total"
msgstr "Vast Totaal"
#: templates/cotton/ui/transactions_action_bar.html:171
msgid "Real Total"
msgstr "Werkelijk Totaal"
#: templates/cotton/ui/transactions_action_bar.html:191
msgid "Mean"
msgstr "Gemiddelde"
#: templates/cotton/ui/transactions_action_bar.html:211
msgid "Max"
msgstr "Maximaal"
#: templates/cotton/ui/transactions_action_bar.html:231
msgid "Min"
msgstr "Minimaal"
#: templates/cotton/ui/transactions_action_bar.html:251
msgid "Count"
msgstr "Rekenen"
#: templates/currencies/fragments/add.html:5
msgid "Add currency"
msgstr "Munteenheid toevoegen"
@@ -1728,10 +1800,10 @@ msgid "Edit exchange rate"
msgstr "Wisselkoers bewerken"
#: templates/exchange_rates/fragments/list.html:25
#: templates/includes/navbar.html:57
#: templates/includes/navbar.html:58
#: templates/installment_plans/fragments/list.html:21
#: templates/yearly_overview/pages/overview_by_account.html:135
#: templates/yearly_overview/pages/overview_by_currency.html:137
#: templates/yearly_overview/pages/overview_by_account.html:92
#: templates/yearly_overview/pages/overview_by_currency.html:94
msgid "All"
msgstr "Allemaal"
@@ -1842,72 +1914,76 @@ msgstr "Nog geen runs"
msgid "Logs for"
msgstr "Logboek voor"
#: templates/includes/navbar.html:10
#: templates/includes/navbar.html:11
msgid "Toggle navigation"
msgstr "Navigatie Knop"
#: templates/includes/navbar.html:21
#: templates/includes/navbar.html:22
msgid "Overview"
msgstr "Overzicht"
#: templates/includes/navbar.html:43
#: templates/includes/navbar.html:44
msgid "Current"
msgstr "Huidige"
#: templates/includes/navbar.html:72
#: templates/includes/navbar.html:63
msgid "Trash Can"
msgstr ""
#: templates/includes/navbar.html:79
msgid "Tools"
msgstr "Hulpmiddelen"
#: templates/includes/navbar.html:76
#: templates/includes/navbar.html:83
msgid "Dollar Cost Average Tracker"
msgstr "Dollar Kostgemiddelde Tracker"
#: templates/includes/navbar.html:79
#: templates/includes/navbar.html:86
#: templates/mini_tools/unit_price_calculator.html:5
#: templates/mini_tools/unit_price_calculator.html:10
msgid "Unit Price Calculator"
msgstr "Eenheidsprijs berekenen"
#: templates/includes/navbar.html:82
#: templates/includes/navbar.html:89
#: templates/mini_tools/currency_converter/currency_converter.html:8
#: templates/mini_tools/currency_converter/currency_converter.html:15
msgid "Currency Converter"
msgstr "Valuta omrekenen"
#: templates/includes/navbar.html:91
#: templates/includes/navbar.html:98
msgid "Management"
msgstr "Beheer"
#: templates/includes/navbar.html:120
#: templates/includes/navbar.html:127
msgid "Automation"
msgstr "Automatisatie"
#: templates/includes/navbar.html:122 templates/rules/fragments/list.html:5
#: templates/includes/navbar.html:129 templates/rules/fragments/list.html:5
#: templates/rules/pages/index.html:4
msgid "Rules"
msgstr "Regels"
#: templates/includes/navbar.html:134
#: templates/includes/navbar.html:141
msgid "Only use this if you know what you're doing"
msgstr "Gebruik dit alleen als je weet wat je doet"
#: templates/includes/navbar.html:135
#: templates/includes/navbar.html:142
msgid "Django Admin"
msgstr "Django Beheerder"
#: templates/includes/navbar.html:144
#: templates/includes/navbar.html:151
msgid "Calculator"
msgstr "Rekenmachine"
#: templates/includes/navbar/user_menu.html:11
#: templates/includes/navbar/user_menu.html:12
msgid "Settings"
msgstr "Instellingen"
#: templates/includes/navbar/user_menu.html:38
#: templates/includes/navbar/user_menu.html:39
msgid "Clear cache"
msgstr "Leegmaken"
#: templates/includes/navbar/user_menu.html:42
#: templates/includes/navbar/user_menu.html:43
msgid "Logout"
msgstr "Uitloggen"
@@ -1998,6 +2074,17 @@ msgstr "Artikel"
msgid "No transactions this month"
msgstr "Geen verrichtingen deze maand"
#: templates/monthly_overview/fragments/monthly_account_summary.html:14
#: templates/monthly_overview/fragments/monthly_currency_summary.html:13
#: templates/transactions/fragments/all_account_summary.html:14
#: templates/transactions/fragments/all_currency_summary.html:13
#: templates/transactions/fragments/summary.html:27
#: templates/transactions/fragments/summary.html:42
#: templates/yearly_overview/fragments/account_data.html:12
#: templates/yearly_overview/fragments/currency_data.html:12
msgid "No information to display"
msgstr "Geen informatie om weer te geven"
#: templates/monthly_overview/fragments/monthly_summary.html:6
msgid "Daily Spending Allowance"
msgstr "Dagelijks Toegestane Besteding"
@@ -2009,51 +2096,46 @@ msgstr "Dit is het eindtotaal gedeeld door de resterende dagen in de maand"
#: templates/monthly_overview/fragments/monthly_summary.html:42
#: templates/monthly_overview/fragments/monthly_summary.html:106
#: templates/monthly_overview/fragments/monthly_summary.html:170
#: templates/transactions/fragments/summary.html:20
#: templates/transactions/fragments/summary.html:84
#: templates/transactions/fragments/summary.html:148
msgid "current"
msgstr "actueel"
#: templates/monthly_overview/fragments/monthly_summary.html:72
#: templates/monthly_overview/fragments/monthly_summary.html:136
#: templates/monthly_overview/fragments/monthly_summary.html:199
#: templates/transactions/fragments/summary.html:50
#: templates/transactions/fragments/summary.html:114
#: templates/transactions/fragments/summary.html:177
msgid "projected"
msgstr "verwacht"
#: templates/monthly_overview/fragments/monthly_summary.html:103
#: templates/transactions/fragments/summary.html:81
msgid "Expenses"
msgstr "Uitgaven"
#: templates/monthly_overview/fragments/monthly_summary.html:167
#: templates/transactions/fragments/summary.html:145
msgid "Total"
msgstr "Totaal"
#: templates/monthly_overview/fragments/monthly_summary.html:256
#: templates/transactions/fragments/summary.html:234
#: templates/monthly_overview/fragments/monthly_summary.html:257
msgid "Distribution"
msgstr "Verdeling"
#: templates/monthly_overview/pages/overview.html:108
#: templates/monthly_overview/pages/overview.html:68
msgid "Summary"
msgstr ""
#: templates/monthly_overview/pages/overview.html:142
msgid "Filter transactions"
msgstr "Filter verrichtingen"
#: templates/monthly_overview/pages/overview.html:114
#: templates/monthly_overview/pages/overview.html:148
#: templates/transactions/pages/transactions.html:33
msgid "Order by"
msgstr "Sorteer op"
#: templates/monthly_overview/pages/overview.html:117
#: templates/monthly_overview/pages/overview.html:155
#: templates/transactions/pages/transactions.html:36
msgid "Oldest first"
msgstr "Oudste eerst"
#: templates/monthly_overview/pages/overview.html:118
#: templates/monthly_overview/pages/overview.html:157
#: templates/transactions/pages/transactions.html:37
msgid "Newest first"
msgstr "Nieuwste eerst"
@@ -2246,62 +2328,27 @@ msgstr "Bewerk verrichting"
msgid "No transactions found"
msgstr "Geen Verrichtingen gevonden"
#: templates/transactions/fragments/summary.html:255
#: templates/yearly_overview/fragments/account_data.html:14
#: templates/yearly_overview/fragments/currency_data.html:14
msgid "projected income"
msgstr "verwachte inkomsten"
#: templates/transactions/fragments/summary.html:277
#: templates/yearly_overview/fragments/account_data.html:36
#: templates/yearly_overview/fragments/currency_data.html:36
msgid "projected expenses"
msgstr "verwachte uitgaven"
#: templates/transactions/fragments/summary.html:301
#: templates/yearly_overview/fragments/account_data.html:60
#: templates/yearly_overview/fragments/currency_data.html:60
msgid "projected total"
msgstr "verwachte totaal"
#: templates/transactions/fragments/summary.html:326
#: templates/yearly_overview/fragments/account_data.html:85
#: templates/yearly_overview/fragments/currency_data.html:85
msgid "current income"
msgstr "huidige inkomsten"
#: templates/transactions/fragments/summary.html:348
#: templates/yearly_overview/fragments/account_data.html:107
#: templates/yearly_overview/fragments/currency_data.html:107
msgid "current expenses"
msgstr "huidige uitgaven"
#: templates/transactions/fragments/summary.html:370
#: templates/yearly_overview/fragments/account_data.html:129
#: templates/yearly_overview/fragments/currency_data.html:129
msgid "current total"
msgstr "huidige totaal"
#: templates/transactions/fragments/summary.html:396
#: templates/yearly_overview/fragments/account_data.html:155
#: templates/yearly_overview/fragments/currency_data.html:155
msgid "final total"
msgstr "eindtotaal"
#: templates/transactions/fragments/summary.html:426
#: templates/yearly_overview/fragments/account_data.html:185
#: templates/yearly_overview/fragments/currency_data.html:184
msgid "No information to display"
msgstr "Geen informatie om weer te geven"
#: templates/transactions/fragments/transfer.html:5
msgid "New transfer"
msgstr "Nieuwe overschrijving"
#: templates/transactions/fragments/trash_list.html:7
#, fuzzy
#| msgid "No transactions this month"
msgid "No deleted transactions to show"
msgstr "Geen verrichtingen deze maand"
#: templates/transactions/pages/transactions.html:15
msgid "Filter"
msgstr "Filter"
#: templates/transactions/pages/trash.html:4
#: templates/transactions/pages/trash.html:9
#, fuzzy
#| msgid "Filter transactions"
msgid "Deleted transactions"
msgstr "Filter verrichtingen"
#: templates/transactions/widgets/unselectable_income_expense_toggle_buttons.html:14
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:8
msgid "Unchanged"
@@ -2328,7 +2375,7 @@ msgstr "Bedragen tonen"
msgid "Yearly Overview"
msgstr "Jaaroverzicht"
#: templates/yearly_overview/pages/overview_by_account.html:104
#: templates/yearly_overview/pages/overview_by_currency.html:106
#: templates/yearly_overview/pages/overview_by_account.html:61
#: templates/yearly_overview/pages/overview_by_currency.html:63
msgid "Year"
msgstr "Jaar"

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-28 00:49+0000\n"
"PO-Revision-Date: 2025-01-27 21:49-0300\n"
"POT-Creation-Date: 2025-02-01 14:09+0000\n"
"PO-Revision-Date: 2025-02-01 11:10-0300\n"
"Last-Translator: Herculino Trotta\n"
"Language-Team: \n"
"Language: pt_BR\n"
@@ -70,7 +70,7 @@ msgstr "Novo saldo"
#: apps/transactions/forms.py:39 apps/transactions/forms.py:291
#: apps/transactions/forms.py:298 apps/transactions/forms.py:478
#: apps/transactions/forms.py:723 apps/transactions/models.py:159
#: apps/transactions/models.py:311 apps/transactions/models.py:491
#: apps/transactions/models.py:314 apps/transactions/models.py:494
msgid "Category"
msgstr "Categoria"
@@ -78,8 +78,8 @@ msgstr "Categoria"
#: apps/transactions/filters.py:74 apps/transactions/forms.py:47
#: apps/transactions/forms.py:307 apps/transactions/forms.py:315
#: apps/transactions/forms.py:471 apps/transactions/forms.py:716
#: apps/transactions/models.py:165 apps/transactions/models.py:313
#: apps/transactions/models.py:495 templates/includes/navbar.html:98
#: apps/transactions/models.py:165 apps/transactions/models.py:316
#: apps/transactions/models.py:498 templates/includes/navbar.html:105
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
msgid "Tags"
msgstr "Tags"
@@ -107,7 +107,7 @@ msgstr "Grupo da Conta"
#: apps/accounts/models.py:13 templates/account_groups/fragments/list.html:5
#: templates/account_groups/pages/index.html:4
#: templates/includes/navbar.html:108
#: templates/includes/navbar.html:115
msgid "Account Groups"
msgstr "Grupos da Conta"
@@ -151,15 +151,17 @@ msgstr ""
#: apps/accounts/models.py:59 apps/rules/models.py:19
#: apps/transactions/forms.py:59 apps/transactions/forms.py:463
#: apps/transactions/forms.py:708 apps/transactions/models.py:132
#: apps/transactions/models.py:271 apps/transactions/models.py:473
#: apps/transactions/models.py:274 apps/transactions/models.py:476
msgid "Account"
msgstr "Conta"
#: apps/accounts/models.py:60 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:104
#: templates/includes/navbar.html:106
#: templates/transactions/fragments/summary.html:9
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:111
#: templates/includes/navbar.html:113
#: templates/monthly_overview/pages/overview.html:94
#: templates/transactions/fragments/summary.html:12
#: templates/transactions/pages/transactions.html:72
msgid "Accounts"
msgstr "Contas"
@@ -338,7 +340,7 @@ msgstr "Remover"
#: apps/common/widgets/tom_select.py:14
#: templates/mini_tools/unit_price_calculator.html:174
#: templates/monthly_overview/pages/overview.html:132
#: templates/monthly_overview/pages/overview.html:172
#: templates/transactions/pages/transactions.html:17
msgid "Clear"
msgstr "Limpar"
@@ -377,9 +379,11 @@ msgstr "Casas Decimais"
#: apps/currencies/models.py:33 apps/transactions/filters.py:60
#: templates/currencies/fragments/list.html:5
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:112
#: templates/includes/navbar.html:114
#: templates/transactions/fragments/summary.html:6
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:119
#: templates/includes/navbar.html:121
#: templates/monthly_overview/pages/overview.html:81
#: templates/transactions/fragments/summary.html:8
#: templates/transactions/pages/transactions.html:59
msgid "Currencies"
msgstr "Moedas"
@@ -405,7 +409,7 @@ msgstr "Data e Tempo"
#: apps/currencies/models.py:67 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:116
#: templates/includes/navbar.html:123
msgid "Exchange Rates"
msgstr "Taxas de Câmbio"
@@ -447,7 +451,7 @@ msgstr "Moeda de pagamento"
#: apps/dca/models.py:27 apps/dca/models.py:179 apps/rules/models.py:26
#: apps/transactions/forms.py:333 apps/transactions/models.py:155
#: apps/transactions/models.py:320 apps/transactions/models.py:501
#: apps/transactions/models.py:323 apps/transactions/models.py:504
msgid "Notes"
msgstr "Notas"
@@ -517,7 +521,7 @@ msgstr "Selecione um arquivo"
#: apps/import_app/forms.py:61
#: templates/import_app/fragments/profiles/list.html:62
#: templates/includes/navbar.html:124
#: templates/includes/navbar.html:131
msgid "Import"
msgstr "Importar"
@@ -611,7 +615,7 @@ msgstr "Já existe um valor para esse campo na regra."
#: apps/rules/models.py:10 apps/rules/models.py:25
#: apps/transactions/forms.py:325 apps/transactions/models.py:153
#: apps/transactions/models.py:278 apps/transactions/models.py:487
#: apps/transactions/models.py:281 apps/transactions/models.py:490
msgid "Description"
msgstr "Descrição"
@@ -620,7 +624,7 @@ msgid "Trigger"
msgstr "Gatilho"
#: apps/rules/models.py:20 apps/transactions/models.py:139
#: apps/transactions/models.py:276 apps/transactions/models.py:479
#: apps/transactions/models.py:279 apps/transactions/models.py:482
msgid "Type"
msgstr "Tipo"
@@ -633,22 +637,22 @@ msgstr "Pago"
#: apps/rules/models.py:23 apps/transactions/forms.py:66
#: apps/transactions/forms.py:322 apps/transactions/forms.py:492
#: apps/transactions/models.py:143 apps/transactions/models.py:294
#: apps/transactions/models.py:503
#: apps/transactions/models.py:143 apps/transactions/models.py:297
#: apps/transactions/models.py:506
msgid "Reference Date"
msgstr "Data de Referência"
#: apps/rules/models.py:24 apps/transactions/models.py:148
#: apps/transactions/models.py:484
#: apps/transactions/models.py:487
msgid "Amount"
msgstr "Quantia"
#: apps/rules/models.py:29 apps/transactions/filters.py:81
#: apps/transactions/forms.py:55 apps/transactions/forms.py:486
#: apps/transactions/forms.py:731 apps/transactions/models.py:117
#: apps/transactions/models.py:170 apps/transactions/models.py:316
#: apps/transactions/models.py:498 templates/entities/fragments/list.html:5
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:100
#: apps/transactions/models.py:170 apps/transactions/models.py:319
#: apps/transactions/models.py:501 templates/entities/fragments/list.html:5
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:107
msgid "Entities"
msgstr "Entidades"
@@ -692,7 +696,7 @@ msgstr "Ação atualizada com sucesso"
msgid "Action deleted successfully"
msgstr "Ação apagada com sucesso"
#: apps/transactions/filters.py:24 templates/includes/navbar.html:45
#: apps/transactions/filters.py:24 templates/includes/navbar.html:46
#: templates/transactions/widgets/paid_toggle_button.html:8
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
msgid "Projected"
@@ -707,7 +711,7 @@ msgid "Transaction Type"
msgstr "Tipo de Transação"
#: apps/transactions/filters.py:67 templates/categories/fragments/list.html:5
#: templates/categories/pages/index.html:4 templates/includes/navbar.html:96
#: templates/categories/pages/index.html:4 templates/includes/navbar.html:103
msgid "Categories"
msgstr "Categorias"
@@ -752,10 +756,7 @@ msgid "To Amount"
msgstr "Quantia de destino"
#: apps/transactions/forms.py:398
#: templates/calendar_view/pages/calendar.html:84
#: templates/monthly_overview/pages/overview.html:84
#: templates/yearly_overview/pages/overview_by_account.html:79
#: templates/yearly_overview/pages/overview_by_currency.html:81
#: templates/cotton/ui/quick_transactions_buttons.html:40
msgid "Transfer"
msgstr "Transferir"
@@ -834,28 +835,29 @@ msgid "Entity"
msgstr "Entidade"
#: apps/transactions/models.py:126
#: templates/calendar_view/pages/calendar.html:54
#: templates/calendar_view/fragments/list.html:42
#: templates/calendar_view/fragments/list.html:44
#: templates/calendar_view/fragments/list.html:52
#: templates/calendar_view/fragments/list.html:54
#: templates/cotton/ui/quick_transactions_buttons.html:10
#: templates/monthly_overview/fragments/monthly_summary.html:39
#: templates/monthly_overview/pages/overview.html:54
#: templates/transactions/fragments/summary.html:17
#: templates/yearly_overview/pages/overview_by_account.html:49
#: templates/yearly_overview/pages/overview_by_currency.html:51
msgid "Income"
msgstr "Renda"
#: apps/transactions/models.py:127
#: templates/calendar_view/pages/calendar.html:62
#: templates/monthly_overview/pages/overview.html:62
#: templates/yearly_overview/pages/overview_by_account.html:57
#: templates/yearly_overview/pages/overview_by_currency.html:59
#: templates/calendar_view/fragments/list.html:46
#: templates/calendar_view/fragments/list.html:48
#: templates/calendar_view/fragments/list.html:56
#: templates/calendar_view/fragments/list.html:58
#: templates/cotton/ui/quick_transactions_buttons.html:18
msgid "Expense"
msgstr "Despesa"
#: apps/transactions/models.py:181 apps/transactions/models.py:323
#: apps/transactions/models.py:181 apps/transactions/models.py:326
msgid "Installment Plan"
msgstr "Parcelamento"
#: apps/transactions/models.py:190 apps/transactions/models.py:524
#: apps/transactions/models.py:190 apps/transactions/models.py:527
msgid "Recurring Transaction"
msgstr "Transação Recorrente"
@@ -879,103 +881,103 @@ msgstr "Apagado Em"
msgid "Transaction"
msgstr "Transação"
#: apps/transactions/models.py:212 templates/includes/navbar.html:53
#: templates/includes/navbar.html:94
#: apps/transactions/models.py:212 templates/includes/navbar.html:54
#: templates/includes/navbar.html:101
#: templates/recurring_transactions/fragments/list_transactions.html:5
#: templates/recurring_transactions/fragments/table.html:37
#: templates/transactions/pages/transactions.html:5
msgid "Transactions"
msgstr "Transações"
#: apps/transactions/models.py:265
#: apps/transactions/models.py:268
msgid "Yearly"
msgstr "Anual"
#: apps/transactions/models.py:266 apps/users/models.py:26
#: templates/includes/navbar.html:25
#: apps/transactions/models.py:269 apps/users/models.py:26
#: templates/includes/navbar.html:26
msgid "Monthly"
msgstr "Mensal"
#: apps/transactions/models.py:267
#: apps/transactions/models.py:270
msgid "Weekly"
msgstr "Semanal"
#: apps/transactions/models.py:268
#: apps/transactions/models.py:271
msgid "Daily"
msgstr "Diária"
#: apps/transactions/models.py:281
#: apps/transactions/models.py:284
msgid "Number of Installments"
msgstr "Número de Parcelas"
#: apps/transactions/models.py:286
#: apps/transactions/models.py:289
msgid "Installment Start"
msgstr "Parcela inicial"
#: apps/transactions/models.py:287
#: apps/transactions/models.py:290
msgid "The installment number to start counting from"
msgstr "O número da parcela a partir do qual se inicia a contagem"
#: apps/transactions/models.py:292 apps/transactions/models.py:507
#: apps/transactions/models.py:295 apps/transactions/models.py:510
msgid "Start Date"
msgstr "Data de Início"
#: apps/transactions/models.py:296 apps/transactions/models.py:508
#: apps/transactions/models.py:299 apps/transactions/models.py:511
msgid "End Date"
msgstr "Data Final"
#: apps/transactions/models.py:301
#: apps/transactions/models.py:304
msgid "Recurrence"
msgstr "Recorrência"
#: apps/transactions/models.py:304
#: apps/transactions/models.py:307
msgid "Installment Amount"
msgstr "Valor da Parcela"
#: apps/transactions/models.py:324 templates/includes/navbar.html:62
#: apps/transactions/models.py:327 templates/includes/navbar.html:69
#: templates/installment_plans/fragments/list.html:5
#: templates/installment_plans/pages/index.html:4
msgid "Installment Plans"
msgstr "Parcelamentos"
#: apps/transactions/models.py:466
#: apps/transactions/models.py:469
msgid "day(s)"
msgstr "dia(s)"
#: apps/transactions/models.py:467
#: apps/transactions/models.py:470
msgid "week(s)"
msgstr "semana(s)"
#: apps/transactions/models.py:468
#: apps/transactions/models.py:471
msgid "month(s)"
msgstr "mês(es)"
#: apps/transactions/models.py:469
#: apps/transactions/models.py:472
msgid "year(s)"
msgstr "ano(s)"
#: apps/transactions/models.py:471
#: apps/transactions/models.py:474
#: templates/recurring_transactions/fragments/list.html:24
msgid "Paused"
msgstr "Pausado"
#: apps/transactions/models.py:510
#: apps/transactions/models.py:513
msgid "Recurrence Type"
msgstr "Tipo de recorrência"
#: apps/transactions/models.py:513
#: apps/transactions/models.py:516
msgid "Recurrence Interval"
msgstr "Intervalo de recorrência"
#: apps/transactions/models.py:517
#: apps/transactions/models.py:520
msgid "Last Generated Date"
msgstr "Última data gerada"
#: apps/transactions/models.py:520
#: apps/transactions/models.py:523
msgid "Last Generated Reference Date"
msgstr "Última data de referência gerada"
#: apps/transactions/models.py:525 templates/includes/navbar.html:64
#: apps/transactions/models.py:528 templates/includes/navbar.html:71
#: templates/recurring_transactions/fragments/list.html:5
#: templates/recurring_transactions/pages/index.html:4
msgid "Recurring Transactions"
@@ -1012,7 +1014,14 @@ msgid_plural "%(count)s transactions deleted successfully"
msgstr[0] "%(count)s transação apagada com sucesso"
msgstr[1] "%(count)s transações apagadas com sucesso"
#: apps/transactions/views/actions.py:106
#: apps/transactions/views/actions.py:95
#, python-format
msgid "%(count)s transaction restored successfully"
msgid_plural "%(count)s transactions restored successfully"
msgstr[0] "%(count)s transação restaurada com sucesso"
msgstr[1] "%(count)s transações restauradas com sucesso"
#: apps/transactions/views/actions.py:130
#, python-format
msgid "%(count)s transaction duplicated successfully"
msgid_plural "%(count)s transactions duplicated successfully"
@@ -1119,7 +1128,11 @@ msgstr "Transação duplicada com sucesso"
msgid "Transaction deleted successfully"
msgstr "Transação apagada com sucesso"
#: apps/transactions/views/transactions.py:277
#: apps/transactions/views/transactions.py:269
msgid "Transaction restored successfully"
msgstr "Transação restaurada com sucesso"
#: apps/transactions/views/transactions.py:295
msgid "Transfer added successfully"
msgstr "Transferência adicionada com sucesso"
@@ -1160,7 +1173,7 @@ msgid "This account is deactivated"
msgstr "Essa conta está desativada"
#: apps/users/forms.py:50 apps/users/forms.py:63 apps/users/forms.py:85
#: templates/monthly_overview/pages/overview.html:116
#: templates/monthly_overview/pages/overview.html:153
#: templates/transactions/pages/transactions.html:35
msgid "Default"
msgstr "Padrão"
@@ -1181,15 +1194,15 @@ msgstr "Formato de Número"
msgid "Save"
msgstr "Salvar"
#: apps/users/models.py:27 templates/includes/navbar.html:27
#: apps/users/models.py:27 templates/includes/navbar.html:28
msgid "Yearly by currency"
msgstr "Anual por moeda"
#: apps/users/models.py:28 templates/includes/navbar.html:29
#: apps/users/models.py:28 templates/includes/navbar.html:30
msgid "Yearly by account"
msgstr "Anual por conta"
#: apps/users/models.py:29 templates/includes/navbar.html:39
#: apps/users/models.py:29 templates/includes/navbar.html:40
msgid "Net Worth"
msgstr "Patrimônio"
@@ -1197,7 +1210,7 @@ msgstr "Patrimônio"
msgid "All Transactions"
msgstr "Todas as transações"
#: apps/users/models.py:31 templates/includes/navbar.html:31
#: apps/users/models.py:31 templates/includes/navbar.html:32
msgid "Calendar"
msgstr "Calendário"
@@ -1263,8 +1276,8 @@ msgstr "Ações"
#: templates/account_groups/fragments/list.html:36
#: templates/accounts/fragments/list.html:41
#: templates/categories/fragments/table.html:29
#: templates/cotton/transaction/item.html:109
#: templates/cotton/ui/transactions_action_bar.html:47
#: templates/cotton/transaction/item.html:123
#: templates/cotton/ui/transactions_action_bar.html:49
#: templates/currencies/fragments/list.html:37
#: templates/dca/fragments/strategy/details.html:67
#: templates/dca/fragments/strategy/list.html:34
@@ -1282,8 +1295,10 @@ msgstr "Editar"
#: templates/account_groups/fragments/list.html:43
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:124
#: templates/cotton/ui/transactions_action_bar.html:84
#: templates/cotton/transaction/item.html:138
#: templates/cotton/transaction/item.html:157
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:86
#: templates/currencies/fragments/list.html:44
#: templates/dca/fragments/strategy/details.html:75
#: templates/dca/fragments/strategy/list.html:42
@@ -1303,8 +1318,10 @@ msgstr "Apagar"
#: templates/account_groups/fragments/list.html:47
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:128
#: templates/cotton/ui/transactions_action_bar.html:86
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:161
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:88
#: templates/currencies/fragments/list.html:48
#: templates/dca/fragments/strategy/details.html:80
#: templates/dca/fragments/strategy/list.html:46
@@ -1327,8 +1344,10 @@ msgstr "Tem certeza?"
#: templates/account_groups/fragments/list.html:48
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:129
#: templates/cotton/ui/transactions_action_bar.html:87
#: templates/cotton/transaction/item.html:143
#: templates/cotton/transaction/item.html:162
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:89
#: templates/currencies/fragments/list.html:49
#: templates/dca/fragments/strategy/details.html:81
#: templates/dca/fragments/strategy/list.html:47
@@ -1344,7 +1363,8 @@ msgstr "Você não será capaz de reverter isso!"
#: templates/account_groups/fragments/list.html:49
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:130
#: templates/cotton/transaction/item.html:144
#: templates/cotton/transaction/item.html:163
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:48
@@ -1428,7 +1448,7 @@ msgstr "DOM"
msgid "Transactions on"
msgstr "Transações em"
#: templates/calendar_view/fragments/list_transactions.html:15
#: templates/calendar_view/fragments/list_transactions.html:13
msgid "No transactions on this date"
msgstr "Nenhuma transação nesta data"
@@ -1437,27 +1457,6 @@ msgstr "Nenhuma transação nesta data"
msgid "Monthly Overview"
msgstr "Visão Mensal"
#: templates/calendar_view/pages/calendar.html:69
#: templates/monthly_overview/pages/overview.html:69
#: templates/yearly_overview/pages/overview_by_account.html:64
#: templates/yearly_overview/pages/overview_by_currency.html:66
msgid "Installment"
msgstr "Parcelamento"
#: templates/calendar_view/pages/calendar.html:76
#: templates/monthly_overview/pages/overview.html:76
#: templates/yearly_overview/pages/overview_by_account.html:71
#: templates/yearly_overview/pages/overview_by_currency.html:73
msgid "Recurring"
msgstr "Recorrência"
#: templates/calendar_view/pages/calendar.html:91
#: templates/monthly_overview/pages/overview.html:91
#: templates/yearly_overview/pages/overview_by_account.html:86
#: templates/yearly_overview/pages/overview_by_currency.html:88
msgid "Balance"
msgstr "Balancear"
#: templates/categories/fragments/add.html:5
msgid "Add category"
msgstr "Adicionar categoria"
@@ -1487,15 +1486,123 @@ msgstr "Fechar"
msgid "Search"
msgstr "Buscar"
#: templates/cotton/transaction/item.html:5
#: templates/cotton/transaction/item.html:7
msgid "Select"
msgstr "Selecionar"
#: templates/cotton/transaction/item.html:116
#: templates/cotton/ui/transactions_action_bar.html:76
#: templates/cotton/transaction/item.html:130
#: templates/cotton/ui/transactions_action_bar.html:78
msgid "Duplicate"
msgstr "Duplicar"
#: templates/cotton/transaction/item.html:151
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
msgid "Restore"
msgstr "Restaurar"
#: templates/cotton/ui/account_card.html:15
#: templates/cotton/ui/currency_card.html:13
msgid "projected income"
msgstr "renda prevista"
#: templates/cotton/ui/account_card.html:37
#: templates/cotton/ui/currency_card.html:35
msgid "projected expenses"
msgstr "despesas previstas"
#: templates/cotton/ui/account_card.html:61
#: templates/cotton/ui/currency_card.html:59
msgid "projected total"
msgstr "total previsto"
#: templates/cotton/ui/account_card.html:86
#: templates/cotton/ui/currency_card.html:84
msgid "current income"
msgstr "renda atual"
#: templates/cotton/ui/account_card.html:108
#: templates/cotton/ui/currency_card.html:106
msgid "current expenses"
msgstr "despesas atuais"
#: templates/cotton/ui/account_card.html:130
#: templates/cotton/ui/currency_card.html:128
msgid "current total"
msgstr "total atual"
#: templates/cotton/ui/account_card.html:156
#: templates/cotton/ui/currency_card.html:154
msgid "final total"
msgstr "total final"
#: templates/cotton/ui/deleted_transactions_action_bar.html:31
#: templates/cotton/ui/transactions_action_bar.html:31
msgid "Select All"
msgstr "Selecionar todos"
#: templates/cotton/ui/deleted_transactions_action_bar.html:37
#: templates/cotton/ui/transactions_action_bar.html:37
msgid "Unselect All"
msgstr "Desmarcar todos"
#: templates/cotton/ui/deleted_transactions_action_bar.html:59
#: templates/cotton/ui/transactions_action_bar.html:90
msgid "Yes, delete them!"
msgstr "Sim, apague!"
#: templates/cotton/ui/deleted_transactions_action_bar.html:105
#: templates/cotton/ui/deleted_transactions_action_bar.html:129
#: templates/cotton/ui/deleted_transactions_action_bar.html:149
#: templates/cotton/ui/deleted_transactions_action_bar.html:169
#: templates/cotton/ui/deleted_transactions_action_bar.html:189
#: templates/cotton/ui/deleted_transactions_action_bar.html:209
#: templates/cotton/ui/deleted_transactions_action_bar.html:229
#: templates/cotton/ui/transactions_action_bar.html:136
#: templates/cotton/ui/transactions_action_bar.html:160
#: templates/cotton/ui/transactions_action_bar.html:180
#: templates/cotton/ui/transactions_action_bar.html:200
#: templates/cotton/ui/transactions_action_bar.html:220
#: templates/cotton/ui/transactions_action_bar.html:240
#: templates/cotton/ui/transactions_action_bar.html:260
msgid "copied!"
msgstr "copiado!"
#: templates/cotton/ui/deleted_transactions_action_bar.html:114
#: templates/cotton/ui/transactions_action_bar.html:54
#: templates/cotton/ui/transactions_action_bar.html:145
msgid "Toggle Dropdown"
msgstr "Alternar menu suspenso"
#: templates/cotton/ui/deleted_transactions_action_bar.html:122
#: templates/cotton/ui/transactions_action_bar.html:153
msgid "Flat Total"
msgstr "Total Fixo"
#: templates/cotton/ui/deleted_transactions_action_bar.html:142
#: templates/cotton/ui/transactions_action_bar.html:173
msgid "Real Total"
msgstr "Total Real"
#: templates/cotton/ui/deleted_transactions_action_bar.html:162
#: templates/cotton/ui/transactions_action_bar.html:193
msgid "Mean"
msgstr "Média"
#: templates/cotton/ui/deleted_transactions_action_bar.html:182
#: templates/cotton/ui/transactions_action_bar.html:213
msgid "Max"
msgstr "Máximo"
#: templates/cotton/ui/deleted_transactions_action_bar.html:202
#: templates/cotton/ui/transactions_action_bar.html:233
msgid "Min"
msgstr "Minímo"
#: templates/cotton/ui/deleted_transactions_action_bar.html:222
#: templates/cotton/ui/transactions_action_bar.html:253
msgid "Count"
msgstr "Contagem"
#: templates/cotton/ui/percentage_distribution.html:3
#: templates/cotton/ui/percentage_distribution.html:7
msgid "Projected Income"
@@ -1516,65 +1623,26 @@ msgstr "Despesas Previstas"
msgid "Current Expenses"
msgstr "Despesas Atuais"
#: templates/cotton/ui/transactions_action_bar.html:29
msgid "Select All"
msgstr "Selecionar todos"
#: templates/cotton/ui/quick_transactions_buttons.html:25
msgid "Installment"
msgstr "Parcelamento"
#: templates/cotton/ui/transactions_action_bar.html:35
msgid "Unselect All"
msgstr "Desmarcar todos"
#: templates/cotton/ui/quick_transactions_buttons.html:32
msgid "Recurring"
msgstr "Recorrência"
#: templates/cotton/ui/transactions_action_bar.html:52
#: templates/cotton/ui/transactions_action_bar.html:143
msgid "Toggle Dropdown"
msgstr "Alternar menu suspenso"
#: templates/cotton/ui/quick_transactions_buttons.html:47
msgid "Balance"
msgstr "Balancear"
#: templates/cotton/ui/transactions_action_bar.html:60
#: templates/cotton/ui/transactions_action_bar.html:62
msgid "Mark as unpaid"
msgstr "Marcar como não pago"
#: templates/cotton/ui/transactions_action_bar.html:67
#: templates/cotton/ui/transactions_action_bar.html:69
msgid "Mark as paid"
msgstr "Marcar como pago"
#: templates/cotton/ui/transactions_action_bar.html:88
msgid "Yes, delete them!"
msgstr "Sim, apague!"
#: templates/cotton/ui/transactions_action_bar.html:134
#: templates/cotton/ui/transactions_action_bar.html:158
#: templates/cotton/ui/transactions_action_bar.html:178
#: templates/cotton/ui/transactions_action_bar.html:198
#: templates/cotton/ui/transactions_action_bar.html:218
#: templates/cotton/ui/transactions_action_bar.html:238
#: templates/cotton/ui/transactions_action_bar.html:258
msgid "copied!"
msgstr "copiado!"
#: templates/cotton/ui/transactions_action_bar.html:151
msgid "Flat Total"
msgstr "Total Fixo"
#: templates/cotton/ui/transactions_action_bar.html:171
msgid "Real Total"
msgstr "Total Real"
#: templates/cotton/ui/transactions_action_bar.html:191
msgid "Mean"
msgstr "Média"
#: templates/cotton/ui/transactions_action_bar.html:211
msgid "Max"
msgstr "Máximo"
#: templates/cotton/ui/transactions_action_bar.html:231
msgid "Min"
msgstr "Minímo"
#: templates/cotton/ui/transactions_action_bar.html:251
msgid "Count"
msgstr "Contagem"
#: templates/currencies/fragments/add.html:5
msgid "Add currency"
msgstr "Adicionar moeda"
@@ -1726,10 +1794,10 @@ msgid "Edit exchange rate"
msgstr "Editar taxa de câmbio"
#: templates/exchange_rates/fragments/list.html:25
#: templates/includes/navbar.html:57
#: templates/includes/navbar.html:58
#: templates/installment_plans/fragments/list.html:21
#: templates/yearly_overview/pages/overview_by_account.html:135
#: templates/yearly_overview/pages/overview_by_currency.html:137
#: templates/yearly_overview/pages/overview_by_account.html:92
#: templates/yearly_overview/pages/overview_by_currency.html:94
msgid "All"
msgstr "Todas"
@@ -1841,72 +1909,76 @@ msgstr "Nenhuma importação ainda"
msgid "Logs for"
msgstr "Logs para"
#: templates/includes/navbar.html:10
#: templates/includes/navbar.html:11
msgid "Toggle navigation"
msgstr "Alternar navegação"
#: templates/includes/navbar.html:21
#: templates/includes/navbar.html:22
msgid "Overview"
msgstr "Visão Geral"
#: templates/includes/navbar.html:43
#: templates/includes/navbar.html:44
msgid "Current"
msgstr "Atual"
#: templates/includes/navbar.html:72
#: templates/includes/navbar.html:63
msgid "Trash Can"
msgstr "Lixeira"
#: templates/includes/navbar.html:79
msgid "Tools"
msgstr "Ferramentas"
#: templates/includes/navbar.html:76
#: templates/includes/navbar.html:83
msgid "Dollar Cost Average Tracker"
msgstr "Rastreador de Custo Médio Ponderado"
#: templates/includes/navbar.html:79
#: templates/includes/navbar.html:86
#: templates/mini_tools/unit_price_calculator.html:5
#: templates/mini_tools/unit_price_calculator.html:10
msgid "Unit Price Calculator"
msgstr "Calculadora de preço unitário"
#: templates/includes/navbar.html:82
#: templates/includes/navbar.html:89
#: templates/mini_tools/currency_converter/currency_converter.html:8
#: templates/mini_tools/currency_converter/currency_converter.html:15
msgid "Currency Converter"
msgstr "Conversor de Moeda"
#: templates/includes/navbar.html:91
#: templates/includes/navbar.html:98
msgid "Management"
msgstr "Gerenciar"
#: templates/includes/navbar.html:120
#: templates/includes/navbar.html:127
msgid "Automation"
msgstr "Automação"
#: templates/includes/navbar.html:122 templates/rules/fragments/list.html:5
#: templates/includes/navbar.html:129 templates/rules/fragments/list.html:5
#: templates/rules/pages/index.html:4
msgid "Rules"
msgstr "Regras"
#: templates/includes/navbar.html:134
#: templates/includes/navbar.html:141
msgid "Only use this if you know what you're doing"
msgstr "Só use isso se você souber o que está fazendo"
#: templates/includes/navbar.html:135
#: templates/includes/navbar.html:142
msgid "Django Admin"
msgstr "Django Admin"
#: templates/includes/navbar.html:144
#: templates/includes/navbar.html:151
msgid "Calculator"
msgstr "Calculadora"
#: templates/includes/navbar/user_menu.html:11
#: templates/includes/navbar/user_menu.html:12
msgid "Settings"
msgstr "Configurações"
#: templates/includes/navbar/user_menu.html:38
#: templates/includes/navbar/user_menu.html:39
msgid "Clear cache"
msgstr "Limpar cache"
#: templates/includes/navbar/user_menu.html:42
#: templates/includes/navbar/user_menu.html:43
msgid "Logout"
msgstr "Sair"
@@ -1996,6 +2068,17 @@ msgstr "Item"
msgid "No transactions this month"
msgstr "Nenhuma transação neste mês"
#: templates/monthly_overview/fragments/monthly_account_summary.html:14
#: templates/monthly_overview/fragments/monthly_currency_summary.html:13
#: templates/transactions/fragments/all_account_summary.html:14
#: templates/transactions/fragments/all_currency_summary.html:13
#: templates/transactions/fragments/summary.html:27
#: templates/transactions/fragments/summary.html:42
#: templates/yearly_overview/fragments/account_data.html:12
#: templates/yearly_overview/fragments/currency_data.html:12
msgid "No information to display"
msgstr "Não há informação para mostrar"
#: templates/monthly_overview/fragments/monthly_summary.html:6
msgid "Daily Spending Allowance"
msgstr "Gasto Diário"
@@ -2007,51 +2090,46 @@ msgstr "Esse é o total final dividido pelos dias restantes do mês"
#: templates/monthly_overview/fragments/monthly_summary.html:42
#: templates/monthly_overview/fragments/monthly_summary.html:106
#: templates/monthly_overview/fragments/monthly_summary.html:170
#: templates/transactions/fragments/summary.html:20
#: templates/transactions/fragments/summary.html:84
#: templates/transactions/fragments/summary.html:148
msgid "current"
msgstr "atual"
#: templates/monthly_overview/fragments/monthly_summary.html:72
#: templates/monthly_overview/fragments/monthly_summary.html:136
#: templates/monthly_overview/fragments/monthly_summary.html:199
#: templates/transactions/fragments/summary.html:50
#: templates/transactions/fragments/summary.html:114
#: templates/transactions/fragments/summary.html:177
msgid "projected"
msgstr "previsto"
#: templates/monthly_overview/fragments/monthly_summary.html:103
#: templates/transactions/fragments/summary.html:81
msgid "Expenses"
msgstr "Despesas"
#: templates/monthly_overview/fragments/monthly_summary.html:167
#: templates/transactions/fragments/summary.html:145
msgid "Total"
msgstr "Total"
#: templates/monthly_overview/fragments/monthly_summary.html:256
#: templates/transactions/fragments/summary.html:234
#: templates/monthly_overview/fragments/monthly_summary.html:257
msgid "Distribution"
msgstr "Distribuição"
#: templates/monthly_overview/pages/overview.html:108
#: templates/monthly_overview/pages/overview.html:68
msgid "Summary"
msgstr "Resumo"
#: templates/monthly_overview/pages/overview.html:142
msgid "Filter transactions"
msgstr "Filtrar transações"
#: templates/monthly_overview/pages/overview.html:114
#: templates/monthly_overview/pages/overview.html:148
#: templates/transactions/pages/transactions.html:33
msgid "Order by"
msgstr "Ordernar por"
#: templates/monthly_overview/pages/overview.html:117
#: templates/monthly_overview/pages/overview.html:155
#: templates/transactions/pages/transactions.html:36
msgid "Oldest first"
msgstr "Mais antigas primeiro"
#: templates/monthly_overview/pages/overview.html:118
#: templates/monthly_overview/pages/overview.html:157
#: templates/transactions/pages/transactions.html:37
msgid "Newest first"
msgstr "Mais novas primeiro"
@@ -2241,62 +2319,23 @@ msgstr "Editar transação"
msgid "No transactions found"
msgstr "Nenhuma transação encontrada"
#: templates/transactions/fragments/summary.html:255
#: templates/yearly_overview/fragments/account_data.html:14
#: templates/yearly_overview/fragments/currency_data.html:14
msgid "projected income"
msgstr "renda prevista"
#: templates/transactions/fragments/summary.html:277
#: templates/yearly_overview/fragments/account_data.html:36
#: templates/yearly_overview/fragments/currency_data.html:36
msgid "projected expenses"
msgstr "despesas previstas"
#: templates/transactions/fragments/summary.html:301
#: templates/yearly_overview/fragments/account_data.html:60
#: templates/yearly_overview/fragments/currency_data.html:60
msgid "projected total"
msgstr "total previsto"
#: templates/transactions/fragments/summary.html:326
#: templates/yearly_overview/fragments/account_data.html:85
#: templates/yearly_overview/fragments/currency_data.html:85
msgid "current income"
msgstr "renda atual"
#: templates/transactions/fragments/summary.html:348
#: templates/yearly_overview/fragments/account_data.html:107
#: templates/yearly_overview/fragments/currency_data.html:107
msgid "current expenses"
msgstr "despesas atuais"
#: templates/transactions/fragments/summary.html:370
#: templates/yearly_overview/fragments/account_data.html:129
#: templates/yearly_overview/fragments/currency_data.html:129
msgid "current total"
msgstr "total atual"
#: templates/transactions/fragments/summary.html:396
#: templates/yearly_overview/fragments/account_data.html:155
#: templates/yearly_overview/fragments/currency_data.html:155
msgid "final total"
msgstr "total final"
#: templates/transactions/fragments/summary.html:426
#: templates/yearly_overview/fragments/account_data.html:185
#: templates/yearly_overview/fragments/currency_data.html:184
msgid "No information to display"
msgstr "Não há informação para mostrar"
#: templates/transactions/fragments/transfer.html:5
msgid "New transfer"
msgstr "Nova transferência"
#: templates/transactions/fragments/trash_list.html:7
msgid "No deleted transactions to show"
msgstr "Nenhuma transação apaga para mostrar"
#: templates/transactions/pages/transactions.html:15
msgid "Filter"
msgstr "Filtro"
#: templates/transactions/pages/trash.html:4
#: templates/transactions/pages/trash.html:9
msgid "Deleted transactions"
msgstr "Transações apagadas"
#: templates/transactions/widgets/unselectable_income_expense_toggle_buttons.html:14
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:8
msgid "Unchanged"
@@ -2323,8 +2362,8 @@ msgstr "Mostrar valores"
msgid "Yearly Overview"
msgstr "Visão Anual"
#: templates/yearly_overview/pages/overview_by_account.html:104
#: templates/yearly_overview/pages/overview_by_currency.html:106
#: templates/yearly_overview/pages/overview_by_account.html:61
#: templates/yearly_overview/pages/overview_by_currency.html:63
msgid "Year"
msgstr "Ano"

View File

@@ -2,83 +2,93 @@
{% load i18n %}
<div class="transaction d-flex my-1 {% if transaction.type == "EX" %}expense{% else %}income{% endif %}">
{% if not disable_selection %}
<label class="px-3 d-flex align-items-center justify-content-center">
<input class="form-check-input" type="checkbox" name="transactions" value="{{ transaction.id }}" id="check-{{ transaction.id }}" aria-label="{% translate 'Select' %}" hx-preserve>
</label>
<label class="px-3 d-flex align-items-center justify-content-center">
<input class="form-check-input" type="checkbox" name="transactions" value="{{ transaction.id }}"
id="check-{{ transaction.id }}" aria-label="{% translate 'Select' %}" hx-preserve>
</label>
{% endif %}
<div class="tw-border-s-6 tw-border-e-0 tw-border-t-0 tw-border-b-0 border-bottom
hover:tw-bg-zinc-900 p-2 {% if transaction.account.is_asset %}tw-border-dashed{% else %}tw-border-solid{% endif %}
{% if transaction.type == "EX" %}tw-border-red-500{% else %}tw-border-green-500{% endif %} tw-relative
w-100 transaction-item"
_="on mouseover remove .tw-invisible from the first .transaction-actions in me end
_="on mouseover remove .tw-invisible from the first .transaction-actions in me end
on mouseout add .tw-invisible to the first .transaction-actions in me end">
<div class="row font-monospace tw-text-sm align-items-center">
<div class="col-lg-1 col-12 d-flex align-items-center tw-text-2xl lg:tw-text-xl text-lg-center text-center">
<a class="text-decoration-none my-lg-3 mx-lg-3 mx-2 my-2 tw-text-gray-500"
role="button"
hx-get="{% url 'transaction_pay' transaction_id=transaction.id %}"
hx-target="closest .transaction"
hx-swap="outerHTML">
<div class="col-lg-1 col-12 d-flex align-items-center tw-text-2xl lg:tw-text-xl text-lg-center text-center">
{% if not transaction.deleted %}
<a class="text-decoration-none my-lg-3 mx-lg-3 mx-2 my-2 tw-text-gray-500"
role="button"
hx-get="{% url 'transaction_pay' transaction_id=transaction.id %}"
hx-target="closest .transaction"
hx-swap="outerHTML">
{% if transaction.is_paid %}<i class="fa-regular fa-circle-check"></i>{% else %}<i
class="fa-regular fa-circle"></i>{% endif %}
</a>
</div>
<div class="col-lg-8 col-12">
{# Date#}
<div class="row mb-2 mb-lg-1 tw-text-gray-400">
</a>
{% else %}
<div class="text-decoration-none my-lg-3 mx-lg-3 mx-2 my-2 tw-text-gray-500">
{% if transaction.is_paid %}<i class="fa-regular fa-circle-check"></i>{% else %}<i
class="fa-regular fa-circle"></i>{% endif %}
</div>
{% endif %}
</div>
<div class="col-lg-8 col-12">
{# Date#}
<div class="row mb-2 mb-lg-1 tw-text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-calendar fa-fw me-1 fa-xs"></i></div>
<div class="col ps-0">{{ transaction.date|date:"SHORT_DATE_FORMAT" }} • {{ transaction.reference_date|date:"b/Y" }}</div>
<div
class="col ps-0">{{ transaction.date|date:"SHORT_DATE_FORMAT" }} • {{ transaction.reference_date|date:"b/Y" }}</div>
</div>
{# Description#}
<div class="mb-2 mb-lg-1 text-white tw-text-base">
{% spaceless %}
<span>{{ transaction.description }}</span>
{% if transaction.installment_plan and transaction.installment_id %}
<span
class="badge text-bg-secondary ms-2">{{ transaction.installment_id }}/{{ transaction.installment_plan.installment_total_number }}</span>
{% endif %}
{% if transaction.recurring_transaction %}
<span class="text-primary tw-text-xs ms-2"><i class="fa-solid fa-arrows-rotate fa-fw"></i></span>
{% endif %}
{% endspaceless %}
</div>
<div class="tw-text-gray-400 tw-text-sm">
{# Entities #}
{% with transaction.entities.all as entities %}
{% if entities %}
<div class="row mb-2 mb-lg-1 tw-text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-user-group fa-fw me-1 fa-xs"></i></div>
<div class="col ps-0">{{ entities|join:", " }}</div>
</div>
{% endif %}
{% endwith %}
{# Notes#}
{% if transaction.notes %}
<div class="row mb-2 mb-lg-1 tw-text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-align-left fa-fw me-1 fa-xs"></i></div>
<div class="col ps-0">{{ transaction.notes | limited_markdown | linebreaksbr }}</div>
</div>
{% endif %}
{# Category#}
{% if transaction.category %}
<div class="row mb-2 mb-lg-1 tw-text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-icons fa-fw me-1 fa-xs"></i></div>
<div class="col ps-0">{{ transaction.category.name }}</div>
</div>
{% endif %}
{# Tags#}
{% with transaction.tags.all as tags %}
{% if tags %}
<div class="row mb-2 mb-lg-1 tw-text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-hashtag fa-fw me-1 fa-xs"></i></div>
<div class="col ps-0">{{ tags|join:", " }}</div>
</div>
{% endif %}
{% endwith %}
</div>
</div>
{# Description#}
<div class="mb-2 mb-lg-1 text-white tw-text-base">
{% spaceless %}
<span>{{ transaction.description }}</span>
{% if transaction.installment_plan and transaction.installment_id %}
<span class="badge text-bg-secondary ms-2">{{ transaction.installment_id }}/{{ transaction.installment_plan.installment_total_number }}</span>
{% endif %}
{% if transaction.recurring_transaction %}
<span class="text-primary tw-text-xs ms-2"><i class="fa-solid fa-arrows-rotate fa-fw"></i></span>
{% endif %}
{% endspaceless %}
</div>
<div class="tw-text-gray-400 tw-text-sm">
{# Entities #}
{% with transaction.entities.all as entities %}
{% if entities %}
<div class="row mb-2 mb-lg-1 tw-text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-user-group fa-fw me-1 fa-xs"></i></div>
<div class="col ps-0">{{ entities|join:", " }}</div>
</div>
{% endif %}
{% endwith %}
{# Notes#}
{% if transaction.notes %}
<div class="row mb-2 mb-lg-1 tw-text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-align-left fa-fw me-1 fa-xs"></i></div>
<div class="col ps-0">{{ transaction.notes | limited_markdown | linebreaksbr }}</div>
</div>
{% endif %}
{# Category#}
{% if transaction.category %}
<div class="row mb-2 mb-lg-1 tw-text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-icons fa-fw me-1 fa-xs"></i></div>
<div class="col ps-0">{{ transaction.category.name }}</div>
</div>
{% endif %}
{# Tags#}
{% with transaction.tags.all as tags %}
{% if tags %}
<div class="row mb-2 mb-lg-1 tw-text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-hashtag fa-fw me-1 fa-xs"></i></div>
<div class="col ps-0">{{ tags|join:", " }}</div>
</div>
{% endif %}
{% endwith %}
</div>
</div>
<div class="col-lg-3 col-12 text-lg-end align-self-end">
<div class="col-lg-3 col-12 text-lg-end align-self-end">
<div class="main-amount mb-2 mb-lg-0">
<c-amount.display
<c-amount.display
:amount="transaction.amount"
:prefix="transaction.account.currency.prefix"
:suffix="transaction.account.currency.suffix"
@@ -87,53 +97,76 @@
</div>
{# Exchange Rate#}
{% with exchanged=transaction.exchanged_amount %}
{% if exchanged %}
<div class="exchanged-amount mb-2 mb-lg-0">
<c-amount.display
:amount="exchanged.amount"
:prefix="exchanged.prefix"
:suffix="exchanged.suffix"
:decimal_places="exchanged.decimal_places"
color="grey"></c-amount.display>
</div>
{% endif %}
{% if exchanged %}
<div class="exchanged-amount mb-2 mb-lg-0">
<c-amount.display
:amount="exchanged.amount"
:prefix="exchanged.prefix"
:suffix="exchanged.suffix"
:decimal_places="exchanged.decimal_places"
color="grey"></c-amount.display>
</div>
{% endif %}
{% endwith %}
<div>{% if transaction.account.group %}{{ transaction.account.group.name }} • {% endif %}{{ transaction.account.name }}</div>
</div>
<div>
{# Item actions#}
<div class="transaction-actions !tw-absolute tw-left-1/2 tw-top-0 tw--translate-x-1/2 tw--translate-y-1/2 tw-invisible d-flex flex-row card">
<div class="card-body p-1 shadow-lg">
<a class="btn btn-secondary btn-sm transaction-action"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Edit" %}"
hx-get="{% url 'transaction_edit' transaction_id=transaction.id %}"
hx-target="#generic-offcanvas" hx-swap="innerHTML">
<i class="fa-solid fa-pencil fa-fw"></i></a>
<a class="btn btn-secondary btn-sm transaction-action"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Duplicate" %}"
hx-get="{% url 'transaction_clone' transaction_id=transaction.id %}"
_="on click if event.ctrlKey set @hx-get to `{% url 'transaction_clone' transaction_id=transaction.id %}?edit=true` then call htmx.process(me) end then trigger ready"
hx-trigger="ready" >
<i class="fa-solid fa-clone fa-fw"></i></a>
<a class="btn btn-secondary btn-sm transaction-action"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Delete" %}"
hx-delete="{% url 'transaction_delete' transaction_id=transaction.id %}"
hx-trigger='confirmed'
data-bypass-on-ctrl="true"
data-title="{% translate "Are you sure?" %}"
data-text="{% translate "You won't be able to revert this!" %}"
data-confirm-text="{% translate "Yes, delete it!" %}"
_="install prompt_swal"><i class="fa-solid fa-trash fa-fw text-danger"></i>
</a>
<div>
{% if transaction.account.group %}{{ transaction.account.group.name }} • {% endif %}{{ transaction.account.name }}</div>
</div>
<div>
{# Item actions#}
<div
class="transaction-actions !tw-absolute tw-left-1/2 tw-top-0 tw--translate-x-1/2 tw--translate-y-1/2 tw-invisible d-flex flex-row card">
<div class="card-body p-1 shadow-lg">
{% if not transaction.deleted %}
<a class="btn btn-secondary btn-sm transaction-action"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Edit" %}"
hx-get="{% url 'transaction_edit' transaction_id=transaction.id %}"
hx-target="#generic-offcanvas" hx-swap="innerHTML">
<i class="fa-solid fa-pencil fa-fw"></i></a>
<a class="btn btn-secondary btn-sm transaction-action"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Duplicate" %}"
hx-get="{% url 'transaction_clone' transaction_id=transaction.id %}"
_="on click if event.ctrlKey set @hx-get to `{% url 'transaction_clone' transaction_id=transaction.id %}?edit=true` then call htmx.process(me) end then trigger ready"
hx-trigger="ready">
<i class="fa-solid fa-clone fa-fw"></i></a>
<a class="btn btn-secondary btn-sm transaction-action"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Delete" %}"
hx-delete="{% url 'transaction_delete' transaction_id=transaction.id %}"
hx-trigger='confirmed'
data-bypass-on-ctrl="true"
data-title="{% translate "Are you sure?" %}"
data-text="{% translate "You won't be able to revert this!" %}"
data-confirm-text="{% translate "Yes, delete it!" %}"
_="install prompt_swal"><i class="fa-solid fa-trash fa-fw text-danger"></i>
</a>
{% else %}
<a class="btn btn-secondary btn-sm transaction-action"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Restore" %}"
hx-get="{% url 'transaction_undelete' transaction_id=transaction.id %}"><i
class="fa-solid fa-trash-arrow-up"></i></a>
<a class="btn btn-secondary btn-sm transaction-action"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Delete" %}"
hx-delete="{% url 'transaction_delete' transaction_id=transaction.id %}"
hx-trigger='confirmed'
data-bypass-on-ctrl="true"
data-title="{% translate "Are you sure?" %}"
data-text="{% translate "You won't be able to revert this!" %}"
data-confirm-text="{% translate "Yes, delete it!" %}"
_="install prompt_swal"><i class="fa-solid fa-trash fa-fw text-danger"></i>
</a>
{% endif %}
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,243 @@
{% load i18n %}
<div class="tw-sticky tw-bottom-4 tw-left-0 tw-right-0 tw-z-50 tw-hidden mx-auto tw-w-fit" id="actions-bar"
_="on change from #transactions-list or htmx:afterSettle from window
if #actions-bar then
if no <input[type='checkbox']:checked/> in #transactions-list
if #actions-bar
add .slide-in-bottom-reverse then settle
then add .tw-hidden to #actions-bar
then remove .slide-in-bottom-reverse
end
else
if #actions-bar
remove .tw-hidden from #actions-bar
then trigger selected_transactions_updated
end
end
end
end">
<div class="card slide-in-bottom">
<div class="card-body p-2 d-flex justify-content-between align-items-center gap-3">
{% spaceless %}
<div class="dropdown">
<button class="btn btn-secondary btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="fa-regular fa-square-check fa-fw"></i>
</button>
<ul class="dropdown-menu">
<li>
<div class="dropdown-item px-3 tw-cursor-pointer"
_="on click set <#transactions-list input[type='checkbox']/>'s checked to true then call me.blur() then trigger change">
<i class="fa-regular fa-square-check tw-text-green-400 me-3"></i>{% translate 'Select All' %}
</div>
</li>
<li>
<div class="dropdown-item px-3 tw-cursor-pointer"
_="on click set <#transactions-list input[type='checkbox']/>'s checked to false then call me.blur() then trigger change">
<i class="fa-regular fa-square tw-text-red-400 me-3"></i>{% translate 'Unselect All' %}
</div>
</li>
</ul>
</div>
<div class="vr tw-align-middle"></div>
<button class="btn btn-secondary btn-sm"
hx-get="{% url 'transactions_bulk_undelete' %}"
hx-include=".transaction"
data-bs-toggle="tooltip"
data-bs-title="{% translate 'Restore' %}">
<i class="fa-solid fa-trash-arrow-up fa-fw"></i>
</button>
<button class="btn btn-secondary btn-sm"
hx-get="{% url 'transactions_bulk_delete' %}"
hx-include=".transaction"
hx-trigger="confirmed"
data-bs-toggle="tooltip"
data-bs-title="{% translate 'Delete' %}"
data-bypass-on-ctrl="true"
data-title="{% translate "Are you sure?" %}"
data-text="{% translate "You won't be able to revert this!" %}"
data-confirm-text="{% translate "Yes, delete them!" %}"
_="install prompt_swal">
<i class="fa-solid fa-trash text-danger"></i>
</button>
<div class="vr tw-align-middle"></div>
<div class="btn-group"
_="on selected_transactions_updated from #actions-bar
set realTotal to math.bignumber(0)
set flatTotal to math.bignumber(0)
set transactions to <.transaction:has(input[name='transactions']:checked)/>
set flatAmountValues to []
set realAmountValues to []
for transaction in transactions
set amt to first <.main-amount .amount/> in transaction
set amountValue to parseFloat(amt.getAttribute('data-amount'))
append amountValue to flatAmountValues
if not isNaN(amountValue)
set flatTotal to math.chain(flatTotal).add(amountValue)
if transaction match .income
append amountValue to realAmountValues
set realTotal to math.chain(realTotal).add(amountValue)
else
append -amountValue to realAmountValues
set realTotal to math.chain(realTotal).subtract(amountValue)
end
end
end
set mean to flatTotal.divide(flatAmountValues.length).done().toNumber()
set realTotal to realTotal.done().toNumber()
set flatTotal to flatTotal.done().toNumber()
put realTotal.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into #real-total-front's innerText
put realTotal.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into #calc-menu-real-total's innerText
put flatTotal.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into #calc-menu-flat-total's innerText
put Math.max.apply(Math, realAmountValues).toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into #calc-menu-max's innerText
put Math.min.apply(Math, realAmountValues).toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into #calc-menu-min's innerText
put mean.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into #calc-menu-mean's innerText
put flatAmountValues.length.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into #calc-menu-count's innerText
end">
<button class="btn btn-secondary btn-sm" _="on click
set original_value to #real-total-front's innerText
writeText(original_value) on navigator.clipboard
put '{% translate "copied!" %}' into #real-total-front's innerText
wait 1s
put original_value into #real-total-front's innerText
end">
<i class="fa-solid fa-plus fa-fw me-md-2 text-primary"></i>
<span class="d-none d-md-inline-block" id="real-total-front">0</span>
</button>
<button type="button" class="btn btn-sm btn-secondary dropdown-toggle dropdown-toggle-split"
data-bs-toggle="dropdown" aria-expanded="false" data-bs-auto-close="outside">
<span class="visually-hidden">{% trans "Toggle Dropdown" %}</span>
</button>
<ul class="dropdown-menu">
<li>
<div class="dropdown-item-text p-0">
<div>
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
{% trans "Flat Total" %}
</div>
<div class="dropdown-item px-3 tw-cursor-pointer"
id="calc-menu-flat-total"
_="on click
set original_value to my innerText
writeText(my innerText) on navigator.clipboard
put '{% translate "copied!" %}' into me
wait 1s
put original_value into me
end">
0
</div>
</div>
</div>
</li>
<li>
<div class="dropdown-item-text p-0">
<div>
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
{% trans "Real Total" %}
</div>
<div class="dropdown-item px-3 tw-cursor-pointer"
id="calc-menu-real-total"
_="on click
set original_value to my innerText
writeText(my innerText) on navigator.clipboard
put '{% translate "copied!" %}' into me
wait 1s
put original_value into me
end">
0
</div>
</div>
</div>
</li>
<li>
<div class="dropdown-item-text p-0">
<div>
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
{% trans "Mean" %}
</div>
<div class="dropdown-item px-3 tw-cursor-pointer"
id="calc-menu-mean"
_="on click
set original_value to my innerText
writeText(my innerText) on navigator.clipboard
put '{% translate "copied!" %}' into me
wait 1s
put original_value into me
end">
0
</div>
</div>
</div>
</li>
<li>
<div class="dropdown-item-text p-0">
<div>
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
{% trans "Max" %}
</div>
<div class="dropdown-item px-3 tw-cursor-pointer"
id="calc-menu-max"
_="on click
set original_value to my innerText
writeText(my innerText) on navigator.clipboard
put '{% translate "copied!" %}' into me
wait 1s
put original_value into me
end">
0
</div>
</div>
</div>
</li>
<li>
<div class="dropdown-item-text p-0">
<div>
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
{% trans "Min" %}
</div>
<div class="dropdown-item px-3 tw-cursor-pointer"
id="calc-menu-min"
_="on click
set original_value to my innerText
writeText(my innerText) on navigator.clipboard
put '{% translate "copied!" %}' into me
wait 1s
put original_value into me
end">
0
</div>
</div>
</div>
</li>
<li>
<div class="dropdown-item-text p-0">
<div>
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
{% trans "Count" %}
</div>
<div class="dropdown-item px-3 tw-cursor-pointer"
id="calc-menu-count"
_="on click
set original_value to my innerText
writeText(my innerText) on navigator.clipboard
put '{% translate "copied!" %}' into me
wait 1s
put original_value into me
end">
0
</div>
</div>
</div>
</li>
</ul>
</div>
{% endspaceless %}
</div>
</div>
</div>

View File

@@ -1,3 +1,4 @@
{% load settings %}
{% load static %}
{% load i18n %}
{% load active_link %}
@@ -56,7 +57,13 @@
<li><a class="dropdown-item {% active_link views='transactions_all_index' %}"
href="{% url 'transactions_all_index' %}">{% translate 'All' %}</a></li>
<li>
<hr class="dropdown-divider">
{% settings "ENABLE_SOFT_DELETE" as enable_soft_delete %}
{% if enable_soft_delete %}
<li><a class="dropdown-item {% active_link views='transactions_trash_index' %}"
href="{% url 'transactions_trash_index' %}">{% translate 'Trash Can' %}</a></li>
<li>
{% endif %}
<hr class="dropdown-divider">
</li>
<li><a class="dropdown-item {% active_link views='installment_plans_index' %}"
href="{% url 'installment_plans_index' %}">{% translate 'Installment Plans' %}</a></li>

View File

@@ -0,0 +1,11 @@
{% load i18n %}
<div class="trash-list-container" id="transactions-list">
{% for transaction in transactions %}
<c-transaction.item :transaction="transaction"></c-transaction.item>
{% empty %}
<c-msg.empty
title="{% translate "No deleted transactions to show" %}"></c-msg.empty>
{% endfor %}
{# Floating bar #}
<c-ui.deleted-transactions-action-bar></c-ui.deleted-transactions-action-bar>
</div>

View File

@@ -0,0 +1,14 @@
{% extends "layouts/base.html" %}
{% load i18n %}
{% block title %}{% translate 'Deleted transactions' %}{% endblock %}
{% block content %}
<div class="container px-md-3 py-3 column-gap-5">
<div class="tw-text-3xl fw-bold font-monospace tw-w-full mb-3">
<div>{% translate 'Deleted transactions' %}</div>
</div>
<div hx-get="{% url 'transactions_trash_list' %}" hx-trigger="load, updated from:window" class="show-loading"></div>
</div>
{% endblock %}