mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-02-25 17:04:51 +01:00
Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c7e32d1576 | ||
|
|
157e59a1d1 | ||
|
|
d9c505ac79 | ||
|
|
7274a13f3c | ||
|
|
5d64665ddd | ||
|
|
e0d92d15c8 | ||
|
|
48dd658627 | ||
|
|
80dbbd02f0 | ||
|
|
4b7ca61c29 | ||
|
|
b2f04ae1f9 | ||
|
|
f34d4b5e28 | ||
|
|
d2ebfbd615 | ||
|
|
812abbe488 | ||
|
|
9602a4affc | ||
|
|
bf548c0747 | ||
|
|
55ad2be08b | ||
|
|
2cd58c2464 | ||
|
|
4675ba9d56 | ||
|
|
a25c992d5c | ||
|
|
2eadfe99a5 | ||
|
|
11086a726f | ||
|
|
cd99b40b0a | ||
|
|
63aa51dc0d | ||
|
|
4708c5bc7e | ||
|
|
5a8462c050 | ||
|
|
6cac02e01f | ||
|
|
8d12ceeebb | ||
|
|
4681d3ca1d | ||
|
|
60ded03ea9 | ||
|
|
b20d137dc3 | ||
|
|
29ca6eed6c |
@@ -51,7 +51,7 @@ urlpatterns = [
|
||||
),
|
||||
path(
|
||||
"account-groups/<int:pk>/share/",
|
||||
views.account_share,
|
||||
views.account_group_share,
|
||||
name="account_group_share_settings",
|
||||
),
|
||||
]
|
||||
|
||||
@@ -145,7 +145,7 @@ def account_group_take_ownership(request, pk):
|
||||
@only_htmx
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def account_share(request, pk):
|
||||
def account_group_share(request, pk):
|
||||
obj = get_object_or_404(AccountGroup, id=pk)
|
||||
|
||||
if obj.owner and obj.owner != request.user:
|
||||
|
||||
@@ -10,7 +10,7 @@ from apps.currencies.utils.convert import convert
|
||||
|
||||
|
||||
def get_categories_totals(transactions_queryset, ignore_empty=False):
|
||||
# Get metrics for each category and currency in a single query
|
||||
# First get the category totals as before
|
||||
category_currency_metrics = (
|
||||
transactions_queryset.values(
|
||||
"category",
|
||||
@@ -74,9 +74,65 @@ def get_categories_totals(transactions_queryset, ignore_empty=False):
|
||||
.order_by("category__name")
|
||||
)
|
||||
|
||||
# Get tag totals within each category with currency details
|
||||
tag_metrics = transactions_queryset.values(
|
||||
"category",
|
||||
"tags",
|
||||
"tags__name",
|
||||
"account__currency",
|
||||
"account__currency__code",
|
||||
"account__currency__name",
|
||||
"account__currency__decimal_places",
|
||||
"account__currency__prefix",
|
||||
"account__currency__suffix",
|
||||
"account__currency__exchange_currency",
|
||||
).annotate(
|
||||
expense_current=Coalesce(
|
||||
Sum(
|
||||
Case(
|
||||
When(type=Transaction.Type.EXPENSE, is_paid=True, then="amount"),
|
||||
default=Value(0),
|
||||
output_field=models.DecimalField(),
|
||||
)
|
||||
),
|
||||
Decimal("0"),
|
||||
),
|
||||
expense_projected=Coalesce(
|
||||
Sum(
|
||||
Case(
|
||||
When(type=Transaction.Type.EXPENSE, is_paid=False, then="amount"),
|
||||
default=Value(0),
|
||||
output_field=models.DecimalField(),
|
||||
)
|
||||
),
|
||||
Decimal("0"),
|
||||
),
|
||||
income_current=Coalesce(
|
||||
Sum(
|
||||
Case(
|
||||
When(type=Transaction.Type.INCOME, is_paid=True, then="amount"),
|
||||
default=Value(0),
|
||||
output_field=models.DecimalField(),
|
||||
)
|
||||
),
|
||||
Decimal("0"),
|
||||
),
|
||||
income_projected=Coalesce(
|
||||
Sum(
|
||||
Case(
|
||||
When(type=Transaction.Type.INCOME, is_paid=False, then="amount"),
|
||||
default=Value(0),
|
||||
output_field=models.DecimalField(),
|
||||
)
|
||||
),
|
||||
Decimal("0"),
|
||||
),
|
||||
)
|
||||
|
||||
# Process the results to structure by category
|
||||
result = {}
|
||||
|
||||
# Process category totals first
|
||||
for metric in category_currency_metrics:
|
||||
# Skip empty categories if ignore_empty is True
|
||||
if ignore_empty and all(
|
||||
@@ -101,7 +157,11 @@ def get_categories_totals(transactions_queryset, ignore_empty=False):
|
||||
currency_id = metric["account__currency"]
|
||||
|
||||
if category_id not in result:
|
||||
result[category_id] = {"name": metric["category__name"], "currencies": {}}
|
||||
result[category_id] = {
|
||||
"name": metric["category__name"],
|
||||
"currencies": {},
|
||||
"tags": {}, # Add tags container
|
||||
}
|
||||
|
||||
# Add currency data
|
||||
currency_data = {
|
||||
@@ -162,4 +222,101 @@ def get_categories_totals(transactions_queryset, ignore_empty=False):
|
||||
|
||||
result[category_id]["currencies"][currency_id] = currency_data
|
||||
|
||||
# Process tag totals and add them to the result, including untagged
|
||||
for tag_metric in tag_metrics:
|
||||
category_id = tag_metric["category"]
|
||||
tag_id = tag_metric["tags"] # Will be None for untagged transactions
|
||||
|
||||
if category_id in result:
|
||||
# Initialize the tag container if not exists
|
||||
if "tags" not in result[category_id]:
|
||||
result[category_id]["tags"] = {}
|
||||
|
||||
# Determine if this is a tagged or untagged transaction
|
||||
tag_key = tag_id if tag_id is not None else "untagged"
|
||||
tag_name = tag_metric["tags__name"] if tag_id is not None else None
|
||||
|
||||
if tag_key not in result[category_id]["tags"]:
|
||||
result[category_id]["tags"][tag_key] = {
|
||||
"name": tag_name,
|
||||
"currencies": {},
|
||||
}
|
||||
|
||||
currency_id = tag_metric["account__currency"]
|
||||
|
||||
# Calculate tag totals
|
||||
tag_total_current = (
|
||||
tag_metric["income_current"] - tag_metric["expense_current"]
|
||||
)
|
||||
tag_total_projected = (
|
||||
tag_metric["income_projected"] - tag_metric["expense_projected"]
|
||||
)
|
||||
tag_total_income = (
|
||||
tag_metric["income_current"] + tag_metric["income_projected"]
|
||||
)
|
||||
tag_total_expense = (
|
||||
tag_metric["expense_current"] + tag_metric["expense_projected"]
|
||||
)
|
||||
tag_total_final = tag_total_current + tag_total_projected
|
||||
|
||||
tag_currency_data = {
|
||||
"currency": {
|
||||
"code": tag_metric["account__currency__code"],
|
||||
"name": tag_metric["account__currency__name"],
|
||||
"decimal_places": tag_metric["account__currency__decimal_places"],
|
||||
"prefix": tag_metric["account__currency__prefix"],
|
||||
"suffix": tag_metric["account__currency__suffix"],
|
||||
},
|
||||
"expense_current": tag_metric["expense_current"],
|
||||
"expense_projected": tag_metric["expense_projected"],
|
||||
"total_expense": tag_total_expense,
|
||||
"income_current": tag_metric["income_current"],
|
||||
"income_projected": tag_metric["income_projected"],
|
||||
"total_income": tag_total_income,
|
||||
"total_current": tag_total_current,
|
||||
"total_projected": tag_total_projected,
|
||||
"total_final": tag_total_final,
|
||||
}
|
||||
|
||||
# Add exchange currency support for tags
|
||||
if tag_metric["account__currency__exchange_currency"]:
|
||||
from_currency = Currency.objects.get(id=currency_id)
|
||||
exchange_currency = Currency.objects.get(
|
||||
id=tag_metric["account__currency__exchange_currency"]
|
||||
)
|
||||
|
||||
exchanged = {}
|
||||
for field in [
|
||||
"expense_current",
|
||||
"expense_projected",
|
||||
"income_current",
|
||||
"income_projected",
|
||||
"total_income",
|
||||
"total_expense",
|
||||
"total_current",
|
||||
"total_projected",
|
||||
"total_final",
|
||||
]:
|
||||
amount, prefix, suffix, decimal_places = convert(
|
||||
amount=tag_currency_data[field],
|
||||
from_currency=from_currency,
|
||||
to_currency=exchange_currency,
|
||||
)
|
||||
if amount is not None:
|
||||
exchanged[field] = amount
|
||||
if "currency" not in exchanged:
|
||||
exchanged["currency"] = {
|
||||
"prefix": prefix,
|
||||
"suffix": suffix,
|
||||
"decimal_places": decimal_places,
|
||||
"code": exchange_currency.code,
|
||||
"name": exchange_currency.name,
|
||||
}
|
||||
if exchanged:
|
||||
tag_currency_data["exchanged"] = exchanged
|
||||
|
||||
result[category_id]["tags"][tag_key]["currencies"][
|
||||
currency_id
|
||||
] = tag_currency_data
|
||||
|
||||
return result
|
||||
|
||||
@@ -168,6 +168,24 @@ def category_sum_by_currency(request):
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def category_overview(request):
|
||||
if "view_type" in request.GET:
|
||||
view_type = request.GET["view_type"]
|
||||
request.session["insights_category_explorer_view_type"] = view_type
|
||||
else:
|
||||
view_type = request.session.get("insights_category_explorer_view_type", "table")
|
||||
|
||||
if "show_tags" in request.GET:
|
||||
show_tags = request.GET["show_tags"] == "on"
|
||||
request.session["insights_category_explorer_show_tags"] = show_tags
|
||||
else:
|
||||
show_tags = request.session.get("insights_category_explorer_show_tags", True)
|
||||
|
||||
if "showing" in request.GET:
|
||||
showing = request.GET["showing"]
|
||||
request.session["insights_category_explorer_showing"] = showing
|
||||
else:
|
||||
showing = request.session.get("insights_category_explorer_showing", "final")
|
||||
|
||||
# Get filtered transactions
|
||||
transactions = get_transactions(request, include_silent=True)
|
||||
|
||||
@@ -178,7 +196,12 @@ def category_overview(request):
|
||||
return render(
|
||||
request,
|
||||
"insights/fragments/category_overview/index.html",
|
||||
{"total_table": total_table},
|
||||
{
|
||||
"total_table": total_table,
|
||||
"view_type": view_type,
|
||||
"show_tags": show_tags,
|
||||
"showing": showing,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ from crispy_forms.layout import (
|
||||
Row,
|
||||
Column,
|
||||
Field,
|
||||
Div,
|
||||
)
|
||||
from django import forms
|
||||
from django.db.models import Q
|
||||
@@ -206,10 +207,21 @@ class TransactionForm(forms.ModelForm):
|
||||
else:
|
||||
self.fields["amount"].widget = ArbitraryDecimalDisplayNumberInput()
|
||||
self.helper.layout.append(
|
||||
FormActions(
|
||||
Div(
|
||||
NoClassSubmit(
|
||||
"submit", _("Add"), css_class="btn btn-outline-primary w-100"
|
||||
"submit", _("Add"), css_class="btn btn-outline-primary"
|
||||
),
|
||||
NoClassSubmit(
|
||||
"submit_and_similar",
|
||||
_("Save and add similar"),
|
||||
css_class="btn btn-outline-primary",
|
||||
),
|
||||
NoClassSubmit(
|
||||
"submit_and_another",
|
||||
_("Save and add another"),
|
||||
css_class="btn btn-outline-primary",
|
||||
),
|
||||
css_class="d-grid gap-2",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -43,16 +43,71 @@ def transaction_add(request):
|
||||
year=year,
|
||||
).date()
|
||||
|
||||
update = False
|
||||
|
||||
if request.method == "POST":
|
||||
form = TransactionForm(request.POST)
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
saved_instance = form.save()
|
||||
messages.success(request, _("Transaction added successfully"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={"HX-Trigger": "updated, hide_offcanvas"},
|
||||
)
|
||||
if "submit" in request.POST:
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={"HX-Trigger": "updated, hide_offcanvas"},
|
||||
)
|
||||
elif "submit_and_another" in request.POST:
|
||||
form = TransactionForm(
|
||||
initial={
|
||||
"date": expected_date,
|
||||
"type": transaction_type,
|
||||
},
|
||||
)
|
||||
update = True
|
||||
elif "submit_and_similar" in request.POST:
|
||||
initial_data = {}
|
||||
|
||||
# Define fields to copy from the SAVED instance
|
||||
direct_fields_to_copy = [
|
||||
"account", # ForeignKey -> will copy the ID
|
||||
"type", # ChoiceField -> will copy the value
|
||||
"is_paid", # BooleanField -> will copy True/False
|
||||
"date", # DateField -> will copy the date object
|
||||
"reference_date", # DateField -> will copy the date object
|
||||
"amount", # DecimalField -> will copy the decimal
|
||||
"description", # CharField -> will copy the string
|
||||
"notes", # TextField -> will copy the string
|
||||
"category", # ForeignKey -> will copy the ID
|
||||
]
|
||||
m2m_fields_to_copy = [
|
||||
"tags", # ManyToManyField -> will copy list of IDs
|
||||
"entities", # ManyToManyField -> will copy list of IDs
|
||||
]
|
||||
|
||||
# Copy direct fields from the saved instance
|
||||
for field_name in direct_fields_to_copy:
|
||||
value = getattr(saved_instance, field_name, None)
|
||||
if value is not None:
|
||||
# Handle ForeignKey: use the pk
|
||||
if hasattr(value, "pk"):
|
||||
initial_data[field_name] = value.pk
|
||||
# Handle Date/DateTime/Decimal/Boolean/etc.: use the Python object directly
|
||||
else:
|
||||
initial_data[field_name] = (
|
||||
value # This correctly handles date objects!
|
||||
)
|
||||
|
||||
# Copy M2M fields: provide a list of related object pks
|
||||
for field_name in m2m_fields_to_copy:
|
||||
m2m_manager = getattr(saved_instance, field_name)
|
||||
initial_data[field_name] = list(
|
||||
m2m_manager.values_list("name", flat=True)
|
||||
)
|
||||
|
||||
# Create a new form instance pre-filled with the correctly typed initial data
|
||||
form = TransactionForm(initial=initial_data)
|
||||
update = True # Signal HTMX to update the form area
|
||||
|
||||
else:
|
||||
form = TransactionForm(
|
||||
initial={
|
||||
@@ -61,11 +116,15 @@ def transaction_add(request):
|
||||
},
|
||||
)
|
||||
|
||||
return render(
|
||||
response = render(
|
||||
request,
|
||||
"transactions/fragments/add.html",
|
||||
{"form": form},
|
||||
)
|
||||
if update:
|
||||
response["HX-Trigger"] = "updated"
|
||||
|
||||
return response
|
||||
|
||||
|
||||
@login_required
|
||||
|
||||
@@ -20,6 +20,7 @@ from apps.users.forms import (
|
||||
UserAddForm,
|
||||
)
|
||||
from apps.users.models import UserSettings
|
||||
from apps.common.decorators.demo import disabled_on_demo
|
||||
|
||||
|
||||
def logout_view(request):
|
||||
@@ -168,6 +169,7 @@ def user_add(request):
|
||||
|
||||
@only_htmx
|
||||
@htmx_login_required
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def user_edit(request, pk):
|
||||
user = get_object_or_404(get_user_model(), id=pk)
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-13 22:01+0000\n"
|
||||
"POT-Creation-Date: 2025-04-21 18:45+0000\n"
|
||||
"PO-Revision-Date: 2025-04-13 02:40+0000\n"
|
||||
"Last-Translator: Prefill add-on <noreply-addon-prefill@weblate.org>\n"
|
||||
"Language-Team: German <https://translations.herculino.com/projects/wygiwyh/"
|
||||
@@ -27,10 +27,10 @@ msgstr "Gruppe Name"
|
||||
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
|
||||
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
|
||||
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:202
|
||||
#: apps/transactions/forms.py:269 apps/transactions/forms.py:629
|
||||
#: apps/transactions/forms.py:672 apps/transactions/forms.py:704
|
||||
#: apps/transactions/forms.py:739 apps/transactions/forms.py:891
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:203
|
||||
#: apps/transactions/forms.py:281 apps/transactions/forms.py:641
|
||||
#: apps/transactions/forms.py:684 apps/transactions/forms.py:716
|
||||
#: apps/transactions/forms.py:751 apps/transactions/forms.py:903
|
||||
#: apps/users/forms.py:210 apps/users/forms.py:372
|
||||
msgid "Update"
|
||||
msgstr "Aktualisierung"
|
||||
@@ -40,10 +40,10 @@ msgstr "Aktualisierung"
|
||||
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
|
||||
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
|
||||
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
|
||||
#: apps/transactions/forms.py:187 apps/transactions/forms.py:211
|
||||
#: apps/transactions/forms.py:637 apps/transactions/forms.py:680
|
||||
#: apps/transactions/forms.py:712 apps/transactions/forms.py:747
|
||||
#: apps/transactions/forms.py:899 apps/users/forms.py:218
|
||||
#: apps/transactions/forms.py:188 apps/transactions/forms.py:212
|
||||
#: apps/transactions/forms.py:649 apps/transactions/forms.py:692
|
||||
#: apps/transactions/forms.py:724 apps/transactions/forms.py:759
|
||||
#: apps/transactions/forms.py:911 apps/users/forms.py:218
|
||||
#: apps/users/forms.py:380 templates/account_groups/fragments/list.html:9
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/categories/fragments/list.html:9
|
||||
@@ -74,12 +74,12 @@ msgstr "Neuer Saldo"
|
||||
#: apps/accounts/forms.py:121 apps/dca/forms.py:85 apps/dca/forms.py:92
|
||||
#: apps/insights/forms.py:118 apps/rules/forms.py:174 apps/rules/forms.py:189
|
||||
#: apps/rules/models.py:38 apps/rules/models.py:286
|
||||
#: apps/transactions/forms.py:40 apps/transactions/forms.py:303
|
||||
#: apps/transactions/forms.py:310 apps/transactions/forms.py:510
|
||||
#: apps/transactions/forms.py:771 apps/transactions/models.py:305
|
||||
#: apps/transactions/forms.py:41 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:322 apps/transactions/forms.py:522
|
||||
#: apps/transactions/forms.py:783 apps/transactions/models.py:305
|
||||
#: apps/transactions/models.py:488 apps/transactions/models.py:688
|
||||
#: templates/insights/fragments/category_overview/index.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:215
|
||||
#: templates/insights/fragments/category_overview/index.html:63
|
||||
#: templates/insights/fragments/category_overview/index.html:420
|
||||
msgid "Category"
|
||||
msgstr "Kategorie"
|
||||
|
||||
@@ -87,12 +87,13 @@ msgstr "Kategorie"
|
||||
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:186 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:290 apps/transactions/filters.py:74
|
||||
#: apps/transactions/forms.py:48 apps/transactions/forms.py:319
|
||||
#: apps/transactions/forms.py:327 apps/transactions/forms.py:503
|
||||
#: apps/transactions/forms.py:764 apps/transactions/models.py:311
|
||||
#: apps/transactions/forms.py:49 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:339 apps/transactions/forms.py:515
|
||||
#: apps/transactions/forms.py:776 apps/transactions/models.py:311
|
||||
#: apps/transactions/models.py:490 apps/transactions/models.py:692
|
||||
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
|
||||
#: templates/tags/pages/index.html:4
|
||||
#: templates/includes/navbar.html:108
|
||||
#: templates/insights/fragments/category_overview/index.html:35
|
||||
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
||||
msgid "Tags"
|
||||
msgstr "Tags"
|
||||
|
||||
@@ -164,8 +165,8 @@ msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
|
||||
#: apps/rules/models.py:30 apps/rules/models.py:242
|
||||
#: apps/transactions/forms.py:60 apps/transactions/forms.py:495
|
||||
#: apps/transactions/forms.py:756 apps/transactions/models.py:278
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:507
|
||||
#: apps/transactions/forms.py:768 apps/transactions/models.py:278
|
||||
#: apps/transactions/models.py:448 apps/transactions/models.py:670
|
||||
msgid "Account"
|
||||
msgstr "Konto"
|
||||
@@ -461,7 +462,7 @@ msgstr "Suffix"
|
||||
|
||||
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:169
|
||||
#: apps/rules/forms.py:182 apps/rules/models.py:33 apps/rules/models.py:254
|
||||
#: apps/transactions/forms.py:64 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:65 apps/transactions/forms.py:343
|
||||
#: apps/transactions/models.py:288
|
||||
#: templates/dca/fragments/strategy/details.html:52
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
@@ -672,11 +673,11 @@ msgstr "Dienst erfolgreich in die Warteschlange eingereiht"
|
||||
msgid "Create transaction"
|
||||
msgstr "Erstelle Transaktion"
|
||||
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:278
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:290
|
||||
msgid "From Account"
|
||||
msgstr "Startkonto"
|
||||
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:283
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:295
|
||||
msgid "To Account"
|
||||
msgstr "Zielkonto"
|
||||
|
||||
@@ -703,7 +704,7 @@ msgstr "Verknüpfe Transaktion"
|
||||
msgid "You must provide an account."
|
||||
msgstr "Du musst ein Konto angeben."
|
||||
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:445
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:457
|
||||
msgid "From and To accounts must be different."
|
||||
msgstr "Start- und Zielkonten müssen unterschiedlich sein."
|
||||
|
||||
@@ -722,7 +723,7 @@ msgstr "Startwährung"
|
||||
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:173
|
||||
#: apps/rules/forms.py:188 apps/rules/models.py:37 apps/rules/models.py:270
|
||||
#: apps/transactions/forms.py:347 apps/transactions/models.py:301
|
||||
#: apps/transactions/forms.py:359 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:497 apps/transactions/models.py:698
|
||||
msgid "Notes"
|
||||
msgstr "Notizen"
|
||||
@@ -803,8 +804,8 @@ msgstr "Kategorien"
|
||||
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:187 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:282 apps/transactions/filters.py:81
|
||||
#: apps/transactions/forms.py:56 apps/transactions/forms.py:518
|
||||
#: apps/transactions/forms.py:779 apps/transactions/models.py:261
|
||||
#: apps/transactions/forms.py:57 apps/transactions/forms.py:530
|
||||
#: apps/transactions/forms.py:791 apps/transactions/models.py:261
|
||||
#: apps/transactions/models.py:316 apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:695 templates/entities/fragments/list.html:5
|
||||
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
|
||||
@@ -974,9 +975,9 @@ msgstr "Vorgang erfolgreich gelöscht"
|
||||
|
||||
#: apps/insights/forms.py:119 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167
|
||||
#: templates/insights/fragments/category_overview/index.html:19
|
||||
#: templates/insights/fragments/category_overview/index.html:87
|
||||
#: templates/insights/fragments/category_overview/index.html:116
|
||||
#: templates/insights/fragments/category_overview/index.html:73
|
||||
#: templates/insights/fragments/category_overview/index.html:285
|
||||
#: templates/insights/fragments/category_overview/index.html:314
|
||||
msgid "Uncategorized"
|
||||
msgstr "Unkategorisiert"
|
||||
|
||||
@@ -1073,8 +1074,8 @@ msgid "Paid"
|
||||
msgstr "Bezahlt"
|
||||
|
||||
#: apps/rules/forms.py:170 apps/rules/forms.py:183 apps/rules/models.py:34
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:68
|
||||
#: apps/transactions/forms.py:334 apps/transactions/forms.py:524
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:69
|
||||
#: apps/transactions/forms.py:346 apps/transactions/forms.py:536
|
||||
#: apps/transactions/models.py:289 apps/transactions/models.py:471
|
||||
#: apps/transactions/models.py:700
|
||||
msgid "Reference Date"
|
||||
@@ -1088,7 +1089,7 @@ msgstr "Betrag"
|
||||
|
||||
#: apps/rules/forms.py:172 apps/rules/forms.py:185 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:36 apps/rules/models.py:266
|
||||
#: apps/transactions/forms.py:338 apps/transactions/models.py:299
|
||||
#: apps/transactions/forms.py:350 apps/transactions/models.py:299
|
||||
#: apps/transactions/models.py:455 apps/transactions/models.py:684
|
||||
msgid "Description"
|
||||
msgstr "Beschreibung"
|
||||
@@ -1234,6 +1235,7 @@ msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||
#: templates/cotton/transaction/item.html:31 templates/includes/navbar.html:46
|
||||
#: templates/insights/fragments/category_overview/index.html:46
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||
msgid "Projected"
|
||||
@@ -1267,40 +1269,48 @@ msgstr "Betrag Minimum"
|
||||
msgid "Amount max"
|
||||
msgstr "Betrag Maximum"
|
||||
|
||||
#: apps/transactions/forms.py:171
|
||||
#: apps/transactions/forms.py:172
|
||||
msgid "More"
|
||||
msgstr "Mehr"
|
||||
|
||||
#: apps/transactions/forms.py:290
|
||||
#: apps/transactions/forms.py:216
|
||||
msgid "Save and add similar"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:221
|
||||
msgid "Save and add another"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:302
|
||||
msgid "From Amount"
|
||||
msgstr "Startbetrag"
|
||||
|
||||
#: apps/transactions/forms.py:295
|
||||
#: apps/transactions/forms.py:307
|
||||
msgid "To Amount"
|
||||
msgstr "Zielbetrag"
|
||||
|
||||
#: apps/transactions/forms.py:412
|
||||
#: apps/transactions/forms.py:424
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:40
|
||||
msgid "Transfer"
|
||||
msgstr "Transfer"
|
||||
|
||||
#: apps/transactions/forms.py:658
|
||||
#: apps/transactions/forms.py:670
|
||||
msgid "Tag name"
|
||||
msgstr "Tagname"
|
||||
|
||||
#: apps/transactions/forms.py:690
|
||||
#: apps/transactions/forms.py:702
|
||||
msgid "Entity name"
|
||||
msgstr "Entitätsname"
|
||||
|
||||
#: apps/transactions/forms.py:722
|
||||
#: apps/transactions/forms.py:734
|
||||
msgid "Category name"
|
||||
msgstr "Kategoriename"
|
||||
|
||||
#: apps/transactions/forms.py:724
|
||||
#: apps/transactions/forms.py:736
|
||||
msgid "Muted categories won't count towards your monthly total"
|
||||
msgstr "Ausgeblendete Kategorien zählen nicht zu deiner Monatsübersicht"
|
||||
|
||||
#: apps/transactions/forms.py:910
|
||||
#: apps/transactions/forms.py:922
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "Enddatum sollte hinter dem Startdatum liegen"
|
||||
|
||||
@@ -1353,7 +1363,7 @@ msgstr "Entität"
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
#: templates/calendar_view/fragments/list.html:54
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:11
|
||||
#: templates/insights/fragments/category_overview/index.html:64
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:39
|
||||
msgid "Income"
|
||||
msgstr "Einnahme"
|
||||
@@ -1364,7 +1374,7 @@ msgstr "Einnahme"
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
#: templates/calendar_view/fragments/list.html:58
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:18
|
||||
#: templates/insights/fragments/category_overview/index.html:12
|
||||
#: templates/insights/fragments/category_overview/index.html:65
|
||||
msgid "Expense"
|
||||
msgstr "Ausgabe"
|
||||
|
||||
@@ -1612,35 +1622,35 @@ msgstr "Tag erfolgreich aktualisiert"
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Tag erfolgreich gelöscht"
|
||||
|
||||
#: apps/transactions/views/transactions.py:50
|
||||
#: apps/transactions/views/transactions.py:89
|
||||
#: apps/transactions/views/transactions.py:52
|
||||
#: apps/transactions/views/transactions.py:148
|
||||
msgid "Transaction added successfully"
|
||||
msgstr "Transaktion erfolgreich hinzugefügt"
|
||||
|
||||
#: apps/transactions/views/transactions.py:123
|
||||
#: apps/transactions/views/transactions.py:182
|
||||
msgid "Transaction updated successfully"
|
||||
msgstr "Transaktion erfolgreich aktualisiert"
|
||||
|
||||
#: apps/transactions/views/transactions.py:173
|
||||
#: apps/transactions/views/transactions.py:232
|
||||
#, python-format
|
||||
msgid "%(count)s transaction updated successfully"
|
||||
msgid_plural "%(count)s transactions updated successfully"
|
||||
msgstr[0] "%(count)s Transaktion erfolgreich aktualisiert"
|
||||
msgstr[1] "%(count)s Transaktionen erfolgreich aktualisiert"
|
||||
|
||||
#: apps/transactions/views/transactions.py:209
|
||||
#: apps/transactions/views/transactions.py:268
|
||||
msgid "Transaction duplicated successfully"
|
||||
msgstr "Transaktion erfolgreich duplisiert"
|
||||
|
||||
#: apps/transactions/views/transactions.py:251
|
||||
#: apps/transactions/views/transactions.py:310
|
||||
msgid "Transaction deleted successfully"
|
||||
msgstr "Transaktion erfolgreich gelöscht"
|
||||
|
||||
#: apps/transactions/views/transactions.py:269
|
||||
#: apps/transactions/views/transactions.py:328
|
||||
msgid "Transaction restored successfully"
|
||||
msgstr "Transaktion erfolgreich wiederhergestellt"
|
||||
|
||||
#: apps/transactions/views/transactions.py:295
|
||||
#: apps/transactions/views/transactions.py:354
|
||||
msgid "Transfer added successfully"
|
||||
msgstr "Transfer erfolgreich hinzugefügt"
|
||||
|
||||
@@ -1806,33 +1816,33 @@ msgstr "Zeitzone"
|
||||
msgid "Start page"
|
||||
msgstr "Startseite"
|
||||
|
||||
#: apps/users/views.py:67
|
||||
#: apps/users/views.py:68
|
||||
msgid "Transaction amounts are now hidden"
|
||||
msgstr "Beträge sind nun versteckt"
|
||||
|
||||
#: apps/users/views.py:70
|
||||
#: apps/users/views.py:71
|
||||
msgid "Transaction amounts are now displayed"
|
||||
msgstr "Beträge werden angezeigt"
|
||||
|
||||
#: apps/users/views.py:88
|
||||
#: apps/users/views.py:89
|
||||
msgid "Sounds are now muted"
|
||||
msgstr "Sounds sind stummgeschaltet"
|
||||
|
||||
#: apps/users/views.py:91
|
||||
#: apps/users/views.py:92
|
||||
msgid "Sounds will now play"
|
||||
msgstr "Sounds werden wiedergegeben"
|
||||
|
||||
#: apps/users/views.py:107
|
||||
#: apps/users/views.py:108
|
||||
msgid "Your settings have been updated"
|
||||
msgstr "Deine Einstellungen wurden aktualisiert"
|
||||
|
||||
#: apps/users/views.py:151
|
||||
#: apps/users/views.py:152
|
||||
#, fuzzy
|
||||
#| msgid "Rule added successfully"
|
||||
msgid "Item added successfully"
|
||||
msgstr "Regel erfolgreich hinzugefügt"
|
||||
|
||||
#: apps/users/views.py:182
|
||||
#: apps/users/views.py:184
|
||||
#, fuzzy
|
||||
#| msgid "Rule updated successfully"
|
||||
msgid "Item updated successfully"
|
||||
@@ -2106,7 +2116,7 @@ msgid "Muted"
|
||||
msgstr "Ausgeblendet"
|
||||
|
||||
#: templates/categories/fragments/table.html:75
|
||||
#: templates/insights/fragments/category_overview/index.html:225
|
||||
#: templates/insights/fragments/category_overview/index.html:430
|
||||
msgid "No categories"
|
||||
msgstr "Keine Kategorien"
|
||||
|
||||
@@ -2568,10 +2578,11 @@ msgid "Net Worth"
|
||||
msgstr "Nettovermögen"
|
||||
|
||||
#: templates/includes/navbar.html:44
|
||||
#: templates/insights/fragments/category_overview/index.html:50
|
||||
msgid "Current"
|
||||
msgstr "Aktuell"
|
||||
|
||||
#: templates/includes/navbar.html:50
|
||||
#: templates/includes/navbar.html:50 templates/insights/pages/index.html:5
|
||||
msgid "Insights"
|
||||
msgstr "Einblicke"
|
||||
|
||||
@@ -2692,12 +2703,36 @@ msgstr "Einnahmen/Ausgaben nach Konto"
|
||||
msgid "Income/Expense by Currency"
|
||||
msgstr "Einnahmen/Ausgaben nach Währung"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:13
|
||||
#: templates/insights/fragments/category_overview/index.html:14
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:24
|
||||
msgid "Bars"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:38
|
||||
msgid ""
|
||||
"Transaction amounts associated with multiple tags will be counted once for "
|
||||
"each tag"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
#, fuzzy
|
||||
#| msgid "final total"
|
||||
msgid "Final total"
|
||||
msgstr "Gesamtbilanz"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:66
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:167
|
||||
msgid "Total"
|
||||
msgstr "Gesamt"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:202
|
||||
#: templates/insights/fragments/category_overview/index.html:166
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#, fuzzy
|
||||
#| msgid "final total"
|
||||
msgid "Final Total"
|
||||
@@ -2748,53 +2783,53 @@ msgstr "Von"
|
||||
msgid "Percentage"
|
||||
msgstr "Prozent"
|
||||
|
||||
#: templates/insights/pages/index.html:35
|
||||
#: templates/insights/pages/index.html:37
|
||||
msgid "Month"
|
||||
msgstr "Monat"
|
||||
|
||||
#: templates/insights/pages/index.html:38
|
||||
#: templates/insights/pages/index.html:40
|
||||
#: templates/yearly_overview/pages/overview_by_account.html:61
|
||||
#: templates/yearly_overview/pages/overview_by_currency.html:63
|
||||
msgid "Year"
|
||||
msgstr "Jahr"
|
||||
|
||||
#: templates/insights/pages/index.html:43
|
||||
#: templates/insights/pages/index.html:45
|
||||
msgid "Month Range"
|
||||
msgstr "Monats-Zeitraum"
|
||||
|
||||
#: templates/insights/pages/index.html:48
|
||||
#: templates/insights/pages/index.html:50
|
||||
msgid "Year Range"
|
||||
msgstr "Jahres-Zeitraum"
|
||||
|
||||
#: templates/insights/pages/index.html:53
|
||||
#: templates/insights/pages/index.html:55
|
||||
msgid "Date Range"
|
||||
msgstr "Datums-Zeitraum"
|
||||
|
||||
#: templates/insights/pages/index.html:81
|
||||
#: templates/insights/pages/index.html:83
|
||||
msgid "Account Flow"
|
||||
msgstr "Kontofluss"
|
||||
|
||||
#: templates/insights/pages/index.html:88
|
||||
#: templates/insights/pages/index.html:90
|
||||
msgid "Currency Flow"
|
||||
msgstr "Währungsfluss"
|
||||
|
||||
#: templates/insights/pages/index.html:95
|
||||
#: templates/insights/pages/index.html:97
|
||||
msgid "Category Explorer"
|
||||
msgstr "Kategorien-Explorer"
|
||||
|
||||
#: templates/insights/pages/index.html:102
|
||||
#: templates/insights/pages/index.html:104
|
||||
msgid "Categories Overview"
|
||||
msgstr "Kategorien-Übersicht"
|
||||
|
||||
#: templates/insights/pages/index.html:109
|
||||
#: templates/insights/pages/index.html:111
|
||||
msgid "Late Transactions"
|
||||
msgstr "Verspätete Transaktionen"
|
||||
|
||||
#: templates/insights/pages/index.html:115
|
||||
#: templates/insights/pages/index.html:117
|
||||
msgid "Latest Transactions"
|
||||
msgstr "Letzte Transaktionen"
|
||||
|
||||
#: templates/insights/pages/index.html:121
|
||||
#: templates/insights/pages/index.html:123
|
||||
msgid "Emergency Fund"
|
||||
msgstr "Notfall-Budget"
|
||||
|
||||
@@ -3207,6 +3242,11 @@ msgstr "Use the credentials below to login"
|
||||
msgid "Yearly Overview"
|
||||
msgstr "Jährliche Übersicht"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "No tags"
|
||||
#~ msgid "Show tags"
|
||||
#~ msgstr "Keine Tags"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Management"
|
||||
#~ msgid "Loan Payment"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-13 22:01+0000\n"
|
||||
"POT-Creation-Date: 2025-04-21 18:45+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"
|
||||
@@ -26,10 +26,10 @@ msgstr ""
|
||||
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
|
||||
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
|
||||
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:202
|
||||
#: apps/transactions/forms.py:269 apps/transactions/forms.py:629
|
||||
#: apps/transactions/forms.py:672 apps/transactions/forms.py:704
|
||||
#: apps/transactions/forms.py:739 apps/transactions/forms.py:891
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:203
|
||||
#: apps/transactions/forms.py:281 apps/transactions/forms.py:641
|
||||
#: apps/transactions/forms.py:684 apps/transactions/forms.py:716
|
||||
#: apps/transactions/forms.py:751 apps/transactions/forms.py:903
|
||||
#: apps/users/forms.py:210 apps/users/forms.py:372
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
@@ -39,10 +39,10 @@ msgstr ""
|
||||
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
|
||||
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
|
||||
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
|
||||
#: apps/transactions/forms.py:187 apps/transactions/forms.py:211
|
||||
#: apps/transactions/forms.py:637 apps/transactions/forms.py:680
|
||||
#: apps/transactions/forms.py:712 apps/transactions/forms.py:747
|
||||
#: apps/transactions/forms.py:899 apps/users/forms.py:218
|
||||
#: apps/transactions/forms.py:188 apps/transactions/forms.py:212
|
||||
#: apps/transactions/forms.py:649 apps/transactions/forms.py:692
|
||||
#: apps/transactions/forms.py:724 apps/transactions/forms.py:759
|
||||
#: apps/transactions/forms.py:911 apps/users/forms.py:218
|
||||
#: apps/users/forms.py:380 templates/account_groups/fragments/list.html:9
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/categories/fragments/list.html:9
|
||||
@@ -73,12 +73,12 @@ msgstr ""
|
||||
#: apps/accounts/forms.py:121 apps/dca/forms.py:85 apps/dca/forms.py:92
|
||||
#: apps/insights/forms.py:118 apps/rules/forms.py:174 apps/rules/forms.py:189
|
||||
#: apps/rules/models.py:38 apps/rules/models.py:286
|
||||
#: apps/transactions/forms.py:40 apps/transactions/forms.py:303
|
||||
#: apps/transactions/forms.py:310 apps/transactions/forms.py:510
|
||||
#: apps/transactions/forms.py:771 apps/transactions/models.py:305
|
||||
#: apps/transactions/forms.py:41 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:322 apps/transactions/forms.py:522
|
||||
#: apps/transactions/forms.py:783 apps/transactions/models.py:305
|
||||
#: apps/transactions/models.py:488 apps/transactions/models.py:688
|
||||
#: templates/insights/fragments/category_overview/index.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:215
|
||||
#: templates/insights/fragments/category_overview/index.html:63
|
||||
#: templates/insights/fragments/category_overview/index.html:420
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
@@ -86,12 +86,13 @@ msgstr ""
|
||||
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:186 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:290 apps/transactions/filters.py:74
|
||||
#: apps/transactions/forms.py:48 apps/transactions/forms.py:319
|
||||
#: apps/transactions/forms.py:327 apps/transactions/forms.py:503
|
||||
#: apps/transactions/forms.py:764 apps/transactions/models.py:311
|
||||
#: apps/transactions/forms.py:49 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:339 apps/transactions/forms.py:515
|
||||
#: apps/transactions/forms.py:776 apps/transactions/models.py:311
|
||||
#: apps/transactions/models.py:490 apps/transactions/models.py:692
|
||||
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
|
||||
#: templates/tags/pages/index.html:4
|
||||
#: templates/includes/navbar.html:108
|
||||
#: templates/insights/fragments/category_overview/index.html:35
|
||||
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
||||
msgid "Tags"
|
||||
msgstr ""
|
||||
|
||||
@@ -160,8 +161,8 @@ msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
|
||||
#: apps/rules/models.py:30 apps/rules/models.py:242
|
||||
#: apps/transactions/forms.py:60 apps/transactions/forms.py:495
|
||||
#: apps/transactions/forms.py:756 apps/transactions/models.py:278
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:507
|
||||
#: apps/transactions/forms.py:768 apps/transactions/models.py:278
|
||||
#: apps/transactions/models.py:448 apps/transactions/models.py:670
|
||||
msgid "Account"
|
||||
msgstr ""
|
||||
@@ -449,7 +450,7 @@ msgstr ""
|
||||
|
||||
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:169
|
||||
#: apps/rules/forms.py:182 apps/rules/models.py:33 apps/rules/models.py:254
|
||||
#: apps/transactions/forms.py:64 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:65 apps/transactions/forms.py:343
|
||||
#: apps/transactions/models.py:288
|
||||
#: templates/dca/fragments/strategy/details.html:52
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
@@ -652,11 +653,11 @@ msgstr ""
|
||||
msgid "Create transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:278
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:290
|
||||
msgid "From Account"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:283
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:295
|
||||
msgid "To Account"
|
||||
msgstr ""
|
||||
|
||||
@@ -681,7 +682,7 @@ msgstr ""
|
||||
msgid "You must provide an account."
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:445
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:457
|
||||
msgid "From and To accounts must be different."
|
||||
msgstr ""
|
||||
|
||||
@@ -700,7 +701,7 @@ msgstr ""
|
||||
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:173
|
||||
#: apps/rules/forms.py:188 apps/rules/models.py:37 apps/rules/models.py:270
|
||||
#: apps/transactions/forms.py:347 apps/transactions/models.py:301
|
||||
#: apps/transactions/forms.py:359 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:497 apps/transactions/models.py:698
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
@@ -781,8 +782,8 @@ msgstr ""
|
||||
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:187 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:282 apps/transactions/filters.py:81
|
||||
#: apps/transactions/forms.py:56 apps/transactions/forms.py:518
|
||||
#: apps/transactions/forms.py:779 apps/transactions/models.py:261
|
||||
#: apps/transactions/forms.py:57 apps/transactions/forms.py:530
|
||||
#: apps/transactions/forms.py:791 apps/transactions/models.py:261
|
||||
#: apps/transactions/models.py:316 apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:695 templates/entities/fragments/list.html:5
|
||||
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
|
||||
@@ -950,9 +951,9 @@ msgstr ""
|
||||
|
||||
#: apps/insights/forms.py:119 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167
|
||||
#: templates/insights/fragments/category_overview/index.html:19
|
||||
#: templates/insights/fragments/category_overview/index.html:87
|
||||
#: templates/insights/fragments/category_overview/index.html:116
|
||||
#: templates/insights/fragments/category_overview/index.html:73
|
||||
#: templates/insights/fragments/category_overview/index.html:285
|
||||
#: templates/insights/fragments/category_overview/index.html:314
|
||||
msgid "Uncategorized"
|
||||
msgstr ""
|
||||
|
||||
@@ -1049,8 +1050,8 @@ msgid "Paid"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:170 apps/rules/forms.py:183 apps/rules/models.py:34
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:68
|
||||
#: apps/transactions/forms.py:334 apps/transactions/forms.py:524
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:69
|
||||
#: apps/transactions/forms.py:346 apps/transactions/forms.py:536
|
||||
#: apps/transactions/models.py:289 apps/transactions/models.py:471
|
||||
#: apps/transactions/models.py:700
|
||||
msgid "Reference Date"
|
||||
@@ -1064,7 +1065,7 @@ msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:172 apps/rules/forms.py:185 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:36 apps/rules/models.py:266
|
||||
#: apps/transactions/forms.py:338 apps/transactions/models.py:299
|
||||
#: apps/transactions/forms.py:350 apps/transactions/models.py:299
|
||||
#: apps/transactions/models.py:455 apps/transactions/models.py:684
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
@@ -1203,6 +1204,7 @@ msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||
#: templates/cotton/transaction/item.html:31 templates/includes/navbar.html:46
|
||||
#: templates/insights/fragments/category_overview/index.html:46
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||
msgid "Projected"
|
||||
@@ -1236,40 +1238,48 @@ msgstr ""
|
||||
msgid "Amount max"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:171
|
||||
#: apps/transactions/forms.py:172
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:290
|
||||
#: apps/transactions/forms.py:216
|
||||
msgid "Save and add similar"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:221
|
||||
msgid "Save and add another"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:302
|
||||
msgid "From Amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:295
|
||||
#: apps/transactions/forms.py:307
|
||||
msgid "To Amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:412
|
||||
#: apps/transactions/forms.py:424
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:40
|
||||
msgid "Transfer"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:658
|
||||
#: apps/transactions/forms.py:670
|
||||
msgid "Tag name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:690
|
||||
#: apps/transactions/forms.py:702
|
||||
msgid "Entity name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:722
|
||||
#: apps/transactions/forms.py:734
|
||||
msgid "Category name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:724
|
||||
#: apps/transactions/forms.py:736
|
||||
msgid "Muted categories won't count towards your monthly total"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:910
|
||||
#: apps/transactions/forms.py:922
|
||||
msgid "End date should be after the start date"
|
||||
msgstr ""
|
||||
|
||||
@@ -1316,7 +1326,7 @@ msgstr ""
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
#: templates/calendar_view/fragments/list.html:54
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:11
|
||||
#: templates/insights/fragments/category_overview/index.html:64
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:39
|
||||
msgid "Income"
|
||||
msgstr ""
|
||||
@@ -1327,7 +1337,7 @@ msgstr ""
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
#: templates/calendar_view/fragments/list.html:58
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:18
|
||||
#: templates/insights/fragments/category_overview/index.html:12
|
||||
#: templates/insights/fragments/category_overview/index.html:65
|
||||
msgid "Expense"
|
||||
msgstr ""
|
||||
|
||||
@@ -1574,35 +1584,35 @@ msgstr ""
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/transactions.py:50
|
||||
#: apps/transactions/views/transactions.py:89
|
||||
#: apps/transactions/views/transactions.py:52
|
||||
#: apps/transactions/views/transactions.py:148
|
||||
msgid "Transaction added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/transactions.py:123
|
||||
#: apps/transactions/views/transactions.py:182
|
||||
msgid "Transaction updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/transactions.py:173
|
||||
#: apps/transactions/views/transactions.py:232
|
||||
#, python-format
|
||||
msgid "%(count)s transaction updated successfully"
|
||||
msgid_plural "%(count)s transactions updated successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: apps/transactions/views/transactions.py:209
|
||||
#: apps/transactions/views/transactions.py:268
|
||||
msgid "Transaction duplicated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/transactions.py:251
|
||||
#: apps/transactions/views/transactions.py:310
|
||||
msgid "Transaction deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/transactions.py:269
|
||||
#: apps/transactions/views/transactions.py:328
|
||||
msgid "Transaction restored successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/transactions.py:295
|
||||
#: apps/transactions/views/transactions.py:354
|
||||
msgid "Transfer added successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1764,31 +1774,31 @@ msgstr ""
|
||||
msgid "Start page"
|
||||
msgstr ""
|
||||
|
||||
#: apps/users/views.py:67
|
||||
#: apps/users/views.py:68
|
||||
msgid "Transaction amounts are now hidden"
|
||||
msgstr ""
|
||||
|
||||
#: apps/users/views.py:70
|
||||
#: apps/users/views.py:71
|
||||
msgid "Transaction amounts are now displayed"
|
||||
msgstr ""
|
||||
|
||||
#: apps/users/views.py:88
|
||||
#: apps/users/views.py:89
|
||||
msgid "Sounds are now muted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/users/views.py:91
|
||||
#: apps/users/views.py:92
|
||||
msgid "Sounds will now play"
|
||||
msgstr ""
|
||||
|
||||
#: apps/users/views.py:107
|
||||
#: apps/users/views.py:108
|
||||
msgid "Your settings have been updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/users/views.py:151
|
||||
#: apps/users/views.py:152
|
||||
msgid "Item added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/users/views.py:182
|
||||
#: apps/users/views.py:184
|
||||
msgid "Item updated successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,7 +2070,7 @@ msgid "Muted"
|
||||
msgstr ""
|
||||
|
||||
#: templates/categories/fragments/table.html:75
|
||||
#: templates/insights/fragments/category_overview/index.html:225
|
||||
#: templates/insights/fragments/category_overview/index.html:430
|
||||
msgid "No categories"
|
||||
msgstr ""
|
||||
|
||||
@@ -2519,10 +2529,11 @@ msgid "Net Worth"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/navbar.html:44
|
||||
#: templates/insights/fragments/category_overview/index.html:50
|
||||
msgid "Current"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/navbar.html:50
|
||||
#: templates/includes/navbar.html:50 templates/insights/pages/index.html:5
|
||||
msgid "Insights"
|
||||
msgstr ""
|
||||
|
||||
@@ -2636,12 +2647,34 @@ msgstr ""
|
||||
msgid "Income/Expense by Currency"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:13
|
||||
#: templates/insights/fragments/category_overview/index.html:14
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:24
|
||||
msgid "Bars"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:38
|
||||
msgid ""
|
||||
"Transaction amounts associated with multiple tags will be counted once for "
|
||||
"each tag"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
msgid "Final total"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:66
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:167
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:202
|
||||
#: templates/insights/fragments/category_overview/index.html:166
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
msgid "Final Total"
|
||||
msgstr ""
|
||||
|
||||
@@ -2689,53 +2722,53 @@ msgstr ""
|
||||
msgid "Percentage"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:35
|
||||
#: templates/insights/pages/index.html:37
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:38
|
||||
#: templates/insights/pages/index.html:40
|
||||
#: templates/yearly_overview/pages/overview_by_account.html:61
|
||||
#: templates/yearly_overview/pages/overview_by_currency.html:63
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:43
|
||||
#: templates/insights/pages/index.html:45
|
||||
msgid "Month Range"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:48
|
||||
#: templates/insights/pages/index.html:50
|
||||
msgid "Year Range"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:53
|
||||
#: templates/insights/pages/index.html:55
|
||||
msgid "Date Range"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:81
|
||||
#: templates/insights/pages/index.html:83
|
||||
msgid "Account Flow"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:88
|
||||
#: templates/insights/pages/index.html:90
|
||||
msgid "Currency Flow"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:95
|
||||
#: templates/insights/pages/index.html:97
|
||||
msgid "Category Explorer"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:102
|
||||
#: templates/insights/pages/index.html:104
|
||||
msgid "Categories Overview"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:109
|
||||
#: templates/insights/pages/index.html:111
|
||||
msgid "Late Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:115
|
||||
#: templates/insights/pages/index.html:117
|
||||
msgid "Latest Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/pages/index.html:121
|
||||
#: templates/insights/pages/index.html:123
|
||||
msgid "Emergency Fund"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-13 22:01+0000\n"
|
||||
"POT-Creation-Date: 2025-04-21 18:45+0000\n"
|
||||
"PO-Revision-Date: 2025-04-13 02:40+0000\n"
|
||||
"Last-Translator: Prefill add-on <noreply-addon-prefill@weblate.org>\n"
|
||||
"Language-Team: Spanish <https://translations.herculino.com/projects/wygiwyh/"
|
||||
@@ -28,10 +28,10 @@ msgstr "Group name"
|
||||
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
|
||||
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
|
||||
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:202
|
||||
#: apps/transactions/forms.py:269 apps/transactions/forms.py:629
|
||||
#: apps/transactions/forms.py:672 apps/transactions/forms.py:704
|
||||
#: apps/transactions/forms.py:739 apps/transactions/forms.py:891
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:203
|
||||
#: apps/transactions/forms.py:281 apps/transactions/forms.py:641
|
||||
#: apps/transactions/forms.py:684 apps/transactions/forms.py:716
|
||||
#: apps/transactions/forms.py:751 apps/transactions/forms.py:903
|
||||
#: apps/users/forms.py:210 apps/users/forms.py:372
|
||||
#, fuzzy
|
||||
msgid "Update"
|
||||
@@ -42,10 +42,10 @@ msgstr "Update"
|
||||
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
|
||||
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
|
||||
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
|
||||
#: apps/transactions/forms.py:187 apps/transactions/forms.py:211
|
||||
#: apps/transactions/forms.py:637 apps/transactions/forms.py:680
|
||||
#: apps/transactions/forms.py:712 apps/transactions/forms.py:747
|
||||
#: apps/transactions/forms.py:899 apps/users/forms.py:218
|
||||
#: apps/transactions/forms.py:188 apps/transactions/forms.py:212
|
||||
#: apps/transactions/forms.py:649 apps/transactions/forms.py:692
|
||||
#: apps/transactions/forms.py:724 apps/transactions/forms.py:759
|
||||
#: apps/transactions/forms.py:911 apps/users/forms.py:218
|
||||
#: apps/users/forms.py:380 templates/account_groups/fragments/list.html:9
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/categories/fragments/list.html:9
|
||||
@@ -79,12 +79,12 @@ msgstr "New balance"
|
||||
#: apps/accounts/forms.py:121 apps/dca/forms.py:85 apps/dca/forms.py:92
|
||||
#: apps/insights/forms.py:118 apps/rules/forms.py:174 apps/rules/forms.py:189
|
||||
#: apps/rules/models.py:38 apps/rules/models.py:286
|
||||
#: apps/transactions/forms.py:40 apps/transactions/forms.py:303
|
||||
#: apps/transactions/forms.py:310 apps/transactions/forms.py:510
|
||||
#: apps/transactions/forms.py:771 apps/transactions/models.py:305
|
||||
#: apps/transactions/forms.py:41 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:322 apps/transactions/forms.py:522
|
||||
#: apps/transactions/forms.py:783 apps/transactions/models.py:305
|
||||
#: apps/transactions/models.py:488 apps/transactions/models.py:688
|
||||
#: templates/insights/fragments/category_overview/index.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:215
|
||||
#: templates/insights/fragments/category_overview/index.html:63
|
||||
#: templates/insights/fragments/category_overview/index.html:420
|
||||
#, fuzzy
|
||||
msgid "Category"
|
||||
msgstr "Category"
|
||||
@@ -93,12 +93,13 @@ msgstr "Category"
|
||||
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:186 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:290 apps/transactions/filters.py:74
|
||||
#: apps/transactions/forms.py:48 apps/transactions/forms.py:319
|
||||
#: apps/transactions/forms.py:327 apps/transactions/forms.py:503
|
||||
#: apps/transactions/forms.py:764 apps/transactions/models.py:311
|
||||
#: apps/transactions/forms.py:49 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:339 apps/transactions/forms.py:515
|
||||
#: apps/transactions/forms.py:776 apps/transactions/models.py:311
|
||||
#: apps/transactions/models.py:490 apps/transactions/models.py:692
|
||||
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
|
||||
#: templates/tags/pages/index.html:4
|
||||
#: templates/includes/navbar.html:108
|
||||
#: templates/insights/fragments/category_overview/index.html:35
|
||||
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
||||
#, fuzzy
|
||||
msgid "Tags"
|
||||
msgstr "Tags"
|
||||
@@ -179,8 +180,8 @@ msgstr "Archived accounts don't show up nor count towards your net worth"
|
||||
|
||||
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
|
||||
#: apps/rules/models.py:30 apps/rules/models.py:242
|
||||
#: apps/transactions/forms.py:60 apps/transactions/forms.py:495
|
||||
#: apps/transactions/forms.py:756 apps/transactions/models.py:278
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:507
|
||||
#: apps/transactions/forms.py:768 apps/transactions/models.py:278
|
||||
#: apps/transactions/models.py:448 apps/transactions/models.py:670
|
||||
#, fuzzy
|
||||
msgid "Account"
|
||||
@@ -524,7 +525,7 @@ msgstr "Suffix"
|
||||
|
||||
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:169
|
||||
#: apps/rules/forms.py:182 apps/rules/models.py:33 apps/rules/models.py:254
|
||||
#: apps/transactions/forms.py:64 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:65 apps/transactions/forms.py:343
|
||||
#: apps/transactions/models.py:288
|
||||
#: templates/dca/fragments/strategy/details.html:52
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
@@ -779,12 +780,12 @@ msgstr "Services queued successfully"
|
||||
msgid "Create transaction"
|
||||
msgstr "Create transaction"
|
||||
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:278
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:290
|
||||
#, fuzzy
|
||||
msgid "From Account"
|
||||
msgstr "From Account"
|
||||
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:283
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:295
|
||||
#, fuzzy
|
||||
msgid "To Account"
|
||||
msgstr "To Account"
|
||||
@@ -815,7 +816,7 @@ msgstr "Link transaction"
|
||||
msgid "You must provide an account."
|
||||
msgstr "You must provide an account."
|
||||
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:445
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:457
|
||||
#, fuzzy
|
||||
msgid "From and To accounts must be different."
|
||||
msgstr "From and To accounts must be different."
|
||||
@@ -837,7 +838,7 @@ msgstr "Payment Currency"
|
||||
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:173
|
||||
#: apps/rules/forms.py:188 apps/rules/models.py:37 apps/rules/models.py:270
|
||||
#: apps/transactions/forms.py:347 apps/transactions/models.py:301
|
||||
#: apps/transactions/forms.py:359 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:497 apps/transactions/models.py:698
|
||||
#, fuzzy
|
||||
msgid "Notes"
|
||||
@@ -935,8 +936,8 @@ msgstr "Categories"
|
||||
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:187 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:282 apps/transactions/filters.py:81
|
||||
#: apps/transactions/forms.py:56 apps/transactions/forms.py:518
|
||||
#: apps/transactions/forms.py:779 apps/transactions/models.py:261
|
||||
#: apps/transactions/forms.py:57 apps/transactions/forms.py:530
|
||||
#: apps/transactions/forms.py:791 apps/transactions/models.py:261
|
||||
#: apps/transactions/models.py:316 apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:695 templates/entities/fragments/list.html:5
|
||||
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
|
||||
@@ -1139,9 +1140,9 @@ msgstr "Run deleted successfully"
|
||||
|
||||
#: apps/insights/forms.py:119 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167
|
||||
#: templates/insights/fragments/category_overview/index.html:19
|
||||
#: templates/insights/fragments/category_overview/index.html:87
|
||||
#: templates/insights/fragments/category_overview/index.html:116
|
||||
#: templates/insights/fragments/category_overview/index.html:73
|
||||
#: templates/insights/fragments/category_overview/index.html:285
|
||||
#: templates/insights/fragments/category_overview/index.html:314
|
||||
#, fuzzy
|
||||
msgid "Uncategorized"
|
||||
msgstr "Uncategorized"
|
||||
@@ -1254,8 +1255,8 @@ msgid "Paid"
|
||||
msgstr "Paid"
|
||||
|
||||
#: apps/rules/forms.py:170 apps/rules/forms.py:183 apps/rules/models.py:34
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:68
|
||||
#: apps/transactions/forms.py:334 apps/transactions/forms.py:524
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:69
|
||||
#: apps/transactions/forms.py:346 apps/transactions/forms.py:536
|
||||
#: apps/transactions/models.py:289 apps/transactions/models.py:471
|
||||
#: apps/transactions/models.py:700
|
||||
#, fuzzy
|
||||
@@ -1271,7 +1272,7 @@ msgstr "Amount"
|
||||
|
||||
#: apps/rules/forms.py:172 apps/rules/forms.py:185 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:36 apps/rules/models.py:266
|
||||
#: apps/transactions/forms.py:338 apps/transactions/models.py:299
|
||||
#: apps/transactions/forms.py:350 apps/transactions/models.py:299
|
||||
#: apps/transactions/models.py:455 apps/transactions/models.py:684
|
||||
#, fuzzy
|
||||
msgid "Description"
|
||||
@@ -1445,6 +1446,7 @@ msgstr "Update or Create Transaction action deleted successfully"
|
||||
|
||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||
#: templates/cotton/transaction/item.html:31 templates/includes/navbar.html:46
|
||||
#: templates/insights/fragments/category_overview/index.html:46
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||
#, fuzzy
|
||||
@@ -1486,48 +1488,56 @@ msgstr "Amount min"
|
||||
msgid "Amount max"
|
||||
msgstr "Amount max"
|
||||
|
||||
#: apps/transactions/forms.py:171
|
||||
#: apps/transactions/forms.py:172
|
||||
#, fuzzy
|
||||
msgid "More"
|
||||
msgstr "More"
|
||||
|
||||
#: apps/transactions/forms.py:290
|
||||
#: apps/transactions/forms.py:216
|
||||
msgid "Save and add similar"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:221
|
||||
msgid "Save and add another"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:302
|
||||
#, fuzzy
|
||||
msgid "From Amount"
|
||||
msgstr "From Amount"
|
||||
|
||||
#: apps/transactions/forms.py:295
|
||||
#: apps/transactions/forms.py:307
|
||||
#, fuzzy
|
||||
msgid "To Amount"
|
||||
msgstr "To Amount"
|
||||
|
||||
#: apps/transactions/forms.py:412
|
||||
#: apps/transactions/forms.py:424
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:40
|
||||
#, fuzzy
|
||||
msgid "Transfer"
|
||||
msgstr "Transfer"
|
||||
|
||||
#: apps/transactions/forms.py:658
|
||||
#: apps/transactions/forms.py:670
|
||||
#, fuzzy
|
||||
msgid "Tag name"
|
||||
msgstr "Tag name"
|
||||
|
||||
#: apps/transactions/forms.py:690
|
||||
#: apps/transactions/forms.py:702
|
||||
#, fuzzy
|
||||
msgid "Entity name"
|
||||
msgstr "Entity name"
|
||||
|
||||
#: apps/transactions/forms.py:722
|
||||
#: apps/transactions/forms.py:734
|
||||
#, fuzzy
|
||||
msgid "Category name"
|
||||
msgstr "Category name"
|
||||
|
||||
#: apps/transactions/forms.py:724
|
||||
#: apps/transactions/forms.py:736
|
||||
#, fuzzy
|
||||
msgid "Muted categories won't count towards your monthly total"
|
||||
msgstr "Muted categories won't count towards your monthly total"
|
||||
|
||||
#: apps/transactions/forms.py:910
|
||||
#: apps/transactions/forms.py:922
|
||||
#, fuzzy
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "End date should be after the start date"
|
||||
@@ -1588,7 +1598,7 @@ msgstr "Entity"
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
#: templates/calendar_view/fragments/list.html:54
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:11
|
||||
#: templates/insights/fragments/category_overview/index.html:64
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:39
|
||||
#, fuzzy
|
||||
msgid "Income"
|
||||
@@ -1600,7 +1610,7 @@ msgstr "Income"
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
#: templates/calendar_view/fragments/list.html:58
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:18
|
||||
#: templates/insights/fragments/category_overview/index.html:12
|
||||
#: templates/insights/fragments/category_overview/index.html:65
|
||||
#, fuzzy
|
||||
msgid "Expense"
|
||||
msgstr "Expense"
|
||||
@@ -1897,40 +1907,40 @@ msgstr "Tag updated successfully"
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Tag deleted successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:50
|
||||
#: apps/transactions/views/transactions.py:89
|
||||
#: apps/transactions/views/transactions.py:52
|
||||
#: apps/transactions/views/transactions.py:148
|
||||
#, fuzzy
|
||||
msgid "Transaction added successfully"
|
||||
msgstr "Transaction added successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:123
|
||||
#: apps/transactions/views/transactions.py:182
|
||||
#, fuzzy
|
||||
msgid "Transaction updated successfully"
|
||||
msgstr "Transaction updated successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:173
|
||||
#: apps/transactions/views/transactions.py:232
|
||||
#, fuzzy, python-format
|
||||
msgid "%(count)s transaction updated successfully"
|
||||
msgid_plural "%(count)s transactions updated successfully"
|
||||
msgstr[0] "%(count)s transaction updated successfully"
|
||||
msgstr[1] "%(count)s transactions updated successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:209
|
||||
#: apps/transactions/views/transactions.py:268
|
||||
#, fuzzy
|
||||
msgid "Transaction duplicated successfully"
|
||||
msgstr "Transaction duplicated successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:251
|
||||
#: apps/transactions/views/transactions.py:310
|
||||
#, fuzzy
|
||||
msgid "Transaction deleted successfully"
|
||||
msgstr "Transaction deleted successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:269
|
||||
#: apps/transactions/views/transactions.py:328
|
||||
#, fuzzy
|
||||
msgid "Transaction restored successfully"
|
||||
msgstr "Transaction restored successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:295
|
||||
#: apps/transactions/views/transactions.py:354
|
||||
#, fuzzy
|
||||
msgid "Transfer added successfully"
|
||||
msgstr "Transfer added successfully"
|
||||
@@ -2118,37 +2128,37 @@ msgstr "Time Zone"
|
||||
msgid "Start page"
|
||||
msgstr "Start page"
|
||||
|
||||
#: apps/users/views.py:67
|
||||
#: apps/users/views.py:68
|
||||
#, fuzzy
|
||||
msgid "Transaction amounts are now hidden"
|
||||
msgstr "Transaction amounts are now hidden"
|
||||
|
||||
#: apps/users/views.py:70
|
||||
#: apps/users/views.py:71
|
||||
#, fuzzy
|
||||
msgid "Transaction amounts are now displayed"
|
||||
msgstr "Transaction amounts are now displayed"
|
||||
|
||||
#: apps/users/views.py:88
|
||||
#: apps/users/views.py:89
|
||||
#, fuzzy
|
||||
msgid "Sounds are now muted"
|
||||
msgstr "Sounds are now muted"
|
||||
|
||||
#: apps/users/views.py:91
|
||||
#: apps/users/views.py:92
|
||||
#, fuzzy
|
||||
msgid "Sounds will now play"
|
||||
msgstr "Sounds will now play"
|
||||
|
||||
#: apps/users/views.py:107
|
||||
#: apps/users/views.py:108
|
||||
#, fuzzy
|
||||
msgid "Your settings have been updated"
|
||||
msgstr "Your settings have been updated"
|
||||
|
||||
#: apps/users/views.py:151
|
||||
#: apps/users/views.py:152
|
||||
#, fuzzy
|
||||
msgid "Item added successfully"
|
||||
msgstr "Rule added successfully"
|
||||
|
||||
#: apps/users/views.py:182
|
||||
#: apps/users/views.py:184
|
||||
#, fuzzy
|
||||
msgid "Item updated successfully"
|
||||
msgstr "Rule updated successfully"
|
||||
@@ -2454,7 +2464,7 @@ msgid "Muted"
|
||||
msgstr "Muted"
|
||||
|
||||
#: templates/categories/fragments/table.html:75
|
||||
#: templates/insights/fragments/category_overview/index.html:225
|
||||
#: templates/insights/fragments/category_overview/index.html:430
|
||||
#, fuzzy
|
||||
msgid "No categories"
|
||||
msgstr "No categories"
|
||||
@@ -3014,11 +3024,12 @@ msgid "Net Worth"
|
||||
msgstr "Net Worth"
|
||||
|
||||
#: templates/includes/navbar.html:44
|
||||
#: templates/insights/fragments/category_overview/index.html:50
|
||||
#, fuzzy
|
||||
msgid "Current"
|
||||
msgstr "Current"
|
||||
|
||||
#: templates/includes/navbar.html:50
|
||||
#: templates/includes/navbar.html:50 templates/insights/pages/index.html:5
|
||||
#, fuzzy
|
||||
msgid "Insights"
|
||||
msgstr "Insights"
|
||||
@@ -3157,13 +3168,36 @@ msgstr "Income/Expense by Account"
|
||||
msgid "Income/Expense by Currency"
|
||||
msgstr "Income/Expense by Currency"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:13
|
||||
#: templates/insights/fragments/category_overview/index.html:14
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:24
|
||||
msgid "Bars"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:38
|
||||
msgid ""
|
||||
"Transaction amounts associated with multiple tags will be counted once for "
|
||||
"each tag"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
#, fuzzy
|
||||
msgid "Final total"
|
||||
msgstr "final total"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:66
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:167
|
||||
#, fuzzy
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:202
|
||||
#: templates/insights/fragments/category_overview/index.html:166
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#, fuzzy
|
||||
msgid "Final Total"
|
||||
msgstr "final total"
|
||||
@@ -3223,64 +3257,64 @@ msgstr "From"
|
||||
msgid "Percentage"
|
||||
msgstr "Percentage"
|
||||
|
||||
#: templates/insights/pages/index.html:35
|
||||
#: templates/insights/pages/index.html:37
|
||||
#, fuzzy
|
||||
msgid "Month"
|
||||
msgstr "Month"
|
||||
|
||||
#: templates/insights/pages/index.html:38
|
||||
#: templates/insights/pages/index.html:40
|
||||
#: templates/yearly_overview/pages/overview_by_account.html:61
|
||||
#: templates/yearly_overview/pages/overview_by_currency.html:63
|
||||
#, fuzzy
|
||||
msgid "Year"
|
||||
msgstr "Year"
|
||||
|
||||
#: templates/insights/pages/index.html:43
|
||||
#: templates/insights/pages/index.html:45
|
||||
#, fuzzy
|
||||
msgid "Month Range"
|
||||
msgstr "Month Range"
|
||||
|
||||
#: templates/insights/pages/index.html:48
|
||||
#: templates/insights/pages/index.html:50
|
||||
#, fuzzy
|
||||
msgid "Year Range"
|
||||
msgstr "Year Range"
|
||||
|
||||
#: templates/insights/pages/index.html:53
|
||||
#: templates/insights/pages/index.html:55
|
||||
#, fuzzy
|
||||
msgid "Date Range"
|
||||
msgstr "Date Range"
|
||||
|
||||
#: templates/insights/pages/index.html:81
|
||||
#: templates/insights/pages/index.html:83
|
||||
#, fuzzy
|
||||
msgid "Account Flow"
|
||||
msgstr "Account Flow"
|
||||
|
||||
#: templates/insights/pages/index.html:88
|
||||
#: templates/insights/pages/index.html:90
|
||||
#, fuzzy
|
||||
msgid "Currency Flow"
|
||||
msgstr "Currency Flow"
|
||||
|
||||
#: templates/insights/pages/index.html:95
|
||||
#: templates/insights/pages/index.html:97
|
||||
#, fuzzy
|
||||
msgid "Category Explorer"
|
||||
msgstr "Category Explorer"
|
||||
|
||||
#: templates/insights/pages/index.html:102
|
||||
#: templates/insights/pages/index.html:104
|
||||
#, fuzzy
|
||||
msgid "Categories Overview"
|
||||
msgstr "Categories Overview"
|
||||
|
||||
#: templates/insights/pages/index.html:109
|
||||
#: templates/insights/pages/index.html:111
|
||||
#, fuzzy
|
||||
msgid "Late Transactions"
|
||||
msgstr "Late Transactions"
|
||||
|
||||
#: templates/insights/pages/index.html:115
|
||||
#: templates/insights/pages/index.html:117
|
||||
#, fuzzy
|
||||
msgid "Latest Transactions"
|
||||
msgstr "Latest Transactions"
|
||||
|
||||
#: templates/insights/pages/index.html:121
|
||||
#: templates/insights/pages/index.html:123
|
||||
#, fuzzy
|
||||
msgid "Emergency Fund"
|
||||
msgstr "Emergency Fund"
|
||||
@@ -3767,3 +3801,7 @@ msgstr "Use the credentials below to login"
|
||||
#, fuzzy
|
||||
msgid "Yearly Overview"
|
||||
msgstr "Yearly Overview"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Show tags"
|
||||
#~ msgstr "No tags"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-13 22:01+0000\n"
|
||||
"POT-Creation-Date: 2025-04-21 18:45+0000\n"
|
||||
"PO-Revision-Date: 2025-04-13 02:40+0000\n"
|
||||
"Last-Translator: Prefill add-on <noreply-addon-prefill@weblate.org>\n"
|
||||
"Language-Team: French <https://translations.herculino.com/projects/wygiwyh/"
|
||||
@@ -27,10 +27,10 @@ msgstr "Nom de groupe"
|
||||
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
|
||||
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
|
||||
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:202
|
||||
#: apps/transactions/forms.py:269 apps/transactions/forms.py:629
|
||||
#: apps/transactions/forms.py:672 apps/transactions/forms.py:704
|
||||
#: apps/transactions/forms.py:739 apps/transactions/forms.py:891
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:203
|
||||
#: apps/transactions/forms.py:281 apps/transactions/forms.py:641
|
||||
#: apps/transactions/forms.py:684 apps/transactions/forms.py:716
|
||||
#: apps/transactions/forms.py:751 apps/transactions/forms.py:903
|
||||
#: apps/users/forms.py:210 apps/users/forms.py:372
|
||||
msgid "Update"
|
||||
msgstr "Mise à jour"
|
||||
@@ -40,10 +40,10 @@ msgstr "Mise à jour"
|
||||
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
|
||||
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
|
||||
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
|
||||
#: apps/transactions/forms.py:187 apps/transactions/forms.py:211
|
||||
#: apps/transactions/forms.py:637 apps/transactions/forms.py:680
|
||||
#: apps/transactions/forms.py:712 apps/transactions/forms.py:747
|
||||
#: apps/transactions/forms.py:899 apps/users/forms.py:218
|
||||
#: apps/transactions/forms.py:188 apps/transactions/forms.py:212
|
||||
#: apps/transactions/forms.py:649 apps/transactions/forms.py:692
|
||||
#: apps/transactions/forms.py:724 apps/transactions/forms.py:759
|
||||
#: apps/transactions/forms.py:911 apps/users/forms.py:218
|
||||
#: apps/users/forms.py:380 templates/account_groups/fragments/list.html:9
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/categories/fragments/list.html:9
|
||||
@@ -74,12 +74,12 @@ msgstr "Nouveau solde"
|
||||
#: apps/accounts/forms.py:121 apps/dca/forms.py:85 apps/dca/forms.py:92
|
||||
#: apps/insights/forms.py:118 apps/rules/forms.py:174 apps/rules/forms.py:189
|
||||
#: apps/rules/models.py:38 apps/rules/models.py:286
|
||||
#: apps/transactions/forms.py:40 apps/transactions/forms.py:303
|
||||
#: apps/transactions/forms.py:310 apps/transactions/forms.py:510
|
||||
#: apps/transactions/forms.py:771 apps/transactions/models.py:305
|
||||
#: apps/transactions/forms.py:41 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:322 apps/transactions/forms.py:522
|
||||
#: apps/transactions/forms.py:783 apps/transactions/models.py:305
|
||||
#: apps/transactions/models.py:488 apps/transactions/models.py:688
|
||||
#: templates/insights/fragments/category_overview/index.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:215
|
||||
#: templates/insights/fragments/category_overview/index.html:63
|
||||
#: templates/insights/fragments/category_overview/index.html:420
|
||||
msgid "Category"
|
||||
msgstr "Catégorie"
|
||||
|
||||
@@ -87,12 +87,13 @@ msgstr "Catégorie"
|
||||
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:186 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:290 apps/transactions/filters.py:74
|
||||
#: apps/transactions/forms.py:48 apps/transactions/forms.py:319
|
||||
#: apps/transactions/forms.py:327 apps/transactions/forms.py:503
|
||||
#: apps/transactions/forms.py:764 apps/transactions/models.py:311
|
||||
#: apps/transactions/forms.py:49 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:339 apps/transactions/forms.py:515
|
||||
#: apps/transactions/forms.py:776 apps/transactions/models.py:311
|
||||
#: apps/transactions/models.py:490 apps/transactions/models.py:692
|
||||
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
|
||||
#: templates/tags/pages/index.html:4
|
||||
#: templates/includes/navbar.html:108
|
||||
#: templates/insights/fragments/category_overview/index.html:35
|
||||
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
||||
msgid "Tags"
|
||||
msgstr "Balises"
|
||||
|
||||
@@ -164,8 +165,8 @@ msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
|
||||
#: apps/rules/models.py:30 apps/rules/models.py:242
|
||||
#: apps/transactions/forms.py:60 apps/transactions/forms.py:495
|
||||
#: apps/transactions/forms.py:756 apps/transactions/models.py:278
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:507
|
||||
#: apps/transactions/forms.py:768 apps/transactions/models.py:278
|
||||
#: apps/transactions/models.py:448 apps/transactions/models.py:670
|
||||
msgid "Account"
|
||||
msgstr "Compte"
|
||||
@@ -460,7 +461,7 @@ msgstr "Suffixe"
|
||||
|
||||
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:169
|
||||
#: apps/rules/forms.py:182 apps/rules/models.py:33 apps/rules/models.py:254
|
||||
#: apps/transactions/forms.py:64 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:65 apps/transactions/forms.py:343
|
||||
#: apps/transactions/models.py:288
|
||||
#: templates/dca/fragments/strategy/details.html:52
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
@@ -671,11 +672,11 @@ msgstr "Services ajouté à la file avec succès"
|
||||
msgid "Create transaction"
|
||||
msgstr "Créer une transaction"
|
||||
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:278
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:290
|
||||
msgid "From Account"
|
||||
msgstr "Compte originateur"
|
||||
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:283
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:295
|
||||
msgid "To Account"
|
||||
msgstr "Compte bénéficiaire"
|
||||
|
||||
@@ -700,7 +701,7 @@ msgstr "Lié transaction"
|
||||
msgid "You must provide an account."
|
||||
msgstr "Vous devez fournir un compte."
|
||||
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:445
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:457
|
||||
msgid "From and To accounts must be different."
|
||||
msgstr ""
|
||||
"Le compte originateur et le compte bénéficiaire doivent être différent."
|
||||
@@ -720,7 +721,7 @@ msgstr "Devise de paiement"
|
||||
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:173
|
||||
#: apps/rules/forms.py:188 apps/rules/models.py:37 apps/rules/models.py:270
|
||||
#: apps/transactions/forms.py:347 apps/transactions/models.py:301
|
||||
#: apps/transactions/forms.py:359 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:497 apps/transactions/models.py:698
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
@@ -801,8 +802,8 @@ msgstr "Catégories"
|
||||
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:187 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:282 apps/transactions/filters.py:81
|
||||
#: apps/transactions/forms.py:56 apps/transactions/forms.py:518
|
||||
#: apps/transactions/forms.py:779 apps/transactions/models.py:261
|
||||
#: apps/transactions/forms.py:57 apps/transactions/forms.py:530
|
||||
#: apps/transactions/forms.py:791 apps/transactions/models.py:261
|
||||
#: apps/transactions/models.py:316 apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:695 templates/entities/fragments/list.html:5
|
||||
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
|
||||
@@ -983,9 +984,9 @@ msgstr "Run deleted successfully"
|
||||
|
||||
#: apps/insights/forms.py:119 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167
|
||||
#: templates/insights/fragments/category_overview/index.html:19
|
||||
#: templates/insights/fragments/category_overview/index.html:87
|
||||
#: templates/insights/fragments/category_overview/index.html:116
|
||||
#: templates/insights/fragments/category_overview/index.html:73
|
||||
#: templates/insights/fragments/category_overview/index.html:285
|
||||
#: templates/insights/fragments/category_overview/index.html:314
|
||||
#, fuzzy
|
||||
msgid "Uncategorized"
|
||||
msgstr "Uncategorized"
|
||||
@@ -1098,8 +1099,8 @@ msgid "Paid"
|
||||
msgstr "Paid"
|
||||
|
||||
#: apps/rules/forms.py:170 apps/rules/forms.py:183 apps/rules/models.py:34
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:68
|
||||
#: apps/transactions/forms.py:334 apps/transactions/forms.py:524
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:69
|
||||
#: apps/transactions/forms.py:346 apps/transactions/forms.py:536
|
||||
#: apps/transactions/models.py:289 apps/transactions/models.py:471
|
||||
#: apps/transactions/models.py:700
|
||||
#, fuzzy
|
||||
@@ -1115,7 +1116,7 @@ msgstr "Amount"
|
||||
|
||||
#: apps/rules/forms.py:172 apps/rules/forms.py:185 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:36 apps/rules/models.py:266
|
||||
#: apps/transactions/forms.py:338 apps/transactions/models.py:299
|
||||
#: apps/transactions/forms.py:350 apps/transactions/models.py:299
|
||||
#: apps/transactions/models.py:455 apps/transactions/models.py:684
|
||||
#, fuzzy
|
||||
msgid "Description"
|
||||
@@ -1289,6 +1290,7 @@ msgstr "Update or Create Transaction action deleted successfully"
|
||||
|
||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||
#: templates/cotton/transaction/item.html:31 templates/includes/navbar.html:46
|
||||
#: templates/insights/fragments/category_overview/index.html:46
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||
#, fuzzy
|
||||
@@ -1330,48 +1332,56 @@ msgstr "Amount min"
|
||||
msgid "Amount max"
|
||||
msgstr "Amount max"
|
||||
|
||||
#: apps/transactions/forms.py:171
|
||||
#: apps/transactions/forms.py:172
|
||||
#, fuzzy
|
||||
msgid "More"
|
||||
msgstr "More"
|
||||
|
||||
#: apps/transactions/forms.py:290
|
||||
#: apps/transactions/forms.py:216
|
||||
msgid "Save and add similar"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:221
|
||||
msgid "Save and add another"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:302
|
||||
#, fuzzy
|
||||
msgid "From Amount"
|
||||
msgstr "From Amount"
|
||||
|
||||
#: apps/transactions/forms.py:295
|
||||
#: apps/transactions/forms.py:307
|
||||
#, fuzzy
|
||||
msgid "To Amount"
|
||||
msgstr "To Amount"
|
||||
|
||||
#: apps/transactions/forms.py:412
|
||||
#: apps/transactions/forms.py:424
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:40
|
||||
#, fuzzy
|
||||
msgid "Transfer"
|
||||
msgstr "Transfer"
|
||||
|
||||
#: apps/transactions/forms.py:658
|
||||
#: apps/transactions/forms.py:670
|
||||
#, fuzzy
|
||||
msgid "Tag name"
|
||||
msgstr "Tag name"
|
||||
|
||||
#: apps/transactions/forms.py:690
|
||||
#: apps/transactions/forms.py:702
|
||||
#, fuzzy
|
||||
msgid "Entity name"
|
||||
msgstr "Entity name"
|
||||
|
||||
#: apps/transactions/forms.py:722
|
||||
#: apps/transactions/forms.py:734
|
||||
#, fuzzy
|
||||
msgid "Category name"
|
||||
msgstr "Category name"
|
||||
|
||||
#: apps/transactions/forms.py:724
|
||||
#: apps/transactions/forms.py:736
|
||||
#, fuzzy
|
||||
msgid "Muted categories won't count towards your monthly total"
|
||||
msgstr "Muted categories won't count towards your monthly total"
|
||||
|
||||
#: apps/transactions/forms.py:910
|
||||
#: apps/transactions/forms.py:922
|
||||
#, fuzzy
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "End date should be after the start date"
|
||||
@@ -1432,7 +1442,7 @@ msgstr "Entity"
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
#: templates/calendar_view/fragments/list.html:54
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:11
|
||||
#: templates/insights/fragments/category_overview/index.html:64
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:39
|
||||
#, fuzzy
|
||||
msgid "Income"
|
||||
@@ -1444,7 +1454,7 @@ msgstr "Income"
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
#: templates/calendar_view/fragments/list.html:58
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:18
|
||||
#: templates/insights/fragments/category_overview/index.html:12
|
||||
#: templates/insights/fragments/category_overview/index.html:65
|
||||
#, fuzzy
|
||||
msgid "Expense"
|
||||
msgstr "Expense"
|
||||
@@ -1741,40 +1751,40 @@ msgstr "Tag updated successfully"
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Tag deleted successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:50
|
||||
#: apps/transactions/views/transactions.py:89
|
||||
#: apps/transactions/views/transactions.py:52
|
||||
#: apps/transactions/views/transactions.py:148
|
||||
#, fuzzy
|
||||
msgid "Transaction added successfully"
|
||||
msgstr "Transaction added successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:123
|
||||
#: apps/transactions/views/transactions.py:182
|
||||
#, fuzzy
|
||||
msgid "Transaction updated successfully"
|
||||
msgstr "Transaction updated successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:173
|
||||
#: apps/transactions/views/transactions.py:232
|
||||
#, fuzzy, python-format
|
||||
msgid "%(count)s transaction updated successfully"
|
||||
msgid_plural "%(count)s transactions updated successfully"
|
||||
msgstr[0] "%(count)s transaction updated successfully"
|
||||
msgstr[1] "%(count)s transactions updated successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:209
|
||||
#: apps/transactions/views/transactions.py:268
|
||||
#, fuzzy
|
||||
msgid "Transaction duplicated successfully"
|
||||
msgstr "Transaction duplicated successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:251
|
||||
#: apps/transactions/views/transactions.py:310
|
||||
#, fuzzy
|
||||
msgid "Transaction deleted successfully"
|
||||
msgstr "Transaction deleted successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:269
|
||||
#: apps/transactions/views/transactions.py:328
|
||||
#, fuzzy
|
||||
msgid "Transaction restored successfully"
|
||||
msgstr "Transaction restored successfully"
|
||||
|
||||
#: apps/transactions/views/transactions.py:295
|
||||
#: apps/transactions/views/transactions.py:354
|
||||
#, fuzzy
|
||||
msgid "Transfer added successfully"
|
||||
msgstr "Transfer added successfully"
|
||||
@@ -1962,37 +1972,37 @@ msgstr "Time Zone"
|
||||
msgid "Start page"
|
||||
msgstr "Start page"
|
||||
|
||||
#: apps/users/views.py:67
|
||||
#: apps/users/views.py:68
|
||||
#, fuzzy
|
||||
msgid "Transaction amounts are now hidden"
|
||||
msgstr "Transaction amounts are now hidden"
|
||||
|
||||
#: apps/users/views.py:70
|
||||
#: apps/users/views.py:71
|
||||
#, fuzzy
|
||||
msgid "Transaction amounts are now displayed"
|
||||
msgstr "Transaction amounts are now displayed"
|
||||
|
||||
#: apps/users/views.py:88
|
||||
#: apps/users/views.py:89
|
||||
#, fuzzy
|
||||
msgid "Sounds are now muted"
|
||||
msgstr "Sounds are now muted"
|
||||
|
||||
#: apps/users/views.py:91
|
||||
#: apps/users/views.py:92
|
||||
#, fuzzy
|
||||
msgid "Sounds will now play"
|
||||
msgstr "Sounds will now play"
|
||||
|
||||
#: apps/users/views.py:107
|
||||
#: apps/users/views.py:108
|
||||
#, fuzzy
|
||||
msgid "Your settings have been updated"
|
||||
msgstr "Your settings have been updated"
|
||||
|
||||
#: apps/users/views.py:151
|
||||
#: apps/users/views.py:152
|
||||
#, fuzzy
|
||||
msgid "Item added successfully"
|
||||
msgstr "Rule added successfully"
|
||||
|
||||
#: apps/users/views.py:182
|
||||
#: apps/users/views.py:184
|
||||
#, fuzzy
|
||||
msgid "Item updated successfully"
|
||||
msgstr "Rule updated successfully"
|
||||
@@ -2298,7 +2308,7 @@ msgid "Muted"
|
||||
msgstr "Muted"
|
||||
|
||||
#: templates/categories/fragments/table.html:75
|
||||
#: templates/insights/fragments/category_overview/index.html:225
|
||||
#: templates/insights/fragments/category_overview/index.html:430
|
||||
#, fuzzy
|
||||
msgid "No categories"
|
||||
msgstr "No categories"
|
||||
@@ -2858,11 +2868,12 @@ msgid "Net Worth"
|
||||
msgstr "Net Worth"
|
||||
|
||||
#: templates/includes/navbar.html:44
|
||||
#: templates/insights/fragments/category_overview/index.html:50
|
||||
#, fuzzy
|
||||
msgid "Current"
|
||||
msgstr "Current"
|
||||
|
||||
#: templates/includes/navbar.html:50
|
||||
#: templates/includes/navbar.html:50 templates/insights/pages/index.html:5
|
||||
#, fuzzy
|
||||
msgid "Insights"
|
||||
msgstr "Insights"
|
||||
@@ -3001,13 +3012,36 @@ msgstr "Income/Expense by Account"
|
||||
msgid "Income/Expense by Currency"
|
||||
msgstr "Income/Expense by Currency"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:13
|
||||
#: templates/insights/fragments/category_overview/index.html:14
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:24
|
||||
msgid "Bars"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:38
|
||||
msgid ""
|
||||
"Transaction amounts associated with multiple tags will be counted once for "
|
||||
"each tag"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
#, fuzzy
|
||||
msgid "Final total"
|
||||
msgstr "final total"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:66
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:167
|
||||
#, fuzzy
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:202
|
||||
#: templates/insights/fragments/category_overview/index.html:166
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#, fuzzy
|
||||
msgid "Final Total"
|
||||
msgstr "final total"
|
||||
@@ -3067,64 +3101,64 @@ msgstr "From"
|
||||
msgid "Percentage"
|
||||
msgstr "Percentage"
|
||||
|
||||
#: templates/insights/pages/index.html:35
|
||||
#: templates/insights/pages/index.html:37
|
||||
#, fuzzy
|
||||
msgid "Month"
|
||||
msgstr "Month"
|
||||
|
||||
#: templates/insights/pages/index.html:38
|
||||
#: templates/insights/pages/index.html:40
|
||||
#: templates/yearly_overview/pages/overview_by_account.html:61
|
||||
#: templates/yearly_overview/pages/overview_by_currency.html:63
|
||||
#, fuzzy
|
||||
msgid "Year"
|
||||
msgstr "Year"
|
||||
|
||||
#: templates/insights/pages/index.html:43
|
||||
#: templates/insights/pages/index.html:45
|
||||
#, fuzzy
|
||||
msgid "Month Range"
|
||||
msgstr "Month Range"
|
||||
|
||||
#: templates/insights/pages/index.html:48
|
||||
#: templates/insights/pages/index.html:50
|
||||
#, fuzzy
|
||||
msgid "Year Range"
|
||||
msgstr "Year Range"
|
||||
|
||||
#: templates/insights/pages/index.html:53
|
||||
#: templates/insights/pages/index.html:55
|
||||
#, fuzzy
|
||||
msgid "Date Range"
|
||||
msgstr "Date Range"
|
||||
|
||||
#: templates/insights/pages/index.html:81
|
||||
#: templates/insights/pages/index.html:83
|
||||
#, fuzzy
|
||||
msgid "Account Flow"
|
||||
msgstr "Account Flow"
|
||||
|
||||
#: templates/insights/pages/index.html:88
|
||||
#: templates/insights/pages/index.html:90
|
||||
#, fuzzy
|
||||
msgid "Currency Flow"
|
||||
msgstr "Currency Flow"
|
||||
|
||||
#: templates/insights/pages/index.html:95
|
||||
#: templates/insights/pages/index.html:97
|
||||
#, fuzzy
|
||||
msgid "Category Explorer"
|
||||
msgstr "Category Explorer"
|
||||
|
||||
#: templates/insights/pages/index.html:102
|
||||
#: templates/insights/pages/index.html:104
|
||||
#, fuzzy
|
||||
msgid "Categories Overview"
|
||||
msgstr "Categories Overview"
|
||||
|
||||
#: templates/insights/pages/index.html:109
|
||||
#: templates/insights/pages/index.html:111
|
||||
#, fuzzy
|
||||
msgid "Late Transactions"
|
||||
msgstr "Late Transactions"
|
||||
|
||||
#: templates/insights/pages/index.html:115
|
||||
#: templates/insights/pages/index.html:117
|
||||
#, fuzzy
|
||||
msgid "Latest Transactions"
|
||||
msgstr "Latest Transactions"
|
||||
|
||||
#: templates/insights/pages/index.html:121
|
||||
#: templates/insights/pages/index.html:123
|
||||
#, fuzzy
|
||||
msgid "Emergency Fund"
|
||||
msgstr "Emergency Fund"
|
||||
@@ -3612,3 +3646,7 @@ msgstr "Use the credentials below to login"
|
||||
#, fuzzy
|
||||
msgid "Yearly Overview"
|
||||
msgstr "Yearly Overview"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Show tags"
|
||||
#~ msgstr "No tags"
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-13 22:01+0000\n"
|
||||
"PO-Revision-Date: 2025-04-13 11:16+0000\n"
|
||||
"POT-Creation-Date: 2025-04-21 18:45+0000\n"
|
||||
"PO-Revision-Date: 2025-04-14 08:16+0000\n"
|
||||
"Last-Translator: Dimitri Decrock <dj.flashpower@gmail.com>\n"
|
||||
"Language-Team: Dutch <https://translations.herculino.com/projects/wygiwyh/"
|
||||
"app/nl/>\n"
|
||||
@@ -27,10 +27,10 @@ msgstr "Groepsnaam"
|
||||
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
|
||||
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
|
||||
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:202
|
||||
#: apps/transactions/forms.py:269 apps/transactions/forms.py:629
|
||||
#: apps/transactions/forms.py:672 apps/transactions/forms.py:704
|
||||
#: apps/transactions/forms.py:739 apps/transactions/forms.py:891
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:203
|
||||
#: apps/transactions/forms.py:281 apps/transactions/forms.py:641
|
||||
#: apps/transactions/forms.py:684 apps/transactions/forms.py:716
|
||||
#: apps/transactions/forms.py:751 apps/transactions/forms.py:903
|
||||
#: apps/users/forms.py:210 apps/users/forms.py:372
|
||||
msgid "Update"
|
||||
msgstr "Bijwerken"
|
||||
@@ -40,10 +40,10 @@ msgstr "Bijwerken"
|
||||
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
|
||||
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
|
||||
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
|
||||
#: apps/transactions/forms.py:187 apps/transactions/forms.py:211
|
||||
#: apps/transactions/forms.py:637 apps/transactions/forms.py:680
|
||||
#: apps/transactions/forms.py:712 apps/transactions/forms.py:747
|
||||
#: apps/transactions/forms.py:899 apps/users/forms.py:218
|
||||
#: apps/transactions/forms.py:188 apps/transactions/forms.py:212
|
||||
#: apps/transactions/forms.py:649 apps/transactions/forms.py:692
|
||||
#: apps/transactions/forms.py:724 apps/transactions/forms.py:759
|
||||
#: apps/transactions/forms.py:911 apps/users/forms.py:218
|
||||
#: apps/users/forms.py:380 templates/account_groups/fragments/list.html:9
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/categories/fragments/list.html:9
|
||||
@@ -74,12 +74,12 @@ msgstr "Nieuw saldo"
|
||||
#: apps/accounts/forms.py:121 apps/dca/forms.py:85 apps/dca/forms.py:92
|
||||
#: apps/insights/forms.py:118 apps/rules/forms.py:174 apps/rules/forms.py:189
|
||||
#: apps/rules/models.py:38 apps/rules/models.py:286
|
||||
#: apps/transactions/forms.py:40 apps/transactions/forms.py:303
|
||||
#: apps/transactions/forms.py:310 apps/transactions/forms.py:510
|
||||
#: apps/transactions/forms.py:771 apps/transactions/models.py:305
|
||||
#: apps/transactions/forms.py:41 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:322 apps/transactions/forms.py:522
|
||||
#: apps/transactions/forms.py:783 apps/transactions/models.py:305
|
||||
#: apps/transactions/models.py:488 apps/transactions/models.py:688
|
||||
#: templates/insights/fragments/category_overview/index.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:215
|
||||
#: templates/insights/fragments/category_overview/index.html:63
|
||||
#: templates/insights/fragments/category_overview/index.html:420
|
||||
msgid "Category"
|
||||
msgstr "Categorie"
|
||||
|
||||
@@ -87,12 +87,13 @@ msgstr "Categorie"
|
||||
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:186 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:290 apps/transactions/filters.py:74
|
||||
#: apps/transactions/forms.py:48 apps/transactions/forms.py:319
|
||||
#: apps/transactions/forms.py:327 apps/transactions/forms.py:503
|
||||
#: apps/transactions/forms.py:764 apps/transactions/models.py:311
|
||||
#: apps/transactions/forms.py:49 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:339 apps/transactions/forms.py:515
|
||||
#: apps/transactions/forms.py:776 apps/transactions/models.py:311
|
||||
#: apps/transactions/models.py:490 apps/transactions/models.py:692
|
||||
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
|
||||
#: templates/tags/pages/index.html:4
|
||||
#: templates/includes/navbar.html:108
|
||||
#: templates/insights/fragments/category_overview/index.html:35
|
||||
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
||||
msgid "Tags"
|
||||
msgstr "Labels"
|
||||
|
||||
@@ -165,8 +166,8 @@ msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
|
||||
#: apps/rules/models.py:30 apps/rules/models.py:242
|
||||
#: apps/transactions/forms.py:60 apps/transactions/forms.py:495
|
||||
#: apps/transactions/forms.py:756 apps/transactions/models.py:278
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:507
|
||||
#: apps/transactions/forms.py:768 apps/transactions/models.py:278
|
||||
#: apps/transactions/models.py:448 apps/transactions/models.py:670
|
||||
msgid "Account"
|
||||
msgstr "Rekening"
|
||||
@@ -460,7 +461,7 @@ msgstr "Achtervoegsel"
|
||||
|
||||
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:169
|
||||
#: apps/rules/forms.py:182 apps/rules/models.py:33 apps/rules/models.py:254
|
||||
#: apps/transactions/forms.py:64 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:65 apps/transactions/forms.py:343
|
||||
#: apps/transactions/models.py:288
|
||||
#: templates/dca/fragments/strategy/details.html:52
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
@@ -672,11 +673,11 @@ msgstr "Diensten succesvol in de wachtrij geplaatst"
|
||||
msgid "Create transaction"
|
||||
msgstr "Maak verrichtingen"
|
||||
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:278
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:290
|
||||
msgid "From Account"
|
||||
msgstr "Van rekening"
|
||||
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:283
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:295
|
||||
msgid "To Account"
|
||||
msgstr "Naar rekening"
|
||||
|
||||
@@ -702,7 +703,7 @@ msgstr "Koppel verrichting"
|
||||
msgid "You must provide an account."
|
||||
msgstr "Je moet een account opgeven."
|
||||
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:445
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:457
|
||||
msgid "From and To accounts must be different."
|
||||
msgstr "Van en Naar rekening moeten verschillend zijn."
|
||||
|
||||
@@ -721,7 +722,7 @@ msgstr "Betaal Munteenheid"
|
||||
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:173
|
||||
#: apps/rules/forms.py:188 apps/rules/models.py:37 apps/rules/models.py:270
|
||||
#: apps/transactions/forms.py:347 apps/transactions/models.py:301
|
||||
#: apps/transactions/forms.py:359 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:497 apps/transactions/models.py:698
|
||||
msgid "Notes"
|
||||
msgstr "Opmerkingen"
|
||||
@@ -802,8 +803,8 @@ msgstr "Categorieën"
|
||||
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:187 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:282 apps/transactions/filters.py:81
|
||||
#: apps/transactions/forms.py:56 apps/transactions/forms.py:518
|
||||
#: apps/transactions/forms.py:779 apps/transactions/models.py:261
|
||||
#: apps/transactions/forms.py:57 apps/transactions/forms.py:530
|
||||
#: apps/transactions/forms.py:791 apps/transactions/models.py:261
|
||||
#: apps/transactions/models.py:316 apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:695 templates/entities/fragments/list.html:5
|
||||
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
|
||||
@@ -973,9 +974,9 @@ msgstr "Run met succes verwijderd"
|
||||
|
||||
#: apps/insights/forms.py:119 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167
|
||||
#: templates/insights/fragments/category_overview/index.html:19
|
||||
#: templates/insights/fragments/category_overview/index.html:87
|
||||
#: templates/insights/fragments/category_overview/index.html:116
|
||||
#: templates/insights/fragments/category_overview/index.html:73
|
||||
#: templates/insights/fragments/category_overview/index.html:285
|
||||
#: templates/insights/fragments/category_overview/index.html:314
|
||||
msgid "Uncategorized"
|
||||
msgstr "Ongecategoriseerd"
|
||||
|
||||
@@ -1072,8 +1073,8 @@ msgid "Paid"
|
||||
msgstr "Betaald"
|
||||
|
||||
#: apps/rules/forms.py:170 apps/rules/forms.py:183 apps/rules/models.py:34
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:68
|
||||
#: apps/transactions/forms.py:334 apps/transactions/forms.py:524
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:69
|
||||
#: apps/transactions/forms.py:346 apps/transactions/forms.py:536
|
||||
#: apps/transactions/models.py:289 apps/transactions/models.py:471
|
||||
#: apps/transactions/models.py:700
|
||||
msgid "Reference Date"
|
||||
@@ -1087,7 +1088,7 @@ msgstr "Bedrag"
|
||||
|
||||
#: apps/rules/forms.py:172 apps/rules/forms.py:185 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:36 apps/rules/models.py:266
|
||||
#: apps/transactions/forms.py:338 apps/transactions/models.py:299
|
||||
#: apps/transactions/forms.py:350 apps/transactions/models.py:299
|
||||
#: apps/transactions/models.py:455 apps/transactions/models.py:684
|
||||
msgid "Description"
|
||||
msgstr "Beschrijving"
|
||||
@@ -1228,6 +1229,7 @@ msgstr "Verrichting Bijwerken Of Maken succesvol verwijderd"
|
||||
|
||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||
#: templates/cotton/transaction/item.html:31 templates/includes/navbar.html:46
|
||||
#: templates/insights/fragments/category_overview/index.html:46
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||
msgid "Projected"
|
||||
@@ -1261,40 +1263,48 @@ msgstr "Minimum bedrag"
|
||||
msgid "Amount max"
|
||||
msgstr "Maximaal bedrag"
|
||||
|
||||
#: apps/transactions/forms.py:171
|
||||
#: apps/transactions/forms.py:172
|
||||
msgid "More"
|
||||
msgstr "Meer"
|
||||
|
||||
#: apps/transactions/forms.py:290
|
||||
#: apps/transactions/forms.py:216
|
||||
msgid "Save and add similar"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:221
|
||||
msgid "Save and add another"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:302
|
||||
msgid "From Amount"
|
||||
msgstr "Van Bedrag"
|
||||
|
||||
#: apps/transactions/forms.py:295
|
||||
#: apps/transactions/forms.py:307
|
||||
msgid "To Amount"
|
||||
msgstr "Naar Bedrag"
|
||||
|
||||
#: apps/transactions/forms.py:412
|
||||
#: apps/transactions/forms.py:424
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:40
|
||||
msgid "Transfer"
|
||||
msgstr "Overschrijving"
|
||||
|
||||
#: apps/transactions/forms.py:658
|
||||
#: apps/transactions/forms.py:670
|
||||
msgid "Tag name"
|
||||
msgstr "Labelnaam"
|
||||
|
||||
#: apps/transactions/forms.py:690
|
||||
#: apps/transactions/forms.py:702
|
||||
msgid "Entity name"
|
||||
msgstr "Naam van bedrijf"
|
||||
|
||||
#: apps/transactions/forms.py:722
|
||||
#: apps/transactions/forms.py:734
|
||||
msgid "Category name"
|
||||
msgstr "Naam van categorie"
|
||||
|
||||
#: apps/transactions/forms.py:724
|
||||
#: apps/transactions/forms.py:736
|
||||
msgid "Muted categories won't count towards your monthly total"
|
||||
msgstr "Gedempte categorieën tellen niet mee voor je maandtotaal"
|
||||
|
||||
#: apps/transactions/forms.py:910
|
||||
#: apps/transactions/forms.py:922
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "De einddatum moet na de begindatum vallen"
|
||||
|
||||
@@ -1347,7 +1357,7 @@ msgstr "Bedrijf"
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
#: templates/calendar_view/fragments/list.html:54
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:11
|
||||
#: templates/insights/fragments/category_overview/index.html:64
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:39
|
||||
msgid "Income"
|
||||
msgstr "Ontvangsten Transactie"
|
||||
@@ -1358,7 +1368,7 @@ msgstr "Ontvangsten Transactie"
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
#: templates/calendar_view/fragments/list.html:58
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:18
|
||||
#: templates/insights/fragments/category_overview/index.html:12
|
||||
#: templates/insights/fragments/category_overview/index.html:65
|
||||
msgid "Expense"
|
||||
msgstr "Uitgave"
|
||||
|
||||
@@ -1605,35 +1615,35 @@ msgstr "Label succesvol bijgewerkt"
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Label succesvol verwijderd"
|
||||
|
||||
#: apps/transactions/views/transactions.py:50
|
||||
#: apps/transactions/views/transactions.py:89
|
||||
#: apps/transactions/views/transactions.py:52
|
||||
#: apps/transactions/views/transactions.py:148
|
||||
msgid "Transaction added successfully"
|
||||
msgstr "Verrichting succesvol toegevoegd"
|
||||
|
||||
#: apps/transactions/views/transactions.py:123
|
||||
#: apps/transactions/views/transactions.py:182
|
||||
msgid "Transaction updated successfully"
|
||||
msgstr "Verrichting succesvol bijgewerkt"
|
||||
|
||||
#: apps/transactions/views/transactions.py:173
|
||||
#: apps/transactions/views/transactions.py:232
|
||||
#, python-format
|
||||
msgid "%(count)s transaction updated successfully"
|
||||
msgid_plural "%(count)s transactions updated successfully"
|
||||
msgstr[0] "%(count)s verrichting succesvol bijgewerkt"
|
||||
msgstr[1] "%(count)s verrichtingen succesvol bijgewerkt"
|
||||
|
||||
#: apps/transactions/views/transactions.py:209
|
||||
#: apps/transactions/views/transactions.py:268
|
||||
msgid "Transaction duplicated successfully"
|
||||
msgstr "Verrichting succesvol gedupliceerd"
|
||||
|
||||
#: apps/transactions/views/transactions.py:251
|
||||
#: apps/transactions/views/transactions.py:310
|
||||
msgid "Transaction deleted successfully"
|
||||
msgstr "Verrichting succesvol verwijderd"
|
||||
|
||||
#: apps/transactions/views/transactions.py:269
|
||||
#: apps/transactions/views/transactions.py:328
|
||||
msgid "Transaction restored successfully"
|
||||
msgstr "Verrichting succesvol hersteld"
|
||||
|
||||
#: apps/transactions/views/transactions.py:295
|
||||
#: apps/transactions/views/transactions.py:354
|
||||
msgid "Transfer added successfully"
|
||||
msgstr "Transactie succesvol toegevoegd"
|
||||
|
||||
@@ -1703,64 +1713,64 @@ msgstr ""
|
||||
"Overweeg om WYGIWYH te helpen vertalen naar jouw taal op %(translation_link)s"
|
||||
|
||||
#: apps/users/forms.py:150
|
||||
#, fuzzy
|
||||
#| msgid "Password"
|
||||
msgid "New Password"
|
||||
msgstr "Wachtwoord"
|
||||
msgstr "Nieuw Wachtwoord"
|
||||
|
||||
#: apps/users/forms.py:153
|
||||
msgid "Leave blank to keep the current password."
|
||||
msgstr ""
|
||||
msgstr "Laat leeg om het huidige wachtwoord te behouden."
|
||||
|
||||
#: apps/users/forms.py:156
|
||||
msgid "Confirm New Password"
|
||||
msgstr ""
|
||||
msgstr "Bevestig Nieuw Wachtwoord"
|
||||
|
||||
#: apps/users/forms.py:168 apps/users/forms.py:329
|
||||
msgid ""
|
||||
"Designates whether this user should be treated as active. Unselect this "
|
||||
"instead of deleting accounts."
|
||||
msgstr ""
|
||||
"Geeft aan of deze gebruiker als actief moet worden behandeld. Deselecteer "
|
||||
"dit in plaats van accounts te verwijderen."
|
||||
|
||||
#: apps/users/forms.py:171 apps/users/forms.py:332
|
||||
msgid ""
|
||||
"Designates that this user has all permissions without explicitly assigning "
|
||||
"them."
|
||||
msgstr ""
|
||||
"Geeft aan dat deze gebruiker alle rechten heeft zonder ze expliciet toe te "
|
||||
"kennen."
|
||||
|
||||
#: apps/users/forms.py:242
|
||||
msgid "This email address is already in use by another account."
|
||||
msgstr ""
|
||||
msgstr "Dit e-mailadres wordt al gebruikt door een ander account."
|
||||
|
||||
#: apps/users/forms.py:250
|
||||
msgid "The two password fields didn't match."
|
||||
msgstr ""
|
||||
msgstr "De twee wachtwoordvelden komen niet overeen."
|
||||
|
||||
#: apps/users/forms.py:252
|
||||
msgid "Please confirm your new password."
|
||||
msgstr ""
|
||||
msgstr "Bevestig je nieuwe wachtwoord."
|
||||
|
||||
#: apps/users/forms.py:254
|
||||
msgid "Please enter the new password first."
|
||||
msgstr ""
|
||||
msgstr "Geef eerst het nieuwe wachtwoord op."
|
||||
|
||||
#: apps/users/forms.py:274
|
||||
msgid "You cannot deactivate your own account using this form."
|
||||
msgstr ""
|
||||
msgstr "Je kunt je eigen account niet deactiveren met dit formulier."
|
||||
|
||||
#: apps/users/forms.py:287
|
||||
msgid "Cannot remove status from the last superuser."
|
||||
msgstr ""
|
||||
msgstr "Kan de status van de laatste Hoofdadmin niet verwijderen."
|
||||
|
||||
#: apps/users/forms.py:293
|
||||
msgid "You cannot remove your own superuser status using this form."
|
||||
msgstr ""
|
||||
msgstr "Je kunt je eigen hoofdadminrechten niet verwijderen met dit formulier."
|
||||
|
||||
#: apps/users/forms.py:390
|
||||
#, fuzzy
|
||||
#| msgid "A value for this field already exists in the rule."
|
||||
msgid "A user with this email address already exists."
|
||||
msgstr "Een waarde voor dit veld bestaat al in de regel."
|
||||
msgstr "Er bestaat al een gebruiker met dit e-mailadres."
|
||||
|
||||
#: apps/users/models.py:27 templates/includes/navbar.html:28
|
||||
msgid "Yearly by currency"
|
||||
@@ -1802,37 +1812,33 @@ msgstr "Tijdszone"
|
||||
msgid "Start page"
|
||||
msgstr "Startpagina"
|
||||
|
||||
#: apps/users/views.py:67
|
||||
#: apps/users/views.py:68
|
||||
msgid "Transaction amounts are now hidden"
|
||||
msgstr "Verrichtingsbedragen worden nu verborgen"
|
||||
|
||||
#: apps/users/views.py:70
|
||||
#: apps/users/views.py:71
|
||||
msgid "Transaction amounts are now displayed"
|
||||
msgstr "Verrichtingsbedragen worden nu weergegeven"
|
||||
|
||||
#: apps/users/views.py:88
|
||||
#: apps/users/views.py:89
|
||||
msgid "Sounds are now muted"
|
||||
msgstr "De Geluiden zijn nu gedempt"
|
||||
|
||||
#: apps/users/views.py:91
|
||||
#: apps/users/views.py:92
|
||||
msgid "Sounds will now play"
|
||||
msgstr "De geluiden worden nu afgespeeld"
|
||||
|
||||
#: apps/users/views.py:107
|
||||
#: apps/users/views.py:108
|
||||
msgid "Your settings have been updated"
|
||||
msgstr "Jouw instellingen zijn bijgewerkt"
|
||||
|
||||
#: apps/users/views.py:151
|
||||
#, fuzzy
|
||||
#| msgid "Rule added successfully"
|
||||
#: apps/users/views.py:152
|
||||
msgid "Item added successfully"
|
||||
msgstr "Regel succesvol toegevoegd"
|
||||
msgstr "Item succesvol toegevoegd"
|
||||
|
||||
#: apps/users/views.py:182
|
||||
#, fuzzy
|
||||
#| msgid "Rule updated successfully"
|
||||
#: apps/users/views.py:184
|
||||
msgid "Item updated successfully"
|
||||
msgstr "Regel succesvol bijgewerkt"
|
||||
msgstr "Item succesvol bijgewerkt"
|
||||
|
||||
#: templates/account_groups/fragments/add.html:5
|
||||
msgid "Add account group"
|
||||
@@ -2102,7 +2108,7 @@ msgid "Muted"
|
||||
msgstr "Gedempt"
|
||||
|
||||
#: templates/categories/fragments/table.html:75
|
||||
#: templates/insights/fragments/category_overview/index.html:225
|
||||
#: templates/insights/fragments/category_overview/index.html:430
|
||||
msgid "No categories"
|
||||
msgstr "Geen categorieën"
|
||||
|
||||
@@ -2562,10 +2568,11 @@ msgid "Net Worth"
|
||||
msgstr "Netto Waarde"
|
||||
|
||||
#: templates/includes/navbar.html:44
|
||||
#: templates/insights/fragments/category_overview/index.html:50
|
||||
msgid "Current"
|
||||
msgstr "Huidige"
|
||||
|
||||
#: templates/includes/navbar.html:50
|
||||
#: templates/includes/navbar.html:50 templates/insights/pages/index.html:5
|
||||
msgid "Insights"
|
||||
msgstr "Inzichten"
|
||||
|
||||
@@ -2603,7 +2610,7 @@ msgstr "Automatisatie"
|
||||
|
||||
#: templates/includes/navbar.html:145
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
msgstr "Admin"
|
||||
|
||||
#: templates/includes/navbar.html:154
|
||||
msgid "Only use this if you know what you're doing"
|
||||
@@ -2622,10 +2629,8 @@ msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: templates/includes/navbar/user_menu.html:19
|
||||
#, fuzzy
|
||||
#| msgid "Edit import profile"
|
||||
msgid "Edit profile"
|
||||
msgstr "Importprofiel bewerken"
|
||||
msgstr "Profiel bewerken"
|
||||
|
||||
#: templates/includes/navbar/user_menu.html:46
|
||||
msgid "Clear cache"
|
||||
@@ -2685,12 +2690,36 @@ msgstr "Inkomsten/uitgaven per rekening"
|
||||
msgid "Income/Expense by Currency"
|
||||
msgstr "Inkomsten/uitgaven per Munteenheid"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:13
|
||||
#: templates/insights/fragments/category_overview/index.html:14
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:24
|
||||
msgid "Bars"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:38
|
||||
msgid ""
|
||||
"Transaction amounts associated with multiple tags will be counted once for "
|
||||
"each tag"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
#, fuzzy
|
||||
#| msgid "final total"
|
||||
msgid "Final total"
|
||||
msgstr "eindtotaal"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:66
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:167
|
||||
msgid "Total"
|
||||
msgstr "Totaal"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:202
|
||||
#: templates/insights/fragments/category_overview/index.html:166
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
msgid "Final Total"
|
||||
msgstr "Eindtotaal"
|
||||
|
||||
@@ -2738,53 +2767,53 @@ msgstr "Van"
|
||||
msgid "Percentage"
|
||||
msgstr "Percentage"
|
||||
|
||||
#: templates/insights/pages/index.html:35
|
||||
#: templates/insights/pages/index.html:37
|
||||
msgid "Month"
|
||||
msgstr "Maand"
|
||||
|
||||
#: templates/insights/pages/index.html:38
|
||||
#: templates/insights/pages/index.html:40
|
||||
#: templates/yearly_overview/pages/overview_by_account.html:61
|
||||
#: templates/yearly_overview/pages/overview_by_currency.html:63
|
||||
msgid "Year"
|
||||
msgstr "Jaar"
|
||||
|
||||
#: templates/insights/pages/index.html:43
|
||||
#: templates/insights/pages/index.html:45
|
||||
msgid "Month Range"
|
||||
msgstr "Maand Bereik"
|
||||
|
||||
#: templates/insights/pages/index.html:48
|
||||
#: templates/insights/pages/index.html:50
|
||||
msgid "Year Range"
|
||||
msgstr "Jaar Bereik"
|
||||
|
||||
#: templates/insights/pages/index.html:53
|
||||
#: templates/insights/pages/index.html:55
|
||||
msgid "Date Range"
|
||||
msgstr "Datum Bereik"
|
||||
|
||||
#: templates/insights/pages/index.html:81
|
||||
#: templates/insights/pages/index.html:83
|
||||
msgid "Account Flow"
|
||||
msgstr "Rekeningstroom"
|
||||
|
||||
#: templates/insights/pages/index.html:88
|
||||
#: templates/insights/pages/index.html:90
|
||||
msgid "Currency Flow"
|
||||
msgstr "Geldstroom"
|
||||
|
||||
#: templates/insights/pages/index.html:95
|
||||
#: templates/insights/pages/index.html:97
|
||||
msgid "Category Explorer"
|
||||
msgstr "Categorie Verkenner"
|
||||
|
||||
#: templates/insights/pages/index.html:102
|
||||
#: templates/insights/pages/index.html:104
|
||||
msgid "Categories Overview"
|
||||
msgstr "Categorieën Overzicht"
|
||||
|
||||
#: templates/insights/pages/index.html:109
|
||||
#: templates/insights/pages/index.html:111
|
||||
msgid "Late Transactions"
|
||||
msgstr "Betalingsachterstanden"
|
||||
|
||||
#: templates/insights/pages/index.html:115
|
||||
#: templates/insights/pages/index.html:117
|
||||
msgid "Latest Transactions"
|
||||
msgstr "Laatste Verrichtingen"
|
||||
|
||||
#: templates/insights/pages/index.html:121
|
||||
#: templates/insights/pages/index.html:123
|
||||
msgid "Emergency Fund"
|
||||
msgstr "Noodfonds"
|
||||
|
||||
@@ -3135,36 +3164,28 @@ msgid "Unchanged"
|
||||
msgstr "Ongewijzigd"
|
||||
|
||||
#: templates/users/fragments/add.html:5
|
||||
#, fuzzy
|
||||
#| msgid "Add new"
|
||||
msgid "Add user"
|
||||
msgstr "Nieuwe toevoegen"
|
||||
msgstr "Gebruiker toevoegen"
|
||||
|
||||
#: templates/users/fragments/edit.html:5
|
||||
#, fuzzy
|
||||
#| msgid "Edit category"
|
||||
msgid "Edit user"
|
||||
msgstr "Categorie bewerken"
|
||||
msgstr "Gebruiker bewerken"
|
||||
|
||||
#: templates/users/fragments/list.html:30
|
||||
#, fuzzy
|
||||
#| msgid "E-mail"
|
||||
msgid "Email"
|
||||
msgstr "E-mailadres"
|
||||
|
||||
#: templates/users/fragments/list.html:31
|
||||
msgid "Superuser"
|
||||
msgstr ""
|
||||
msgstr "Hoofdadmin"
|
||||
|
||||
#: templates/users/fragments/list.html:51
|
||||
msgid "Impersonate"
|
||||
msgstr ""
|
||||
msgstr "Doe je voor als"
|
||||
|
||||
#: templates/users/fragments/list.html:80
|
||||
#, fuzzy
|
||||
#| msgid "Users"
|
||||
msgid "No users"
|
||||
msgstr "Gebruikers"
|
||||
msgstr "Geen gebruikers"
|
||||
|
||||
#: templates/users/generic/hide_amounts.html:2
|
||||
msgid "Hide amounts"
|
||||
@@ -3195,6 +3216,11 @@ msgstr "Gebruik de onderstaande gegevens om in te loggen"
|
||||
msgid "Yearly Overview"
|
||||
msgstr "Jaaroverzicht"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "No tags"
|
||||
#~ msgid "Show tags"
|
||||
#~ msgstr "Geen labels"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "From Amount"
|
||||
#~ msgid "Principal Amount"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-13 22:01+0000\n"
|
||||
"POT-Creation-Date: 2025-04-21 18:45+0000\n"
|
||||
"PO-Revision-Date: 2025-04-13 08:16+0000\n"
|
||||
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
|
||||
"Language-Team: Portuguese <https://translations.herculino.com/projects/"
|
||||
@@ -27,10 +27,10 @@ msgstr "Nome do grupo"
|
||||
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
|
||||
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
|
||||
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:202
|
||||
#: apps/transactions/forms.py:269 apps/transactions/forms.py:629
|
||||
#: apps/transactions/forms.py:672 apps/transactions/forms.py:704
|
||||
#: apps/transactions/forms.py:739 apps/transactions/forms.py:891
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:203
|
||||
#: apps/transactions/forms.py:281 apps/transactions/forms.py:641
|
||||
#: apps/transactions/forms.py:684 apps/transactions/forms.py:716
|
||||
#: apps/transactions/forms.py:751 apps/transactions/forms.py:903
|
||||
#: apps/users/forms.py:210 apps/users/forms.py:372
|
||||
msgid "Update"
|
||||
msgstr "Atualizar"
|
||||
@@ -40,10 +40,10 @@ msgstr "Atualizar"
|
||||
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
|
||||
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
|
||||
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
|
||||
#: apps/transactions/forms.py:187 apps/transactions/forms.py:211
|
||||
#: apps/transactions/forms.py:637 apps/transactions/forms.py:680
|
||||
#: apps/transactions/forms.py:712 apps/transactions/forms.py:747
|
||||
#: apps/transactions/forms.py:899 apps/users/forms.py:218
|
||||
#: apps/transactions/forms.py:188 apps/transactions/forms.py:212
|
||||
#: apps/transactions/forms.py:649 apps/transactions/forms.py:692
|
||||
#: apps/transactions/forms.py:724 apps/transactions/forms.py:759
|
||||
#: apps/transactions/forms.py:911 apps/users/forms.py:218
|
||||
#: apps/users/forms.py:380 templates/account_groups/fragments/list.html:9
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/categories/fragments/list.html:9
|
||||
@@ -74,12 +74,12 @@ msgstr "Novo saldo"
|
||||
#: apps/accounts/forms.py:121 apps/dca/forms.py:85 apps/dca/forms.py:92
|
||||
#: apps/insights/forms.py:118 apps/rules/forms.py:174 apps/rules/forms.py:189
|
||||
#: apps/rules/models.py:38 apps/rules/models.py:286
|
||||
#: apps/transactions/forms.py:40 apps/transactions/forms.py:303
|
||||
#: apps/transactions/forms.py:310 apps/transactions/forms.py:510
|
||||
#: apps/transactions/forms.py:771 apps/transactions/models.py:305
|
||||
#: apps/transactions/forms.py:41 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:322 apps/transactions/forms.py:522
|
||||
#: apps/transactions/forms.py:783 apps/transactions/models.py:305
|
||||
#: apps/transactions/models.py:488 apps/transactions/models.py:688
|
||||
#: templates/insights/fragments/category_overview/index.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:215
|
||||
#: templates/insights/fragments/category_overview/index.html:63
|
||||
#: templates/insights/fragments/category_overview/index.html:420
|
||||
msgid "Category"
|
||||
msgstr "Categoria"
|
||||
|
||||
@@ -87,12 +87,13 @@ msgstr "Categoria"
|
||||
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:186 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:290 apps/transactions/filters.py:74
|
||||
#: apps/transactions/forms.py:48 apps/transactions/forms.py:319
|
||||
#: apps/transactions/forms.py:327 apps/transactions/forms.py:503
|
||||
#: apps/transactions/forms.py:764 apps/transactions/models.py:311
|
||||
#: apps/transactions/forms.py:49 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:339 apps/transactions/forms.py:515
|
||||
#: apps/transactions/forms.py:776 apps/transactions/models.py:311
|
||||
#: apps/transactions/models.py:490 apps/transactions/models.py:692
|
||||
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
|
||||
#: templates/tags/pages/index.html:4
|
||||
#: templates/includes/navbar.html:108
|
||||
#: templates/insights/fragments/category_overview/index.html:35
|
||||
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
||||
msgid "Tags"
|
||||
msgstr "Tags"
|
||||
|
||||
@@ -164,8 +165,8 @@ msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
|
||||
#: apps/rules/models.py:30 apps/rules/models.py:242
|
||||
#: apps/transactions/forms.py:60 apps/transactions/forms.py:495
|
||||
#: apps/transactions/forms.py:756 apps/transactions/models.py:278
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:507
|
||||
#: apps/transactions/forms.py:768 apps/transactions/models.py:278
|
||||
#: apps/transactions/models.py:448 apps/transactions/models.py:670
|
||||
msgid "Account"
|
||||
msgstr "Conta"
|
||||
@@ -458,7 +459,7 @@ msgstr "Sufixo"
|
||||
|
||||
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:169
|
||||
#: apps/rules/forms.py:182 apps/rules/models.py:33 apps/rules/models.py:254
|
||||
#: apps/transactions/forms.py:64 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:65 apps/transactions/forms.py:343
|
||||
#: apps/transactions/models.py:288
|
||||
#: templates/dca/fragments/strategy/details.html:52
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
@@ -671,11 +672,11 @@ msgstr "Serviços marcados para execução com sucesso"
|
||||
msgid "Create transaction"
|
||||
msgstr "Criar transação"
|
||||
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:278
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:290
|
||||
msgid "From Account"
|
||||
msgstr "Conta de origem"
|
||||
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:283
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:295
|
||||
msgid "To Account"
|
||||
msgstr "Conta de destino"
|
||||
|
||||
@@ -700,7 +701,7 @@ msgstr "Conectar transação"
|
||||
msgid "You must provide an account."
|
||||
msgstr "Você deve informar uma conta."
|
||||
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:445
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:457
|
||||
msgid "From and To accounts must be different."
|
||||
msgstr "As contas De e Para devem ser diferentes."
|
||||
|
||||
@@ -719,7 +720,7 @@ msgstr "Moeda de pagamento"
|
||||
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:173
|
||||
#: apps/rules/forms.py:188 apps/rules/models.py:37 apps/rules/models.py:270
|
||||
#: apps/transactions/forms.py:347 apps/transactions/models.py:301
|
||||
#: apps/transactions/forms.py:359 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:497 apps/transactions/models.py:698
|
||||
msgid "Notes"
|
||||
msgstr "Notas"
|
||||
@@ -800,8 +801,8 @@ msgstr "Categorias"
|
||||
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:187 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:282 apps/transactions/filters.py:81
|
||||
#: apps/transactions/forms.py:56 apps/transactions/forms.py:518
|
||||
#: apps/transactions/forms.py:779 apps/transactions/models.py:261
|
||||
#: apps/transactions/forms.py:57 apps/transactions/forms.py:530
|
||||
#: apps/transactions/forms.py:791 apps/transactions/models.py:261
|
||||
#: apps/transactions/models.py:316 apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:695 templates/entities/fragments/list.html:5
|
||||
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
|
||||
@@ -971,9 +972,9 @@ msgstr "Importação apagada com sucesso"
|
||||
|
||||
#: apps/insights/forms.py:119 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167
|
||||
#: templates/insights/fragments/category_overview/index.html:19
|
||||
#: templates/insights/fragments/category_overview/index.html:87
|
||||
#: templates/insights/fragments/category_overview/index.html:116
|
||||
#: templates/insights/fragments/category_overview/index.html:73
|
||||
#: templates/insights/fragments/category_overview/index.html:285
|
||||
#: templates/insights/fragments/category_overview/index.html:314
|
||||
msgid "Uncategorized"
|
||||
msgstr "Sem categoria"
|
||||
|
||||
@@ -1070,8 +1071,8 @@ msgid "Paid"
|
||||
msgstr "Pago"
|
||||
|
||||
#: apps/rules/forms.py:170 apps/rules/forms.py:183 apps/rules/models.py:34
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:68
|
||||
#: apps/transactions/forms.py:334 apps/transactions/forms.py:524
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:69
|
||||
#: apps/transactions/forms.py:346 apps/transactions/forms.py:536
|
||||
#: apps/transactions/models.py:289 apps/transactions/models.py:471
|
||||
#: apps/transactions/models.py:700
|
||||
msgid "Reference Date"
|
||||
@@ -1085,7 +1086,7 @@ msgstr "Quantia"
|
||||
|
||||
#: apps/rules/forms.py:172 apps/rules/forms.py:185 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:36 apps/rules/models.py:266
|
||||
#: apps/transactions/forms.py:338 apps/transactions/models.py:299
|
||||
#: apps/transactions/forms.py:350 apps/transactions/models.py:299
|
||||
#: apps/transactions/models.py:455 apps/transactions/models.py:684
|
||||
msgid "Description"
|
||||
msgstr "Descrição"
|
||||
@@ -1226,6 +1227,7 @@ msgstr "Ação Atualizar ou Criar Transação apagada com sucesso"
|
||||
|
||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||
#: templates/cotton/transaction/item.html:31 templates/includes/navbar.html:46
|
||||
#: templates/insights/fragments/category_overview/index.html:46
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||
msgid "Projected"
|
||||
@@ -1259,40 +1261,48 @@ msgstr "Quantia miníma"
|
||||
msgid "Amount max"
|
||||
msgstr "Quantia máxima"
|
||||
|
||||
#: apps/transactions/forms.py:171
|
||||
#: apps/transactions/forms.py:172
|
||||
msgid "More"
|
||||
msgstr "Mais"
|
||||
|
||||
#: apps/transactions/forms.py:290
|
||||
#: apps/transactions/forms.py:216
|
||||
msgid "Save and add similar"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:221
|
||||
msgid "Save and add another"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/forms.py:302
|
||||
msgid "From Amount"
|
||||
msgstr "Quantia de origem"
|
||||
|
||||
#: apps/transactions/forms.py:295
|
||||
#: apps/transactions/forms.py:307
|
||||
msgid "To Amount"
|
||||
msgstr "Quantia de destino"
|
||||
|
||||
#: apps/transactions/forms.py:412
|
||||
#: apps/transactions/forms.py:424
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:40
|
||||
msgid "Transfer"
|
||||
msgstr "Transferir"
|
||||
|
||||
#: apps/transactions/forms.py:658
|
||||
#: apps/transactions/forms.py:670
|
||||
msgid "Tag name"
|
||||
msgstr "Nome da Tag"
|
||||
|
||||
#: apps/transactions/forms.py:690
|
||||
#: apps/transactions/forms.py:702
|
||||
msgid "Entity name"
|
||||
msgstr "Nome da entidade"
|
||||
|
||||
#: apps/transactions/forms.py:722
|
||||
#: apps/transactions/forms.py:734
|
||||
msgid "Category name"
|
||||
msgstr "Nome da Categoria"
|
||||
|
||||
#: apps/transactions/forms.py:724
|
||||
#: apps/transactions/forms.py:736
|
||||
msgid "Muted categories won't count towards your monthly total"
|
||||
msgstr "As categorias silenciadas não serão contabilizadas em seu total mensal"
|
||||
|
||||
#: apps/transactions/forms.py:910
|
||||
#: apps/transactions/forms.py:922
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "Data final deve ser após data inicial"
|
||||
|
||||
@@ -1344,7 +1354,7 @@ msgstr "Entidade"
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
#: templates/calendar_view/fragments/list.html:54
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:11
|
||||
#: templates/insights/fragments/category_overview/index.html:64
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:39
|
||||
msgid "Income"
|
||||
msgstr "Renda"
|
||||
@@ -1355,7 +1365,7 @@ msgstr "Renda"
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
#: templates/calendar_view/fragments/list.html:58
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:18
|
||||
#: templates/insights/fragments/category_overview/index.html:12
|
||||
#: templates/insights/fragments/category_overview/index.html:65
|
||||
msgid "Expense"
|
||||
msgstr "Despesa"
|
||||
|
||||
@@ -1602,35 +1612,35 @@ msgstr "Tag atualizada com sucesso"
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Tag apagada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:50
|
||||
#: apps/transactions/views/transactions.py:89
|
||||
#: apps/transactions/views/transactions.py:52
|
||||
#: apps/transactions/views/transactions.py:148
|
||||
msgid "Transaction added successfully"
|
||||
msgstr "Transação adicionada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:123
|
||||
#: apps/transactions/views/transactions.py:182
|
||||
msgid "Transaction updated successfully"
|
||||
msgstr "Transação atualizada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:173
|
||||
#: apps/transactions/views/transactions.py:232
|
||||
#, python-format
|
||||
msgid "%(count)s transaction updated successfully"
|
||||
msgid_plural "%(count)s transactions updated successfully"
|
||||
msgstr[0] "%(count)s transação atualizada com sucesso"
|
||||
msgstr[1] "%(count)s transações atualizadas com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:209
|
||||
#: apps/transactions/views/transactions.py:268
|
||||
msgid "Transaction duplicated successfully"
|
||||
msgstr "Transação duplicada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:251
|
||||
#: apps/transactions/views/transactions.py:310
|
||||
msgid "Transaction deleted successfully"
|
||||
msgstr "Transação apagada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:269
|
||||
#: apps/transactions/views/transactions.py:328
|
||||
msgid "Transaction restored successfully"
|
||||
msgstr "Transação restaurada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:295
|
||||
#: apps/transactions/views/transactions.py:354
|
||||
msgid "Transfer added successfully"
|
||||
msgstr "Transferência adicionada com sucesso"
|
||||
|
||||
@@ -1799,33 +1809,33 @@ msgstr "Fuso horário"
|
||||
msgid "Start page"
|
||||
msgstr "Página inicial"
|
||||
|
||||
#: apps/users/views.py:67
|
||||
#: apps/users/views.py:68
|
||||
msgid "Transaction amounts are now hidden"
|
||||
msgstr "Os valores das transações agora estão ocultos"
|
||||
|
||||
#: apps/users/views.py:70
|
||||
#: apps/users/views.py:71
|
||||
msgid "Transaction amounts are now displayed"
|
||||
msgstr "Os valores das transações agora estão sendo exibidos"
|
||||
|
||||
#: apps/users/views.py:88
|
||||
#: apps/users/views.py:89
|
||||
msgid "Sounds are now muted"
|
||||
msgstr "Os sons agora estão silenciados"
|
||||
|
||||
#: apps/users/views.py:91
|
||||
#: apps/users/views.py:92
|
||||
msgid "Sounds will now play"
|
||||
msgstr "Os sons agora serão reproduzidos"
|
||||
|
||||
#: apps/users/views.py:107
|
||||
#: apps/users/views.py:108
|
||||
msgid "Your settings have been updated"
|
||||
msgstr "Suas configurações foram atualizadas"
|
||||
|
||||
#: apps/users/views.py:151
|
||||
#: apps/users/views.py:152
|
||||
#, fuzzy
|
||||
#| msgid "Rule added successfully"
|
||||
msgid "Item added successfully"
|
||||
msgstr "Regra adicionada com sucesso"
|
||||
|
||||
#: apps/users/views.py:182
|
||||
#: apps/users/views.py:184
|
||||
#, fuzzy
|
||||
#| msgid "Rule updated successfully"
|
||||
msgid "Item updated successfully"
|
||||
@@ -2099,7 +2109,7 @@ msgid "Muted"
|
||||
msgstr "Silenciada"
|
||||
|
||||
#: templates/categories/fragments/table.html:75
|
||||
#: templates/insights/fragments/category_overview/index.html:225
|
||||
#: templates/insights/fragments/category_overview/index.html:430
|
||||
msgid "No categories"
|
||||
msgstr "Nenhum categoria"
|
||||
|
||||
@@ -2561,10 +2571,11 @@ msgid "Net Worth"
|
||||
msgstr "Patrimônio"
|
||||
|
||||
#: templates/includes/navbar.html:44
|
||||
#: templates/insights/fragments/category_overview/index.html:50
|
||||
msgid "Current"
|
||||
msgstr "Atual"
|
||||
|
||||
#: templates/includes/navbar.html:50
|
||||
#: templates/includes/navbar.html:50 templates/insights/pages/index.html:5
|
||||
msgid "Insights"
|
||||
msgstr "Insights"
|
||||
|
||||
@@ -2682,12 +2693,36 @@ msgstr "Gasto/Despesa por Conta"
|
||||
msgid "Income/Expense by Currency"
|
||||
msgstr "Gasto/Despesa por Moeda"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:13
|
||||
#: templates/insights/fragments/category_overview/index.html:14
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:24
|
||||
msgid "Bars"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:38
|
||||
msgid ""
|
||||
"Transaction amounts associated with multiple tags will be counted once for "
|
||||
"each tag"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
#, fuzzy
|
||||
#| msgid "final total"
|
||||
msgid "Final total"
|
||||
msgstr "total final"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:66
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:167
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:202
|
||||
#: templates/insights/fragments/category_overview/index.html:166
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
msgid "Final Total"
|
||||
msgstr "Total Final"
|
||||
|
||||
@@ -2735,53 +2770,53 @@ msgstr "De"
|
||||
msgid "Percentage"
|
||||
msgstr "Porcentagem"
|
||||
|
||||
#: templates/insights/pages/index.html:35
|
||||
#: templates/insights/pages/index.html:37
|
||||
msgid "Month"
|
||||
msgstr "Mês"
|
||||
|
||||
#: templates/insights/pages/index.html:38
|
||||
#: templates/insights/pages/index.html:40
|
||||
#: templates/yearly_overview/pages/overview_by_account.html:61
|
||||
#: templates/yearly_overview/pages/overview_by_currency.html:63
|
||||
msgid "Year"
|
||||
msgstr "Ano"
|
||||
|
||||
#: templates/insights/pages/index.html:43
|
||||
#: templates/insights/pages/index.html:45
|
||||
msgid "Month Range"
|
||||
msgstr "Intervalo de Mês"
|
||||
|
||||
#: templates/insights/pages/index.html:48
|
||||
#: templates/insights/pages/index.html:50
|
||||
msgid "Year Range"
|
||||
msgstr "Intervalo de Ano"
|
||||
|
||||
#: templates/insights/pages/index.html:53
|
||||
#: templates/insights/pages/index.html:55
|
||||
msgid "Date Range"
|
||||
msgstr "Intervalo de Data"
|
||||
|
||||
#: templates/insights/pages/index.html:81
|
||||
#: templates/insights/pages/index.html:83
|
||||
msgid "Account Flow"
|
||||
msgstr "Fluxo de Conta"
|
||||
|
||||
#: templates/insights/pages/index.html:88
|
||||
#: templates/insights/pages/index.html:90
|
||||
msgid "Currency Flow"
|
||||
msgstr "Fluxo de Moeda"
|
||||
|
||||
#: templates/insights/pages/index.html:95
|
||||
#: templates/insights/pages/index.html:97
|
||||
msgid "Category Explorer"
|
||||
msgstr "Explorador de Categoria"
|
||||
|
||||
#: templates/insights/pages/index.html:102
|
||||
#: templates/insights/pages/index.html:104
|
||||
msgid "Categories Overview"
|
||||
msgstr "Visão geral das categorias"
|
||||
|
||||
#: templates/insights/pages/index.html:109
|
||||
#: templates/insights/pages/index.html:111
|
||||
msgid "Late Transactions"
|
||||
msgstr "Transações Atrasadas"
|
||||
|
||||
#: templates/insights/pages/index.html:115
|
||||
#: templates/insights/pages/index.html:117
|
||||
msgid "Latest Transactions"
|
||||
msgstr "Últimas Transações"
|
||||
|
||||
#: templates/insights/pages/index.html:121
|
||||
#: templates/insights/pages/index.html:123
|
||||
msgid "Emergency Fund"
|
||||
msgstr "Reserva de Emergência"
|
||||
|
||||
@@ -3189,6 +3224,11 @@ msgstr "Use as credenciais abaixo para fazer login"
|
||||
msgid "Yearly Overview"
|
||||
msgstr "Visão Anual"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "No tags"
|
||||
#~ msgid "Show tags"
|
||||
#~ msgstr "Nenhuma tag"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "From Amount"
|
||||
#~ msgid "Principal Amount"
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-13 22:01+0000\n"
|
||||
"PO-Revision-Date: 2025-04-13 08:16+0000\n"
|
||||
"POT-Creation-Date: 2025-04-21 18:45+0000\n"
|
||||
"PO-Revision-Date: 2025-04-20 21:16+0000\n"
|
||||
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
|
||||
"Language-Team: Portuguese (Brazil) <https://translations.herculino.com/"
|
||||
"projects/wygiwyh/app/pt_BR/>\n"
|
||||
@@ -27,10 +27,10 @@ msgstr "Nome do grupo"
|
||||
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
|
||||
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
|
||||
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:202
|
||||
#: apps/transactions/forms.py:269 apps/transactions/forms.py:629
|
||||
#: apps/transactions/forms.py:672 apps/transactions/forms.py:704
|
||||
#: apps/transactions/forms.py:739 apps/transactions/forms.py:891
|
||||
#: apps/rules/forms.py:365 apps/transactions/forms.py:203
|
||||
#: apps/transactions/forms.py:281 apps/transactions/forms.py:641
|
||||
#: apps/transactions/forms.py:684 apps/transactions/forms.py:716
|
||||
#: apps/transactions/forms.py:751 apps/transactions/forms.py:903
|
||||
#: apps/users/forms.py:210 apps/users/forms.py:372
|
||||
msgid "Update"
|
||||
msgstr "Atualizar"
|
||||
@@ -40,10 +40,10 @@ msgstr "Atualizar"
|
||||
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
|
||||
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
|
||||
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
|
||||
#: apps/transactions/forms.py:187 apps/transactions/forms.py:211
|
||||
#: apps/transactions/forms.py:637 apps/transactions/forms.py:680
|
||||
#: apps/transactions/forms.py:712 apps/transactions/forms.py:747
|
||||
#: apps/transactions/forms.py:899 apps/users/forms.py:218
|
||||
#: apps/transactions/forms.py:188 apps/transactions/forms.py:212
|
||||
#: apps/transactions/forms.py:649 apps/transactions/forms.py:692
|
||||
#: apps/transactions/forms.py:724 apps/transactions/forms.py:759
|
||||
#: apps/transactions/forms.py:911 apps/users/forms.py:218
|
||||
#: apps/users/forms.py:380 templates/account_groups/fragments/list.html:9
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/categories/fragments/list.html:9
|
||||
@@ -74,12 +74,12 @@ msgstr "Novo saldo"
|
||||
#: apps/accounts/forms.py:121 apps/dca/forms.py:85 apps/dca/forms.py:92
|
||||
#: apps/insights/forms.py:118 apps/rules/forms.py:174 apps/rules/forms.py:189
|
||||
#: apps/rules/models.py:38 apps/rules/models.py:286
|
||||
#: apps/transactions/forms.py:40 apps/transactions/forms.py:303
|
||||
#: apps/transactions/forms.py:310 apps/transactions/forms.py:510
|
||||
#: apps/transactions/forms.py:771 apps/transactions/models.py:305
|
||||
#: apps/transactions/forms.py:41 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:322 apps/transactions/forms.py:522
|
||||
#: apps/transactions/forms.py:783 apps/transactions/models.py:305
|
||||
#: apps/transactions/models.py:488 apps/transactions/models.py:688
|
||||
#: templates/insights/fragments/category_overview/index.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:215
|
||||
#: templates/insights/fragments/category_overview/index.html:63
|
||||
#: templates/insights/fragments/category_overview/index.html:420
|
||||
msgid "Category"
|
||||
msgstr "Categoria"
|
||||
|
||||
@@ -87,12 +87,13 @@ msgstr "Categoria"
|
||||
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:186 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:290 apps/transactions/filters.py:74
|
||||
#: apps/transactions/forms.py:48 apps/transactions/forms.py:319
|
||||
#: apps/transactions/forms.py:327 apps/transactions/forms.py:503
|
||||
#: apps/transactions/forms.py:764 apps/transactions/models.py:311
|
||||
#: apps/transactions/forms.py:49 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:339 apps/transactions/forms.py:515
|
||||
#: apps/transactions/forms.py:776 apps/transactions/models.py:311
|
||||
#: apps/transactions/models.py:490 apps/transactions/models.py:692
|
||||
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
|
||||
#: templates/tags/pages/index.html:4
|
||||
#: templates/includes/navbar.html:108
|
||||
#: templates/insights/fragments/category_overview/index.html:35
|
||||
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
||||
msgid "Tags"
|
||||
msgstr "Tags"
|
||||
|
||||
@@ -164,8 +165,8 @@ msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
|
||||
#: apps/rules/models.py:30 apps/rules/models.py:242
|
||||
#: apps/transactions/forms.py:60 apps/transactions/forms.py:495
|
||||
#: apps/transactions/forms.py:756 apps/transactions/models.py:278
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:507
|
||||
#: apps/transactions/forms.py:768 apps/transactions/models.py:278
|
||||
#: apps/transactions/models.py:448 apps/transactions/models.py:670
|
||||
msgid "Account"
|
||||
msgstr "Conta"
|
||||
@@ -458,7 +459,7 @@ msgstr "Sufixo"
|
||||
|
||||
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:169
|
||||
#: apps/rules/forms.py:182 apps/rules/models.py:33 apps/rules/models.py:254
|
||||
#: apps/transactions/forms.py:64 apps/transactions/forms.py:331
|
||||
#: apps/transactions/forms.py:65 apps/transactions/forms.py:343
|
||||
#: apps/transactions/models.py:288
|
||||
#: templates/dca/fragments/strategy/details.html:52
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
@@ -671,11 +672,11 @@ msgstr "Serviços marcados para execução com sucesso"
|
||||
msgid "Create transaction"
|
||||
msgstr "Criar transação"
|
||||
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:278
|
||||
#: apps/dca/forms.py:70 apps/transactions/forms.py:290
|
||||
msgid "From Account"
|
||||
msgstr "Conta de origem"
|
||||
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:283
|
||||
#: apps/dca/forms.py:76 apps/transactions/forms.py:295
|
||||
msgid "To Account"
|
||||
msgstr "Conta de destino"
|
||||
|
||||
@@ -700,7 +701,7 @@ msgstr "Conectar transação"
|
||||
msgid "You must provide an account."
|
||||
msgstr "Você deve informar uma conta."
|
||||
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:445
|
||||
#: apps/dca/forms.py:312 apps/transactions/forms.py:457
|
||||
msgid "From and To accounts must be different."
|
||||
msgstr "As contas De e Para devem ser diferentes."
|
||||
|
||||
@@ -719,7 +720,7 @@ msgstr "Moeda de pagamento"
|
||||
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:173
|
||||
#: apps/rules/forms.py:188 apps/rules/models.py:37 apps/rules/models.py:270
|
||||
#: apps/transactions/forms.py:347 apps/transactions/models.py:301
|
||||
#: apps/transactions/forms.py:359 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:497 apps/transactions/models.py:698
|
||||
msgid "Notes"
|
||||
msgstr "Notas"
|
||||
@@ -800,8 +801,8 @@ msgstr "Categorias"
|
||||
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:187 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:282 apps/transactions/filters.py:81
|
||||
#: apps/transactions/forms.py:56 apps/transactions/forms.py:518
|
||||
#: apps/transactions/forms.py:779 apps/transactions/models.py:261
|
||||
#: apps/transactions/forms.py:57 apps/transactions/forms.py:530
|
||||
#: apps/transactions/forms.py:791 apps/transactions/models.py:261
|
||||
#: apps/transactions/models.py:316 apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:695 templates/entities/fragments/list.html:5
|
||||
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
|
||||
@@ -971,9 +972,9 @@ msgstr "Importação apagada com sucesso"
|
||||
|
||||
#: apps/insights/forms.py:119 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167
|
||||
#: templates/insights/fragments/category_overview/index.html:19
|
||||
#: templates/insights/fragments/category_overview/index.html:87
|
||||
#: templates/insights/fragments/category_overview/index.html:116
|
||||
#: templates/insights/fragments/category_overview/index.html:73
|
||||
#: templates/insights/fragments/category_overview/index.html:285
|
||||
#: templates/insights/fragments/category_overview/index.html:314
|
||||
msgid "Uncategorized"
|
||||
msgstr "Sem categoria"
|
||||
|
||||
@@ -1070,8 +1071,8 @@ msgid "Paid"
|
||||
msgstr "Pago"
|
||||
|
||||
#: apps/rules/forms.py:170 apps/rules/forms.py:183 apps/rules/models.py:34
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:68
|
||||
#: apps/transactions/forms.py:334 apps/transactions/forms.py:524
|
||||
#: apps/rules/models.py:258 apps/transactions/forms.py:69
|
||||
#: apps/transactions/forms.py:346 apps/transactions/forms.py:536
|
||||
#: apps/transactions/models.py:289 apps/transactions/models.py:471
|
||||
#: apps/transactions/models.py:700
|
||||
msgid "Reference Date"
|
||||
@@ -1085,7 +1086,7 @@ msgstr "Quantia"
|
||||
|
||||
#: apps/rules/forms.py:172 apps/rules/forms.py:185 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:36 apps/rules/models.py:266
|
||||
#: apps/transactions/forms.py:338 apps/transactions/models.py:299
|
||||
#: apps/transactions/forms.py:350 apps/transactions/models.py:299
|
||||
#: apps/transactions/models.py:455 apps/transactions/models.py:684
|
||||
msgid "Description"
|
||||
msgstr "Descrição"
|
||||
@@ -1226,6 +1227,7 @@ msgstr "Ação Atualizar ou Criar Transação apagada com sucesso"
|
||||
|
||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||
#: templates/cotton/transaction/item.html:31 templates/includes/navbar.html:46
|
||||
#: templates/insights/fragments/category_overview/index.html:46
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||
msgid "Projected"
|
||||
@@ -1259,40 +1261,48 @@ msgstr "Quantia miníma"
|
||||
msgid "Amount max"
|
||||
msgstr "Quantia máxima"
|
||||
|
||||
#: apps/transactions/forms.py:171
|
||||
#: apps/transactions/forms.py:172
|
||||
msgid "More"
|
||||
msgstr "Mais"
|
||||
|
||||
#: apps/transactions/forms.py:290
|
||||
#: apps/transactions/forms.py:216
|
||||
msgid "Save and add similar"
|
||||
msgstr "Salvar e adicionar similar"
|
||||
|
||||
#: apps/transactions/forms.py:221
|
||||
msgid "Save and add another"
|
||||
msgstr "Salvar e adicionar outra"
|
||||
|
||||
#: apps/transactions/forms.py:302
|
||||
msgid "From Amount"
|
||||
msgstr "Quantia de origem"
|
||||
|
||||
#: apps/transactions/forms.py:295
|
||||
#: apps/transactions/forms.py:307
|
||||
msgid "To Amount"
|
||||
msgstr "Quantia de destino"
|
||||
|
||||
#: apps/transactions/forms.py:412
|
||||
#: apps/transactions/forms.py:424
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:40
|
||||
msgid "Transfer"
|
||||
msgstr "Transferir"
|
||||
|
||||
#: apps/transactions/forms.py:658
|
||||
#: apps/transactions/forms.py:670
|
||||
msgid "Tag name"
|
||||
msgstr "Nome da Tag"
|
||||
|
||||
#: apps/transactions/forms.py:690
|
||||
#: apps/transactions/forms.py:702
|
||||
msgid "Entity name"
|
||||
msgstr "Nome da entidade"
|
||||
|
||||
#: apps/transactions/forms.py:722
|
||||
#: apps/transactions/forms.py:734
|
||||
msgid "Category name"
|
||||
msgstr "Nome da Categoria"
|
||||
|
||||
#: apps/transactions/forms.py:724
|
||||
#: apps/transactions/forms.py:736
|
||||
msgid "Muted categories won't count towards your monthly total"
|
||||
msgstr "As categorias silenciadas não serão contabilizadas em seu total mensal"
|
||||
|
||||
#: apps/transactions/forms.py:910
|
||||
#: apps/transactions/forms.py:922
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "Data final deve ser após data inicial"
|
||||
|
||||
@@ -1344,7 +1354,7 @@ msgstr "Entidade"
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
#: templates/calendar_view/fragments/list.html:54
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:10
|
||||
#: templates/insights/fragments/category_overview/index.html:11
|
||||
#: templates/insights/fragments/category_overview/index.html:64
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:39
|
||||
msgid "Income"
|
||||
msgstr "Renda"
|
||||
@@ -1355,7 +1365,7 @@ msgstr "Renda"
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
#: templates/calendar_view/fragments/list.html:58
|
||||
#: templates/cotton/ui/quick_transactions_buttons.html:18
|
||||
#: templates/insights/fragments/category_overview/index.html:12
|
||||
#: templates/insights/fragments/category_overview/index.html:65
|
||||
msgid "Expense"
|
||||
msgstr "Despesa"
|
||||
|
||||
@@ -1602,35 +1612,35 @@ msgstr "Tag atualizada com sucesso"
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Tag apagada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:50
|
||||
#: apps/transactions/views/transactions.py:89
|
||||
#: apps/transactions/views/transactions.py:52
|
||||
#: apps/transactions/views/transactions.py:148
|
||||
msgid "Transaction added successfully"
|
||||
msgstr "Transação adicionada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:123
|
||||
#: apps/transactions/views/transactions.py:182
|
||||
msgid "Transaction updated successfully"
|
||||
msgstr "Transação atualizada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:173
|
||||
#: apps/transactions/views/transactions.py:232
|
||||
#, python-format
|
||||
msgid "%(count)s transaction updated successfully"
|
||||
msgid_plural "%(count)s transactions updated successfully"
|
||||
msgstr[0] "%(count)s transação atualizada com sucesso"
|
||||
msgstr[1] "%(count)s transações atualizadas com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:209
|
||||
#: apps/transactions/views/transactions.py:268
|
||||
msgid "Transaction duplicated successfully"
|
||||
msgstr "Transação duplicada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:251
|
||||
#: apps/transactions/views/transactions.py:310
|
||||
msgid "Transaction deleted successfully"
|
||||
msgstr "Transação apagada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:269
|
||||
#: apps/transactions/views/transactions.py:328
|
||||
msgid "Transaction restored successfully"
|
||||
msgstr "Transação restaurada com sucesso"
|
||||
|
||||
#: apps/transactions/views/transactions.py:295
|
||||
#: apps/transactions/views/transactions.py:354
|
||||
msgid "Transfer added successfully"
|
||||
msgstr "Transferência adicionada com sucesso"
|
||||
|
||||
@@ -1700,64 +1710,66 @@ msgstr ""
|
||||
"Considere ajudar a traduzir WYGIWYH para seu idioma em %(translation_link)s"
|
||||
|
||||
#: apps/users/forms.py:150
|
||||
#, fuzzy
|
||||
#| msgid "Password"
|
||||
msgid "New Password"
|
||||
msgstr "Senha"
|
||||
msgstr "Nova senha"
|
||||
|
||||
#: apps/users/forms.py:153
|
||||
msgid "Leave blank to keep the current password."
|
||||
msgstr ""
|
||||
msgstr "Deixe em branco para usar a senha atual."
|
||||
|
||||
#: apps/users/forms.py:156
|
||||
msgid "Confirm New Password"
|
||||
msgstr ""
|
||||
msgstr "Confirmar nova senha"
|
||||
|
||||
#: apps/users/forms.py:168 apps/users/forms.py:329
|
||||
msgid ""
|
||||
"Designates whether this user should be treated as active. Unselect this "
|
||||
"instead of deleting accounts."
|
||||
msgstr ""
|
||||
"Designa se esse usuário deve ser tratado como ativo. Desmarque essa opção em "
|
||||
"vez de excluir usuários."
|
||||
|
||||
#: apps/users/forms.py:171 apps/users/forms.py:332
|
||||
msgid ""
|
||||
"Designates that this user has all permissions without explicitly assigning "
|
||||
"them."
|
||||
msgstr ""
|
||||
"Designa que esse usuário tem todas as permissões sem atribuí-las "
|
||||
"explicitamente."
|
||||
|
||||
#: apps/users/forms.py:242
|
||||
msgid "This email address is already in use by another account."
|
||||
msgstr ""
|
||||
msgstr "Esse endereço de e-mail já está sendo usado por outra conta."
|
||||
|
||||
#: apps/users/forms.py:250
|
||||
msgid "The two password fields didn't match."
|
||||
msgstr ""
|
||||
msgstr "Os dois campos de senha não coincidem."
|
||||
|
||||
#: apps/users/forms.py:252
|
||||
msgid "Please confirm your new password."
|
||||
msgstr ""
|
||||
msgstr "Confirme sua nova senha."
|
||||
|
||||
#: apps/users/forms.py:254
|
||||
msgid "Please enter the new password first."
|
||||
msgstr ""
|
||||
msgstr "Digite a nova senha primeiro."
|
||||
|
||||
#: apps/users/forms.py:274
|
||||
msgid "You cannot deactivate your own account using this form."
|
||||
msgstr ""
|
||||
msgstr "Não é possível desativar sua própria conta usando esse formulário."
|
||||
|
||||
#: apps/users/forms.py:287
|
||||
msgid "Cannot remove status from the last superuser."
|
||||
msgstr ""
|
||||
msgstr "Não é possível remover o status do último superusuário."
|
||||
|
||||
#: apps/users/forms.py:293
|
||||
msgid "You cannot remove your own superuser status using this form."
|
||||
msgstr ""
|
||||
"Não é possível remover seu próprio status de superusuário usando esse "
|
||||
"formulário."
|
||||
|
||||
#: apps/users/forms.py:390
|
||||
#, fuzzy
|
||||
#| msgid "A value for this field already exists in the rule."
|
||||
msgid "A user with this email address already exists."
|
||||
msgstr "Já existe um valor para esse campo na regra."
|
||||
msgstr "Já existe um usuário com esse endereço de e-mail."
|
||||
|
||||
#: apps/users/models.py:27 templates/includes/navbar.html:28
|
||||
msgid "Yearly by currency"
|
||||
@@ -1799,37 +1811,33 @@ msgstr "Fuso horário"
|
||||
msgid "Start page"
|
||||
msgstr "Página inicial"
|
||||
|
||||
#: apps/users/views.py:67
|
||||
#: apps/users/views.py:68
|
||||
msgid "Transaction amounts are now hidden"
|
||||
msgstr "Os valores das transações agora estão ocultos"
|
||||
|
||||
#: apps/users/views.py:70
|
||||
#: apps/users/views.py:71
|
||||
msgid "Transaction amounts are now displayed"
|
||||
msgstr "Os valores das transações agora estão sendo exibidos"
|
||||
|
||||
#: apps/users/views.py:88
|
||||
#: apps/users/views.py:89
|
||||
msgid "Sounds are now muted"
|
||||
msgstr "Os sons agora estão silenciados"
|
||||
|
||||
#: apps/users/views.py:91
|
||||
#: apps/users/views.py:92
|
||||
msgid "Sounds will now play"
|
||||
msgstr "Os sons agora serão reproduzidos"
|
||||
|
||||
#: apps/users/views.py:107
|
||||
#: apps/users/views.py:108
|
||||
msgid "Your settings have been updated"
|
||||
msgstr "Suas configurações foram atualizadas"
|
||||
|
||||
#: apps/users/views.py:151
|
||||
#, fuzzy
|
||||
#| msgid "Rule added successfully"
|
||||
#: apps/users/views.py:152
|
||||
msgid "Item added successfully"
|
||||
msgstr "Regra adicionada com sucesso"
|
||||
msgstr "Item adicionado com sucesso"
|
||||
|
||||
#: apps/users/views.py:182
|
||||
#, fuzzy
|
||||
#| msgid "Rule updated successfully"
|
||||
#: apps/users/views.py:184
|
||||
msgid "Item updated successfully"
|
||||
msgstr "Regra atualizada com sucesso"
|
||||
msgstr "Item atualizado com sucesso"
|
||||
|
||||
#: templates/account_groups/fragments/add.html:5
|
||||
msgid "Add account group"
|
||||
@@ -2099,7 +2107,7 @@ msgid "Muted"
|
||||
msgstr "Silenciada"
|
||||
|
||||
#: templates/categories/fragments/table.html:75
|
||||
#: templates/insights/fragments/category_overview/index.html:225
|
||||
#: templates/insights/fragments/category_overview/index.html:430
|
||||
msgid "No categories"
|
||||
msgstr "Nenhum categoria"
|
||||
|
||||
@@ -2561,10 +2569,11 @@ msgid "Net Worth"
|
||||
msgstr "Patrimônio"
|
||||
|
||||
#: templates/includes/navbar.html:44
|
||||
#: templates/insights/fragments/category_overview/index.html:50
|
||||
msgid "Current"
|
||||
msgstr "Atual"
|
||||
|
||||
#: templates/includes/navbar.html:50
|
||||
#: templates/includes/navbar.html:50 templates/insights/pages/index.html:5
|
||||
msgid "Insights"
|
||||
msgstr "Insights"
|
||||
|
||||
@@ -2602,7 +2611,7 @@ msgstr "Automação"
|
||||
|
||||
#: templates/includes/navbar.html:145
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
msgstr "Admin"
|
||||
|
||||
#: templates/includes/navbar.html:154
|
||||
msgid "Only use this if you know what you're doing"
|
||||
@@ -2621,10 +2630,8 @@ msgid "Settings"
|
||||
msgstr "Configurações"
|
||||
|
||||
#: templates/includes/navbar/user_menu.html:19
|
||||
#, fuzzy
|
||||
#| msgid "Edit import profile"
|
||||
msgid "Edit profile"
|
||||
msgstr "Editar perfil de importação"
|
||||
msgstr "Editar perfil"
|
||||
|
||||
#: templates/includes/navbar/user_menu.html:46
|
||||
msgid "Clear cache"
|
||||
@@ -2682,12 +2689,36 @@ msgstr "Gasto/Despesa por Conta"
|
||||
msgid "Income/Expense by Currency"
|
||||
msgstr "Gasto/Despesa por Moeda"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:13
|
||||
#: templates/insights/fragments/category_overview/index.html:14
|
||||
msgid "Table"
|
||||
msgstr "Tabela"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:24
|
||||
msgid "Bars"
|
||||
msgstr "Barras"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:38
|
||||
msgid ""
|
||||
"Transaction amounts associated with multiple tags will be counted once for "
|
||||
"each tag"
|
||||
msgstr ""
|
||||
"Os valores das transações associadas a várias tags serão contados uma vez "
|
||||
"para cada tag"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
msgid "Final total"
|
||||
msgstr "Total final"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:66
|
||||
#: templates/monthly_overview/fragments/monthly_summary.html:167
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:202
|
||||
#: templates/insights/fragments/category_overview/index.html:166
|
||||
msgid "Untagged"
|
||||
msgstr "Sem tag"
|
||||
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
msgid "Final Total"
|
||||
msgstr "Total Final"
|
||||
|
||||
@@ -2735,53 +2766,53 @@ msgstr "De"
|
||||
msgid "Percentage"
|
||||
msgstr "Porcentagem"
|
||||
|
||||
#: templates/insights/pages/index.html:35
|
||||
#: templates/insights/pages/index.html:37
|
||||
msgid "Month"
|
||||
msgstr "Mês"
|
||||
|
||||
#: templates/insights/pages/index.html:38
|
||||
#: templates/insights/pages/index.html:40
|
||||
#: templates/yearly_overview/pages/overview_by_account.html:61
|
||||
#: templates/yearly_overview/pages/overview_by_currency.html:63
|
||||
msgid "Year"
|
||||
msgstr "Ano"
|
||||
|
||||
#: templates/insights/pages/index.html:43
|
||||
#: templates/insights/pages/index.html:45
|
||||
msgid "Month Range"
|
||||
msgstr "Intervalo de Mês"
|
||||
|
||||
#: templates/insights/pages/index.html:48
|
||||
#: templates/insights/pages/index.html:50
|
||||
msgid "Year Range"
|
||||
msgstr "Intervalo de Ano"
|
||||
|
||||
#: templates/insights/pages/index.html:53
|
||||
#: templates/insights/pages/index.html:55
|
||||
msgid "Date Range"
|
||||
msgstr "Intervalo de Data"
|
||||
|
||||
#: templates/insights/pages/index.html:81
|
||||
#: templates/insights/pages/index.html:83
|
||||
msgid "Account Flow"
|
||||
msgstr "Fluxo de Conta"
|
||||
|
||||
#: templates/insights/pages/index.html:88
|
||||
#: templates/insights/pages/index.html:90
|
||||
msgid "Currency Flow"
|
||||
msgstr "Fluxo de Moeda"
|
||||
|
||||
#: templates/insights/pages/index.html:95
|
||||
#: templates/insights/pages/index.html:97
|
||||
msgid "Category Explorer"
|
||||
msgstr "Explorador de Categoria"
|
||||
|
||||
#: templates/insights/pages/index.html:102
|
||||
#: templates/insights/pages/index.html:104
|
||||
msgid "Categories Overview"
|
||||
msgstr "Visão geral das categorias"
|
||||
|
||||
#: templates/insights/pages/index.html:109
|
||||
#: templates/insights/pages/index.html:111
|
||||
msgid "Late Transactions"
|
||||
msgstr "Transações Atrasadas"
|
||||
|
||||
#: templates/insights/pages/index.html:115
|
||||
#: templates/insights/pages/index.html:117
|
||||
msgid "Latest Transactions"
|
||||
msgstr "Últimas Transações"
|
||||
|
||||
#: templates/insights/pages/index.html:121
|
||||
#: templates/insights/pages/index.html:123
|
||||
msgid "Emergency Fund"
|
||||
msgstr "Reserva de Emergência"
|
||||
|
||||
@@ -3129,36 +3160,28 @@ msgid "Unchanged"
|
||||
msgstr "Inalterado"
|
||||
|
||||
#: templates/users/fragments/add.html:5
|
||||
#, fuzzy
|
||||
#| msgid "Add new"
|
||||
msgid "Add user"
|
||||
msgstr "Adicionar novo"
|
||||
msgstr "Adicionar usuário"
|
||||
|
||||
#: templates/users/fragments/edit.html:5
|
||||
#, fuzzy
|
||||
#| msgid "Edit category"
|
||||
msgid "Edit user"
|
||||
msgstr "Editar categoria"
|
||||
msgstr "Editar usuário"
|
||||
|
||||
#: templates/users/fragments/list.html:30
|
||||
#, fuzzy
|
||||
#| msgid "E-mail"
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
msgstr "Email"
|
||||
|
||||
#: templates/users/fragments/list.html:31
|
||||
msgid "Superuser"
|
||||
msgstr ""
|
||||
msgstr "Superusuário"
|
||||
|
||||
#: templates/users/fragments/list.html:51
|
||||
msgid "Impersonate"
|
||||
msgstr ""
|
||||
msgstr "Personificar"
|
||||
|
||||
#: templates/users/fragments/list.html:80
|
||||
#, fuzzy
|
||||
#| msgid "Users"
|
||||
msgid "No users"
|
||||
msgstr "Usuários"
|
||||
msgstr "Nenhum usuário"
|
||||
|
||||
#: templates/users/generic/hide_amounts.html:2
|
||||
msgid "Hide amounts"
|
||||
@@ -3189,6 +3212,11 @@ msgstr "Use as credenciais abaixo para fazer login"
|
||||
msgid "Yearly Overview"
|
||||
msgstr "Visão Anual"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "No tags"
|
||||
#~ msgid "Show tags"
|
||||
#~ msgstr "Nenhuma tag"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "From Amount"
|
||||
#~ msgid "Principal Amount"
|
||||
|
||||
3164
app/locale/sv/LC_MESSAGES/django.po
Normal file
3164
app/locale/sv/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,8 @@
|
||||
{% spaceless %}
|
||||
{% load i18n %}
|
||||
<span class="tw-text-xs text-white-50 mx-1"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-title="{{ content }}">
|
||||
<i class="fa-solid fa-circle-question fa-fw"></i>
|
||||
<i class="{% if not icon %}fa-solid fa-circle-question{% else %}{{ icon }}{% endif %} fa-fw"></i>
|
||||
</span>
|
||||
{% endspaceless %}
|
||||
@@ -3,7 +3,7 @@
|
||||
{% if icon %}<i class="{{ icon }}"></i>{% else %}<span class="fw-bold">{{ title.0 }}</span>{% endif %}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h5 class="tw-text-{{ color }}-400 fw-bold tw-mr-[50px]" {{ attrs }}>{{ title }}{% if help_text %}{% include 'includes/help_icon.html' with content=help_text %}{% endif %}</h5>
|
||||
<h5 class="tw-text-{{ color }}-400 fw-bold tw-mr-[50px]" {{ attrs }}>{{ title }}{% if help_text %}<c-ui.help-icon :content="help_text" icon=""></c-ui.help-icon>{% endif %}</h5>
|
||||
{{ slot }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle {% active_link views='tags_index||entities_index||categories_index||accounts_index||account_groups_index||currencies_index||exchange_rates_index||rules_index||import_profiles_index||automatic_exchange_rates_index||export_index' %}"
|
||||
<a class="nav-link dropdown-toggle {% active_link views='tags_index||entities_index||categories_index||accounts_index||account_groups_index||currencies_index||exchange_rates_index||rules_index||import_profiles_index||automatic_exchange_rates_index||export_index||users_index' %}"
|
||||
href="#" role="button"
|
||||
data-bs-toggle="dropdown"
|
||||
aria-expanded="false">
|
||||
|
||||
@@ -1,226 +1,431 @@
|
||||
{% load i18n %}
|
||||
|
||||
<div hx-get="{% url 'category_overview' %}" hx-trigger="updated from:window" class="show-loading" hx-swap="outerHTML"
|
||||
hx-include="#picker-form, #picker-type">
|
||||
hx-include="#picker-form, #picker-type, #view-type, #show-tags, #showing">
|
||||
<div class="h-100 text-center mb-4">
|
||||
<div class="btn-group gap-3" role="group" id="view-type" _="on change trigger updated">
|
||||
<input type="radio" class="btn-check"
|
||||
name="view_type"
|
||||
id="table-view"
|
||||
autocomplete="off"
|
||||
value="table"
|
||||
{% if view_type == "table" %}checked{% endif %}>
|
||||
<label class="btn btn-outline-primary rounded-5" for="table-view"><i
|
||||
class="fa-solid fa-table fa-fw me-2"></i>{% trans 'Table' %}</label>
|
||||
|
||||
<input type="radio"
|
||||
class="btn-check"
|
||||
name="view_type"
|
||||
id="bars-view"
|
||||
autocomplete="off"
|
||||
value="bars"
|
||||
{% if view_type == "bars" %}checked{% endif %}>
|
||||
<label class="btn btn-outline-primary rounded-5" for="bars-view"><i
|
||||
class="fa-solid fa-chart-bar fa-fw me-2"></i>{% trans 'Bars' %}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-3 mb-1 d-flex flex-column flex-md-row justify-content-between">
|
||||
<div class="form-check form-switch" id="show-tags">
|
||||
{% if view_type == 'table' %}
|
||||
<input type="hidden" name="show_tags" value="off">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="show-tags-switch" name="show_tags"
|
||||
_="on change trigger updated" {% if show_tags %}checked{% endif %}>
|
||||
{% spaceless %}
|
||||
<label class="form-check-label" for="show-tags-switch">
|
||||
{% trans 'Tags' %}
|
||||
</label>
|
||||
<c-ui.help-icon
|
||||
content="{% trans 'Transaction amounts associated with multiple tags will be counted once for each tag' %}"
|
||||
icon="fa-solid fa-circle-exclamation"></c-ui.help-icon>
|
||||
{% endspaceless %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="btn-group btn-group-sm" role="group" id="showing" _="on change trigger updated">
|
||||
<input type="radio" class="btn-check" name="showing" id="showing-projected" autocomplete="off"
|
||||
value="projected" {% if showing == 'projected' %}checked{% endif %}>
|
||||
<label class="btn btn-outline-primary" for="showing-projected">{% trans "Projected" %}</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="showing" id="showing-current" autocomplete="off" value="current"
|
||||
{% if showing == 'current' %}checked{% endif %}>
|
||||
<label class="btn btn-outline-primary" for="showing-current">{% trans "Current" %}</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="showing" id="showing-final" autocomplete="off" value="final"
|
||||
{% if showing == 'final' %}checked{% endif %}>
|
||||
<label class="btn btn-outline-primary" for="showing-final">{% trans "Final total" %}</label>
|
||||
</div>
|
||||
</div>
|
||||
{% if total_table %}
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{% trans 'Category' %}</th>
|
||||
<th scope="col">{% trans 'Income' %}</th>
|
||||
<th scope="col">{% trans 'Expense' %}</th>
|
||||
<th scope="col">{% trans 'Total' %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for category in total_table.values %}
|
||||
{% if view_type == "table" %}
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-hover table-bordered align-middle">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% if category.name %}{{ category.name }}{% else %}{% trans 'Uncategorized' %}{% endif %}</th>
|
||||
<td>
|
||||
{% for currency in category.currencies.values %}
|
||||
{% if currency.total_income != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_income"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="green"></c-amount.display>
|
||||
{% else %}
|
||||
<div>-</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td>
|
||||
{% for currency in category.currencies.values %}
|
||||
{% if currency.total_expense != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_expense"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="red"></c-amount.display>
|
||||
{% else %}
|
||||
<div>-</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td>
|
||||
{% for currency in category.currencies.values %}
|
||||
{% if currency.total_final != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_final"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="{% if currency.total_final < 0 %}red{% else %}green{% endif %}"></c-amount.display>
|
||||
{% else %}
|
||||
<div>-</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
<th scope="col">{% trans 'Category' %}</th>
|
||||
<th scope="col">{% trans 'Income' %}</th>
|
||||
<th scope="col">{% trans 'Expense' %}</th>
|
||||
<th scope="col">{% trans 'Total' %}</th>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</thead>
|
||||
<tbody class="table-group-divider">
|
||||
{% for category in total_table.values %}
|
||||
<!-- Category row -->
|
||||
<tr class="table-group-header">
|
||||
<th>{% if category.name %}{{ category.name }}{% else %}{% trans 'Uncategorized' %}{% endif %}</th>
|
||||
<td> {# income #}
|
||||
{% for currency in category.currencies.values %}
|
||||
{% if showing == 'current' and currency.income_current != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.income_current"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="green"></c-amount.display>
|
||||
{% elif showing == 'projected' and currency.income_projected != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.income_projected"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="green"></c-amount.display>
|
||||
{% elif showing == 'final' and currency.total_income != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_income"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="green"></c-amount.display>
|
||||
{% else %}
|
||||
<div>-</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td> {# expenses #}
|
||||
{% for currency in category.currencies.values %}
|
||||
{% if showing == 'current' and currency.expense_current != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.expense_current"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="red"></c-amount.display>
|
||||
{% elif showing == 'projected' and currency.expense_projected != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.expense_projected"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="red"></c-amount.display>
|
||||
{% elif showing == 'final' and currency.total_expense != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_expense"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="red"></c-amount.display>
|
||||
{% else %}
|
||||
<div>-</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td> {# total #}
|
||||
{% for currency in category.currencies.values %}
|
||||
{% if showing == 'current' and currency.total_current != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_current"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="{% if currency.total_final < 0 %}red{% else %}green{% endif %}"></c-amount.display>
|
||||
{% elif showing == 'projected' and currency.total_projected != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_projected"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="{% if currency.total_final < 0 %}red{% else %}green{% endif %}"></c-amount.display>
|
||||
{% elif showing == 'final' and currency.total_final != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_final"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="{% if currency.total_final < 0 %}red{% else %}green{% endif %}"></c-amount.display>
|
||||
{% else %}
|
||||
<div>-</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<div class="mt-4">
|
||||
<div class="chart-container" _="init call setupChart() end" style="position: relative; height:90vh; width:100%">
|
||||
<canvas id="categoryChart"></canvas>
|
||||
<!-- Tag rows -->
|
||||
{% if show_tags %}
|
||||
{% for tag_id, tag in category.tags.items %}
|
||||
{% if tag.name or not tag.name and category.tags.values|length > 1 %}
|
||||
<tr class="table-row-nested">
|
||||
<td class="ps-4">
|
||||
<i class="fa-solid fa-hashtag fa-fw me-2 text-muted"></i>{% if tag.name %}{{ tag.name }}{% else %}{% trans 'Untagged' %}{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% for currency in tag.currencies.values %}
|
||||
{% if showing == 'current' and currency.income_current != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.income_current"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="green"></c-amount.display>
|
||||
{% elif showing == 'projected' and currency.income_projected != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.income_projected"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="green"></c-amount.display>
|
||||
{% elif showing == 'final' and currency.total_income != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_income"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="green"></c-amount.display>
|
||||
{% else %}
|
||||
<div>-</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td>
|
||||
{% for currency in tag.currencies.values %}
|
||||
{% if showing == 'current' and currency.expense_current != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.expense_current"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="red"></c-amount.display>
|
||||
{% elif showing == 'projected' and currency.expense_projected != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.expense_projected"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="red"></c-amount.display>
|
||||
{% elif showing == 'final' and currency.total_expense != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_expense"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="red"></c-amount.display>
|
||||
{% else %}
|
||||
<div>-</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td>
|
||||
{% for currency in tag.currencies.values %}
|
||||
{% if showing == 'current' and currency.total_current != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_current"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="{% if currency.total_final < 0 %}red{% else %}green{% endif %}"></c-amount.display>
|
||||
{% elif showing == 'projected' and currency.total_projected != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_projected"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="{% if currency.total_final < 0 %}red{% else %}green{% endif %}"></c-amount.display>
|
||||
{% elif showing == 'final' and currency.total_final != 0 %}
|
||||
<c-amount.display
|
||||
:amount="currency.total_final"
|
||||
:prefix="currency.currency.prefix"
|
||||
:suffix="currency.currency.suffix"
|
||||
:decimal_places="currency.currency.decimal_places"
|
||||
color="{% if currency.total_final < 0 %}red{% else %}green{% endif %}"></c-amount.display>
|
||||
{% else %}
|
||||
<div>-</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ total_table|json_script:"categoryOverviewData" }}
|
||||
|
||||
<script>
|
||||
function setupChart() {
|
||||
var rawData = JSON.parse(document.getElementById('categoryOverviewData').textContent);
|
||||
{% elif view_type == "bars" %}
|
||||
<div>
|
||||
<div class="chart-container" _="init call setupChart() end" style="position: relative; height:78vh; width:100%">
|
||||
<canvas id="categoryChart"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
// --- Dynamic Data Processing ---
|
||||
var categories = [];
|
||||
var currencyDetails = {}; // Stores details like { BRL: {code: 'BRL', name: 'Real', ...}, ... }
|
||||
var currencyData = {}; // Stores data arrays like { BRL: [val1, null, val3,...], ... }
|
||||
{{ total_table|json_script:"categoryOverviewData" }}
|
||||
{{ showing|json_script:"showingString" }}
|
||||
|
||||
// Pass 1: Collect categories and currency details
|
||||
Object.values(rawData).forEach(cat => {
|
||||
var categoryName = cat.name === null ? "{% trans 'Uncategorized' %}" : cat.name;
|
||||
if (!categories.includes(categoryName)) {
|
||||
categories.push(categoryName);
|
||||
}
|
||||
if (cat.currencies) {
|
||||
Object.values(cat.currencies).forEach(curr => {
|
||||
var details = curr.currency;
|
||||
if (details && details.code && !currencyDetails[details.code]) {
|
||||
var decimals = parseInt(details.decimal_places, 10);
|
||||
currencyDetails[details.code] = {
|
||||
code: details.code,
|
||||
name: details.name || details.code,
|
||||
prefix: details.prefix || '',
|
||||
suffix: details.suffix || '',
|
||||
// Ensure decimal_places is a non-negative integer
|
||||
decimal_places: !isNaN(decimals) && decimals >= 0 ? decimals : 2
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
<script>
|
||||
function setupChart() {
|
||||
var rawData = JSON.parse(document.getElementById('categoryOverviewData').textContent);
|
||||
var showing_string = JSON.parse(document.getElementById('showingString').textContent);
|
||||
console.log(showing_string)
|
||||
|
||||
// Initialize data structure for each currency with nulls
|
||||
Object.keys(currencyDetails).forEach(code => {
|
||||
currencyData[code] = new Array(categories.length).fill(null);
|
||||
});
|
||||
// --- Dynamic Data Processing ---
|
||||
var categories = [];
|
||||
var currencyDetails = {}; // Stores details like { BRL: {code: 'BRL', name: 'Real', ...}, ... }
|
||||
var currencyData = {}; // Stores data arrays like { BRL: [val1, null, val3,...], ... }
|
||||
|
||||
// Pass 2: Populate data arrays (store all valid numbers now)
|
||||
Object.values(rawData).forEach(cat => {
|
||||
var categoryName = cat.name === null ? "{% trans 'Uncategorized' %}" : cat.name;
|
||||
var catIndex = categories.indexOf(categoryName);
|
||||
if (catIndex === -1) return;
|
||||
// Pass 1: Collect categories and currency details
|
||||
Object.values(rawData).forEach(cat => {
|
||||
var categoryName = cat.name === null ? "{% trans 'Uncategorized' %}" : cat.name;
|
||||
if (!categories.includes(categoryName)) {
|
||||
categories.push(categoryName);
|
||||
}
|
||||
if (cat.currencies) {
|
||||
Object.values(cat.currencies).forEach(curr => {
|
||||
var details = curr.currency;
|
||||
if (details && details.code && !currencyDetails[details.code]) {
|
||||
var decimals = parseInt(details.decimal_places, 10);
|
||||
currencyDetails[details.code] = {
|
||||
code: details.code,
|
||||
name: details.name || details.code,
|
||||
prefix: details.prefix || '',
|
||||
suffix: details.suffix || '',
|
||||
// Ensure decimal_places is a non-negative integer
|
||||
decimal_places: !isNaN(decimals) && decimals >= 0 ? decimals : 2
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
if (cat.currencies) {
|
||||
Object.values(cat.currencies).forEach(curr => {
|
||||
var code = curr.currency?.code;
|
||||
if (code && currencyData[code]) {
|
||||
var value = parseFloat(curr.total_final);
|
||||
// Store the number if it's valid, otherwise keep null
|
||||
currencyData[code][catIndex] = !isNaN(value) ? value : null;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
// Initialize data structure for each currency with nulls
|
||||
Object.keys(currencyDetails).forEach(code => {
|
||||
currencyData[code] = new Array(categories.length).fill(null);
|
||||
});
|
||||
|
||||
// --- Dynamic Chart Configuration ---
|
||||
var datasets = Object.keys(currencyDetails).map((code, index) => {
|
||||
return {
|
||||
label: currencyDetails[code].name, // Use currency name for the legend label
|
||||
data: currencyData[code],
|
||||
currencyCode: code, // Store code for easy lookup in tooltip
|
||||
borderWidth: 1
|
||||
};
|
||||
});
|
||||
// Pass 2: Populate data arrays (store all valid numbers now)
|
||||
Object.values(rawData).forEach(cat => {
|
||||
var categoryName = cat.name === null ? "{% trans 'Uncategorized' %}" : cat.name;
|
||||
var catIndex = categories.indexOf(categoryName);
|
||||
if (catIndex === -1) return;
|
||||
|
||||
new Chart(document.getElementById('categoryChart'),
|
||||
{
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: categories,
|
||||
datasets: datasets
|
||||
},
|
||||
options: {
|
||||
indexAxis: 'y',
|
||||
responsive: true,
|
||||
interaction: {
|
||||
intersect: false,
|
||||
mode: 'nearest',
|
||||
axis: "y"
|
||||
},
|
||||
maintainAspectRatio: false,
|
||||
plugins: {
|
||||
title: {
|
||||
display: false
|
||||
},
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
label: function (context) {
|
||||
const dataset = context.dataset;
|
||||
const currencyCode = dataset.currencyCode;
|
||||
const details = currencyDetails[currencyCode];
|
||||
const value = context.parsed.x; // Use 'x' because indexAxis is 'y'
|
||||
if (cat.currencies) {
|
||||
Object.values(cat.currencies).forEach(curr => {
|
||||
var code = curr.currency?.code;
|
||||
if (code && currencyData[code]) {
|
||||
if (showing_string == 'current') {
|
||||
var value = parseFloat(curr.total_current);
|
||||
} else if (showing_string == 'projected') {
|
||||
var value = parseFloat(curr.total_projected);
|
||||
} else {
|
||||
var value = parseFloat(curr.total_final);
|
||||
}
|
||||
|
||||
if (value === null || value === undefined || !details) {
|
||||
// Display the category name if the value is null/undefined
|
||||
return null;
|
||||
}
|
||||
// Store the number if it's valid, otherwise keep null
|
||||
currencyData[code][catIndex] = !isNaN(value) ? value : null;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
let formattedValue = '';
|
||||
try {
|
||||
// Use Intl.NumberFormat for ALL values, configured with locale and exact decimal places
|
||||
formattedValue = new Intl.NumberFormat(undefined, {
|
||||
minimumFractionDigits: details.decimal_places,
|
||||
maximumFractionDigits: details.decimal_places,
|
||||
// Do NOT use style: 'currency' here, as we add prefix/suffix manually
|
||||
}).format(value);
|
||||
} catch (e) {
|
||||
formattedValue = value.toFixed(details.decimal_places);
|
||||
}
|
||||
// --- Dynamic Chart Configuration ---
|
||||
var datasets = Object.keys(currencyDetails).map((code, index) => {
|
||||
return {
|
||||
label: currencyDetails[code].name, // Use currency name for the legend label
|
||||
data: currencyData[code],
|
||||
currencyCode: code, // Store code for easy lookup in tooltip
|
||||
borderWidth: 1
|
||||
};
|
||||
});
|
||||
|
||||
// Return label with currency name and formatted value including prefix/suffix
|
||||
return `${details.prefix}${formattedValue}${details.suffix}`;
|
||||
}
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
position: 'top',
|
||||
}
|
||||
},
|
||||
scales: {
|
||||
x: {
|
||||
stacked: true,
|
||||
type: 'linear',
|
||||
title: {
|
||||
display: true,
|
||||
text: '{% trans 'Final Total' %}'
|
||||
},
|
||||
ticks: {
|
||||
// Format ticks using the detected locale
|
||||
callback: function (value, index, ticks) {
|
||||
return value.toLocaleString();
|
||||
}
|
||||
}
|
||||
},
|
||||
y: {
|
||||
stacked: true,
|
||||
title: {
|
||||
display: false,
|
||||
text: '{% trans 'Category' %}'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
new Chart(document.getElementById('categoryChart'),
|
||||
{
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: categories,
|
||||
datasets: datasets
|
||||
},
|
||||
options: {
|
||||
indexAxis: 'y',
|
||||
responsive: true,
|
||||
interaction: {
|
||||
intersect: false,
|
||||
mode: 'nearest',
|
||||
axis: "y"
|
||||
},
|
||||
maintainAspectRatio: false,
|
||||
plugins: {
|
||||
title: {
|
||||
display: false
|
||||
},
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
label: function (context) {
|
||||
const dataset = context.dataset;
|
||||
const currencyCode = dataset.currencyCode;
|
||||
const details = currencyDetails[currencyCode];
|
||||
const value = context.parsed.x; // Use 'x' because indexAxis is 'y'
|
||||
|
||||
if (value === null || value === undefined || !details) {
|
||||
// Display the category name if the value is null/undefined
|
||||
return null;
|
||||
}
|
||||
|
||||
let formattedValue = '';
|
||||
try {
|
||||
// Use Intl.NumberFormat for ALL values, configured with locale and exact decimal places
|
||||
formattedValue = new Intl.NumberFormat(undefined, {
|
||||
minimumFractionDigits: details.decimal_places,
|
||||
maximumFractionDigits: details.decimal_places,
|
||||
// Do NOT use style: 'currency' here, as we add prefix/suffix manually
|
||||
}).format(value);
|
||||
} catch (e) {
|
||||
formattedValue = value.toFixed(details.decimal_places);
|
||||
}
|
||||
|
||||
// Return label with currency name and formatted value including prefix/suffix
|
||||
return `${details.prefix}${formattedValue}${details.suffix}`;
|
||||
}
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
position: 'top',
|
||||
}
|
||||
},
|
||||
scales: {
|
||||
x: {
|
||||
stacked: true,
|
||||
type: 'linear',
|
||||
title: {
|
||||
display: true,
|
||||
text: '{% trans 'Final Total' %}'
|
||||
},
|
||||
ticks: {
|
||||
// Format ticks using the detected locale
|
||||
callback: function (value, index, ticks) {
|
||||
return value.toLocaleString();
|
||||
}
|
||||
}
|
||||
},
|
||||
y: {
|
||||
stacked: true,
|
||||
title: {
|
||||
display: false,
|
||||
text: '{% trans 'Category' %}'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<c-msg.empty title="{% translate "No categories" %}"></c-msg.empty>
|
||||
{% endif %}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
{% load crispy_forms_tags %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% translate 'Insights' %}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container-fluid">
|
||||
<div class="row my-3 h-100">
|
||||
|
||||
Reference in New Issue
Block a user