Compare commits

...

13 Commits

Author SHA1 Message Date
Herculino Trotta
cc8a4c97a9 locale(Portuguese (Brazil)): update translation
Currently translated at 100.0% (609 of 609 strings)

Translation: WYGIWYH/App
Translate-URL: https://translations.herculino.com/projects/wygiwyh/app/pt_BR/
2025-03-09 04:56:21 +00:00
eitchtee
99fbb5f7db chore(locale): update translation files
[skip ci] Automatically generated by Django makemessages workflow
2025-03-09 04:55:05 +00:00
Herculino Trotta
3d61068ecf Merge pull request #206
feat(rules): trigger transaction rules on delete
2025-03-09 01:54:28 -03:00
Herculino Trotta
f6f06f4d65 feat(rules): trigger transaction rules on delete 2025-03-09 01:54:03 -03:00
eitchtee
56346c26ee chore(locale): update translation files
[skip ci] Automatically generated by Django makemessages workflow
2025-03-09 04:27:30 +00:00
Herculino Trotta
23b74d73e5 Merge pull request #205
fix(rules): unable to save
2025-03-09 01:26:57 -03:00
Herculino Trotta
17697dc565 fix(rules): unable to save 2025-03-09 01:26:42 -03:00
Herculino Trotta
e9bc35d9b2 Merge pull request #204
fix(api): re-order transactions from newest to oldest
2025-03-08 23:23:25 -03:00
Herculino Trotta
d6fbb71f41 fix(api): re-order transactions from newest to oldest 2025-03-08 23:23:07 -03:00
eitchtee
9a9cf75bcd chore(locale): update translation files
[skip ci] Automatically generated by Django makemessages workflow
2025-03-09 01:10:53 +00:00
Herculino Trotta
d6a8658fe1 Merge pull request #203
fix(api): unable to create transaction
2025-03-08 22:09:40 -03:00
Herculino Trotta
211963ea7d fix(api): unable to create transaction 2025-03-08 22:09:24 -03:00
Herculino Trotta
776068a438 locale(Portuguese (Brazil)): update translation
Currently translated at 100.0% (608 of 608 strings)

Translation: WYGIWYH/App
Translate-URL: https://translations.herculino.com/projects/wygiwyh/app/pt_BR/
2025-03-08 18:05:35 +00:00
13 changed files with 787 additions and 595 deletions

View File

@@ -23,6 +23,7 @@ from apps.transactions.models import (
TransactionEntity,
RecurringTransaction,
)
from apps.common.middleware.thread_local import get_current_user
class TransactionCategorySerializer(serializers.ModelSerializer):
@@ -31,6 +32,10 @@ class TransactionCategorySerializer(serializers.ModelSerializer):
class Meta:
model = TransactionCategory
fields = "__all__"
read_only_fields = [
"id",
"owner",
]
class TransactionTagSerializer(serializers.ModelSerializer):
@@ -39,6 +44,10 @@ class TransactionTagSerializer(serializers.ModelSerializer):
class Meta:
model = TransactionTag
fields = "__all__"
read_only_fields = [
"id",
"owner",
]
class TransactionEntitySerializer(serializers.ModelSerializer):
@@ -47,6 +56,10 @@ class TransactionEntitySerializer(serializers.ModelSerializer):
class Meta:
model = TransactionEntity
fields = "__all__"
read_only_fields = [
"id",
"owner",
]
class InstallmentPlanSerializer(serializers.ModelSerializer):
@@ -157,8 +170,16 @@ class TransactionSerializer(serializers.ModelSerializer):
"installment_plan",
"recurring_transaction",
"installment_id",
"owner",
"deleted_at",
"deleted",
]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["account_id"].queryset = Account.objects.all()
def validate(self, data):
if not self.partial:
if "date" in data and "reference_date" not in data:

View File

@@ -20,6 +20,8 @@ class AccountViewSet(viewsets.ModelViewSet):
pagination_class = CustomPageNumberPagination
def get_queryset(self):
return Account.objects.all().select_related(
"group", "currency", "exchange_currency"
return (
Account.objects.all()
.order_by("id")
.select_related("group", "currency", "exchange_currency")
)

View File

@@ -38,7 +38,7 @@ class TransactionViewSet(viewsets.ModelViewSet):
return self.update(request, *args, **kwargs)
def get_queryset(self):
return Transaction.objects.all().order_by("id")
return Transaction.objects.all().order_by("-id")
class TransactionCategoryViewSet(viewsets.ModelViewSet):
@@ -51,7 +51,7 @@ class TransactionCategoryViewSet(viewsets.ModelViewSet):
class TransactionTagViewSet(viewsets.ModelViewSet):
queryset = TransactionTag.objects.all().order_by("id")
queryset = TransactionTag.objects.all()
serializer_class = TransactionTagSerializer
pagination_class = CustomPageNumberPagination
@@ -60,7 +60,7 @@ class TransactionTagViewSet(viewsets.ModelViewSet):
class TransactionEntityViewSet(viewsets.ModelViewSet):
queryset = TransactionEntity.objects.all().order_by("id")
queryset = TransactionEntity.objects.all()
serializer_class = TransactionEntitySerializer
pagination_class = CustomPageNumberPagination
@@ -69,18 +69,18 @@ class TransactionEntityViewSet(viewsets.ModelViewSet):
class InstallmentPlanViewSet(viewsets.ModelViewSet):
queryset = InstallmentPlan.objects.all().order_by("id")
queryset = InstallmentPlan.objects.all()
serializer_class = InstallmentPlanSerializer
pagination_class = CustomPageNumberPagination
def get_queryset(self):
return InstallmentPlan.objects.all().order_by("id")
return InstallmentPlan.objects.all().order_by("-id")
class RecurringTransactionViewSet(viewsets.ModelViewSet):
queryset = RecurringTransaction.objects.all().order_by("id")
queryset = RecurringTransaction.objects.all()
serializer_class = RecurringTransactionSerializer
pagination_class = CustomPageNumberPagination
def get_queryset(self):
return RecurringTransaction.objects.all().order_by("id")
return RecurringTransaction.objects.all().order_by("-id")

View File

@@ -16,9 +16,11 @@ class TransactionRuleForm(forms.ModelForm):
class Meta:
model = TransactionRule
fields = "__all__"
exclude = ("owner", "shared_with", "visibility")
labels = {
"on_create": _("Run on creation"),
"on_update": _("Run on update"),
"on_delete": _("Run on delete"),
"trigger": _("If..."),
}
widgets = {"description": forms.widgets.TextInput}
@@ -33,7 +35,11 @@ class TransactionRuleForm(forms.ModelForm):
self.helper.layout = Layout(
Switch("active"),
"name",
Row(Column(Switch("on_update")), Column(Switch("on_create"))),
Row(
Column(Switch("on_update")),
Column(Switch("on_create")),
Column(Switch("on_delete")),
),
"description",
"trigger",
)

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.1.7 on 2025-03-09 03:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rules', '0012_transactionrule_owner_transactionrule_shared_with_and_more'),
]
operations = [
migrations.AddField(
model_name='transactionrule',
name='on_delete',
field=models.BooleanField(default=False),
),
]

View File

@@ -9,6 +9,7 @@ class TransactionRule(SharedObject):
active = models.BooleanField(default=True)
on_update = models.BooleanField(default=False)
on_create = models.BooleanField(default=True)
on_delete = models.BooleanField(default=False)
name = models.CharField(max_length=100, verbose_name=_("Name"))
description = models.TextField(blank=True, null=True, verbose_name=_("Description"))
trigger = models.TextField(verbose_name=_("Trigger"))

View File

@@ -1,9 +1,11 @@
from django.conf import settings
from django.dispatch import receiver
from apps.transactions.models import (
Transaction,
transaction_created,
transaction_updated,
transaction_deleted,
)
from apps.rules.tasks import check_for_transaction_rules
from apps.common.middleware.thread_local import get_current_user
@@ -11,7 +13,45 @@ from apps.common.middleware.thread_local import get_current_user
@receiver(transaction_created)
@receiver(transaction_updated)
@receiver(transaction_deleted)
def transaction_changed_receiver(sender: Transaction, signal, **kwargs):
if signal is transaction_deleted:
# Serialize transaction data for processing
transaction_data = {
"id": sender.id,
"account": (sender.account.id, sender.account.name),
"account_group": (
sender.account.group.id if sender.account.group else None,
sender.account.group.name if sender.account.group else None,
),
"type": str(sender.type),
"is_paid": sender.is_paid,
"is_asset": sender.account.is_asset,
"is_archived": sender.account.is_archived,
"category": (
sender.category.id if sender.category else None,
sender.category.name if sender.category else None,
),
"date": sender.date.isoformat(),
"reference_date": sender.reference_date.isoformat(),
"amount": str(sender.amount),
"description": sender.description,
"notes": sender.notes,
"tags": list(sender.tags.values_list("id", "name")),
"entities": list(sender.entities.values_list("id", "name")),
"deleted": True,
"internal_note": sender.internal_note,
"internal_id": sender.internal_id,
}
check_for_transaction_rules.defer(
transaction_data=transaction_data,
user_id=get_current_user().id,
signal="transaction_deleted",
is_hard_deleted=kwargs.get("hard_delete", not settings.ENABLE_SOFT_DELETE),
)
return
for dca_entry in sender.dca_expense_entries.all():
dca_entry.amount_paid = sender.amount
dca_entry.save()

View File

@@ -1,6 +1,8 @@
import decimal
import logging
from datetime import datetime, date
from decimal import Decimal
from typing import Any
from cachalot.api import cachalot_disabled
from dateutil.relativedelta import relativedelta
@@ -26,16 +28,27 @@ logger = logging.getLogger(__name__)
@app.task(name="check_for_transaction_rules")
def check_for_transaction_rules(
instance_id: int,
user_id: int,
signal,
instance_id=None,
transaction_data=None,
user_id=None,
signal=None,
is_hard_deleted=False,
):
user = get_user_model().objects.get(id=user_id)
write_current_user(user)
try:
with cachalot_disabled():
instance = Transaction.objects.get(id=instance_id)
# For deleted transactions
if signal == "transaction_deleted" and transaction_data:
# Create a transaction-like object from the serialized data
if is_hard_deleted:
instance = transaction_data
else:
instance = Transaction.deleted_objects.get(id=instance_id)
else:
# Regular transaction processing for creates and updates
instance = Transaction.objects.get(id=instance_id)
functions = {
"relativedelta": relativedelta,
@@ -47,10 +60,11 @@ def check_for_transaction_rules(
"date": date,
}
simple = EvalWithCompoundTypes(
names=_get_names(instance), functions=functions
)
names = _get_names(instance)
simple = EvalWithCompoundTypes(names=names, functions=functions)
# Select rules based on the signal type
if signal == "transaction_created":
rules = TransactionRule.objects.filter(
active=True, on_create=True
@@ -59,39 +73,56 @@ def check_for_transaction_rules(
rules = TransactionRule.objects.filter(
active=True, on_update=True
).order_by("id")
elif signal == "transaction_deleted":
rules = TransactionRule.objects.filter(
active=True, on_delete=True
).order_by("id")
else:
rules = TransactionRule.objects.filter(active=True).order_by("id")
# Process the rules as before
for rule in rules:
if simple.eval(rule.trigger):
for action in rule.transaction_actions.all():
try:
instance = _process_edit_transaction_action(
instance=instance, action=action, simple_eval=simple
)
except Exception as e:
logger.error(
f"Error processing edit transaction action {action.id}",
exc_info=True,
)
# else:
# simple.names.update(_get_names(instance))
# instance.save()
# For deleted transactions, we might want to limit what actions can be performed
if signal == "transaction_deleted":
# Process only create/update actions, not edit actions
for action in rule.update_or_create_transaction_actions.all():
try:
_process_update_or_create_transaction_action(
action=action, simple_eval=simple
)
except Exception as e:
logger.error(
f"Error processing update or create transaction action {action.id} on deletion",
exc_info=True,
)
else:
# Normal processing for non-deleted transactions
for action in rule.transaction_actions.all():
try:
instance = _process_edit_transaction_action(
instance=instance, action=action, simple_eval=simple
)
except Exception as e:
logger.error(
f"Error processing edit transaction action {action.id}",
exc_info=True,
)
simple.names.update(_get_names(instance))
instance.save()
for action in rule.update_or_create_transaction_actions.all():
try:
_process_update_or_create_transaction_action(
action=action, simple_eval=simple
)
except Exception as e:
logger.error(
f"Error processing update or create transaction action {action.id}",
exc_info=True,
)
simple.names.update(_get_names(instance))
if signal != "transaction_deleted":
instance.save()
for action in rule.update_or_create_transaction_actions.all():
try:
_process_update_or_create_transaction_action(
action=action, simple_eval=simple
)
except Exception as e:
logger.error(
f"Error processing update or create transaction action {action.id}",
exc_info=True,
)
except Exception as e:
logger.error(
"Error while executing 'check_for_transaction_rules' task",
@@ -99,40 +130,68 @@ def check_for_transaction_rules(
)
delete_current_user()
raise e
delete_current_user()
def _get_names(instance):
return {
"id": instance.id,
"account_name": instance.account.name,
"account_id": instance.account.id,
"account_group_name": (
instance.account.group.name if instance.account.group else None
),
"account_group_id": (
instance.account.group.id if instance.account.group else None
),
"is_asset_account": instance.account.is_asset,
"is_archived_account": instance.account.is_archived,
"category_name": instance.category.name if instance.category else None,
"category_id": instance.category.id if instance.category else None,
"tag_names": [x.name for x in instance.tags.all()],
"tag_ids": [x.id for x in instance.tags.all()],
"entities_names": [x.name for x in instance.entities.all()],
"entities_ids": [x.id for x in instance.entities.all()],
"is_expense": instance.type == Transaction.Type.EXPENSE,
"is_income": instance.type == Transaction.Type.INCOME,
"is_paid": instance.is_paid,
"description": instance.description,
"amount": instance.amount,
"notes": instance.notes,
"date": instance.date,
"reference_date": instance.reference_date,
"internal_note": instance.internal_note,
"internal_id": instance.internal_id,
}
def _get_names(instance: Transaction | dict):
if isinstance(instance, Transaction):
return {
"id": instance.id,
"account_name": instance.account.name,
"account_id": instance.account.id,
"account_group_name": (
instance.account.group.name if instance.account.group else None
),
"account_group_id": (
instance.account.group.id if instance.account.group else None
),
"is_asset_account": instance.account.is_asset,
"is_archived_account": instance.account.is_archived,
"category_name": instance.category.name if instance.category else None,
"category_id": instance.category.id if instance.category else None,
"tag_names": [x.name for x in instance.tags.all()],
"tag_ids": [x.id for x in instance.tags.all()],
"entities_names": [x.name for x in instance.entities.all()],
"entities_ids": [x.id for x in instance.entities.all()],
"is_expense": instance.type == Transaction.Type.EXPENSE,
"is_income": instance.type == Transaction.Type.INCOME,
"is_paid": instance.is_paid,
"description": instance.description,
"amount": instance.amount,
"notes": instance.notes,
"date": instance.date,
"reference_date": instance.reference_date,
"internal_note": instance.internal_note,
"internal_id": instance.internal_id,
"is_deleted": instance.deleted,
}
else:
return {
"id": instance.get("id"),
"account_name": instance.get("account", (None, None))[1],
"account_id": instance.get("account", (None, None))[0],
"account_group_name": instance.get("account_group", (None, None))[1],
"account_group_id": instance.get("account_group", (None, None))[0],
"is_asset_account": instance.get("is_asset"),
"is_archived_account": instance.get("is_archived"),
"category_name": instance.get("category", (None, None))[1],
"category_id": instance.get("category", (None, None))[0],
"tag_names": [x[1] for x in instance.get("tags", [])],
"tag_ids": [x[0] for x in instance.get("tags", [])],
"entities_names": [x[1] for x in instance.get("entities", [])],
"entities_ids": [x[0] for x in instance.get("entities", [])],
"is_expense": instance.get("type") == Transaction.Type.EXPENSE,
"is_income": instance.get("type") == Transaction.Type.INCOME,
"is_paid": instance.get("is_paid"),
"description": instance.get("description", ""),
"amount": Decimal(instance.get("amount")),
"notes": instance.get("notes", ""),
"date": datetime.fromisoformat(instance.get("date")),
"reference_date": datetime.fromisoformat(instance.get("reference_date")),
"internal_note": instance.get("internal_note", ""),
"internal_id": instance.get("internal_id", ""),
"is_deleted": instance.get("deleted", True),
}
def _process_update_or_create_transaction_action(action, simple_eval):

View File

@@ -23,6 +23,7 @@ logger = logging.getLogger()
transaction_created = Signal()
transaction_updated = Signal()
transaction_deleted = Signal()
class SoftDeleteQuerySet(models.QuerySet):
@@ -65,8 +66,14 @@ class SoftDeleteQuerySet(models.QuerySet):
def delete(self):
if not settings.ENABLE_SOFT_DELETE:
# If soft deletion is disabled, perform a normal delete
return super().delete()
# Get instances before hard delete
instances = list(self)
# Send signals for each instance before deletion
for instance in instances:
transaction_deleted.send(sender=instance)
# Perform hard delete
result = super().delete()
return result
# Separate the queryset into already deleted and not deleted objects
already_deleted = self.filter(deleted=True)
@@ -74,14 +81,28 @@ class SoftDeleteQuerySet(models.QuerySet):
# Use a transaction to ensure atomicity
with transaction.atomic():
# Get instances for hard delete before they're gone
already_deleted_instances = list(already_deleted)
for instance in already_deleted_instances:
transaction_deleted.send(sender=instance)
# Perform hard delete on already deleted objects
hard_deleted_count = already_deleted._raw_delete(already_deleted.db)
# Get instances for soft delete
instances_to_soft_delete = list(not_deleted)
# Perform soft delete on not deleted objects
soft_deleted_count = not_deleted.update(
deleted=True, deleted_at=timezone.now()
)
# Send signals for soft deleted instances
for instance in instances_to_soft_delete:
instance.deleted = True
instance.deleted_at = timezone.now()
transaction_deleted.send(sender=instance)
# Return a tuple of counts as expected by Django's delete method
return (
hard_deleted_count + soft_deleted_count,
@@ -358,10 +379,14 @@ class Transaction(OwnedObject):
self.deleted = True
self.deleted_at = timezone.now()
self.save()
transaction_deleted.send(sender=self) # Emit signal for soft delete
else:
super().delete(*args, **kwargs)
result = super().delete(*args, **kwargs)
return result
else:
super().delete(*args, **kwargs)
# For hard delete mode
transaction_deleted.send(sender=self) # Emit signal before hard delete
return super().delete(*args, **kwargs)
def hard_delete(self, *args, **kwargs):
super().delete(*args, **kwargs)

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-08 15:04+0000\n"
"POT-Creation-Date: 2025-03-09 04:55+0000\n"
"PO-Revision-Date: 2025-03-02 02:08+0000\n"
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
"Language-Team: German <https://translations.herculino.com/projects/wygiwyh/"
@@ -26,8 +26,8 @@ msgstr "Gruppenname"
#: apps/accounts/forms.py:40 apps/accounts/forms.py:98
#: 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:45 apps/rules/forms.py:87
#: apps/rules/forms.py:359 apps/transactions/forms.py:202
#: 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:623
#: apps/transactions/forms.py:666 apps/transactions/forms.py:698
#: apps/transactions/forms.py:733 apps/transactions/forms.py:881
@@ -38,7 +38,7 @@ msgstr "Aktualisierung"
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: 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:53 apps/rules/forms.py:95 apps/rules/forms.py:367
#: 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:631 apps/transactions/forms.py:674
#: apps/transactions/forms.py:706 apps/transactions/forms.py:741
@@ -70,33 +70,33 @@ msgid "New balance"
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:168 apps/rules/forms.py:183
#: apps/rules/models.py:37 apps/rules/models.py:285
#: 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:508
#: apps/transactions/forms.py:765 apps/transactions/models.py:281
#: apps/transactions/models.py:460 apps/transactions/models.py:643
#: apps/transactions/forms.py:765 apps/transactions/models.py:302
#: apps/transactions/models.py:485 apps/transactions/models.py:668
#: templates/insights/fragments/category_overview/index.html:9
msgid "Category"
msgstr "Kategorie"
#: apps/accounts/forms.py:128 apps/dca/forms.py:101 apps/dca/forms.py:109
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
#: apps/rules/forms.py:171 apps/rules/forms.py:180 apps/rules/models.py:38
#: apps/rules/models.py:289 apps/transactions/filters.py:74
#: 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:501
#: apps/transactions/forms.py:758 apps/transactions/models.py:287
#: apps/transactions/models.py:462 apps/transactions/models.py:647
#: apps/transactions/forms.py:758 apps/transactions/models.py:308
#: apps/transactions/models.py:487 apps/transactions/models.py:672
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
#: templates/tags/pages/index.html:4
msgid "Tags"
msgstr "Tags"
#: apps/accounts/models.py:12 apps/accounts/models.py:28 apps/dca/models.py:13
#: apps/import_app/models.py:14 apps/rules/models.py:12
#: apps/transactions/models.py:177 apps/transactions/models.py:201
#: apps/transactions/models.py:224
#: apps/import_app/models.py:14 apps/rules/models.py:13
#: apps/transactions/models.py:198 apps/transactions/models.py:222
#: apps/transactions/models.py:245
#: templates/account_groups/fragments/list.html:25
#: templates/accounts/fragments/list.html:25
#: templates/categories/fragments/table.html:16
@@ -158,11 +158,11 @@ msgid "Archived accounts don't show up nor count towards your net worth"
msgstr ""
"Archivierte Konten werden weder angezeigt, noch zum Nettovermögen gezählt"
#: apps/accounts/models.py:69 apps/rules/forms.py:160 apps/rules/forms.py:173
#: apps/rules/models.py:29 apps/rules/models.py:241
#: apps/accounts/models.py:69 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:493
#: apps/transactions/forms.py:750 apps/transactions/models.py:254
#: apps/transactions/models.py:420 apps/transactions/models.py:625
#: apps/transactions/forms.py:750 apps/transactions/models.py:275
#: apps/transactions/models.py:445 apps/transactions/models.py:650
msgid "Account"
msgstr "Konto"
@@ -276,7 +276,7 @@ msgstr "Entität mit dieser ID existiert nicht."
msgid "Invalid entity data. Provide an ID or name."
msgstr "Ungültige Entitäts-Daten. Gib eine ID oder einen Namen an."
#: apps/api/serializers/transactions.py:170
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Entweder \"Datum\" oder \"Referenzdatum\" müssen angegeben werden."
@@ -451,10 +451,10 @@ msgstr "Präfix"
msgid "Suffix"
msgstr "Suffix"
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:163
#: apps/rules/forms.py:176 apps/rules/models.py:32 apps/rules/models.py:253
#: 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/models.py:264
#: apps/transactions/models.py:285
#: templates/dca/fragments/strategy/details.html:52
#: templates/exchange_rates/fragments/table.html:10
#: templates/exchange_rates_services/fragments/table.html:10
@@ -535,8 +535,8 @@ msgstr "Dienstname"
msgid "Service Type"
msgstr "Diensttyp"
#: apps/currencies/models.py:109 apps/transactions/models.py:181
#: apps/transactions/models.py:204 apps/transactions/models.py:227
#: apps/currencies/models.py:109 apps/transactions/models.py:202
#: apps/transactions/models.py:225 apps/transactions/models.py:248
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
#: templates/recurring_transactions/fragments/list.html:21
@@ -712,10 +712,10 @@ msgstr "Zielwährung"
msgid "Payment Currency"
msgstr "Startwährung"
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:167
#: apps/rules/forms.py:182 apps/rules/models.py:36 apps/rules/models.py:269
#: apps/transactions/forms.py:345 apps/transactions/models.py:277
#: apps/transactions/models.py:469 apps/transactions/models.py:653
#: 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:345 apps/transactions/models.py:298
#: apps/transactions/models.py:494 apps/transactions/models.py:678
msgid "Notes"
msgstr "Notizen"
@@ -776,7 +776,7 @@ msgid "Users"
msgstr ""
#: apps/export_app/forms.py:32 apps/export_app/forms.py:137
#: apps/transactions/models.py:338 templates/includes/navbar.html:57
#: apps/transactions/models.py:359 templates/includes/navbar.html:57
#: templates/includes/navbar.html:104
#: templates/recurring_transactions/fragments/list_transactions.html:5
#: templates/recurring_transactions/fragments/table.html:37
@@ -791,25 +791,25 @@ msgid "Categories"
msgstr "Kategorien"
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
#: apps/rules/forms.py:172 apps/rules/forms.py:181 apps/rules/models.py:39
#: apps/rules/models.py:281 apps/transactions/filters.py:81
#: 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:516
#: apps/transactions/forms.py:773 apps/transactions/models.py:238
#: apps/transactions/models.py:292 apps/transactions/models.py:465
#: apps/transactions/models.py:650 templates/entities/fragments/list.html:5
#: apps/transactions/forms.py:773 apps/transactions/models.py:259
#: apps/transactions/models.py:313 apps/transactions/models.py:490
#: apps/transactions/models.py:675 templates/entities/fragments/list.html:5
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
msgid "Entities"
msgstr "Entitäten"
#: apps/export_app/forms.py:56 apps/export_app/forms.py:140
#: apps/transactions/models.py:680 templates/includes/navbar.html:74
#: apps/transactions/models.py:705 templates/includes/navbar.html:74
#: templates/recurring_transactions/fragments/list.html:5
#: templates/recurring_transactions/pages/index.html:4
msgid "Recurring Transactions"
msgstr "Wiederkehrende Transaktionen"
#: apps/export_app/forms.py:62 apps/export_app/forms.py:138
#: apps/transactions/models.py:476 templates/includes/navbar.html:72
#: apps/transactions/models.py:501 templates/includes/navbar.html:72
#: templates/installment_plans/fragments/list.html:5
#: templates/installment_plans/pages/index.html:4
msgid "Installment Plans"
@@ -850,15 +850,15 @@ msgstr "Eine ZIP-Datei importieren, die von WYGIWYH exportiert wurde"
msgid "ZIP File"
msgstr "ZIP-Datei"
#: apps/export_app/forms.py:146 apps/rules/models.py:21
#: apps/export_app/forms.py:146 apps/rules/models.py:22
msgid "Transaction rules"
msgstr "Transaktions-Regeln"
#: apps/export_app/forms.py:148 apps/rules/models.py:58
#: apps/export_app/forms.py:148 apps/rules/models.py:59
msgid "Edit transaction action"
msgstr "Aktion der Transaktions-Regel bearbeiten"
#: apps/export_app/forms.py:151 apps/rules/models.py:295
#: apps/export_app/forms.py:151 apps/rules/models.py:296
msgid "Update or create transaction actions"
msgstr "Aktualisierung oder Erstellung von Transaktions-Aktionen"
@@ -1009,157 +1009,163 @@ msgstr "Erwartete Ausgaben"
msgid "Saved"
msgstr "Gespeichert"
#: apps/rules/forms.py:20
#: apps/rules/forms.py:21
msgid "Run on creation"
msgstr "Starten bei Erstellung"
#: apps/rules/forms.py:21
#: apps/rules/forms.py:22
msgid "Run on update"
msgstr "Starten bei Aktualisierung"
#: apps/rules/forms.py:22
#: apps/rules/forms.py:23
#, fuzzy
#| msgid "Run on update"
msgid "Run on delete"
msgstr "Starten bei Aktualisierung"
#: apps/rules/forms.py:24
msgid "If..."
msgstr "Falls..."
#: apps/rules/forms.py:64
#: apps/rules/forms.py:70
msgid "Set field"
msgstr "Setze Feld"
#: apps/rules/forms.py:65 templates/insights/fragments/sankey.html:94
#: apps/rules/forms.py:71 templates/insights/fragments/sankey.html:94
msgid "To"
msgstr "Zu"
#: apps/rules/forms.py:115
#: apps/rules/forms.py:121
msgid "A value for this field already exists in the rule."
msgstr "Ein Wert für dieses Feld existiert bereits in dieser Regel."
#: apps/rules/forms.py:147 apps/rules/forms.py:148 apps/rules/forms.py:149
#: apps/rules/forms.py:150 apps/rules/forms.py:151 apps/rules/forms.py:152
#: apps/rules/forms.py:153 apps/rules/forms.py:154 apps/rules/forms.py:155
#: apps/rules/forms.py:156 apps/rules/forms.py:157 apps/rules/forms.py:158
#: apps/rules/forms.py:159
#: apps/rules/forms.py:159 apps/rules/forms.py:160 apps/rules/forms.py:161
#: apps/rules/forms.py:162 apps/rules/forms.py:163 apps/rules/forms.py:164
#: apps/rules/forms.py:165
msgid "Operator"
msgstr "Bediener"
#: apps/rules/forms.py:161 apps/rules/forms.py:174 apps/rules/models.py:30
#: apps/rules/models.py:245 apps/transactions/models.py:261
#: apps/transactions/models.py:425 apps/transactions/models.py:631
#: apps/rules/forms.py:167 apps/rules/forms.py:180 apps/rules/models.py:31
#: apps/rules/models.py:246 apps/transactions/models.py:282
#: apps/transactions/models.py:450 apps/transactions/models.py:656
msgid "Type"
msgstr "Typ"
#: apps/rules/forms.py:162 apps/rules/forms.py:175 apps/rules/models.py:31
#: apps/rules/models.py:249 apps/transactions/filters.py:23
#: apps/transactions/models.py:263 templates/cotton/transaction/item.html:21
#: apps/rules/forms.py:168 apps/rules/forms.py:181 apps/rules/models.py:32
#: apps/rules/models.py:250 apps/transactions/filters.py:23
#: apps/transactions/models.py:284 templates/cotton/transaction/item.html:21
#: templates/cotton/transaction/item.html:31
#: templates/transactions/widgets/paid_toggle_button.html:12
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:16
msgid "Paid"
msgstr "Bezahlt"
#: apps/rules/forms.py:164 apps/rules/forms.py:177 apps/rules/models.py:33
#: apps/rules/models.py:257 apps/transactions/forms.py:68
#: 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:522
#: apps/transactions/models.py:265 apps/transactions/models.py:443
#: apps/transactions/models.py:655
#: apps/transactions/models.py:286 apps/transactions/models.py:468
#: apps/transactions/models.py:680
msgid "Reference Date"
msgstr "Referenzdatum"
#: apps/rules/forms.py:165 apps/rules/forms.py:178 apps/rules/models.py:34
#: apps/rules/models.py:261 apps/transactions/models.py:270
#: apps/transactions/models.py:636 templates/insights/fragments/sankey.html:95
#: apps/rules/forms.py:171 apps/rules/forms.py:184 apps/rules/models.py:35
#: apps/rules/models.py:262 apps/transactions/models.py:291
#: apps/transactions/models.py:661 templates/insights/fragments/sankey.html:95
msgid "Amount"
msgstr "Betrag"
#: apps/rules/forms.py:166 apps/rules/forms.py:179 apps/rules/models.py:13
#: apps/rules/models.py:35 apps/rules/models.py:265
#: apps/transactions/forms.py:337 apps/transactions/models.py:275
#: apps/transactions/models.py:427 apps/transactions/models.py:639
#: 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:337 apps/transactions/models.py:296
#: apps/transactions/models.py:452 apps/transactions/models.py:664
msgid "Description"
msgstr "Beschreibung"
#: apps/rules/forms.py:169 apps/rules/forms.py:184 apps/rules/models.py:273
#: apps/transactions/models.py:314
#: apps/rules/forms.py:175 apps/rules/forms.py:190 apps/rules/models.py:274
#: apps/transactions/models.py:335
msgid "Internal Note"
msgstr "Interne Notiz"
#: apps/rules/forms.py:170 apps/rules/forms.py:185 apps/rules/models.py:277
#: apps/transactions/models.py:316
#: apps/rules/forms.py:176 apps/rules/forms.py:191 apps/rules/models.py:278
#: apps/transactions/models.py:337
msgid "Internal ID"
msgstr "Interne ID"
#: apps/rules/forms.py:199
#: apps/rules/forms.py:205
msgid "Search Criteria"
msgstr "Suchkriterien"
#: apps/rules/forms.py:334
#: apps/rules/forms.py:340
msgid "Set Values"
msgstr "Wert setzen"
#: apps/rules/models.py:14
#: apps/rules/models.py:15
msgid "Trigger"
msgstr "Auslöser"
#: apps/rules/models.py:20
#: apps/rules/models.py:21
msgid "Transaction rule"
msgstr "Transaktions-Regel"
#: apps/rules/models.py:45 apps/rules/models.py:83
#: apps/rules/models.py:46 apps/rules/models.py:84
msgid "Rule"
msgstr "Regel"
#: apps/rules/models.py:50
#: apps/rules/models.py:51
msgid "Field"
msgstr "Feld"
#: apps/rules/models.py:52
#: apps/rules/models.py:53
msgid "Value"
msgstr "Wert"
#: apps/rules/models.py:59
#: apps/rules/models.py:60
msgid "Edit transaction actions"
msgstr "Transaktions-Aktion bearbeiten"
#: apps/rules/models.py:69
#: apps/rules/models.py:70
msgid "is exactly"
msgstr "ist exakt"
#: apps/rules/models.py:70
#: apps/rules/models.py:71
msgid "contains"
msgstr "enthält"
#: apps/rules/models.py:71
#: apps/rules/models.py:72
msgid "starts with"
msgstr "beginnt mit"
#: apps/rules/models.py:72
#: apps/rules/models.py:73
msgid "ends with"
msgstr "endet mit"
#: apps/rules/models.py:73
#: apps/rules/models.py:74
msgid "equals"
msgstr "gleich"
#: apps/rules/models.py:74
#: apps/rules/models.py:75
msgid "greater than"
msgstr "größer als"
#: apps/rules/models.py:75
#: apps/rules/models.py:76
msgid "less than"
msgstr "kleiner als"
#: apps/rules/models.py:76
#: apps/rules/models.py:77
msgid "greater than or equal"
msgstr "größer als oder gleich"
#: apps/rules/models.py:77
#: apps/rules/models.py:78
msgid "less than or equal"
msgstr "kleiner als oder gleich"
#: apps/rules/models.py:87 templates/transactions/pages/transactions.html:15
#: apps/rules/models.py:88 templates/transactions/pages/transactions.html:15
msgid "Filter"
msgstr "Filter"
#: apps/rules/models.py:90
#: apps/rules/models.py:91
msgid ""
"Generic expression to enable or disable execution. Should evaluate to True "
"or False"
@@ -1167,7 +1173,7 @@ msgstr ""
"Allgemeiner Ausdruck um die Ausführung zu aktivieren oder zu deaktivieren. "
"Sollte zu Wahr oder Falsch ausgewertet werden"
#: apps/rules/models.py:294
#: apps/rules/models.py:295
msgid "Update or create transaction action"
msgstr "Transaktions-Aktion aktualisieren oder erstellen"
@@ -1288,11 +1294,11 @@ msgstr "Ausgeblendete Kategorien zählen nicht zu deiner Monatsübersicht"
msgid "End date should be after the start date"
msgstr "Enddatum sollte hinter dem Startdatum liegen"
#: apps/transactions/models.py:178
#: apps/transactions/models.py:199
msgid "Mute"
msgstr "Deaktivieren"
#: apps/transactions/models.py:183
#: apps/transactions/models.py:204
msgid ""
"Deactivated categories won't be able to be selected when creating new "
"transactions"
@@ -1300,26 +1306,26 @@ msgstr ""
"Ausgeblendete Kategorien können bei der Erstellung neuer Transaktionen nicht "
"ausgewählt werden"
#: apps/transactions/models.py:191
#: apps/transactions/models.py:212
msgid "Transaction Category"
msgstr "Transaktionskategorie"
#: apps/transactions/models.py:192
#: apps/transactions/models.py:213
msgid "Transaction Categories"
msgstr "Transaktionskategorien"
#: apps/transactions/models.py:206
#: apps/transactions/models.py:227
msgid ""
"Deactivated tags won't be able to be selected when creating new transactions"
msgstr ""
"Deaktivierte Tags können bei der Erstellung neuer Transaktionen nicht "
"ausgewählt werden"
#: apps/transactions/models.py:214 apps/transactions/models.py:215
#: apps/transactions/models.py:235 apps/transactions/models.py:236
msgid "Transaction Tags"
msgstr "Tranksaktionstags"
#: apps/transactions/models.py:229
#: apps/transactions/models.py:250
msgid ""
"Deactivated entities won't be able to be selected when creating new "
"transactions"
@@ -1327,11 +1333,11 @@ msgstr ""
"Deaktivierte Entitäten können bei der Erstellung neuer Transaktionen nicht "
"ausgewählt werden"
#: apps/transactions/models.py:237
#: apps/transactions/models.py:258
msgid "Entity"
msgstr "Entität"
#: apps/transactions/models.py:248
#: apps/transactions/models.py:269
#: templates/calendar_view/fragments/list.html:42
#: templates/calendar_view/fragments/list.html:44
#: templates/calendar_view/fragments/list.html:52
@@ -1342,7 +1348,7 @@ msgstr "Entität"
msgid "Income"
msgstr "Einnahme"
#: apps/transactions/models.py:249
#: apps/transactions/models.py:270
#: templates/calendar_view/fragments/list.html:46
#: templates/calendar_view/fragments/list.html:48
#: templates/calendar_view/fragments/list.html:56
@@ -1352,118 +1358,118 @@ msgstr "Einnahme"
msgid "Expense"
msgstr "Ausgabe"
#: apps/transactions/models.py:303 apps/transactions/models.py:475
#: apps/transactions/models.py:324 apps/transactions/models.py:500
msgid "Installment Plan"
msgstr "Ratenzahlungs-Plan"
#: apps/transactions/models.py:312 apps/transactions/models.py:679
#: apps/transactions/models.py:333 apps/transactions/models.py:704
msgid "Recurring Transaction"
msgstr "Wiederkehrende Transaktion"
#: apps/transactions/models.py:320
#: apps/transactions/models.py:341
msgid "Deleted"
msgstr "Gelöscht"
#: apps/transactions/models.py:325
#: apps/transactions/models.py:346
msgid "Deleted At"
msgstr "Gelöscht am"
#: apps/transactions/models.py:337
#: apps/transactions/models.py:358
msgid "Transaction"
msgstr "Transaktion"
#: apps/transactions/models.py:405 templates/tags/fragments/table.html:71
#: apps/transactions/models.py:430 templates/tags/fragments/table.html:71
msgid "No tags"
msgstr "Keine Tags"
#: apps/transactions/models.py:406
#: apps/transactions/models.py:431
msgid "No category"
msgstr "Keine Kategorie"
#: apps/transactions/models.py:408
#: apps/transactions/models.py:433
msgid "No description"
msgstr "Keine Beschreibung"
#: apps/transactions/models.py:414
#: apps/transactions/models.py:439
msgid "Yearly"
msgstr "Jährlich"
#: apps/transactions/models.py:415 apps/users/models.py:26
#: apps/transactions/models.py:440 apps/users/models.py:26
#: templates/includes/navbar.html:26
msgid "Monthly"
msgstr "Monatlich"
#: apps/transactions/models.py:416
#: apps/transactions/models.py:441
msgid "Weekly"
msgstr "Wöchentlich"
#: apps/transactions/models.py:417
#: apps/transactions/models.py:442
msgid "Daily"
msgstr "Täglich"
#: apps/transactions/models.py:430
#: apps/transactions/models.py:455
msgid "Number of Installments"
msgstr "Anzahl von Ratenzahlungen"
#: apps/transactions/models.py:435
#: apps/transactions/models.py:460
msgid "Installment Start"
msgstr "Start der Ratenzahlung"
#: apps/transactions/models.py:436
#: apps/transactions/models.py:461
msgid "The installment number to start counting from"
msgstr ""
"Die Zahl mit der bei der Zählung der Ratenzahlungen begonnen werden soll"
#: apps/transactions/models.py:441 apps/transactions/models.py:659
#: apps/transactions/models.py:466 apps/transactions/models.py:684
msgid "Start Date"
msgstr "Startdatum"
#: apps/transactions/models.py:445 apps/transactions/models.py:660
#: apps/transactions/models.py:470 apps/transactions/models.py:685
msgid "End Date"
msgstr "Enddatum"
#: apps/transactions/models.py:450
#: apps/transactions/models.py:475
msgid "Recurrence"
msgstr "Regelmäßigkeit"
#: apps/transactions/models.py:453
#: apps/transactions/models.py:478
msgid "Installment Amount"
msgstr "Ratenzahlungs-Wert"
#: apps/transactions/models.py:618
#: apps/transactions/models.py:643
msgid "day(s)"
msgstr "Tag(e)"
#: apps/transactions/models.py:619
#: apps/transactions/models.py:644
msgid "week(s)"
msgstr "Woche(n)"
#: apps/transactions/models.py:620
#: apps/transactions/models.py:645
msgid "month(s)"
msgstr "Monat(e)"
#: apps/transactions/models.py:621
#: apps/transactions/models.py:646
msgid "year(s)"
msgstr "Jahr(e)"
#: apps/transactions/models.py:623
#: apps/transactions/models.py:648
#: templates/recurring_transactions/fragments/list.html:24
msgid "Paused"
msgstr "Pausiert"
#: apps/transactions/models.py:662
#: apps/transactions/models.py:687
msgid "Recurrence Type"
msgstr "Regelmäßigkeit"
#: apps/transactions/models.py:665
#: apps/transactions/models.py:690
msgid "Recurrence Interval"
msgstr "Wiederholungsintervall"
#: apps/transactions/models.py:669
#: apps/transactions/models.py:694
msgid "Last Generated Date"
msgstr "Letztes generiertes Datum"
#: apps/transactions/models.py:672
#: apps/transactions/models.py:697
msgid "Last Generated Reference Date"
msgstr "Letztes generiertes Referenzdatum"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-08 15:04+0000\n"
"POT-Creation-Date: 2025-03-09 04:55+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"
@@ -25,8 +25,8 @@ msgstr ""
#: apps/accounts/forms.py:40 apps/accounts/forms.py:98
#: 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:45 apps/rules/forms.py:87
#: apps/rules/forms.py:359 apps/transactions/forms.py:202
#: 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:623
#: apps/transactions/forms.py:666 apps/transactions/forms.py:698
#: apps/transactions/forms.py:733 apps/transactions/forms.py:881
@@ -37,7 +37,7 @@ msgstr ""
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: 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:53 apps/rules/forms.py:95 apps/rules/forms.py:367
#: 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:631 apps/transactions/forms.py:674
#: apps/transactions/forms.py:706 apps/transactions/forms.py:741
@@ -69,33 +69,33 @@ msgid "New balance"
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:168 apps/rules/forms.py:183
#: apps/rules/models.py:37 apps/rules/models.py:285
#: 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:508
#: apps/transactions/forms.py:765 apps/transactions/models.py:281
#: apps/transactions/models.py:460 apps/transactions/models.py:643
#: apps/transactions/forms.py:765 apps/transactions/models.py:302
#: apps/transactions/models.py:485 apps/transactions/models.py:668
#: templates/insights/fragments/category_overview/index.html:9
msgid "Category"
msgstr ""
#: apps/accounts/forms.py:128 apps/dca/forms.py:101 apps/dca/forms.py:109
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
#: apps/rules/forms.py:171 apps/rules/forms.py:180 apps/rules/models.py:38
#: apps/rules/models.py:289 apps/transactions/filters.py:74
#: 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:501
#: apps/transactions/forms.py:758 apps/transactions/models.py:287
#: apps/transactions/models.py:462 apps/transactions/models.py:647
#: apps/transactions/forms.py:758 apps/transactions/models.py:308
#: apps/transactions/models.py:487 apps/transactions/models.py:672
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
#: templates/tags/pages/index.html:4
msgid "Tags"
msgstr ""
#: apps/accounts/models.py:12 apps/accounts/models.py:28 apps/dca/models.py:13
#: apps/import_app/models.py:14 apps/rules/models.py:12
#: apps/transactions/models.py:177 apps/transactions/models.py:201
#: apps/transactions/models.py:224
#: apps/import_app/models.py:14 apps/rules/models.py:13
#: apps/transactions/models.py:198 apps/transactions/models.py:222
#: apps/transactions/models.py:245
#: templates/account_groups/fragments/list.html:25
#: templates/accounts/fragments/list.html:25
#: templates/categories/fragments/table.html:16
@@ -154,11 +154,11 @@ msgstr ""
msgid "Archived accounts don't show up nor count towards your net worth"
msgstr ""
#: apps/accounts/models.py:69 apps/rules/forms.py:160 apps/rules/forms.py:173
#: apps/rules/models.py:29 apps/rules/models.py:241
#: apps/accounts/models.py:69 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:493
#: apps/transactions/forms.py:750 apps/transactions/models.py:254
#: apps/transactions/models.py:420 apps/transactions/models.py:625
#: apps/transactions/forms.py:750 apps/transactions/models.py:275
#: apps/transactions/models.py:445 apps/transactions/models.py:650
msgid "Account"
msgstr ""
@@ -266,7 +266,7 @@ msgstr ""
msgid "Invalid entity data. Provide an ID or name."
msgstr ""
#: apps/api/serializers/transactions.py:170
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr ""
@@ -439,10 +439,10 @@ msgstr ""
msgid "Suffix"
msgstr ""
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:163
#: apps/rules/forms.py:176 apps/rules/models.py:32 apps/rules/models.py:253
#: 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/models.py:264
#: apps/transactions/models.py:285
#: templates/dca/fragments/strategy/details.html:52
#: templates/exchange_rates/fragments/table.html:10
#: templates/exchange_rates_services/fragments/table.html:10
@@ -523,8 +523,8 @@ msgstr ""
msgid "Service Type"
msgstr ""
#: apps/currencies/models.py:109 apps/transactions/models.py:181
#: apps/transactions/models.py:204 apps/transactions/models.py:227
#: apps/currencies/models.py:109 apps/transactions/models.py:202
#: apps/transactions/models.py:225 apps/transactions/models.py:248
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
#: templates/recurring_transactions/fragments/list.html:21
@@ -690,10 +690,10 @@ msgstr ""
msgid "Payment Currency"
msgstr ""
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:167
#: apps/rules/forms.py:182 apps/rules/models.py:36 apps/rules/models.py:269
#: apps/transactions/forms.py:345 apps/transactions/models.py:277
#: apps/transactions/models.py:469 apps/transactions/models.py:653
#: 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:345 apps/transactions/models.py:298
#: apps/transactions/models.py:494 apps/transactions/models.py:678
msgid "Notes"
msgstr ""
@@ -754,7 +754,7 @@ msgid "Users"
msgstr ""
#: apps/export_app/forms.py:32 apps/export_app/forms.py:137
#: apps/transactions/models.py:338 templates/includes/navbar.html:57
#: apps/transactions/models.py:359 templates/includes/navbar.html:57
#: templates/includes/navbar.html:104
#: templates/recurring_transactions/fragments/list_transactions.html:5
#: templates/recurring_transactions/fragments/table.html:37
@@ -769,25 +769,25 @@ msgid "Categories"
msgstr ""
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
#: apps/rules/forms.py:172 apps/rules/forms.py:181 apps/rules/models.py:39
#: apps/rules/models.py:281 apps/transactions/filters.py:81
#: 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:516
#: apps/transactions/forms.py:773 apps/transactions/models.py:238
#: apps/transactions/models.py:292 apps/transactions/models.py:465
#: apps/transactions/models.py:650 templates/entities/fragments/list.html:5
#: apps/transactions/forms.py:773 apps/transactions/models.py:259
#: apps/transactions/models.py:313 apps/transactions/models.py:490
#: apps/transactions/models.py:675 templates/entities/fragments/list.html:5
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
msgid "Entities"
msgstr ""
#: apps/export_app/forms.py:56 apps/export_app/forms.py:140
#: apps/transactions/models.py:680 templates/includes/navbar.html:74
#: apps/transactions/models.py:705 templates/includes/navbar.html:74
#: templates/recurring_transactions/fragments/list.html:5
#: templates/recurring_transactions/pages/index.html:4
msgid "Recurring Transactions"
msgstr ""
#: apps/export_app/forms.py:62 apps/export_app/forms.py:138
#: apps/transactions/models.py:476 templates/includes/navbar.html:72
#: apps/transactions/models.py:501 templates/includes/navbar.html:72
#: templates/installment_plans/fragments/list.html:5
#: templates/installment_plans/pages/index.html:4
msgid "Installment Plans"
@@ -828,15 +828,15 @@ msgstr ""
msgid "ZIP File"
msgstr ""
#: apps/export_app/forms.py:146 apps/rules/models.py:21
#: apps/export_app/forms.py:146 apps/rules/models.py:22
msgid "Transaction rules"
msgstr ""
#: apps/export_app/forms.py:148 apps/rules/models.py:58
#: apps/export_app/forms.py:148 apps/rules/models.py:59
msgid "Edit transaction action"
msgstr ""
#: apps/export_app/forms.py:151 apps/rules/models.py:295
#: apps/export_app/forms.py:151 apps/rules/models.py:296
msgid "Update or create transaction actions"
msgstr ""
@@ -985,163 +985,167 @@ msgstr ""
msgid "Saved"
msgstr ""
#: apps/rules/forms.py:20
#: apps/rules/forms.py:21
msgid "Run on creation"
msgstr ""
#: apps/rules/forms.py:21
#: apps/rules/forms.py:22
msgid "Run on update"
msgstr ""
#: apps/rules/forms.py:22
#: apps/rules/forms.py:23
msgid "Run on delete"
msgstr ""
#: apps/rules/forms.py:24
msgid "If..."
msgstr ""
#: apps/rules/forms.py:64
#: apps/rules/forms.py:70
msgid "Set field"
msgstr ""
#: apps/rules/forms.py:65 templates/insights/fragments/sankey.html:94
#: apps/rules/forms.py:71 templates/insights/fragments/sankey.html:94
msgid "To"
msgstr ""
#: apps/rules/forms.py:115
#: apps/rules/forms.py:121
msgid "A value for this field already exists in the rule."
msgstr ""
#: apps/rules/forms.py:147 apps/rules/forms.py:148 apps/rules/forms.py:149
#: apps/rules/forms.py:150 apps/rules/forms.py:151 apps/rules/forms.py:152
#: apps/rules/forms.py:153 apps/rules/forms.py:154 apps/rules/forms.py:155
#: apps/rules/forms.py:156 apps/rules/forms.py:157 apps/rules/forms.py:158
#: apps/rules/forms.py:159
#: apps/rules/forms.py:159 apps/rules/forms.py:160 apps/rules/forms.py:161
#: apps/rules/forms.py:162 apps/rules/forms.py:163 apps/rules/forms.py:164
#: apps/rules/forms.py:165
msgid "Operator"
msgstr ""
#: apps/rules/forms.py:161 apps/rules/forms.py:174 apps/rules/models.py:30
#: apps/rules/models.py:245 apps/transactions/models.py:261
#: apps/transactions/models.py:425 apps/transactions/models.py:631
#: apps/rules/forms.py:167 apps/rules/forms.py:180 apps/rules/models.py:31
#: apps/rules/models.py:246 apps/transactions/models.py:282
#: apps/transactions/models.py:450 apps/transactions/models.py:656
msgid "Type"
msgstr ""
#: apps/rules/forms.py:162 apps/rules/forms.py:175 apps/rules/models.py:31
#: apps/rules/models.py:249 apps/transactions/filters.py:23
#: apps/transactions/models.py:263 templates/cotton/transaction/item.html:21
#: apps/rules/forms.py:168 apps/rules/forms.py:181 apps/rules/models.py:32
#: apps/rules/models.py:250 apps/transactions/filters.py:23
#: apps/transactions/models.py:284 templates/cotton/transaction/item.html:21
#: templates/cotton/transaction/item.html:31
#: templates/transactions/widgets/paid_toggle_button.html:12
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:16
msgid "Paid"
msgstr ""
#: apps/rules/forms.py:164 apps/rules/forms.py:177 apps/rules/models.py:33
#: apps/rules/models.py:257 apps/transactions/forms.py:68
#: 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:522
#: apps/transactions/models.py:265 apps/transactions/models.py:443
#: apps/transactions/models.py:655
#: apps/transactions/models.py:286 apps/transactions/models.py:468
#: apps/transactions/models.py:680
msgid "Reference Date"
msgstr ""
#: apps/rules/forms.py:165 apps/rules/forms.py:178 apps/rules/models.py:34
#: apps/rules/models.py:261 apps/transactions/models.py:270
#: apps/transactions/models.py:636 templates/insights/fragments/sankey.html:95
#: apps/rules/forms.py:171 apps/rules/forms.py:184 apps/rules/models.py:35
#: apps/rules/models.py:262 apps/transactions/models.py:291
#: apps/transactions/models.py:661 templates/insights/fragments/sankey.html:95
msgid "Amount"
msgstr ""
#: apps/rules/forms.py:166 apps/rules/forms.py:179 apps/rules/models.py:13
#: apps/rules/models.py:35 apps/rules/models.py:265
#: apps/transactions/forms.py:337 apps/transactions/models.py:275
#: apps/transactions/models.py:427 apps/transactions/models.py:639
#: 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:337 apps/transactions/models.py:296
#: apps/transactions/models.py:452 apps/transactions/models.py:664
msgid "Description"
msgstr ""
#: apps/rules/forms.py:169 apps/rules/forms.py:184 apps/rules/models.py:273
#: apps/transactions/models.py:314
#: apps/rules/forms.py:175 apps/rules/forms.py:190 apps/rules/models.py:274
#: apps/transactions/models.py:335
msgid "Internal Note"
msgstr ""
#: apps/rules/forms.py:170 apps/rules/forms.py:185 apps/rules/models.py:277
#: apps/transactions/models.py:316
#: apps/rules/forms.py:176 apps/rules/forms.py:191 apps/rules/models.py:278
#: apps/transactions/models.py:337
msgid "Internal ID"
msgstr ""
#: apps/rules/forms.py:199
#: apps/rules/forms.py:205
msgid "Search Criteria"
msgstr ""
#: apps/rules/forms.py:334
#: apps/rules/forms.py:340
msgid "Set Values"
msgstr ""
#: apps/rules/models.py:14
#: apps/rules/models.py:15
msgid "Trigger"
msgstr ""
#: apps/rules/models.py:20
#: apps/rules/models.py:21
msgid "Transaction rule"
msgstr ""
#: apps/rules/models.py:45 apps/rules/models.py:83
#: apps/rules/models.py:46 apps/rules/models.py:84
msgid "Rule"
msgstr ""
#: apps/rules/models.py:50
#: apps/rules/models.py:51
msgid "Field"
msgstr ""
#: apps/rules/models.py:52
#: apps/rules/models.py:53
msgid "Value"
msgstr ""
#: apps/rules/models.py:59
#: apps/rules/models.py:60
msgid "Edit transaction actions"
msgstr ""
#: apps/rules/models.py:69
#: apps/rules/models.py:70
msgid "is exactly"
msgstr ""
#: apps/rules/models.py:70
#: apps/rules/models.py:71
msgid "contains"
msgstr ""
#: apps/rules/models.py:71
#: apps/rules/models.py:72
msgid "starts with"
msgstr ""
#: apps/rules/models.py:72
#: apps/rules/models.py:73
msgid "ends with"
msgstr ""
#: apps/rules/models.py:73
#: apps/rules/models.py:74
msgid "equals"
msgstr ""
#: apps/rules/models.py:74
#: apps/rules/models.py:75
msgid "greater than"
msgstr ""
#: apps/rules/models.py:75
#: apps/rules/models.py:76
msgid "less than"
msgstr ""
#: apps/rules/models.py:76
#: apps/rules/models.py:77
msgid "greater than or equal"
msgstr ""
#: apps/rules/models.py:77
#: apps/rules/models.py:78
msgid "less than or equal"
msgstr ""
#: apps/rules/models.py:87 templates/transactions/pages/transactions.html:15
#: apps/rules/models.py:88 templates/transactions/pages/transactions.html:15
msgid "Filter"
msgstr ""
#: apps/rules/models.py:90
#: apps/rules/models.py:91
msgid ""
"Generic expression to enable or disable execution. Should evaluate to True "
"or False"
msgstr ""
#: apps/rules/models.py:294
#: apps/rules/models.py:295
msgid "Update or create transaction action"
msgstr ""
@@ -1257,44 +1261,44 @@ msgstr ""
msgid "End date should be after the start date"
msgstr ""
#: apps/transactions/models.py:178
#: apps/transactions/models.py:199
msgid "Mute"
msgstr ""
#: apps/transactions/models.py:183
#: apps/transactions/models.py:204
msgid ""
"Deactivated categories won't be able to be selected when creating new "
"transactions"
msgstr ""
#: apps/transactions/models.py:191
#: apps/transactions/models.py:212
msgid "Transaction Category"
msgstr ""
#: apps/transactions/models.py:192
#: apps/transactions/models.py:213
msgid "Transaction Categories"
msgstr ""
#: apps/transactions/models.py:206
#: apps/transactions/models.py:227
msgid ""
"Deactivated tags won't be able to be selected when creating new transactions"
msgstr ""
#: apps/transactions/models.py:214 apps/transactions/models.py:215
#: apps/transactions/models.py:235 apps/transactions/models.py:236
msgid "Transaction Tags"
msgstr ""
#: apps/transactions/models.py:229
#: apps/transactions/models.py:250
msgid ""
"Deactivated entities won't be able to be selected when creating new "
"transactions"
msgstr ""
#: apps/transactions/models.py:237
#: apps/transactions/models.py:258
msgid "Entity"
msgstr ""
#: apps/transactions/models.py:248
#: apps/transactions/models.py:269
#: templates/calendar_view/fragments/list.html:42
#: templates/calendar_view/fragments/list.html:44
#: templates/calendar_view/fragments/list.html:52
@@ -1305,7 +1309,7 @@ msgstr ""
msgid "Income"
msgstr ""
#: apps/transactions/models.py:249
#: apps/transactions/models.py:270
#: templates/calendar_view/fragments/list.html:46
#: templates/calendar_view/fragments/list.html:48
#: templates/calendar_view/fragments/list.html:56
@@ -1315,117 +1319,117 @@ msgstr ""
msgid "Expense"
msgstr ""
#: apps/transactions/models.py:303 apps/transactions/models.py:475
#: apps/transactions/models.py:324 apps/transactions/models.py:500
msgid "Installment Plan"
msgstr ""
#: apps/transactions/models.py:312 apps/transactions/models.py:679
#: apps/transactions/models.py:333 apps/transactions/models.py:704
msgid "Recurring Transaction"
msgstr ""
#: apps/transactions/models.py:320
#: apps/transactions/models.py:341
msgid "Deleted"
msgstr ""
#: apps/transactions/models.py:325
#: apps/transactions/models.py:346
msgid "Deleted At"
msgstr ""
#: apps/transactions/models.py:337
#: apps/transactions/models.py:358
msgid "Transaction"
msgstr ""
#: apps/transactions/models.py:405 templates/tags/fragments/table.html:71
#: apps/transactions/models.py:430 templates/tags/fragments/table.html:71
msgid "No tags"
msgstr ""
#: apps/transactions/models.py:406
#: apps/transactions/models.py:431
msgid "No category"
msgstr ""
#: apps/transactions/models.py:408
#: apps/transactions/models.py:433
msgid "No description"
msgstr ""
#: apps/transactions/models.py:414
#: apps/transactions/models.py:439
msgid "Yearly"
msgstr ""
#: apps/transactions/models.py:415 apps/users/models.py:26
#: apps/transactions/models.py:440 apps/users/models.py:26
#: templates/includes/navbar.html:26
msgid "Monthly"
msgstr ""
#: apps/transactions/models.py:416
#: apps/transactions/models.py:441
msgid "Weekly"
msgstr ""
#: apps/transactions/models.py:417
#: apps/transactions/models.py:442
msgid "Daily"
msgstr ""
#: apps/transactions/models.py:430
#: apps/transactions/models.py:455
msgid "Number of Installments"
msgstr ""
#: apps/transactions/models.py:435
#: apps/transactions/models.py:460
msgid "Installment Start"
msgstr ""
#: apps/transactions/models.py:436
#: apps/transactions/models.py:461
msgid "The installment number to start counting from"
msgstr ""
#: apps/transactions/models.py:441 apps/transactions/models.py:659
#: apps/transactions/models.py:466 apps/transactions/models.py:684
msgid "Start Date"
msgstr ""
#: apps/transactions/models.py:445 apps/transactions/models.py:660
#: apps/transactions/models.py:470 apps/transactions/models.py:685
msgid "End Date"
msgstr ""
#: apps/transactions/models.py:450
#: apps/transactions/models.py:475
msgid "Recurrence"
msgstr ""
#: apps/transactions/models.py:453
#: apps/transactions/models.py:478
msgid "Installment Amount"
msgstr ""
#: apps/transactions/models.py:618
#: apps/transactions/models.py:643
msgid "day(s)"
msgstr ""
#: apps/transactions/models.py:619
#: apps/transactions/models.py:644
msgid "week(s)"
msgstr ""
#: apps/transactions/models.py:620
#: apps/transactions/models.py:645
msgid "month(s)"
msgstr ""
#: apps/transactions/models.py:621
#: apps/transactions/models.py:646
msgid "year(s)"
msgstr ""
#: apps/transactions/models.py:623
#: apps/transactions/models.py:648
#: templates/recurring_transactions/fragments/list.html:24
msgid "Paused"
msgstr ""
#: apps/transactions/models.py:662
#: apps/transactions/models.py:687
msgid "Recurrence Type"
msgstr ""
#: apps/transactions/models.py:665
#: apps/transactions/models.py:690
msgid "Recurrence Interval"
msgstr ""
#: apps/transactions/models.py:669
#: apps/transactions/models.py:694
msgid "Last Generated Date"
msgstr ""
#: apps/transactions/models.py:672
#: apps/transactions/models.py:697
msgid "Last Generated Reference Date"
msgstr ""

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-08 15:04+0000\n"
"POT-Creation-Date: 2025-03-09 04:55+0000\n"
"PO-Revision-Date: 2025-03-04 06:28+0000\n"
"Last-Translator: Dimitri Decrock <dj.flashpower@gmail.com>\n"
"Language-Team: Dutch <https://translations.herculino.com/projects/wygiwyh/"
@@ -26,8 +26,8 @@ msgstr "Groepsnaam"
#: apps/accounts/forms.py:40 apps/accounts/forms.py:98
#: 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:45 apps/rules/forms.py:87
#: apps/rules/forms.py:359 apps/transactions/forms.py:202
#: 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:623
#: apps/transactions/forms.py:666 apps/transactions/forms.py:698
#: apps/transactions/forms.py:733 apps/transactions/forms.py:881
@@ -38,7 +38,7 @@ msgstr "Bijwerken"
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: 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:53 apps/rules/forms.py:95 apps/rules/forms.py:367
#: 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:631 apps/transactions/forms.py:674
#: apps/transactions/forms.py:706 apps/transactions/forms.py:741
@@ -70,33 +70,33 @@ msgid "New balance"
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:168 apps/rules/forms.py:183
#: apps/rules/models.py:37 apps/rules/models.py:285
#: 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:508
#: apps/transactions/forms.py:765 apps/transactions/models.py:281
#: apps/transactions/models.py:460 apps/transactions/models.py:643
#: apps/transactions/forms.py:765 apps/transactions/models.py:302
#: apps/transactions/models.py:485 apps/transactions/models.py:668
#: templates/insights/fragments/category_overview/index.html:9
msgid "Category"
msgstr "Categorie"
#: apps/accounts/forms.py:128 apps/dca/forms.py:101 apps/dca/forms.py:109
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
#: apps/rules/forms.py:171 apps/rules/forms.py:180 apps/rules/models.py:38
#: apps/rules/models.py:289 apps/transactions/filters.py:74
#: 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:501
#: apps/transactions/forms.py:758 apps/transactions/models.py:287
#: apps/transactions/models.py:462 apps/transactions/models.py:647
#: apps/transactions/forms.py:758 apps/transactions/models.py:308
#: apps/transactions/models.py:487 apps/transactions/models.py:672
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
#: templates/tags/pages/index.html:4
msgid "Tags"
msgstr "Labels"
#: apps/accounts/models.py:12 apps/accounts/models.py:28 apps/dca/models.py:13
#: apps/import_app/models.py:14 apps/rules/models.py:12
#: apps/transactions/models.py:177 apps/transactions/models.py:201
#: apps/transactions/models.py:224
#: apps/import_app/models.py:14 apps/rules/models.py:13
#: apps/transactions/models.py:198 apps/transactions/models.py:222
#: apps/transactions/models.py:245
#: templates/account_groups/fragments/list.html:25
#: templates/accounts/fragments/list.html:25
#: templates/categories/fragments/table.html:16
@@ -159,11 +159,11 @@ msgstr ""
"Gearchiveerde rekeningen worden niet weergegeven en tellen niet mee voor je "
"\"Netto Waarde\""
#: apps/accounts/models.py:69 apps/rules/forms.py:160 apps/rules/forms.py:173
#: apps/rules/models.py:29 apps/rules/models.py:241
#: apps/accounts/models.py:69 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:493
#: apps/transactions/forms.py:750 apps/transactions/models.py:254
#: apps/transactions/models.py:420 apps/transactions/models.py:625
#: apps/transactions/forms.py:750 apps/transactions/models.py:275
#: apps/transactions/models.py:445 apps/transactions/models.py:650
msgid "Account"
msgstr "Rekening"
@@ -276,7 +276,7 @@ msgstr "Bedrijf met dit ID bestaat niet."
msgid "Invalid entity data. Provide an ID or name."
msgstr "Ongeldige bedrijfsgegevens. Geef een ID of naam op."
#: apps/api/serializers/transactions.py:170
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "'datum' of 'referentiedatum' moet worden opgegeven."
@@ -451,10 +451,10 @@ msgstr "Voorvoegsel"
msgid "Suffix"
msgstr "Achtervoegsel"
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:163
#: apps/rules/forms.py:176 apps/rules/models.py:32 apps/rules/models.py:253
#: 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/models.py:264
#: apps/transactions/models.py:285
#: templates/dca/fragments/strategy/details.html:52
#: templates/exchange_rates/fragments/table.html:10
#: templates/exchange_rates_services/fragments/table.html:10
@@ -535,8 +535,8 @@ msgstr "Dienstnaam"
msgid "Service Type"
msgstr "Soort Dienst"
#: apps/currencies/models.py:109 apps/transactions/models.py:181
#: apps/transactions/models.py:204 apps/transactions/models.py:227
#: apps/currencies/models.py:109 apps/transactions/models.py:202
#: apps/transactions/models.py:225 apps/transactions/models.py:248
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
#: templates/recurring_transactions/fragments/list.html:21
@@ -712,10 +712,10 @@ msgstr "Doel Munteenheid"
msgid "Payment Currency"
msgstr "Betaal Munteenheid"
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:167
#: apps/rules/forms.py:182 apps/rules/models.py:36 apps/rules/models.py:269
#: apps/transactions/forms.py:345 apps/transactions/models.py:277
#: apps/transactions/models.py:469 apps/transactions/models.py:653
#: 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:345 apps/transactions/models.py:298
#: apps/transactions/models.py:494 apps/transactions/models.py:678
msgid "Notes"
msgstr "Opmerkingen"
@@ -776,7 +776,7 @@ msgid "Users"
msgstr ""
#: apps/export_app/forms.py:32 apps/export_app/forms.py:137
#: apps/transactions/models.py:338 templates/includes/navbar.html:57
#: apps/transactions/models.py:359 templates/includes/navbar.html:57
#: templates/includes/navbar.html:104
#: templates/recurring_transactions/fragments/list_transactions.html:5
#: templates/recurring_transactions/fragments/table.html:37
@@ -791,25 +791,25 @@ msgid "Categories"
msgstr "Categorieën"
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
#: apps/rules/forms.py:172 apps/rules/forms.py:181 apps/rules/models.py:39
#: apps/rules/models.py:281 apps/transactions/filters.py:81
#: 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:516
#: apps/transactions/forms.py:773 apps/transactions/models.py:238
#: apps/transactions/models.py:292 apps/transactions/models.py:465
#: apps/transactions/models.py:650 templates/entities/fragments/list.html:5
#: apps/transactions/forms.py:773 apps/transactions/models.py:259
#: apps/transactions/models.py:313 apps/transactions/models.py:490
#: apps/transactions/models.py:675 templates/entities/fragments/list.html:5
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
msgid "Entities"
msgstr "Bedrijven"
#: apps/export_app/forms.py:56 apps/export_app/forms.py:140
#: apps/transactions/models.py:680 templates/includes/navbar.html:74
#: apps/transactions/models.py:705 templates/includes/navbar.html:74
#: templates/recurring_transactions/fragments/list.html:5
#: templates/recurring_transactions/pages/index.html:4
msgid "Recurring Transactions"
msgstr "Terugkerende Verrichtingen"
#: apps/export_app/forms.py:62 apps/export_app/forms.py:138
#: apps/transactions/models.py:476 templates/includes/navbar.html:72
#: apps/transactions/models.py:501 templates/includes/navbar.html:72
#: templates/installment_plans/fragments/list.html:5
#: templates/installment_plans/pages/index.html:4
msgid "Installment Plans"
@@ -850,15 +850,15 @@ msgstr "Importeer een ZIP-bestand geëxporteerd vanuit WYGIWYH"
msgid "ZIP File"
msgstr "ZIP-bestand"
#: apps/export_app/forms.py:146 apps/rules/models.py:21
#: apps/export_app/forms.py:146 apps/rules/models.py:22
msgid "Transaction rules"
msgstr "Verrichtingsregels"
#: apps/export_app/forms.py:148 apps/rules/models.py:58
#: apps/export_app/forms.py:148 apps/rules/models.py:59
msgid "Edit transaction action"
msgstr "Bewerk verrichtingsactie"
#: apps/export_app/forms.py:151 apps/rules/models.py:295
#: apps/export_app/forms.py:151 apps/rules/models.py:296
msgid "Update or create transaction actions"
msgstr "Bewerk of maak verrichtingsregel acties"
@@ -1009,157 +1009,163 @@ msgstr "Verwachte uitgaven"
msgid "Saved"
msgstr "Opgeslagen"
#: apps/rules/forms.py:20
#: apps/rules/forms.py:21
msgid "Run on creation"
msgstr "Uitvoeren na het aanmaken"
#: apps/rules/forms.py:21
#: apps/rules/forms.py:22
msgid "Run on update"
msgstr "Uitvoeren na het bijwerken"
#: apps/rules/forms.py:22
#: apps/rules/forms.py:23
#, fuzzy
#| msgid "Run on update"
msgid "Run on delete"
msgstr "Uitvoeren na het bijwerken"
#: apps/rules/forms.py:24
msgid "If..."
msgstr "Als..."
#: apps/rules/forms.py:64
#: apps/rules/forms.py:70
msgid "Set field"
msgstr "Veld instellen"
#: apps/rules/forms.py:65 templates/insights/fragments/sankey.html:94
#: apps/rules/forms.py:71 templates/insights/fragments/sankey.html:94
msgid "To"
msgstr "Naar"
#: apps/rules/forms.py:115
#: apps/rules/forms.py:121
msgid "A value for this field already exists in the rule."
msgstr "Een waarde voor dit veld bestaat al in de regel."
#: apps/rules/forms.py:147 apps/rules/forms.py:148 apps/rules/forms.py:149
#: apps/rules/forms.py:150 apps/rules/forms.py:151 apps/rules/forms.py:152
#: apps/rules/forms.py:153 apps/rules/forms.py:154 apps/rules/forms.py:155
#: apps/rules/forms.py:156 apps/rules/forms.py:157 apps/rules/forms.py:158
#: apps/rules/forms.py:159
#: apps/rules/forms.py:159 apps/rules/forms.py:160 apps/rules/forms.py:161
#: apps/rules/forms.py:162 apps/rules/forms.py:163 apps/rules/forms.py:164
#: apps/rules/forms.py:165
msgid "Operator"
msgstr "Operator"
#: apps/rules/forms.py:161 apps/rules/forms.py:174 apps/rules/models.py:30
#: apps/rules/models.py:245 apps/transactions/models.py:261
#: apps/transactions/models.py:425 apps/transactions/models.py:631
#: apps/rules/forms.py:167 apps/rules/forms.py:180 apps/rules/models.py:31
#: apps/rules/models.py:246 apps/transactions/models.py:282
#: apps/transactions/models.py:450 apps/transactions/models.py:656
msgid "Type"
msgstr "Soort"
#: apps/rules/forms.py:162 apps/rules/forms.py:175 apps/rules/models.py:31
#: apps/rules/models.py:249 apps/transactions/filters.py:23
#: apps/transactions/models.py:263 templates/cotton/transaction/item.html:21
#: apps/rules/forms.py:168 apps/rules/forms.py:181 apps/rules/models.py:32
#: apps/rules/models.py:250 apps/transactions/filters.py:23
#: apps/transactions/models.py:284 templates/cotton/transaction/item.html:21
#: templates/cotton/transaction/item.html:31
#: templates/transactions/widgets/paid_toggle_button.html:12
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:16
msgid "Paid"
msgstr "Betaald"
#: apps/rules/forms.py:164 apps/rules/forms.py:177 apps/rules/models.py:33
#: apps/rules/models.py:257 apps/transactions/forms.py:68
#: 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:522
#: apps/transactions/models.py:265 apps/transactions/models.py:443
#: apps/transactions/models.py:655
#: apps/transactions/models.py:286 apps/transactions/models.py:468
#: apps/transactions/models.py:680
msgid "Reference Date"
msgstr "Referentiedatum"
#: apps/rules/forms.py:165 apps/rules/forms.py:178 apps/rules/models.py:34
#: apps/rules/models.py:261 apps/transactions/models.py:270
#: apps/transactions/models.py:636 templates/insights/fragments/sankey.html:95
#: apps/rules/forms.py:171 apps/rules/forms.py:184 apps/rules/models.py:35
#: apps/rules/models.py:262 apps/transactions/models.py:291
#: apps/transactions/models.py:661 templates/insights/fragments/sankey.html:95
msgid "Amount"
msgstr "Bedrag"
#: apps/rules/forms.py:166 apps/rules/forms.py:179 apps/rules/models.py:13
#: apps/rules/models.py:35 apps/rules/models.py:265
#: apps/transactions/forms.py:337 apps/transactions/models.py:275
#: apps/transactions/models.py:427 apps/transactions/models.py:639
#: 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:337 apps/transactions/models.py:296
#: apps/transactions/models.py:452 apps/transactions/models.py:664
msgid "Description"
msgstr "Beschrijving"
#: apps/rules/forms.py:169 apps/rules/forms.py:184 apps/rules/models.py:273
#: apps/transactions/models.py:314
#: apps/rules/forms.py:175 apps/rules/forms.py:190 apps/rules/models.py:274
#: apps/transactions/models.py:335
msgid "Internal Note"
msgstr "Interne opmerking"
#: apps/rules/forms.py:170 apps/rules/forms.py:185 apps/rules/models.py:277
#: apps/transactions/models.py:316
#: apps/rules/forms.py:176 apps/rules/forms.py:191 apps/rules/models.py:278
#: apps/transactions/models.py:337
msgid "Internal ID"
msgstr "Interne ID"
#: apps/rules/forms.py:199
#: apps/rules/forms.py:205
msgid "Search Criteria"
msgstr "Zoek Vereisten"
#: apps/rules/forms.py:334
#: apps/rules/forms.py:340
msgid "Set Values"
msgstr "Waarden Instellen"
#: apps/rules/models.py:14
#: apps/rules/models.py:15
msgid "Trigger"
msgstr "Trigger"
#: apps/rules/models.py:20
#: apps/rules/models.py:21
msgid "Transaction rule"
msgstr "Verrichtingsregel"
#: apps/rules/models.py:45 apps/rules/models.py:83
#: apps/rules/models.py:46 apps/rules/models.py:84
msgid "Rule"
msgstr "Regel"
#: apps/rules/models.py:50
#: apps/rules/models.py:51
msgid "Field"
msgstr "Veld"
#: apps/rules/models.py:52
#: apps/rules/models.py:53
msgid "Value"
msgstr "Waarde"
#: apps/rules/models.py:59
#: apps/rules/models.py:60
msgid "Edit transaction actions"
msgstr "Bewerk verrichtingsregel acties"
#: apps/rules/models.py:69
#: apps/rules/models.py:70
msgid "is exactly"
msgstr "is precies"
#: apps/rules/models.py:70
#: apps/rules/models.py:71
msgid "contains"
msgstr "bevat"
#: apps/rules/models.py:71
#: apps/rules/models.py:72
msgid "starts with"
msgstr "begint met"
#: apps/rules/models.py:72
#: apps/rules/models.py:73
msgid "ends with"
msgstr "eindigd op"
#: apps/rules/models.py:73
#: apps/rules/models.py:74
msgid "equals"
msgstr "gelijk aan"
#: apps/rules/models.py:74
#: apps/rules/models.py:75
msgid "greater than"
msgstr "groter dan"
#: apps/rules/models.py:75
#: apps/rules/models.py:76
msgid "less than"
msgstr "kleiner dan"
#: apps/rules/models.py:76
#: apps/rules/models.py:77
msgid "greater than or equal"
msgstr "groter dan of gelijk aan"
#: apps/rules/models.py:77
#: apps/rules/models.py:78
msgid "less than or equal"
msgstr "kleiner dan of gelijk aan"
#: apps/rules/models.py:87 templates/transactions/pages/transactions.html:15
#: apps/rules/models.py:88 templates/transactions/pages/transactions.html:15
msgid "Filter"
msgstr "Filter"
#: apps/rules/models.py:90
#: apps/rules/models.py:91
msgid ""
"Generic expression to enable or disable execution. Should evaluate to True "
"or False"
@@ -1167,7 +1173,7 @@ msgstr ""
"Generieke expressie om uitvoering in of uit te schakelen. Moet evalueren "
"naar Waar of Onwaar"
#: apps/rules/models.py:294
#: apps/rules/models.py:295
msgid "Update or create transaction action"
msgstr "Bewerk of maak verrichtingsregel actie"
@@ -1283,11 +1289,11 @@ msgstr "Gedempte categorieën tellen niet mee voor je maandtotaal"
msgid "End date should be after the start date"
msgstr "De einddatum moet na de begindatum vallen"
#: apps/transactions/models.py:178
#: apps/transactions/models.py:199
msgid "Mute"
msgstr "Dempen"
#: apps/transactions/models.py:183
#: apps/transactions/models.py:204
msgid ""
"Deactivated categories won't be able to be selected when creating new "
"transactions"
@@ -1295,26 +1301,26 @@ msgstr ""
"Gedeactiveerde categorieën kunnen niet worden geselecteerd bij het maken van "
"nieuwe transacties"
#: apps/transactions/models.py:191
#: apps/transactions/models.py:212
msgid "Transaction Category"
msgstr "Transactie categorie"
#: apps/transactions/models.py:192
#: apps/transactions/models.py:213
msgid "Transaction Categories"
msgstr "Transactie categorieën"
#: apps/transactions/models.py:206
#: apps/transactions/models.py:227
msgid ""
"Deactivated tags won't be able to be selected when creating new transactions"
msgstr ""
"Gedeactiveerde labels kunnen niet worden geselecteerd bij het maken van "
"nieuwe verrichtingen"
#: apps/transactions/models.py:214 apps/transactions/models.py:215
#: apps/transactions/models.py:235 apps/transactions/models.py:236
msgid "Transaction Tags"
msgstr "Verrichting Labels"
#: apps/transactions/models.py:229
#: apps/transactions/models.py:250
msgid ""
"Deactivated entities won't be able to be selected when creating new "
"transactions"
@@ -1322,11 +1328,11 @@ msgstr ""
"Gedeactiveerde bedrijven kunnen niet worden geselecteerd bij het maken van "
"nieuwe verrichtingen"
#: apps/transactions/models.py:237
#: apps/transactions/models.py:258
msgid "Entity"
msgstr "Bedrijf"
#: apps/transactions/models.py:248
#: apps/transactions/models.py:269
#: templates/calendar_view/fragments/list.html:42
#: templates/calendar_view/fragments/list.html:44
#: templates/calendar_view/fragments/list.html:52
@@ -1337,7 +1343,7 @@ msgstr "Bedrijf"
msgid "Income"
msgstr "Ontvangsten Transactie"
#: apps/transactions/models.py:249
#: apps/transactions/models.py:270
#: templates/calendar_view/fragments/list.html:46
#: templates/calendar_view/fragments/list.html:48
#: templates/calendar_view/fragments/list.html:56
@@ -1347,117 +1353,117 @@ msgstr "Ontvangsten Transactie"
msgid "Expense"
msgstr "Uitgave"
#: apps/transactions/models.py:303 apps/transactions/models.py:475
#: apps/transactions/models.py:324 apps/transactions/models.py:500
msgid "Installment Plan"
msgstr "Afbetalingsplan"
#: apps/transactions/models.py:312 apps/transactions/models.py:679
#: apps/transactions/models.py:333 apps/transactions/models.py:704
msgid "Recurring Transaction"
msgstr "Terugkerende verrichting"
#: apps/transactions/models.py:320
#: apps/transactions/models.py:341
msgid "Deleted"
msgstr "Verwijderd"
#: apps/transactions/models.py:325
#: apps/transactions/models.py:346
msgid "Deleted At"
msgstr "Verwijderd Op"
#: apps/transactions/models.py:337
#: apps/transactions/models.py:358
msgid "Transaction"
msgstr "Verrichting"
#: apps/transactions/models.py:405 templates/tags/fragments/table.html:71
#: apps/transactions/models.py:430 templates/tags/fragments/table.html:71
msgid "No tags"
msgstr "Geen labels"
#: apps/transactions/models.py:406
#: apps/transactions/models.py:431
msgid "No category"
msgstr "Geen categorie"
#: apps/transactions/models.py:408
#: apps/transactions/models.py:433
msgid "No description"
msgstr "Geen Beschrijving"
#: apps/transactions/models.py:414
#: apps/transactions/models.py:439
msgid "Yearly"
msgstr "Jaarlijks"
#: apps/transactions/models.py:415 apps/users/models.py:26
#: apps/transactions/models.py:440 apps/users/models.py:26
#: templates/includes/navbar.html:26
msgid "Monthly"
msgstr "Maandelijks"
#: apps/transactions/models.py:416
#: apps/transactions/models.py:441
msgid "Weekly"
msgstr "Wekelijks"
#: apps/transactions/models.py:417
#: apps/transactions/models.py:442
msgid "Daily"
msgstr "Dagelijks"
#: apps/transactions/models.py:430
#: apps/transactions/models.py:455
msgid "Number of Installments"
msgstr "Aantal aflossingen"
#: apps/transactions/models.py:435
#: apps/transactions/models.py:460
msgid "Installment Start"
msgstr "Begin afbetaling"
#: apps/transactions/models.py:436
#: apps/transactions/models.py:461
msgid "The installment number to start counting from"
msgstr "Het nummer van de aflevering om mee te beginnen"
#: apps/transactions/models.py:441 apps/transactions/models.py:659
#: apps/transactions/models.py:466 apps/transactions/models.py:684
msgid "Start Date"
msgstr "Startdatum"
#: apps/transactions/models.py:445 apps/transactions/models.py:660
#: apps/transactions/models.py:470 apps/transactions/models.py:685
msgid "End Date"
msgstr "Einddatum"
#: apps/transactions/models.py:450
#: apps/transactions/models.py:475
msgid "Recurrence"
msgstr "Terugkeerpatroon"
#: apps/transactions/models.py:453
#: apps/transactions/models.py:478
msgid "Installment Amount"
msgstr "Termijnbedrag"
#: apps/transactions/models.py:618
#: apps/transactions/models.py:643
msgid "day(s)"
msgstr "dag(en)"
#: apps/transactions/models.py:619
#: apps/transactions/models.py:644
msgid "week(s)"
msgstr "we(e)k(en)"
#: apps/transactions/models.py:620
#: apps/transactions/models.py:645
msgid "month(s)"
msgstr "maand(en)"
#: apps/transactions/models.py:621
#: apps/transactions/models.py:646
msgid "year(s)"
msgstr "ja(a)r(en)"
#: apps/transactions/models.py:623
#: apps/transactions/models.py:648
#: templates/recurring_transactions/fragments/list.html:24
msgid "Paused"
msgstr "Gepauzeerd"
#: apps/transactions/models.py:662
#: apps/transactions/models.py:687
msgid "Recurrence Type"
msgstr "Type Terugkeerpatroon"
#: apps/transactions/models.py:665
#: apps/transactions/models.py:690
msgid "Recurrence Interval"
msgstr "Terugkeer Interval"
#: apps/transactions/models.py:669
#: apps/transactions/models.py:694
msgid "Last Generated Date"
msgstr "Laatste Gegenereerde Datum"
#: apps/transactions/models.py:672
#: apps/transactions/models.py:697
msgid "Last Generated Reference Date"
msgstr "Laatste Gegenereerde Referentiedatum"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-08 15:04+0000\n"
"PO-Revision-Date: 2025-03-08 16:05+0000\n"
"POT-Creation-Date: 2025-03-09 04:55+0000\n"
"PO-Revision-Date: 2025-03-09 04:56+0000\n"
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://translations.herculino.com/"
"projects/wygiwyh/app/pt_BR/>\n"
@@ -26,8 +26,8 @@ msgstr "Nome do grupo"
#: apps/accounts/forms.py:40 apps/accounts/forms.py:98
#: 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:45 apps/rules/forms.py:87
#: apps/rules/forms.py:359 apps/transactions/forms.py:202
#: 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:623
#: apps/transactions/forms.py:666 apps/transactions/forms.py:698
#: apps/transactions/forms.py:733 apps/transactions/forms.py:881
@@ -38,7 +38,7 @@ msgstr "Atualizar"
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: 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:53 apps/rules/forms.py:95 apps/rules/forms.py:367
#: 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:631 apps/transactions/forms.py:674
#: apps/transactions/forms.py:706 apps/transactions/forms.py:741
@@ -70,33 +70,33 @@ msgid "New balance"
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:168 apps/rules/forms.py:183
#: apps/rules/models.py:37 apps/rules/models.py:285
#: 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:508
#: apps/transactions/forms.py:765 apps/transactions/models.py:281
#: apps/transactions/models.py:460 apps/transactions/models.py:643
#: apps/transactions/forms.py:765 apps/transactions/models.py:302
#: apps/transactions/models.py:485 apps/transactions/models.py:668
#: templates/insights/fragments/category_overview/index.html:9
msgid "Category"
msgstr "Categoria"
#: apps/accounts/forms.py:128 apps/dca/forms.py:101 apps/dca/forms.py:109
#: apps/export_app/forms.py:44 apps/export_app/forms.py:135
#: apps/rules/forms.py:171 apps/rules/forms.py:180 apps/rules/models.py:38
#: apps/rules/models.py:289 apps/transactions/filters.py:74
#: 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:501
#: apps/transactions/forms.py:758 apps/transactions/models.py:287
#: apps/transactions/models.py:462 apps/transactions/models.py:647
#: apps/transactions/forms.py:758 apps/transactions/models.py:308
#: apps/transactions/models.py:487 apps/transactions/models.py:672
#: templates/includes/navbar.html:108 templates/tags/fragments/list.html:5
#: templates/tags/pages/index.html:4
msgid "Tags"
msgstr "Tags"
#: apps/accounts/models.py:12 apps/accounts/models.py:28 apps/dca/models.py:13
#: apps/import_app/models.py:14 apps/rules/models.py:12
#: apps/transactions/models.py:177 apps/transactions/models.py:201
#: apps/transactions/models.py:224
#: apps/import_app/models.py:14 apps/rules/models.py:13
#: apps/transactions/models.py:198 apps/transactions/models.py:222
#: apps/transactions/models.py:245
#: templates/account_groups/fragments/list.html:25
#: templates/accounts/fragments/list.html:25
#: templates/categories/fragments/table.html:16
@@ -158,11 +158,11 @@ msgid "Archived accounts don't show up nor count towards your net worth"
msgstr ""
"Contas arquivadas não aparecem nem contam para o seu patrimônio líquido"
#: apps/accounts/models.py:69 apps/rules/forms.py:160 apps/rules/forms.py:173
#: apps/rules/models.py:29 apps/rules/models.py:241
#: apps/accounts/models.py:69 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:493
#: apps/transactions/forms.py:750 apps/transactions/models.py:254
#: apps/transactions/models.py:420 apps/transactions/models.py:625
#: apps/transactions/forms.py:750 apps/transactions/models.py:275
#: apps/transactions/models.py:445 apps/transactions/models.py:650
msgid "Account"
msgstr "Conta"
@@ -270,7 +270,7 @@ msgstr "Entidade com esse ID não existe."
msgid "Invalid entity data. Provide an ID or name."
msgstr "Dados da entidade inválidos. Forneça um ID ou nome."
#: apps/api/serializers/transactions.py:170
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "É necessário fornecer “date” ou “reference_date”."
@@ -448,10 +448,10 @@ msgstr "Prefixo"
msgid "Suffix"
msgstr "Sufixo"
#: apps/currencies/forms.py:69 apps/dca/models.py:158 apps/rules/forms.py:163
#: apps/rules/forms.py:176 apps/rules/models.py:32 apps/rules/models.py:253
#: 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/models.py:264
#: apps/transactions/models.py:285
#: templates/dca/fragments/strategy/details.html:52
#: templates/exchange_rates/fragments/table.html:10
#: templates/exchange_rates_services/fragments/table.html:10
@@ -532,8 +532,8 @@ msgstr "Nome do Serviço"
msgid "Service Type"
msgstr "Tipo de Serviço"
#: apps/currencies/models.py:109 apps/transactions/models.py:181
#: apps/transactions/models.py:204 apps/transactions/models.py:227
#: apps/currencies/models.py:109 apps/transactions/models.py:202
#: apps/transactions/models.py:225 apps/transactions/models.py:248
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
#: templates/recurring_transactions/fragments/list.html:21
@@ -709,10 +709,10 @@ msgstr "Moeda de destino"
msgid "Payment Currency"
msgstr "Moeda de pagamento"
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:167
#: apps/rules/forms.py:182 apps/rules/models.py:36 apps/rules/models.py:269
#: apps/transactions/forms.py:345 apps/transactions/models.py:277
#: apps/transactions/models.py:469 apps/transactions/models.py:653
#: 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:345 apps/transactions/models.py:298
#: apps/transactions/models.py:494 apps/transactions/models.py:678
msgid "Notes"
msgstr "Notas"
@@ -773,7 +773,7 @@ msgid "Users"
msgstr "Usuários"
#: apps/export_app/forms.py:32 apps/export_app/forms.py:137
#: apps/transactions/models.py:338 templates/includes/navbar.html:57
#: apps/transactions/models.py:359 templates/includes/navbar.html:57
#: templates/includes/navbar.html:104
#: templates/recurring_transactions/fragments/list_transactions.html:5
#: templates/recurring_transactions/fragments/table.html:37
@@ -788,25 +788,25 @@ msgid "Categories"
msgstr "Categorias"
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136
#: apps/rules/forms.py:172 apps/rules/forms.py:181 apps/rules/models.py:39
#: apps/rules/models.py:281 apps/transactions/filters.py:81
#: 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:516
#: apps/transactions/forms.py:773 apps/transactions/models.py:238
#: apps/transactions/models.py:292 apps/transactions/models.py:465
#: apps/transactions/models.py:650 templates/entities/fragments/list.html:5
#: apps/transactions/forms.py:773 apps/transactions/models.py:259
#: apps/transactions/models.py:313 apps/transactions/models.py:490
#: apps/transactions/models.py:675 templates/entities/fragments/list.html:5
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:110
msgid "Entities"
msgstr "Entidades"
#: apps/export_app/forms.py:56 apps/export_app/forms.py:140
#: apps/transactions/models.py:680 templates/includes/navbar.html:74
#: apps/transactions/models.py:705 templates/includes/navbar.html:74
#: templates/recurring_transactions/fragments/list.html:5
#: templates/recurring_transactions/pages/index.html:4
msgid "Recurring Transactions"
msgstr "Transações Recorrentes"
#: apps/export_app/forms.py:62 apps/export_app/forms.py:138
#: apps/transactions/models.py:476 templates/includes/navbar.html:72
#: apps/transactions/models.py:501 templates/includes/navbar.html:72
#: templates/installment_plans/fragments/list.html:5
#: templates/installment_plans/pages/index.html:4
msgid "Installment Plans"
@@ -847,15 +847,15 @@ msgstr "Importe um arquivo ZIP exportado do WYGIWYH"
msgid "ZIP File"
msgstr "Arquivo ZIP"
#: apps/export_app/forms.py:146 apps/rules/models.py:21
#: apps/export_app/forms.py:146 apps/rules/models.py:22
msgid "Transaction rules"
msgstr "Regra da transação"
#: apps/export_app/forms.py:148 apps/rules/models.py:58
#: apps/export_app/forms.py:148 apps/rules/models.py:59
msgid "Edit transaction action"
msgstr "Ação de editar de transação"
#: apps/export_app/forms.py:151 apps/rules/models.py:295
#: apps/export_app/forms.py:151 apps/rules/models.py:296
msgid "Update or create transaction actions"
msgstr "Ações de atualizar ou criar transação"
@@ -1006,157 +1006,161 @@ msgstr "Despesas Previstas"
msgid "Saved"
msgstr "Salvo"
#: apps/rules/forms.py:20
msgid "Run on creation"
msgstr "Rodar na criação"
#: apps/rules/forms.py:21
msgid "Run on update"
msgstr "Rodar na atualização"
msgid "Run on creation"
msgstr "Rodar ao criar"
#: apps/rules/forms.py:22
msgid "Run on update"
msgstr "Rodar ao atualizar"
#: apps/rules/forms.py:23
msgid "Run on delete"
msgstr "Rodar ao apagar"
#: apps/rules/forms.py:24
msgid "If..."
msgstr "Se..."
#: apps/rules/forms.py:64
#: apps/rules/forms.py:70
msgid "Set field"
msgstr "Definir campo"
#: apps/rules/forms.py:65 templates/insights/fragments/sankey.html:94
#: apps/rules/forms.py:71 templates/insights/fragments/sankey.html:94
msgid "To"
msgstr "Para"
#: apps/rules/forms.py:115
#: apps/rules/forms.py:121
msgid "A value for this field already exists in the rule."
msgstr "Já existe um valor para esse campo na regra."
#: apps/rules/forms.py:147 apps/rules/forms.py:148 apps/rules/forms.py:149
#: apps/rules/forms.py:150 apps/rules/forms.py:151 apps/rules/forms.py:152
#: apps/rules/forms.py:153 apps/rules/forms.py:154 apps/rules/forms.py:155
#: apps/rules/forms.py:156 apps/rules/forms.py:157 apps/rules/forms.py:158
#: apps/rules/forms.py:159
#: apps/rules/forms.py:159 apps/rules/forms.py:160 apps/rules/forms.py:161
#: apps/rules/forms.py:162 apps/rules/forms.py:163 apps/rules/forms.py:164
#: apps/rules/forms.py:165
msgid "Operator"
msgstr "Operador"
#: apps/rules/forms.py:161 apps/rules/forms.py:174 apps/rules/models.py:30
#: apps/rules/models.py:245 apps/transactions/models.py:261
#: apps/transactions/models.py:425 apps/transactions/models.py:631
#: apps/rules/forms.py:167 apps/rules/forms.py:180 apps/rules/models.py:31
#: apps/rules/models.py:246 apps/transactions/models.py:282
#: apps/transactions/models.py:450 apps/transactions/models.py:656
msgid "Type"
msgstr "Tipo"
#: apps/rules/forms.py:162 apps/rules/forms.py:175 apps/rules/models.py:31
#: apps/rules/models.py:249 apps/transactions/filters.py:23
#: apps/transactions/models.py:263 templates/cotton/transaction/item.html:21
#: apps/rules/forms.py:168 apps/rules/forms.py:181 apps/rules/models.py:32
#: apps/rules/models.py:250 apps/transactions/filters.py:23
#: apps/transactions/models.py:284 templates/cotton/transaction/item.html:21
#: templates/cotton/transaction/item.html:31
#: templates/transactions/widgets/paid_toggle_button.html:12
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:16
msgid "Paid"
msgstr "Pago"
#: apps/rules/forms.py:164 apps/rules/forms.py:177 apps/rules/models.py:33
#: apps/rules/models.py:257 apps/transactions/forms.py:68
#: 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:522
#: apps/transactions/models.py:265 apps/transactions/models.py:443
#: apps/transactions/models.py:655
#: apps/transactions/models.py:286 apps/transactions/models.py:468
#: apps/transactions/models.py:680
msgid "Reference Date"
msgstr "Data de Referência"
#: apps/rules/forms.py:165 apps/rules/forms.py:178 apps/rules/models.py:34
#: apps/rules/models.py:261 apps/transactions/models.py:270
#: apps/transactions/models.py:636 templates/insights/fragments/sankey.html:95
#: apps/rules/forms.py:171 apps/rules/forms.py:184 apps/rules/models.py:35
#: apps/rules/models.py:262 apps/transactions/models.py:291
#: apps/transactions/models.py:661 templates/insights/fragments/sankey.html:95
msgid "Amount"
msgstr "Quantia"
#: apps/rules/forms.py:166 apps/rules/forms.py:179 apps/rules/models.py:13
#: apps/rules/models.py:35 apps/rules/models.py:265
#: apps/transactions/forms.py:337 apps/transactions/models.py:275
#: apps/transactions/models.py:427 apps/transactions/models.py:639
#: 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:337 apps/transactions/models.py:296
#: apps/transactions/models.py:452 apps/transactions/models.py:664
msgid "Description"
msgstr "Descrição"
#: apps/rules/forms.py:169 apps/rules/forms.py:184 apps/rules/models.py:273
#: apps/transactions/models.py:314
#: apps/rules/forms.py:175 apps/rules/forms.py:190 apps/rules/models.py:274
#: apps/transactions/models.py:335
msgid "Internal Note"
msgstr "Nota Interna"
#: apps/rules/forms.py:170 apps/rules/forms.py:185 apps/rules/models.py:277
#: apps/transactions/models.py:316
#: apps/rules/forms.py:176 apps/rules/forms.py:191 apps/rules/models.py:278
#: apps/transactions/models.py:337
msgid "Internal ID"
msgstr "ID Interna"
#: apps/rules/forms.py:199
#: apps/rules/forms.py:205
msgid "Search Criteria"
msgstr "Critério de Busca"
#: apps/rules/forms.py:334
#: apps/rules/forms.py:340
msgid "Set Values"
msgstr "Definir valores"
#: apps/rules/models.py:14
#: apps/rules/models.py:15
msgid "Trigger"
msgstr "Gatilho"
#: apps/rules/models.py:20
#: apps/rules/models.py:21
msgid "Transaction rule"
msgstr "Regra da transação"
#: apps/rules/models.py:45 apps/rules/models.py:83
#: apps/rules/models.py:46 apps/rules/models.py:84
msgid "Rule"
msgstr "Regra"
#: apps/rules/models.py:50
#: apps/rules/models.py:51
msgid "Field"
msgstr "Campo"
#: apps/rules/models.py:52
#: apps/rules/models.py:53
msgid "Value"
msgstr "Valor"
#: apps/rules/models.py:59
#: apps/rules/models.py:60
msgid "Edit transaction actions"
msgstr "Ações de editar de transação"
#: apps/rules/models.py:69
#: apps/rules/models.py:70
msgid "is exactly"
msgstr "é exatamete"
#: apps/rules/models.py:70
#: apps/rules/models.py:71
msgid "contains"
msgstr "contém"
#: apps/rules/models.py:71
#: apps/rules/models.py:72
msgid "starts with"
msgstr "começa com"
#: apps/rules/models.py:72
#: apps/rules/models.py:73
msgid "ends with"
msgstr "termina em"
#: apps/rules/models.py:73
#: apps/rules/models.py:74
msgid "equals"
msgstr "igual"
#: apps/rules/models.py:74
#: apps/rules/models.py:75
msgid "greater than"
msgstr "maior que"
#: apps/rules/models.py:75
#: apps/rules/models.py:76
msgid "less than"
msgstr "menos de"
#: apps/rules/models.py:76
#: apps/rules/models.py:77
msgid "greater than or equal"
msgstr "maior ou igual"
#: apps/rules/models.py:77
#: apps/rules/models.py:78
msgid "less than or equal"
msgstr "menor ou igual"
#: apps/rules/models.py:87 templates/transactions/pages/transactions.html:15
#: apps/rules/models.py:88 templates/transactions/pages/transactions.html:15
msgid "Filter"
msgstr "Filtro"
#: apps/rules/models.py:90
#: apps/rules/models.py:91
msgid ""
"Generic expression to enable or disable execution. Should evaluate to True "
"or False"
@@ -1164,7 +1168,7 @@ msgstr ""
"Expressão genérica para ativar ou desativar a execução. Deve retornar True "
"ou False"
#: apps/rules/models.py:294
#: apps/rules/models.py:295
msgid "Update or create transaction action"
msgstr "Ação de atualizar ou criar transação"
@@ -1280,11 +1284,11 @@ msgstr "As categorias silenciadas não serão contabilizadas em seu total mensal
msgid "End date should be after the start date"
msgstr "Data final deve ser após data inicial"
#: apps/transactions/models.py:178
#: apps/transactions/models.py:199
msgid "Mute"
msgstr "Silenciada"
#: apps/transactions/models.py:183
#: apps/transactions/models.py:204
msgid ""
"Deactivated categories won't be able to be selected when creating new "
"transactions"
@@ -1292,25 +1296,25 @@ msgstr ""
"As categorias desativadas não poderão ser selecionadas ao criar novas "
"transações"
#: apps/transactions/models.py:191
#: apps/transactions/models.py:212
msgid "Transaction Category"
msgstr "Categoria da Transação"
#: apps/transactions/models.py:192
#: apps/transactions/models.py:213
msgid "Transaction Categories"
msgstr "Categorias da Trasanção"
#: apps/transactions/models.py:206
#: apps/transactions/models.py:227
msgid ""
"Deactivated tags won't be able to be selected when creating new transactions"
msgstr ""
"As tags desativadas não poderão ser selecionadas ao criar novas transações"
#: apps/transactions/models.py:214 apps/transactions/models.py:215
#: apps/transactions/models.py:235 apps/transactions/models.py:236
msgid "Transaction Tags"
msgstr "Tags da Transação"
#: apps/transactions/models.py:229
#: apps/transactions/models.py:250
msgid ""
"Deactivated entities won't be able to be selected when creating new "
"transactions"
@@ -1318,11 +1322,11 @@ msgstr ""
"As entidades desativadas não poderão ser selecionadas ao criar novas "
"transações"
#: apps/transactions/models.py:237
#: apps/transactions/models.py:258
msgid "Entity"
msgstr "Entidade"
#: apps/transactions/models.py:248
#: apps/transactions/models.py:269
#: templates/calendar_view/fragments/list.html:42
#: templates/calendar_view/fragments/list.html:44
#: templates/calendar_view/fragments/list.html:52
@@ -1333,7 +1337,7 @@ msgstr "Entidade"
msgid "Income"
msgstr "Renda"
#: apps/transactions/models.py:249
#: apps/transactions/models.py:270
#: templates/calendar_view/fragments/list.html:46
#: templates/calendar_view/fragments/list.html:48
#: templates/calendar_view/fragments/list.html:56
@@ -1343,117 +1347,117 @@ msgstr "Renda"
msgid "Expense"
msgstr "Despesa"
#: apps/transactions/models.py:303 apps/transactions/models.py:475
#: apps/transactions/models.py:324 apps/transactions/models.py:500
msgid "Installment Plan"
msgstr "Parcelamento"
#: apps/transactions/models.py:312 apps/transactions/models.py:679
#: apps/transactions/models.py:333 apps/transactions/models.py:704
msgid "Recurring Transaction"
msgstr "Transação Recorrente"
#: apps/transactions/models.py:320
#: apps/transactions/models.py:341
msgid "Deleted"
msgstr "Apagado"
#: apps/transactions/models.py:325
#: apps/transactions/models.py:346
msgid "Deleted At"
msgstr "Apagado Em"
#: apps/transactions/models.py:337
#: apps/transactions/models.py:358
msgid "Transaction"
msgstr "Transação"
#: apps/transactions/models.py:405 templates/tags/fragments/table.html:71
#: apps/transactions/models.py:430 templates/tags/fragments/table.html:71
msgid "No tags"
msgstr "Nenhuma tag"
#: apps/transactions/models.py:406
#: apps/transactions/models.py:431
msgid "No category"
msgstr "Sem categoria"
#: apps/transactions/models.py:408
#: apps/transactions/models.py:433
msgid "No description"
msgstr "Sem descrição"
#: apps/transactions/models.py:414
#: apps/transactions/models.py:439
msgid "Yearly"
msgstr "Anual"
#: apps/transactions/models.py:415 apps/users/models.py:26
#: apps/transactions/models.py:440 apps/users/models.py:26
#: templates/includes/navbar.html:26
msgid "Monthly"
msgstr "Mensal"
#: apps/transactions/models.py:416
#: apps/transactions/models.py:441
msgid "Weekly"
msgstr "Semanal"
#: apps/transactions/models.py:417
#: apps/transactions/models.py:442
msgid "Daily"
msgstr "Diária"
#: apps/transactions/models.py:430
#: apps/transactions/models.py:455
msgid "Number of Installments"
msgstr "Número de Parcelas"
#: apps/transactions/models.py:435
#: apps/transactions/models.py:460
msgid "Installment Start"
msgstr "Parcela inicial"
#: apps/transactions/models.py:436
#: apps/transactions/models.py:461
msgid "The installment number to start counting from"
msgstr "O número da parcela a partir do qual se inicia a contagem"
#: apps/transactions/models.py:441 apps/transactions/models.py:659
#: apps/transactions/models.py:466 apps/transactions/models.py:684
msgid "Start Date"
msgstr "Data de Início"
#: apps/transactions/models.py:445 apps/transactions/models.py:660
#: apps/transactions/models.py:470 apps/transactions/models.py:685
msgid "End Date"
msgstr "Data Final"
#: apps/transactions/models.py:450
#: apps/transactions/models.py:475
msgid "Recurrence"
msgstr "Recorrência"
#: apps/transactions/models.py:453
#: apps/transactions/models.py:478
msgid "Installment Amount"
msgstr "Valor da Parcela"
#: apps/transactions/models.py:618
#: apps/transactions/models.py:643
msgid "day(s)"
msgstr "dia(s)"
#: apps/transactions/models.py:619
#: apps/transactions/models.py:644
msgid "week(s)"
msgstr "semana(s)"
#: apps/transactions/models.py:620
#: apps/transactions/models.py:645
msgid "month(s)"
msgstr "mês(es)"
#: apps/transactions/models.py:621
#: apps/transactions/models.py:646
msgid "year(s)"
msgstr "ano(s)"
#: apps/transactions/models.py:623
#: apps/transactions/models.py:648
#: templates/recurring_transactions/fragments/list.html:24
msgid "Paused"
msgstr "Pausado"
#: apps/transactions/models.py:662
#: apps/transactions/models.py:687
msgid "Recurrence Type"
msgstr "Tipo de recorrência"
#: apps/transactions/models.py:665
#: apps/transactions/models.py:690
msgid "Recurrence Interval"
msgstr "Intervalo de recorrência"
#: apps/transactions/models.py:669
#: apps/transactions/models.py:694
msgid "Last Generated Date"
msgstr "Última data gerada"
#: apps/transactions/models.py:672
#: apps/transactions/models.py:697
msgid "Last Generated Reference Date"
msgstr "Última data de referência gerada"
@@ -2560,7 +2564,7 @@ msgstr "Total"
#: templates/insights/fragments/emergency_fund.html:15
msgid "You've spent an average of"
msgstr "Você gastou um total de"
msgstr "Você gastou em média"
#: templates/insights/fragments/emergency_fund.html:23
msgid "on the last 12 months, at this rate you could go by"