Compare commits

..

1 Commits

Author SHA1 Message Date
Herculino Trotta
2f99021d0b feat: initial commit 2025-08-07 22:55:25 -03:00
35 changed files with 642 additions and 1182 deletions

View File

@@ -1,20 +0,0 @@
# Generated by Django 5.2.4 on 2025-08-09 05:52
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('accounts', '0015_alter_account_owner_alter_account_shared_with_and_more'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.AddField(
model_name='account',
name='untracked_by',
field=models.ManyToManyField(blank=True, related_name='untracked_accounts', to=settings.AUTH_USER_MODEL),
),
]

View File

@@ -1,11 +1,11 @@
from django.conf import settings
from django.core.exceptions import ValidationError
from django.db import models
from django.db.models import Q
from django.utils.translation import gettext_lazy as _
from apps.common.middleware.thread_local import get_current_user
from apps.common.models import SharedObject, SharedObjectManager
from apps.transactions.models import Transaction
from apps.common.models import SharedObject, SharedObjectManager
class AccountGroup(SharedObject):
@@ -62,11 +62,6 @@ class Account(SharedObject):
verbose_name=_("Archived"),
help_text=_("Archived accounts don't show up nor count towards your net worth"),
)
untracked_by = models.ManyToManyField(
settings.AUTH_USER_MODEL,
blank=True,
related_name="untracked_accounts",
)
objects = SharedObjectManager()
all_objects = models.Manager() # Unfiltered manager
@@ -80,10 +75,6 @@ class Account(SharedObject):
def __str__(self):
return self.name
def is_untracked_by(self):
user = get_current_user()
return self.untracked_by.filter(pk=user.pk).exists()
def clean(self):
super().clean()
if self.exchange_currency == self.currency:

View File

@@ -31,11 +31,6 @@ urlpatterns = [
views.account_take_ownership,
name="account_take_ownership",
),
path(
"account/<int:pk>/toggle-untracked/",
views.account_toggle_untracked,
name="account_toggle_untracked",
),
path("account-groups/", views.account_groups_index, name="account_groups_index"),
path("account-groups/list/", views.account_groups_list, name="account_groups_list"),
path("account-groups/add/", views.account_group_add, name="account_group_add"),

View File

@@ -155,26 +155,6 @@ def account_delete(request, pk):
)
@only_htmx
@login_required
@require_http_methods(["GET"])
def account_toggle_untracked(request, pk):
account = get_object_or_404(Account, id=pk)
if account.is_untracked_by():
account.untracked_by.remove(request.user)
messages.success(request, _("Account is now tracked"))
else:
account.untracked_by.add(request.user)
messages.success(request, _("Account is now untracked"))
return HttpResponse(
status=204,
headers={
"HX-Trigger": "updated",
},
)
@only_htmx
@login_required
@require_http_methods(["GET"])

View File

@@ -138,7 +138,6 @@ class RecurringTransactionSerializer(serializers.ModelSerializer):
def update(self, instance, validated_data):
instance = super().update(instance, validated_data)
instance.update_unpaid_transactions()
instance.generate_upcoming_transactions()
return instance

View File

@@ -5,12 +5,7 @@ from django.utils.formats import get_format as original_get_format
def get_format(format_type=None, lang=None, use_l10n=None):
user = get_current_user()
if (
user
and user.is_authenticated
and hasattr(user, "settings")
and use_l10n is not False
):
if user and user.is_authenticated and hasattr(user, "settings") and use_l10n:
user_settings = user.settings
if format_type == "THOUSAND_SEPARATOR":
number_format = getattr(user_settings, "number_format", None)

View File

@@ -35,7 +35,8 @@ class ArbitraryDecimalDisplayNumberInput(forms.TextInput):
self.attrs.update(
{
"x-data": "",
"x-mask:dynamic": f"$money($input, '{get_format('DECIMAL_SEPARATOR')}', '{get_format('THOUSAND_SEPARATOR')}', '30')",
"x-mask:dynamic": f"$money($input, '{get_format('DECIMAL_SEPARATOR')}', "
f"'{get_format('THOUSAND_SEPARATOR')}', '30')",
"x-on:keyup": "$el.dispatchEvent(new Event('input'))",
}
)

View File

@@ -203,63 +203,21 @@ class ExchangeRateFetcher:
if provider.rates_inverted:
# If rates are inverted, we need to swap currencies
if service.singleton:
# Try to get the last automatically created exchange rate
exchange_rate = (
ExchangeRate.objects.filter(
automatic=True,
from_currency=to_currency,
to_currency=from_currency,
)
.order_by("-date")
.first()
)
else:
exchange_rate = None
if not exchange_rate:
ExchangeRate.objects.create(
automatic=True,
from_currency=to_currency,
to_currency=from_currency,
rate=rate,
date=timezone.now(),
)
else:
exchange_rate.rate = rate
exchange_rate.date = timezone.now()
exchange_rate.save()
ExchangeRate.objects.create(
from_currency=to_currency,
to_currency=from_currency,
rate=rate,
date=timezone.now(),
)
processed_pairs.add((to_currency.id, from_currency.id))
else:
# If rates are not inverted, we can use them as is
if service.singleton:
# Try to get the last automatically created exchange rate
exchange_rate = (
ExchangeRate.objects.filter(
automatic=True,
from_currency=from_currency,
to_currency=to_currency,
)
.order_by("-date")
.first()
)
else:
exchange_rate = None
if not exchange_rate:
ExchangeRate.objects.create(
automatic=True,
from_currency=from_currency,
to_currency=to_currency,
rate=rate,
date=timezone.now(),
)
else:
exchange_rate.rate = rate
exchange_rate.date = timezone.now()
exchange_rate.save()
ExchangeRate.objects.create(
from_currency=from_currency,
to_currency=to_currency,
rate=rate,
date=timezone.now(),
)
processed_pairs.add((from_currency.id, to_currency.id))
service.last_fetch = timezone.now()

View File

@@ -114,7 +114,6 @@ class ExchangeRateServiceForm(forms.ModelForm):
"fetch_interval",
"target_currencies",
"target_accounts",
"singleton",
]
def __init__(self, *args, **kwargs):
@@ -127,7 +126,6 @@ class ExchangeRateServiceForm(forms.ModelForm):
"name",
"service_type",
Switch("is_active"),
Switch("singleton"),
"api_key",
Row(
Column("interval_type", css_class="form-group col-md-6"),

View File

@@ -1,23 +0,0 @@
# Generated by Django 5.2.4 on 2025-08-08 02:18
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('currencies', '0014_alter_currency_options'),
]
operations = [
migrations.AddField(
model_name='exchangerate',
name='automatic',
field=models.BooleanField(default=False, verbose_name='Automatic'),
),
migrations.AddField(
model_name='exchangerateservice',
name='singleton',
field=models.BooleanField(default=False, help_text='Create one exchange rate and keep updating it. Avoids database clutter.', verbose_name='Single exchange rate'),
),
]

View File

@@ -1,18 +0,0 @@
# Generated by Django 5.2.4 on 2025-08-08 02:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('currencies', '0015_exchangerate_automatic_exchangerateservice_singleton'),
]
operations = [
migrations.AlterField(
model_name='exchangerate',
name='automatic',
field=models.BooleanField(default=False, verbose_name='Auto'),
),
]

View File

@@ -70,8 +70,6 @@ class ExchangeRate(models.Model):
)
date = models.DateTimeField(verbose_name=_("Date and Time"))
automatic = models.BooleanField(verbose_name=_("Auto"), default=False)
class Meta:
verbose_name = _("Exchange Rate")
verbose_name_plural = _("Exchange Rates")
@@ -150,14 +148,6 @@ class ExchangeRateService(models.Model):
blank=True,
)
singleton = models.BooleanField(
verbose_name=_("Single exchange rate"),
default=False,
help_text=_(
"Create one exchange rate and keep updating it. Avoids database clutter."
),
)
class Meta:
verbose_name = _("Exchange Rate Service")
verbose_name_plural = _("Exchange Rate Services")

View File

@@ -13,9 +13,7 @@ from apps.insights.forms import (
)
def get_transactions(
request, include_unpaid=True, include_silent=False, include_untracked_accounts=False
):
def get_transactions(request, include_unpaid=True, include_silent=False):
transactions = Transaction.objects.all()
filter_type = request.GET.get("type", None)
@@ -97,9 +95,4 @@ def get_transactions(
Q(Q(category__mute=True) & ~Q(category=None)) | Q(mute=True)
)
if not include_untracked_accounts:
transactions = transactions.exclude(
account__in=request.user.untracked_accounts.all()
)
return transactions

View File

@@ -74,7 +74,7 @@ def index(request):
def sankey_by_account(request):
# Get filtered transactions
transactions = get_transactions(request, include_untracked_accounts=True)
transactions = get_transactions(request)
# Generate Sankey data
sankey_data = generate_sankey_data_by_account(transactions)
@@ -239,14 +239,10 @@ def late_transactions(request):
@login_required
@require_http_methods(["GET"])
def emergency_fund(request):
transactions_currency_queryset = (
Transaction.objects.filter(
is_paid=True, account__is_archived=False, account__is_asset=False
)
.exclude(account__in=request.user.untracked_accounts.all())
.order_by(
"account__currency__name",
)
transactions_currency_queryset = Transaction.objects.filter(
is_paid=True, account__is_archived=False, account__is_asset=False
).order_by(
"account__currency__name",
)
currency_net_worth = calculate_currency_totals(
transactions_queryset=transactions_currency_queryset, ignore_empty=False
@@ -266,7 +262,6 @@ def emergency_fund(request):
category__mute=False,
mute=False,
)
.exclude(account__in=request.user.untracked_accounts.all())
.values("reference_date", "account__currency")
.annotate(monthly_total=Sum("amount"))
)

View File

@@ -107,15 +107,9 @@ def transactions_list(request, month: int, year: int):
@require_http_methods(["GET"])
def monthly_summary(request, month: int, year: int):
# Base queryset with all required filters
base_queryset = (
Transaction.objects.filter(
reference_date__year=year,
reference_date__month=month,
account__is_asset=False,
)
.exclude(Q(Q(category__mute=True) & ~Q(category=None)) | Q(mute=True))
.exclude(account__in=request.user.untracked_accounts.all())
)
base_queryset = Transaction.objects.filter(
reference_date__year=year, reference_date__month=month, account__is_asset=False
).exclude(Q(Q(category__mute=True) & ~Q(category=None)) | Q(mute=True))
data = calculate_currency_totals(base_queryset, ignore_empty=True)
percentages = calculate_percentage_distribution(data)
@@ -171,14 +165,10 @@ def monthly_account_summary(request, month: int, year: int):
@require_http_methods(["GET"])
def monthly_currency_summary(request, month: int, year: int):
# Base queryset with all required filters
base_queryset = (
Transaction.objects.filter(
reference_date__year=year,
reference_date__month=month,
)
.exclude(Q(Q(category__mute=True) & ~Q(category=None)) | Q(mute=True))
.exclude(account__in=request.user.untracked_accounts.all())
)
base_queryset = Transaction.objects.filter(
reference_date__year=year,
reference_date__month=month,
).exclude(Q(Q(category__mute=True) & ~Q(category=None)) | Q(mute=True))
currency_data = calculate_currency_totals(base_queryset.all(), ignore_empty=True)
currency_percentages = calculate_percentage_distribution(currency_data)

View File

@@ -27,12 +27,10 @@ def net_worth(request):
view_type = request.session.get("networth_view_type", "current")
if view_type == "current":
transactions_currency_queryset = (
Transaction.objects.filter(is_paid=True, account__is_archived=False)
.order_by(
"account__currency__name",
)
.exclude(account__in=request.user.untracked_accounts.all())
transactions_currency_queryset = Transaction.objects.filter(
is_paid=True, account__is_archived=False
).order_by(
"account__currency__name",
)
transactions_account_queryset = Transaction.objects.filter(
is_paid=True, account__is_archived=False
@@ -41,12 +39,10 @@ def net_worth(request):
"account__name",
)
else:
transactions_currency_queryset = (
Transaction.objects.filter(account__is_archived=False)
.order_by(
"account__currency__name",
)
.exclude(account__in=request.user.untracked_accounts.all())
transactions_currency_queryset = Transaction.objects.filter(
account__is_archived=False
).order_by(
"account__currency__name",
)
transactions_account_queryset = Transaction.objects.filter(
account__is_archived=False

View File

@@ -1085,6 +1085,5 @@ class RecurringTransactionForm(forms.ModelForm):
instance.create_upcoming_transactions()
else:
instance.update_unpaid_transactions()
instance.generate_upcoming_transactions()
return instance

View File

@@ -589,10 +589,7 @@ def transaction_all_currency_summary(request):
f = TransactionsFilter(request.GET, queryset=transactions)
currency_data = calculate_currency_totals(
f.qs.exclude(account__in=request.user.untracked_accounts.all()),
ignore_empty=True,
)
currency_data = calculate_currency_totals(f.qs.all(), ignore_empty=True)
currency_percentages = calculate_percentage_distribution(currency_data)
context = {

View File

@@ -4,6 +4,7 @@ from . import views
urlpatterns = [
path("", views.index, name="index"),
path("setup/", views.setup, name="setup"),
path("login/", views.UserLoginView.as_view(), name="login"),
# path("login/fallback/", views.UserLoginView.as_view(), name="fallback_login"),
path("logout/", views.logout_view, name="logout"),

View File

@@ -21,6 +21,8 @@ from apps.users.forms import (
)
from apps.users.models import UserSettings
from apps.common.decorators.demo import disabled_on_demo
from apps.currencies.models import Currency
from apps.accounts.models import Account
def logout_view(request):
@@ -48,6 +50,28 @@ def index(request):
return redirect(reverse("monthly_index"))
@login_required
def setup(request):
has_currency = Currency.objects.exists()
has_account = Account.objects.exists()
# return render(
# request,
# "users/setup/setup.html",
# {"has_currency": has_currency, "has_account": has_account},
# )
if not has_currency or not has_account:
return render(
request,
"users/setup/setup.html",
{"has_currency": has_currency, "has_account": has_account},
)
else:
return HttpResponse(
status=200,
headers={"HX-Reswap": "delete"},
)
class UserLoginView(LoginView):
form_class = LoginForm
template_name = "users/login.html"

View File

@@ -95,7 +95,6 @@ def yearly_overview_by_currency(request, year: int):
transactions = (
Transaction.objects.filter(**filter_params)
.exclude(Q(Q(category__mute=True) & ~Q(category=None)) | Q(mute=True))
.exclude(account__in=request.user.untracked_accounts.all())
.order_by("account__currency__name")
)

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-09 06:57+0000\n"
"POT-Creation-Date: 2025-08-06 16:21+0000\n"
"PO-Revision-Date: 2025-07-22 06:17+0000\n"
"Last-Translator: seraphblade2010 <marc.butenhoff@web.de>\n"
"Language-Team: German <https://translations.herculino.com/projects/wygiwyh/"
@@ -25,7 +25,7 @@ msgstr "Gruppe Name"
#: apps/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
#: apps/currencies/forms.py:144 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
#: apps/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421
@@ -38,7 +38,7 @@ msgstr "Aktualisierung"
#: apps/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -171,7 +171,7 @@ 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:75 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/rules/models.py:30 apps/rules/models.py:242
#: apps/transactions/forms.py:62 apps/transactions/forms.py:276
#: apps/transactions/forms.py:659 apps/transactions/forms.py:920
@@ -185,7 +185,7 @@ msgstr ""
msgid "Account"
msgstr "Konto"
#: apps/accounts/models.py:76 apps/export_app/forms.py:20
#: apps/accounts/models.py:71 apps/export_app/forms.py:20
#: apps/export_app/forms.py:132 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:117
@@ -197,7 +197,7 @@ msgstr "Konto"
msgid "Accounts"
msgstr "Konten"
#: apps/accounts/models.py:93
#: apps/accounts/models.py:84
msgid "Exchange currency cannot be the same as the account's main currency."
msgstr ""
"Die Umrechnungs-Währung darf nicht mit der Haupt-Währung des Kontos "
@@ -235,7 +235,7 @@ msgid "Account Group deleted successfully"
msgstr "Kontengruppe erfolgreich gelöscht"
#: apps/accounts/views/account_groups.py:135
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
#: apps/accounts/views/accounts.py:169 apps/dca/views.py:129
#: apps/rules/views.py:187 apps/transactions/views/categories.py:192
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
msgid "Ownership taken successfully"
@@ -260,14 +260,6 @@ msgstr "Konto erfolgreich aktualisiert"
msgid "Account deleted successfully"
msgstr "Konto erfolgreich gelöscht"
#: apps/accounts/views/accounts.py:165
msgid "Account is now tracked"
msgstr ""
#: apps/accounts/views/accounts.py:168
msgid "Account is now untracked"
msgstr ""
#: apps/accounts/views/balance.py:77
msgid "Balance reconciliation"
msgstr "Saldenaktualisierung"
@@ -300,7 +292,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:192
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Entweder \"Datum\" oder \"Referenzdatum\" müssen angegeben werden."
@@ -541,7 +533,7 @@ msgstr "Startwährung"
msgid "To Currency"
msgstr "Zielwährung"
#: apps/currencies/models.py:69 apps/currencies/models.py:76
#: apps/currencies/models.py:69 apps/currencies/models.py:74
msgid "Exchange Rate"
msgstr "Umrechnungskurs"
@@ -549,43 +541,38 @@ msgstr "Umrechnungskurs"
msgid "Date and Time"
msgstr "Datum und Uhrzeit"
#: apps/currencies/models.py:73 apps/users/models.py:12
#: apps/users/models.py:497
msgid "Auto"
msgstr "Automatisch"
#: apps/currencies/models.py:77 apps/export_app/forms.py:68
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates"
msgstr "Umrechnungskurse"
#: apps/currencies/models.py:89
#: apps/currencies/models.py:87
msgid "From and To currencies cannot be the same."
msgstr "Start- und Zielwährung dürfen nicht identisch sein."
#: apps/currencies/models.py:104
#: apps/currencies/models.py:102
msgid "On"
msgstr "An"
#: apps/currencies/models.py:105
#: apps/currencies/models.py:103
msgid "Every X hours"
msgstr "Alle X Stunden"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:104
msgid "Not on"
msgstr "Nicht an"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:106
msgid "Service Name"
msgstr "Dienstname"
#: apps/currencies/models.py:110
#: apps/currencies/models.py:108
msgid "Service Type"
msgstr "Diensttyp"
#: apps/currencies/models.py:112 apps/transactions/models.py:214
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
@@ -594,31 +581,31 @@ msgstr "Diensttyp"
msgid "Active"
msgstr "Aktiv"
#: apps/currencies/models.py:117
#: apps/currencies/models.py:115
msgid "API Key"
msgstr "API-Schlüssel"
#: apps/currencies/models.py:118
#: apps/currencies/models.py:116
msgid "API key for the service (if required)"
msgstr "API-Schlüssel für den Dienst (falls benötigt)"
#: apps/currencies/models.py:123
#: apps/currencies/models.py:121
msgid "Interval Type"
msgstr "Intervalltyp"
#: apps/currencies/models.py:127
#: apps/currencies/models.py:125
msgid "Interval"
msgstr "Intervall"
#: apps/currencies/models.py:130
#: apps/currencies/models.py:128
msgid "Last Successful Fetch"
msgstr "Letzter erfolgreicher Abruf"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:133
msgid "Target Currencies"
msgstr "Zielwährungen"
#: apps/currencies/models.py:137
#: apps/currencies/models.py:135
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
@@ -626,11 +613,11 @@ msgstr ""
"Währung auswählen, dessen Umrechnungskurs abgerufen werden sollen. Für jede "
"Währung wird der Kurs der entsprechenden Umrechnungs-Währung abgerufen."
#: apps/currencies/models.py:145
#: apps/currencies/models.py:143
msgid "Target Accounts"
msgstr "Zielkonten"
#: apps/currencies/models.py:147
#: apps/currencies/models.py:145
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
@@ -638,33 +625,23 @@ msgstr ""
"Konten auswählen, für die Umrechungskurse abgerufen werden solen. Für jedes "
"Konto wird der Kurs der entsprechenden Umrechnungs-Währung abgerufen."
#: apps/currencies/models.py:154
#, fuzzy
#| msgid "Edit exchange rate"
msgid "Single exchange rate"
msgstr "Umrechnungskurs bearbeiten"
#: apps/currencies/models.py:157
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
msgstr ""
#: apps/currencies/models.py:162
#: apps/currencies/models.py:152
msgid "Exchange Rate Service"
msgstr "Umrechnungskurs-Dienst"
#: apps/currencies/models.py:163
#: apps/currencies/models.py:153
msgid "Exchange Rate Services"
msgstr "Umrechnungskurs-Dienste"
#: apps/currencies/models.py:215
#: apps/currencies/models.py:205
msgid "'Every X hours' interval type requires a positive integer."
msgstr "\"Jede X Stunden\"-Intervalltyp benötigt eine positive Ganzzahl."
#: apps/currencies/models.py:224
#: apps/currencies/models.py:214
msgid "'Every X hours' interval must be between 1 and 24."
msgstr "\"Jede X Stunden\"-Intervall muss zwischen 1 und 24 liegen."
#: apps/currencies/models.py:238
#: apps/currencies/models.py:228
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
@@ -672,7 +649,7 @@ msgstr ""
"Ungültiges Stundenformat. Nutze kommagetrennte Stunden (0-23) und/oder "
"Zeiträume (z.B. \"1-5,8,10-12\")."
#: apps/currencies/models.py:249
#: apps/currencies/models.py:239
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -932,7 +909,7 @@ msgstr "Aktion der Transaktions-Regel bearbeiten"
msgid "Update or create transaction actions"
msgstr "Aktualisierung oder Erstellung von Transaktions-Aktionen"
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:186
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1705,8 +1682,8 @@ msgid "Item deleted successfully"
msgstr "Objekt erfolgreich gelöscht"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
msgid "Transaction added successfully"
msgstr "Transaktion erfolgreich hinzugefügt"
@@ -1746,30 +1723,30 @@ msgstr "Tag erfolgreich aktualisiert"
msgid "Tag deleted successfully"
msgstr "Tag erfolgreich gelöscht"
#: apps/transactions/views/transactions.py:183
#: apps/transactions/views/transactions.py:182
msgid "Transaction updated successfully"
msgstr "Transaktion erfolgreich aktualisiert"
#: apps/transactions/views/transactions.py:233
#: apps/transactions/views/transactions.py:232
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s Transaktion erfolgreich aktualisiert"
msgstr[1] "%(count)s Transaktionen erfolgreich aktualisiert"
#: apps/transactions/views/transactions.py:269
#: apps/transactions/views/transactions.py:268
msgid "Transaction duplicated successfully"
msgstr "Transaktion erfolgreich duplisiert"
#: apps/transactions/views/transactions.py:311
#: apps/transactions/views/transactions.py:310
msgid "Transaction deleted successfully"
msgstr "Transaktion erfolgreich gelöscht"
#: apps/transactions/views/transactions.py:329
#: apps/transactions/views/transactions.py:328
msgid "Transaction restored successfully"
msgstr "Transaktion erfolgreich wiederhergestellt"
#: apps/transactions/views/transactions.py:355
#: apps/transactions/views/transactions.py:354
msgid "Transfer added successfully"
msgstr "Transfer erfolgreich hinzugefügt"
@@ -1897,6 +1874,10 @@ msgstr "Du kannst deinen eigenen Superuser-Status nicht hier entfernen."
msgid "A user with this email address already exists."
msgstr "Ein Benutzer mit dieser E-Mail-Adresse existiert bereits."
#: apps/users/models.py:12 apps/users/models.py:497
msgid "Auto"
msgstr "Automatisch"
#: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency"
msgstr "Jährlich nach Währung"
@@ -2013,7 +1994,7 @@ msgstr "Bearbeiten"
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136
#: templates/cotton/transaction/item.html:192
#: templates/cotton/transaction/item.html:178
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2040,7 +2021,7 @@ msgstr "Löschen"
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140
#: templates/cotton/transaction/item.html:196
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2070,7 +2051,7 @@ msgstr "Bist du sicher?"
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141
#: templates/cotton/transaction/item.html:197
#: templates/cotton/transaction/item.html:183
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2092,7 +2073,7 @@ msgstr "Dies kann nicht rückgängig gemacht werden!"
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:198
#: templates/cotton/transaction/item.html:184
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2173,15 +2154,7 @@ msgstr "Konto bearbeiten"
msgid "Is Asset"
msgstr "Ist Vermögenswert"
#: templates/accounts/fragments/list.html:78
msgid "Track"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Untrack"
msgstr ""
#: templates/accounts/fragments/list.html:98
#: templates/accounts/fragments/list.html:87
msgid "No accounts"
msgstr "Keine Konten"
@@ -2263,42 +2236,23 @@ msgid "Select"
msgstr "Auswahl"
#: templates/cotton/transaction/item.html:154
#: templates/cotton/transaction/item.html:164
#: templates/cotton/transaction/item.html:170
#: templates/cotton/transaction/item.html:160
msgid "Show on summaries"
msgstr "Anzeigen auf Zusammenfassungen"
#: templates/cotton/transaction/item.html:155
#, fuzzy
#| msgid "Controlled by category"
msgid "Controlled by account"
msgstr "Gesteuert durch Kategorie"
#: templates/cotton/transaction/item.html:165
msgid "Controlled by category"
msgstr "Gesteuert durch Kategorie"
#: templates/cotton/transaction/item.html:172
#: templates/cotton/transaction/item.html:162
msgid "Hide from summaries"
msgstr "Verstecken bei Zusammenfassungen"
#: templates/cotton/transaction/item.html:174
#: templates/cotton/transaction/item.html:164
msgid "Add as quick transaction"
msgstr "Als schnelle Transaktion hinzufügen"
#: templates/cotton/transaction/item.html:176
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:177
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:178
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:180
#: templates/cotton/transaction/item.html:166
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr "Duplikat"
@@ -3436,11 +3390,6 @@ msgstr "endet mit"
msgid "Yearly Overview"
msgstr "Jährliche Übersicht"
#, fuzzy
#~| msgid "Automation"
#~ msgid "Automatic"
#~ msgstr "Automatisierung"
#~ msgid "Profile"
#~ msgstr "Profil"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-09 06:57+0000\n"
"POT-Creation-Date: 2025-08-06 16:21+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"
@@ -24,7 +24,7 @@ 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:144 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
#: apps/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421
@@ -37,7 +37,7 @@ msgstr ""
#: apps/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -167,7 +167,7 @@ msgstr ""
msgid "Archived accounts don't show up nor count towards your net worth"
msgstr ""
#: apps/accounts/models.py:75 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/rules/models.py:30 apps/rules/models.py:242
#: apps/transactions/forms.py:62 apps/transactions/forms.py:276
#: apps/transactions/forms.py:659 apps/transactions/forms.py:920
@@ -181,7 +181,7 @@ msgstr ""
msgid "Account"
msgstr ""
#: apps/accounts/models.py:76 apps/export_app/forms.py:20
#: apps/accounts/models.py:71 apps/export_app/forms.py:20
#: apps/export_app/forms.py:132 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:117
@@ -193,7 +193,7 @@ msgstr ""
msgid "Accounts"
msgstr ""
#: apps/accounts/models.py:93
#: apps/accounts/models.py:84
msgid "Exchange currency cannot be the same as the account's main currency."
msgstr ""
@@ -229,7 +229,7 @@ msgid "Account Group deleted successfully"
msgstr ""
#: apps/accounts/views/account_groups.py:135
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
#: apps/accounts/views/accounts.py:169 apps/dca/views.py:129
#: apps/rules/views.py:187 apps/transactions/views/categories.py:192
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
msgid "Ownership taken successfully"
@@ -254,14 +254,6 @@ msgstr ""
msgid "Account deleted successfully"
msgstr ""
#: apps/accounts/views/accounts.py:165
msgid "Account is now tracked"
msgstr ""
#: apps/accounts/views/accounts.py:168
msgid "Account is now untracked"
msgstr ""
#: apps/accounts/views/balance.py:77
msgid "Balance reconciliation"
msgstr ""
@@ -294,7 +286,7 @@ msgstr ""
msgid "Invalid entity data. Provide an ID or name."
msgstr ""
#: apps/api/serializers/transactions.py:192
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr ""
@@ -529,7 +521,7 @@ msgstr ""
msgid "To Currency"
msgstr ""
#: apps/currencies/models.py:69 apps/currencies/models.py:76
#: apps/currencies/models.py:69 apps/currencies/models.py:74
msgid "Exchange Rate"
msgstr ""
@@ -537,43 +529,38 @@ msgstr ""
msgid "Date and Time"
msgstr ""
#: apps/currencies/models.py:73 apps/users/models.py:12
#: apps/users/models.py:497
msgid "Auto"
msgstr ""
#: apps/currencies/models.py:77 apps/export_app/forms.py:68
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates"
msgstr ""
#: apps/currencies/models.py:89
#: apps/currencies/models.py:87
msgid "From and To currencies cannot be the same."
msgstr ""
#: apps/currencies/models.py:104
#: apps/currencies/models.py:102
msgid "On"
msgstr ""
#: apps/currencies/models.py:105
#: apps/currencies/models.py:103
msgid "Every X hours"
msgstr ""
#: apps/currencies/models.py:106
#: apps/currencies/models.py:104
msgid "Not on"
msgstr ""
#: apps/currencies/models.py:108
#: apps/currencies/models.py:106
msgid "Service Name"
msgstr ""
#: apps/currencies/models.py:110
#: apps/currencies/models.py:108
msgid "Service Type"
msgstr ""
#: apps/currencies/models.py:112 apps/transactions/models.py:214
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
@@ -582,77 +569,69 @@ msgstr ""
msgid "Active"
msgstr ""
#: apps/currencies/models.py:117
#: apps/currencies/models.py:115
msgid "API Key"
msgstr ""
#: apps/currencies/models.py:118
#: apps/currencies/models.py:116
msgid "API key for the service (if required)"
msgstr ""
#: apps/currencies/models.py:123
#: apps/currencies/models.py:121
msgid "Interval Type"
msgstr ""
#: apps/currencies/models.py:127
#: apps/currencies/models.py:125
msgid "Interval"
msgstr ""
#: apps/currencies/models.py:130
#: apps/currencies/models.py:128
msgid "Last Successful Fetch"
msgstr ""
#: apps/currencies/models.py:135
#: apps/currencies/models.py:133
msgid "Target Currencies"
msgstr ""
#: apps/currencies/models.py:137
#: apps/currencies/models.py:135
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
msgstr ""
#: apps/currencies/models.py:145
#: apps/currencies/models.py:143
msgid "Target Accounts"
msgstr ""
#: apps/currencies/models.py:147
#: apps/currencies/models.py:145
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
msgstr ""
#: apps/currencies/models.py:154
msgid "Single exchange rate"
msgstr ""
#: apps/currencies/models.py:157
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
msgstr ""
#: apps/currencies/models.py:162
#: apps/currencies/models.py:152
msgid "Exchange Rate Service"
msgstr ""
#: apps/currencies/models.py:163
#: apps/currencies/models.py:153
msgid "Exchange Rate Services"
msgstr ""
#: apps/currencies/models.py:215
#: apps/currencies/models.py:205
msgid "'Every X hours' interval type requires a positive integer."
msgstr ""
#: apps/currencies/models.py:224
#: apps/currencies/models.py:214
msgid "'Every X hours' interval must be between 1 and 24."
msgstr ""
#: apps/currencies/models.py:238
#: apps/currencies/models.py:228
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
msgstr ""
#: apps/currencies/models.py:249
#: apps/currencies/models.py:239
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -908,7 +887,7 @@ msgstr ""
msgid "Update or create transaction actions"
msgstr ""
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:186
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1659,8 +1638,8 @@ msgid "Item deleted successfully"
msgstr ""
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
msgid "Transaction added successfully"
msgstr ""
@@ -1700,30 +1679,30 @@ msgstr ""
msgid "Tag deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:183
#: apps/transactions/views/transactions.py:182
msgid "Transaction updated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:233
#: apps/transactions/views/transactions.py:232
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] ""
msgstr[1] ""
#: apps/transactions/views/transactions.py:269
#: apps/transactions/views/transactions.py:268
msgid "Transaction duplicated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:311
#: apps/transactions/views/transactions.py:310
msgid "Transaction deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:329
#: apps/transactions/views/transactions.py:328
msgid "Transaction restored successfully"
msgstr ""
#: apps/transactions/views/transactions.py:355
#: apps/transactions/views/transactions.py:354
msgid "Transfer added successfully"
msgstr ""
@@ -1846,6 +1825,10 @@ msgstr ""
msgid "A user with this email address already exists."
msgstr ""
#: apps/users/models.py:12 apps/users/models.py:497
msgid "Auto"
msgstr ""
#: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency"
msgstr ""
@@ -1962,7 +1945,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136
#: templates/cotton/transaction/item.html:192
#: templates/cotton/transaction/item.html:178
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -1989,7 +1972,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140
#: templates/cotton/transaction/item.html:196
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2019,7 +2002,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141
#: templates/cotton/transaction/item.html:197
#: templates/cotton/transaction/item.html:183
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2041,7 +2024,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:198
#: templates/cotton/transaction/item.html:184
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2122,15 +2105,7 @@ msgstr ""
msgid "Is Asset"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Track"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Untrack"
msgstr ""
#: templates/accounts/fragments/list.html:98
#: templates/accounts/fragments/list.html:87
msgid "No accounts"
msgstr ""
@@ -2212,40 +2187,23 @@ msgid "Select"
msgstr ""
#: templates/cotton/transaction/item.html:154
#: templates/cotton/transaction/item.html:164
#: templates/cotton/transaction/item.html:170
#: templates/cotton/transaction/item.html:160
msgid "Show on summaries"
msgstr ""
#: templates/cotton/transaction/item.html:155
msgid "Controlled by account"
msgstr ""
#: templates/cotton/transaction/item.html:165
msgid "Controlled by category"
msgstr ""
#: templates/cotton/transaction/item.html:172
#: templates/cotton/transaction/item.html:162
msgid "Hide from summaries"
msgstr ""
#: templates/cotton/transaction/item.html:174
#: templates/cotton/transaction/item.html:164
msgid "Add as quick transaction"
msgstr ""
#: templates/cotton/transaction/item.html:176
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:177
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:178
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:180
#: templates/cotton/transaction/item.html:166
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr ""

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-09 06:57+0000\n"
"POT-Creation-Date: 2025-08-06 16:21+0000\n"
"PO-Revision-Date: 2025-07-21 18:17+0000\n"
"Last-Translator: afermar <adrian.fm@protonmail.com>\n"
"Language-Team: Spanish <https://translations.herculino.com/projects/wygiwyh/"
@@ -25,7 +25,7 @@ msgstr "Nombre del 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:144 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
#: apps/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421
@@ -38,7 +38,7 @@ msgstr "Actualizar"
#: apps/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -169,7 +169,7 @@ msgstr "Archivado"
msgid "Archived accounts don't show up nor count towards your net worth"
msgstr "Las cuentas archivadas no aparecen ni cuentan para su patrimonio neto"
#: apps/accounts/models.py:75 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/rules/models.py:30 apps/rules/models.py:242
#: apps/transactions/forms.py:62 apps/transactions/forms.py:276
#: apps/transactions/forms.py:659 apps/transactions/forms.py:920
@@ -183,7 +183,7 @@ msgstr "Las cuentas archivadas no aparecen ni cuentan para su patrimonio neto"
msgid "Account"
msgstr "Cuenta"
#: apps/accounts/models.py:76 apps/export_app/forms.py:20
#: apps/accounts/models.py:71 apps/export_app/forms.py:20
#: apps/export_app/forms.py:132 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:117
@@ -195,7 +195,7 @@ msgstr "Cuenta"
msgid "Accounts"
msgstr "Cuentas"
#: apps/accounts/models.py:93
#: apps/accounts/models.py:84
msgid "Exchange currency cannot be the same as the account's main currency."
msgstr ""
"La moneda de cambio no puede ser la misma que la moneda principal de la "
@@ -233,7 +233,7 @@ msgid "Account Group deleted successfully"
msgstr "Grupo de Cuenta eliminado exitosamente"
#: apps/accounts/views/account_groups.py:135
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
#: apps/accounts/views/accounts.py:169 apps/dca/views.py:129
#: apps/rules/views.py:187 apps/transactions/views/categories.py:192
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
msgid "Ownership taken successfully"
@@ -258,14 +258,6 @@ msgstr "Cuenta actualizada exitosamente"
msgid "Account deleted successfully"
msgstr "Cuenta borrada exitosamente"
#: apps/accounts/views/accounts.py:165
msgid "Account is now tracked"
msgstr ""
#: apps/accounts/views/accounts.py:168
msgid "Account is now untracked"
msgstr ""
#: apps/accounts/views/balance.py:77
msgid "Balance reconciliation"
msgstr "Conciliación de saldos"
@@ -299,7 +291,7 @@ msgstr "No existe una entidad con este ID."
msgid "Invalid entity data. Provide an ID or name."
msgstr "Invalid entity data. Provide an ID or name."
#: apps/api/serializers/transactions.py:192
#: apps/api/serializers/transactions.py:191
#, fuzzy
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Either 'date' or 'reference_date' must be provided."
@@ -550,7 +542,7 @@ msgstr "De Moneda"
msgid "To Currency"
msgstr "A Moneda"
#: apps/currencies/models.py:69 apps/currencies/models.py:76
#: apps/currencies/models.py:69 apps/currencies/models.py:74
msgid "Exchange Rate"
msgstr "Tipo de cambio"
@@ -558,44 +550,38 @@ msgstr "Tipo de cambio"
msgid "Date and Time"
msgstr "Fecha y Hora"
#: apps/currencies/models.py:73 apps/users/models.py:12
#: apps/users/models.py:497
#, fuzzy
msgid "Auto"
msgstr "Auto"
#: apps/currencies/models.py:77 apps/export_app/forms.py:68
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates"
msgstr "Tipos de cambio"
#: apps/currencies/models.py:89
#: apps/currencies/models.py:87
msgid "From and To currencies cannot be the same."
msgstr "Las monedas de origen y destino no pueden ser la misma."
#: apps/currencies/models.py:104
#: apps/currencies/models.py:102
msgid "On"
msgstr "Encendido"
#: apps/currencies/models.py:105
#: apps/currencies/models.py:103
msgid "Every X hours"
msgstr "Cada X horas"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:104
msgid "Not on"
msgstr "No Encendido"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:106
msgid "Service Name"
msgstr "Nombre del Servicio"
#: apps/currencies/models.py:110
#: apps/currencies/models.py:108
msgid "Service Type"
msgstr "Tipo de Servicio"
#: apps/currencies/models.py:112 apps/transactions/models.py:214
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
@@ -604,37 +590,37 @@ msgstr "Tipo de Servicio"
msgid "Active"
msgstr "Activo"
#: apps/currencies/models.py:117
#: apps/currencies/models.py:115
#, fuzzy
msgid "API Key"
msgstr "API Key"
#: apps/currencies/models.py:118
#: apps/currencies/models.py:116
#, fuzzy
msgid "API key for the service (if required)"
msgstr "API key for the service (if required)"
#: apps/currencies/models.py:123
#: apps/currencies/models.py:121
#, fuzzy
msgid "Interval Type"
msgstr "Interval Type"
#: apps/currencies/models.py:127
#: apps/currencies/models.py:125
#, fuzzy
msgid "Interval"
msgstr "Interval"
#: apps/currencies/models.py:130
#: apps/currencies/models.py:128
#, fuzzy
msgid "Last Successful Fetch"
msgstr "Last Successful Fetch"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:133
#, fuzzy
msgid "Target Currencies"
msgstr "Target Currencies"
#: apps/currencies/models.py:137
#: apps/currencies/models.py:135
#, fuzzy
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
@@ -643,12 +629,12 @@ msgstr ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
#: apps/currencies/models.py:145
#: apps/currencies/models.py:143
#, fuzzy
msgid "Target Accounts"
msgstr "Target Accounts"
#: apps/currencies/models.py:147
#: apps/currencies/models.py:145
#, fuzzy
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
@@ -657,36 +643,27 @@ msgstr ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
#: apps/currencies/models.py:154
#, fuzzy
msgid "Single exchange rate"
msgstr "Edit exchange rate"
#: apps/currencies/models.py:157
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
msgstr ""
#: apps/currencies/models.py:162
#: apps/currencies/models.py:152
#, fuzzy
msgid "Exchange Rate Service"
msgstr "Exchange Rate Service"
#: apps/currencies/models.py:163
#: apps/currencies/models.py:153
#, fuzzy
msgid "Exchange Rate Services"
msgstr "Exchange Rate Services"
#: apps/currencies/models.py:215
#: apps/currencies/models.py:205
#, fuzzy
msgid "'Every X hours' interval type requires a positive integer."
msgstr "'Every X hours' interval type requires a positive integer."
#: apps/currencies/models.py:224
#: apps/currencies/models.py:214
#, fuzzy
msgid "'Every X hours' interval must be between 1 and 24."
msgstr "'Every X hours' interval must be between 1 and 24."
#: apps/currencies/models.py:238
#: apps/currencies/models.py:228
#, fuzzy
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
@@ -695,7 +672,7 @@ msgstr ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
#: apps/currencies/models.py:249
#: apps/currencies/models.py:239
#, fuzzy
msgid ""
"Invalid format. Please check the requirements for your selected interval "
@@ -1005,7 +982,7 @@ msgstr "Edit transaction action"
msgid "Update or create transaction actions"
msgstr "Update or create transaction actions"
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:186
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1911,8 +1888,8 @@ msgid "Item deleted successfully"
msgstr "Rule deleted successfully"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
#, fuzzy
msgid "Transaction added successfully"
msgstr "Transaction added successfully"
@@ -1962,34 +1939,34 @@ msgstr "Tag updated successfully"
msgid "Tag deleted successfully"
msgstr "Tag deleted successfully"
#: apps/transactions/views/transactions.py:183
#: apps/transactions/views/transactions.py:182
#, fuzzy
msgid "Transaction updated successfully"
msgstr "Transaction updated successfully"
#: apps/transactions/views/transactions.py:233
#: apps/transactions/views/transactions.py:232
#, fuzzy, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s transaction updated successfully"
msgstr[1] "%(count)s transactions updated successfully"
#: apps/transactions/views/transactions.py:269
#: apps/transactions/views/transactions.py:268
#, fuzzy
msgid "Transaction duplicated successfully"
msgstr "Transaction duplicated successfully"
#: apps/transactions/views/transactions.py:311
#: apps/transactions/views/transactions.py:310
#, fuzzy
msgid "Transaction deleted successfully"
msgstr "Transaction deleted successfully"
#: apps/transactions/views/transactions.py:329
#: apps/transactions/views/transactions.py:328
#, fuzzy
msgid "Transaction restored successfully"
msgstr "Transaction restored successfully"
#: apps/transactions/views/transactions.py:355
#: apps/transactions/views/transactions.py:354
#, fuzzy
msgid "Transfer added successfully"
msgstr "Transfer added successfully"
@@ -2135,6 +2112,11 @@ msgstr ""
msgid "A user with this email address already exists."
msgstr "A value for this field already exists in the rule."
#: apps/users/models.py:12 apps/users/models.py:497
#, fuzzy
msgid "Auto"
msgstr "Auto"
#: apps/users/models.py:465 templates/includes/navbar.html:29
#, fuzzy
msgid "Yearly by currency"
@@ -2269,7 +2251,7 @@ msgstr "Edit"
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136
#: templates/cotton/transaction/item.html:192
#: templates/cotton/transaction/item.html:178
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2297,7 +2279,7 @@ msgstr "Delete"
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140
#: templates/cotton/transaction/item.html:196
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2328,7 +2310,7 @@ msgstr "Are you sure?"
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141
#: templates/cotton/transaction/item.html:197
#: templates/cotton/transaction/item.html:183
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2351,7 +2333,7 @@ msgstr "You won't be able to revert this!"
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:198
#: templates/cotton/transaction/item.html:184
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2444,15 +2426,7 @@ msgstr "Edit account"
msgid "Is Asset"
msgstr "Is Asset"
#: templates/accounts/fragments/list.html:78
msgid "Track"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Untrack"
msgstr ""
#: templates/accounts/fragments/list.html:98
#: templates/accounts/fragments/list.html:87
#, fuzzy
msgid "No accounts"
msgstr "No accounts"
@@ -2553,44 +2527,26 @@ msgid "Select"
msgstr "Select"
#: templates/cotton/transaction/item.html:154
#: templates/cotton/transaction/item.html:164
#: templates/cotton/transaction/item.html:170
#: templates/cotton/transaction/item.html:160
msgid "Show on summaries"
msgstr ""
#: templates/cotton/transaction/item.html:155
#, fuzzy
msgid "Controlled by account"
msgstr "No category"
#: templates/cotton/transaction/item.html:165
#, fuzzy
msgid "Controlled by category"
msgstr "No category"
#: templates/cotton/transaction/item.html:172
#: templates/cotton/transaction/item.html:162
msgid "Hide from summaries"
msgstr ""
#: templates/cotton/transaction/item.html:174
#: templates/cotton/transaction/item.html:164
#, fuzzy
#| msgid "Add quick transaction"
msgid "Add as quick transaction"
msgstr "Agregar transacción rápida"
#: templates/cotton/transaction/item.html:176
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:177
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:178
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:180
#: templates/cotton/transaction/item.html:166
#: templates/cotton/ui/transactions_action_bar.html:82
#, fuzzy
msgid "Duplicate"
@@ -3901,10 +3857,6 @@ msgstr "ends with"
msgid "Yearly Overview"
msgstr "Yearly Overview"
#, fuzzy
#~ msgid "Automatic"
#~ msgstr "Automation"
#, fuzzy
#~ msgid "Profile"
#~ msgstr "Import Profiles"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-09 06:57+0000\n"
"POT-Creation-Date: 2025-08-06 16:21+0000\n"
"PO-Revision-Date: 2025-07-28 22:17+0000\n"
"Last-Translator: Erwan Colin <zephone@protonmail.com>\n"
"Language-Team: French <https://translations.herculino.com/projects/wygiwyh/"
@@ -25,7 +25,7 @@ msgstr "Nom de groupe"
#: apps/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
#: apps/currencies/forms.py:144 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
#: apps/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421
@@ -38,7 +38,7 @@ msgstr "Mise à jour"
#: apps/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -171,7 +171,7 @@ msgstr ""
"Les comptes archivés ne sont ni affichés ni comptabilisés dans votre valeur "
"nette"
#: apps/accounts/models.py:75 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/rules/models.py:30 apps/rules/models.py:242
#: apps/transactions/forms.py:62 apps/transactions/forms.py:276
#: apps/transactions/forms.py:659 apps/transactions/forms.py:920
@@ -185,7 +185,7 @@ msgstr ""
msgid "Account"
msgstr "Compte"
#: apps/accounts/models.py:76 apps/export_app/forms.py:20
#: apps/accounts/models.py:71 apps/export_app/forms.py:20
#: apps/export_app/forms.py:132 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:117
@@ -197,7 +197,7 @@ msgstr "Compte"
msgid "Accounts"
msgstr "Comptes"
#: apps/accounts/models.py:93
#: apps/accounts/models.py:84
msgid "Exchange currency cannot be the same as the account's main currency."
msgstr ""
"La devise de change ne peut pas être identique à la devise principal du "
@@ -235,7 +235,7 @@ msgid "Account Group deleted successfully"
msgstr "Groupe de compte supprimé avec succès"
#: apps/accounts/views/account_groups.py:135
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
#: apps/accounts/views/accounts.py:169 apps/dca/views.py:129
#: apps/rules/views.py:187 apps/transactions/views/categories.py:192
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
msgid "Ownership taken successfully"
@@ -260,14 +260,6 @@ msgstr "Compte mis à jour avec succès"
msgid "Account deleted successfully"
msgstr "Compte supprimé avec succès"
#: apps/accounts/views/accounts.py:165
msgid "Account is now tracked"
msgstr ""
#: apps/accounts/views/accounts.py:168
msgid "Account is now untracked"
msgstr ""
#: apps/accounts/views/balance.py:77
msgid "Balance reconciliation"
msgstr "Rapprochement des soldes"
@@ -300,7 +292,7 @@ msgstr "Aucune entité avec cet ID n'existe."
msgid "Invalid entity data. Provide an ID or name."
msgstr "Donnée d'entité invalide. Veuillez fournir un ID ou nom."
#: apps/api/serializers/transactions.py:192
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Une 'date' ou 'reference_date' doit être fourni."
@@ -540,7 +532,7 @@ msgstr "Devise de départ"
msgid "To Currency"
msgstr "Devise d'arrivée"
#: apps/currencies/models.py:69 apps/currencies/models.py:76
#: apps/currencies/models.py:69 apps/currencies/models.py:74
msgid "Exchange Rate"
msgstr "Taux de change"
@@ -548,44 +540,38 @@ msgstr "Taux de change"
msgid "Date and Time"
msgstr "Date et Heure"
#: apps/currencies/models.py:73 apps/users/models.py:12
#: apps/users/models.py:497
#, fuzzy
msgid "Auto"
msgstr "Auto"
#: apps/currencies/models.py:77 apps/export_app/forms.py:68
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates"
msgstr "Taux de changes"
#: apps/currencies/models.py:89
#: apps/currencies/models.py:87
msgid "From and To currencies cannot be the same."
msgstr "Les devises de départ et d'arrivée ne peuvent pas être identiques."
#: apps/currencies/models.py:104
#: apps/currencies/models.py:102
msgid "On"
msgstr "Le"
#: apps/currencies/models.py:105
#: apps/currencies/models.py:103
msgid "Every X hours"
msgstr "Toutes les X heures"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:104
msgid "Not on"
msgstr "Pas le"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:106
msgid "Service Name"
msgstr "Nom du Service"
#: apps/currencies/models.py:110
#: apps/currencies/models.py:108
msgid "Service Type"
msgstr "Type de Service"
#: apps/currencies/models.py:112 apps/transactions/models.py:214
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
@@ -594,31 +580,31 @@ msgstr "Type de Service"
msgid "Active"
msgstr "Actif"
#: apps/currencies/models.py:117
#: apps/currencies/models.py:115
msgid "API Key"
msgstr "Clé API"
#: apps/currencies/models.py:118
#: apps/currencies/models.py:116
msgid "API key for the service (if required)"
msgstr "Clé API pour le service (si nécessaire)"
#: apps/currencies/models.py:123
#: apps/currencies/models.py:121
msgid "Interval Type"
msgstr "Type d'intervalle"
#: apps/currencies/models.py:127
#: apps/currencies/models.py:125
msgid "Interval"
msgstr "Intervalle"
#: apps/currencies/models.py:130
#: apps/currencies/models.py:128
msgid "Last Successful Fetch"
msgstr "Dernière récupération avec succès"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:133
msgid "Target Currencies"
msgstr "Devises cibles"
#: apps/currencies/models.py:137
#: apps/currencies/models.py:135
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
@@ -626,11 +612,11 @@ msgstr ""
"Sélectionnez les devises pour récupérer leur taux de changes. Les taux "
"seront récupérés pour chaque devises par rapport à leur devise d'échange."
#: apps/currencies/models.py:145
#: apps/currencies/models.py:143
msgid "Target Accounts"
msgstr "Comptes cibles"
#: apps/currencies/models.py:147
#: apps/currencies/models.py:145
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
@@ -638,32 +624,23 @@ msgstr ""
"Sélectionnez les comptes pour récupérer leur taux de change. Les taux seront "
"récupérés pour chaque compte par rapport à leur devise d'échange."
#: apps/currencies/models.py:154
#, fuzzy
msgid "Single exchange rate"
msgstr "Edit exchange rate"
#: apps/currencies/models.py:157
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
msgstr ""
#: apps/currencies/models.py:162
#: apps/currencies/models.py:152
msgid "Exchange Rate Service"
msgstr "Service de taux de change"
#: apps/currencies/models.py:163
#: apps/currencies/models.py:153
msgid "Exchange Rate Services"
msgstr "Services de taux de change"
#: apps/currencies/models.py:215
#: apps/currencies/models.py:205
msgid "'Every X hours' interval type requires a positive integer."
msgstr "'Toutes les X heures' l'intervalle requiert un entier positif."
#: apps/currencies/models.py:224
#: apps/currencies/models.py:214
msgid "'Every X hours' interval must be between 1 and 24."
msgstr "'Toutes les X heures' l'intervalle doit être compris entre 1 et 24."
#: apps/currencies/models.py:238
#: apps/currencies/models.py:228
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
@@ -671,7 +648,7 @@ msgstr ""
"Format d'heure invalide. Utilisez les heures séparé par virgule (0-23) et/ou "
"une plage (ex : '1-5,8,10-12')."
#: apps/currencies/models.py:249
#: apps/currencies/models.py:239
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -930,7 +907,7 @@ msgstr "Modifier l'action de transaction"
msgid "Update or create transaction actions"
msgstr "Mettre à jour ou créer des actions de transaction"
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:186
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1701,8 +1678,8 @@ msgid "Item deleted successfully"
msgstr "Item supprimée avec succès"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
msgid "Transaction added successfully"
msgstr "Transaction ajoutée avec succès"
@@ -1742,30 +1719,30 @@ msgstr "Balise mise à jour avec succès"
msgid "Tag deleted successfully"
msgstr "Balise supprimée avec succès"
#: apps/transactions/views/transactions.py:183
#: apps/transactions/views/transactions.py:182
msgid "Transaction updated successfully"
msgstr "Transaction mise à jour avec succès"
#: apps/transactions/views/transactions.py:233
#: apps/transactions/views/transactions.py:232
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s transaction mise à jour avec succès"
msgstr[1] "%(count)s transactions mises à jour avec succès"
#: apps/transactions/views/transactions.py:269
#: apps/transactions/views/transactions.py:268
msgid "Transaction duplicated successfully"
msgstr "Transaction dupliquée avec succès"
#: apps/transactions/views/transactions.py:311
#: apps/transactions/views/transactions.py:310
msgid "Transaction deleted successfully"
msgstr "Transaction supprimée avec succès"
#: apps/transactions/views/transactions.py:329
#: apps/transactions/views/transactions.py:328
msgid "Transaction restored successfully"
msgstr "Transaction restaurée avec succès"
#: apps/transactions/views/transactions.py:355
#: apps/transactions/views/transactions.py:354
msgid "Transfer added successfully"
msgstr "Transfert ajouté avec succès"
@@ -1899,6 +1876,11 @@ msgstr ""
msgid "A user with this email address already exists."
msgstr "A value for this field already exists in the rule."
#: apps/users/models.py:12 apps/users/models.py:497
#, fuzzy
msgid "Auto"
msgstr "Auto"
#: apps/users/models.py:465 templates/includes/navbar.html:29
#, fuzzy
msgid "Yearly by currency"
@@ -2033,7 +2015,7 @@ msgstr "Edit"
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136
#: templates/cotton/transaction/item.html:192
#: templates/cotton/transaction/item.html:178
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2061,7 +2043,7 @@ msgstr "Delete"
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140
#: templates/cotton/transaction/item.html:196
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2092,7 +2074,7 @@ msgstr "Are you sure?"
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141
#: templates/cotton/transaction/item.html:197
#: templates/cotton/transaction/item.html:183
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2115,7 +2097,7 @@ msgstr "You won't be able to revert this!"
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:198
#: templates/cotton/transaction/item.html:184
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2208,15 +2190,7 @@ msgstr "Edit account"
msgid "Is Asset"
msgstr "Is Asset"
#: templates/accounts/fragments/list.html:78
msgid "Track"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Untrack"
msgstr ""
#: templates/accounts/fragments/list.html:98
#: templates/accounts/fragments/list.html:87
#, fuzzy
msgid "No accounts"
msgstr "No accounts"
@@ -2317,45 +2291,26 @@ msgid "Select"
msgstr "Select"
#: templates/cotton/transaction/item.html:154
#: templates/cotton/transaction/item.html:164
#: templates/cotton/transaction/item.html:170
#: templates/cotton/transaction/item.html:160
msgid "Show on summaries"
msgstr ""
#: templates/cotton/transaction/item.html:155
#, fuzzy
#| msgid "No category"
msgid "Controlled by account"
msgstr "Pas de catégorie"
#: templates/cotton/transaction/item.html:165
#, fuzzy
#| msgid "No category"
msgid "Controlled by category"
msgstr "Pas de catégorie"
#: templates/cotton/transaction/item.html:172
#: templates/cotton/transaction/item.html:162
msgid "Hide from summaries"
msgstr ""
#: templates/cotton/transaction/item.html:174
#: templates/cotton/transaction/item.html:164
#, fuzzy
msgid "Add as quick transaction"
msgstr "Add recurring transaction"
#: templates/cotton/transaction/item.html:176
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:177
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:178
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:180
#: templates/cotton/transaction/item.html:166
#: templates/cotton/ui/transactions_action_bar.html:82
#, fuzzy
msgid "Duplicate"
@@ -3707,10 +3662,6 @@ msgstr "Fini par"
msgid "Yearly Overview"
msgstr "Yearly Overview"
#, fuzzy
#~ msgid "Automatic"
#~ msgstr "Automation"
#, fuzzy
#~| msgid "Import Profiles"
#~ msgid "Profile"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-09 06:57+0000\n"
"PO-Revision-Date: 2025-08-09 10:17+0000\n"
"POT-Creation-Date: 2025-08-06 16:21+0000\n"
"PO-Revision-Date: 2025-07-28 17:17+0000\n"
"Last-Translator: Dimitri Decrock <dj.flashpower@gmail.com>\n"
"Language-Team: Dutch <https://translations.herculino.com/projects/wygiwyh/"
"app/nl/>\n"
@@ -25,7 +25,7 @@ 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:144 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
#: apps/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421
@@ -38,7 +38,7 @@ msgstr "Bijwerken"
#: apps/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -172,7 +172,7 @@ msgstr ""
"Gearchiveerde rekeningen worden niet weergegeven en tellen niet mee voor je "
"\"Netto Waarde\""
#: apps/accounts/models.py:75 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/rules/models.py:30 apps/rules/models.py:242
#: apps/transactions/forms.py:62 apps/transactions/forms.py:276
#: apps/transactions/forms.py:659 apps/transactions/forms.py:920
@@ -186,7 +186,7 @@ msgstr ""
msgid "Account"
msgstr "Rekening"
#: apps/accounts/models.py:76 apps/export_app/forms.py:20
#: apps/accounts/models.py:71 apps/export_app/forms.py:20
#: apps/export_app/forms.py:132 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:117
@@ -198,7 +198,7 @@ msgstr "Rekening"
msgid "Accounts"
msgstr "Rekeningen"
#: apps/accounts/models.py:93
#: apps/accounts/models.py:84
msgid "Exchange currency cannot be the same as the account's main currency."
msgstr ""
"Eenheid wisselgeld kan niet dezelfde zijn als de munteenheid van de rekening."
@@ -235,7 +235,7 @@ msgid "Account Group deleted successfully"
msgstr "Rekeninggroep succesvol verwijderd"
#: apps/accounts/views/account_groups.py:135
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
#: apps/accounts/views/accounts.py:169 apps/dca/views.py:129
#: apps/rules/views.py:187 apps/transactions/views/categories.py:192
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
msgid "Ownership taken successfully"
@@ -260,14 +260,6 @@ msgstr "Rekening succesvol bijgewerkt"
msgid "Account deleted successfully"
msgstr "Rekening succesvol verwijderd"
#: apps/accounts/views/accounts.py:165
msgid "Account is now tracked"
msgstr "Account wordt nu bijgehouden"
#: apps/accounts/views/accounts.py:168
msgid "Account is now untracked"
msgstr "Account wordt nu niet meer bijgehouden"
#: apps/accounts/views/balance.py:77
msgid "Balance reconciliation"
msgstr "Saldi afstemming"
@@ -300,7 +292,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:192
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "'datum' of 'referentiedatum' moet worden opgegeven."
@@ -540,7 +532,7 @@ msgstr "Van Munteenheid"
msgid "To Currency"
msgstr "Naar Munteenheid"
#: apps/currencies/models.py:69 apps/currencies/models.py:76
#: apps/currencies/models.py:69 apps/currencies/models.py:74
msgid "Exchange Rate"
msgstr "Wisselkoers"
@@ -548,43 +540,38 @@ msgstr "Wisselkoers"
msgid "Date and Time"
msgstr "Datum en Tijd"
#: apps/currencies/models.py:73 apps/users/models.py:12
#: apps/users/models.py:497
msgid "Auto"
msgstr "Automatisch"
#: apps/currencies/models.py:77 apps/export_app/forms.py:68
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates"
msgstr "Wisselkoersen"
#: apps/currencies/models.py:89
#: apps/currencies/models.py:87
msgid "From and To currencies cannot be the same."
msgstr "Van en Naar munteenheid kunnen niet dezelfde zijn."
#: apps/currencies/models.py:104
#: apps/currencies/models.py:102
msgid "On"
msgstr "Op"
#: apps/currencies/models.py:105
#: apps/currencies/models.py:103
msgid "Every X hours"
msgstr "Elke X Uren"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:104
msgid "Not on"
msgstr "Niet op"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:106
msgid "Service Name"
msgstr "Dienstnaam"
#: apps/currencies/models.py:110
#: apps/currencies/models.py:108
msgid "Service Type"
msgstr "Soort Dienst"
#: apps/currencies/models.py:112 apps/transactions/models.py:214
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
@@ -593,31 +580,31 @@ msgstr "Soort Dienst"
msgid "Active"
msgstr "Actief"
#: apps/currencies/models.py:117
#: apps/currencies/models.py:115
msgid "API Key"
msgstr "API Sleutel"
#: apps/currencies/models.py:118
#: apps/currencies/models.py:116
msgid "API key for the service (if required)"
msgstr "API sleutel voor de dienst (indien verplicht)"
#: apps/currencies/models.py:123
#: apps/currencies/models.py:121
msgid "Interval Type"
msgstr "Soort Interval"
#: apps/currencies/models.py:127
#: apps/currencies/models.py:125
msgid "Interval"
msgstr "Interval"
#: apps/currencies/models.py:130
#: apps/currencies/models.py:128
msgid "Last Successful Fetch"
msgstr "Laatste Succesvolle Ophaling"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:133
msgid "Target Currencies"
msgstr "Doel Munteenheden"
#: apps/currencies/models.py:137
#: apps/currencies/models.py:135
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
@@ -625,11 +612,11 @@ msgstr ""
"Selecteer munteenheden om wisselkoersen voor op te halen. De koersen worden "
"voor elke munteenheid opgehaald ten opzichte van de ingestelde wisselkoers."
#: apps/currencies/models.py:145
#: apps/currencies/models.py:143
msgid "Target Accounts"
msgstr "Naar rekeningen"
#: apps/currencies/models.py:147
#: apps/currencies/models.py:145
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
@@ -638,33 +625,23 @@ msgstr ""
"opgehaald voor de munteenheid van elke rekening ten opzichte van de "
"ingestelde wisselkoers."
#: apps/currencies/models.py:154
msgid "Single exchange rate"
msgstr "Enkele Wisselkoers"
#: apps/currencies/models.py:157
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
msgstr ""
"Maak één wisselkoers aan en houd deze bijgewerkt. Voorkomt een overvolle "
"database."
#: apps/currencies/models.py:162
#: apps/currencies/models.py:152
msgid "Exchange Rate Service"
msgstr "Wisselkoersdienst"
#: apps/currencies/models.py:163
#: apps/currencies/models.py:153
msgid "Exchange Rate Services"
msgstr "Wisselkoersdiensten"
#: apps/currencies/models.py:215
#: apps/currencies/models.py:205
msgid "'Every X hours' interval type requires a positive integer."
msgstr "Voor het intervaltype Elke X uur is een positief geheel getal nodig."
#: apps/currencies/models.py:224
#: apps/currencies/models.py:214
msgid "'Every X hours' interval must be between 1 and 24."
msgstr "Het interval Elke X uur moet tussen 1 en 24 liggen."
#: apps/currencies/models.py:238
#: apps/currencies/models.py:228
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
@@ -672,7 +649,7 @@ msgstr ""
"Ongeldige urennotatie. Gebruik door komma's gescheiden uren (0-23) en/of "
"reeksen (bijv. 1-5,8,10-12)."
#: apps/currencies/models.py:249
#: apps/currencies/models.py:239
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -931,7 +908,7 @@ msgstr "Bewerk verrichtingsactie"
msgid "Update or create transaction actions"
msgstr "Bewerk of maak verrichtingsregel acties"
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:186
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1382,8 +1359,10 @@ msgid "Muted categories won't be displayed on monthly summaries"
msgstr "Gedempte categorieën worden niet weergegeven in maandoverzichten"
#: apps/transactions/forms.py:1046
#, fuzzy
#| msgid "Filter transactions"
msgid "future transactions"
msgstr "toekomstige verrichtingen"
msgstr "Filter verrichtingen"
#: apps/transactions/forms.py:1076
msgid "End date should be after the start date"
@@ -1567,7 +1546,7 @@ msgstr "Terugkeer Interval"
#: apps/transactions/models.py:726
msgid "Keep at most"
msgstr "Bewaar maximaal"
msgstr ""
#: apps/transactions/models.py:730
msgid "Last Generated Date"
@@ -1692,8 +1671,8 @@ msgid "Item deleted successfully"
msgstr "Item succesvol verwijderd"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
msgid "Transaction added successfully"
msgstr "Verrichting succesvol toegevoegd"
@@ -1733,30 +1712,30 @@ msgstr "Label succesvol bijgewerkt"
msgid "Tag deleted successfully"
msgstr "Label succesvol verwijderd"
#: apps/transactions/views/transactions.py:183
#: apps/transactions/views/transactions.py:182
msgid "Transaction updated successfully"
msgstr "Verrichting succesvol bijgewerkt"
#: apps/transactions/views/transactions.py:233
#: apps/transactions/views/transactions.py:232
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s verrichting succesvol bijgewerkt"
msgstr[1] "%(count)s verrichtingen succesvol bijgewerkt"
#: apps/transactions/views/transactions.py:269
#: apps/transactions/views/transactions.py:268
msgid "Transaction duplicated successfully"
msgstr "Verrichting succesvol gedupliceerd"
#: apps/transactions/views/transactions.py:311
#: apps/transactions/views/transactions.py:310
msgid "Transaction deleted successfully"
msgstr "Verrichting succesvol verwijderd"
#: apps/transactions/views/transactions.py:329
#: apps/transactions/views/transactions.py:328
msgid "Transaction restored successfully"
msgstr "Verrichting succesvol hersteld"
#: apps/transactions/views/transactions.py:355
#: apps/transactions/views/transactions.py:354
msgid "Transfer added successfully"
msgstr "Transactie succesvol toegevoegd"
@@ -1886,6 +1865,10 @@ msgstr "Je kunt je eigen hoofdadminrechten niet verwijderen met dit formulier."
msgid "A user with this email address already exists."
msgstr "Er bestaat al een gebruiker met dit e-mailadres."
#: apps/users/models.py:12 apps/users/models.py:497
msgid "Auto"
msgstr "Automatisch"
#: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency"
msgstr "Jaarlijks per munteenheid"
@@ -2002,7 +1985,7 @@ msgstr "Bewerken"
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136
#: templates/cotton/transaction/item.html:192
#: templates/cotton/transaction/item.html:178
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2029,7 +2012,7 @@ msgstr "Verwijderen"
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140
#: templates/cotton/transaction/item.html:196
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2059,7 +2042,7 @@ msgstr "Weet je het zeker?"
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141
#: templates/cotton/transaction/item.html:197
#: templates/cotton/transaction/item.html:183
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2081,7 +2064,7 @@ msgstr "Je kunt dit niet meer terugdraaien!"
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:198
#: templates/cotton/transaction/item.html:184
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2162,15 +2145,7 @@ msgstr "Rekening bewerken"
msgid "Is Asset"
msgstr "Is Vermogen"
#: templates/accounts/fragments/list.html:78
msgid "Track"
msgstr "Gevolgd"
#: templates/accounts/fragments/list.html:78
msgid "Untrack"
msgstr "Niet gevolgd"
#: templates/accounts/fragments/list.html:98
#: templates/accounts/fragments/list.html:87
msgid "No accounts"
msgstr "Geen rekeningen"
@@ -2252,40 +2227,23 @@ msgid "Select"
msgstr "Selecteer"
#: templates/cotton/transaction/item.html:154
#: templates/cotton/transaction/item.html:164
#: templates/cotton/transaction/item.html:170
#: templates/cotton/transaction/item.html:160
msgid "Show on summaries"
msgstr "Toon op samenvattingen"
#: templates/cotton/transaction/item.html:155
msgid "Controlled by account"
msgstr "Gecontroleerd door account"
#: templates/cotton/transaction/item.html:165
msgid "Controlled by category"
msgstr "Gecontroleerd door categorie"
#: templates/cotton/transaction/item.html:172
#: templates/cotton/transaction/item.html:162
msgid "Hide from summaries"
msgstr "Verbergen in samenvattingen"
#: templates/cotton/transaction/item.html:174
#: templates/cotton/transaction/item.html:164
msgid "Add as quick transaction"
msgstr "Toevoegen als snelle transactie"
#: templates/cotton/transaction/item.html:176
msgid "Move to previous month"
msgstr "Ga naar vorige maand"
#: templates/cotton/transaction/item.html:177
msgid "Move to next month"
msgstr "Ga naar volgende maand"
#: templates/cotton/transaction/item.html:178
msgid "Move to today"
msgstr "Ga naar vandaag"
#: templates/cotton/transaction/item.html:180
#: templates/cotton/transaction/item.html:166
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr "Dupliceren"
@@ -3406,11 +3364,6 @@ msgstr "Aanmelden met"
msgid "Yearly Overview"
msgstr "Jaaroverzicht"
#, fuzzy
#~| msgid "Automation"
#~ msgid "Automatic"
#~ msgstr "Automatisatie"
#~ msgid "Profile"
#~ msgstr "Profiel"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-09 06:57+0000\n"
"POT-Creation-Date: 2025-08-06 16:21+0000\n"
"PO-Revision-Date: 2025-04-13 08:16+0000\n"
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
"Language-Team: Portuguese <https://translations.herculino.com/projects/"
@@ -25,7 +25,7 @@ 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:144 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
#: apps/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421
@@ -38,7 +38,7 @@ msgstr "Atualizar"
#: apps/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -171,7 +171,7 @@ 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:75 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/rules/models.py:30 apps/rules/models.py:242
#: apps/transactions/forms.py:62 apps/transactions/forms.py:276
#: apps/transactions/forms.py:659 apps/transactions/forms.py:920
@@ -185,7 +185,7 @@ msgstr ""
msgid "Account"
msgstr "Conta"
#: apps/accounts/models.py:76 apps/export_app/forms.py:20
#: apps/accounts/models.py:71 apps/export_app/forms.py:20
#: apps/export_app/forms.py:132 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:117
@@ -197,7 +197,7 @@ msgstr "Conta"
msgid "Accounts"
msgstr "Contas"
#: apps/accounts/models.py:93
#: apps/accounts/models.py:84
msgid "Exchange currency cannot be the same as the account's main currency."
msgstr "A moeda de câmbio não pode ser a mesma que a moeda principal da conta."
@@ -233,7 +233,7 @@ msgid "Account Group deleted successfully"
msgstr "Grupo de Conta apagado com sucesso"
#: apps/accounts/views/account_groups.py:135
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
#: apps/accounts/views/accounts.py:169 apps/dca/views.py:129
#: apps/rules/views.py:187 apps/transactions/views/categories.py:192
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
msgid "Ownership taken successfully"
@@ -258,14 +258,6 @@ msgstr "Conta atualizada com sucesso"
msgid "Account deleted successfully"
msgstr "Conta apagada com sucesso"
#: apps/accounts/views/accounts.py:165
msgid "Account is now tracked"
msgstr ""
#: apps/accounts/views/accounts.py:168
msgid "Account is now untracked"
msgstr ""
#: apps/accounts/views/balance.py:77
msgid "Balance reconciliation"
msgstr "Reconciliação do saldo"
@@ -298,7 +290,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:192
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "É necessário fornecer “date” ou “reference_date”."
@@ -540,7 +532,7 @@ msgstr "Moeda de origem"
msgid "To Currency"
msgstr "Moeda de destino"
#: apps/currencies/models.py:69 apps/currencies/models.py:76
#: apps/currencies/models.py:69 apps/currencies/models.py:74
msgid "Exchange Rate"
msgstr "Taxa de Câmbio"
@@ -548,43 +540,38 @@ msgstr "Taxa de Câmbio"
msgid "Date and Time"
msgstr "Data e Tempo"
#: apps/currencies/models.py:73 apps/users/models.py:12
#: apps/users/models.py:497
msgid "Auto"
msgstr "Automático"
#: apps/currencies/models.py:77 apps/export_app/forms.py:68
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates"
msgstr "Taxas de Câmbio"
#: apps/currencies/models.py:89
#: apps/currencies/models.py:87
msgid "From and To currencies cannot be the same."
msgstr "As moedas De e Para não podem ser as mesmas."
#: apps/currencies/models.py:104
#: apps/currencies/models.py:102
msgid "On"
msgstr "Em"
#: apps/currencies/models.py:105
#: apps/currencies/models.py:103
msgid "Every X hours"
msgstr "A cada X horas"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:104
msgid "Not on"
msgstr "Não em"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:106
msgid "Service Name"
msgstr "Nome do Serviço"
#: apps/currencies/models.py:110
#: apps/currencies/models.py:108
msgid "Service Type"
msgstr "Tipo de Serviço"
#: apps/currencies/models.py:112 apps/transactions/models.py:214
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
@@ -593,31 +580,31 @@ msgstr "Tipo de Serviço"
msgid "Active"
msgstr "Ativo"
#: apps/currencies/models.py:117
#: apps/currencies/models.py:115
msgid "API Key"
msgstr "Chave de API"
#: apps/currencies/models.py:118
#: apps/currencies/models.py:116
msgid "API key for the service (if required)"
msgstr "Chave de API para o serviço (se necessário)"
#: apps/currencies/models.py:123
#: apps/currencies/models.py:121
msgid "Interval Type"
msgstr "Tipo de Intervalo"
#: apps/currencies/models.py:127
#: apps/currencies/models.py:125
msgid "Interval"
msgstr "Intervalo"
#: apps/currencies/models.py:130
#: apps/currencies/models.py:128
msgid "Last Successful Fetch"
msgstr "Última execução bem-sucedida"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:133
msgid "Target Currencies"
msgstr "Moedas-alvo"
#: apps/currencies/models.py:137
#: apps/currencies/models.py:135
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
@@ -625,11 +612,11 @@ msgstr ""
"Selecione as moedas para as quais deseja obter as taxas de câmbio. As taxas "
"serão obtidas para cada moeda em relação à moeda de câmbio definida."
#: apps/currencies/models.py:145
#: apps/currencies/models.py:143
msgid "Target Accounts"
msgstr "Contas-alvo"
#: apps/currencies/models.py:147
#: apps/currencies/models.py:145
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
@@ -638,34 +625,24 @@ msgstr ""
"serão obtidas para a moeda de cada conta em relação à moeda de câmbio "
"definida."
#: apps/currencies/models.py:154
#, fuzzy
#| msgid "Edit exchange rate"
msgid "Single exchange rate"
msgstr "Editar taxa de câmbio"
#: apps/currencies/models.py:157
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
msgstr ""
#: apps/currencies/models.py:162
#: apps/currencies/models.py:152
msgid "Exchange Rate Service"
msgstr "Serviço de Taxa de Câmbio"
#: apps/currencies/models.py:163
#: apps/currencies/models.py:153
msgid "Exchange Rate Services"
msgstr "Serviços de Taxa de Câmbio"
#: apps/currencies/models.py:215
#: apps/currencies/models.py:205
msgid "'Every X hours' interval type requires a positive integer."
msgstr ""
"Intervalo do tipo 'A cada X horas' requerer um número inteiro positivo."
#: apps/currencies/models.py:224
#: apps/currencies/models.py:214
msgid "'Every X hours' interval must be between 1 and 24."
msgstr "Intervalo do tipo 'A cada X horas' requerer um número entre 1 e 24."
#: apps/currencies/models.py:238
#: apps/currencies/models.py:228
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
@@ -673,7 +650,7 @@ msgstr ""
"Formato inválido de hora. Use uma lista de horas separada por vírgulas "
"(0-23) e/ou uma faixa (ex.: '1-5,8,10-12')."
#: apps/currencies/models.py:249
#: apps/currencies/models.py:239
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -931,7 +908,7 @@ msgstr "Ação de editar de transação"
msgid "Update or create transaction actions"
msgstr "Ações de atualizar ou criar transação"
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:186
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1705,8 +1682,8 @@ msgid "Item deleted successfully"
msgstr "Regra apagada com sucesso"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
msgid "Transaction added successfully"
msgstr "Transação adicionada com sucesso"
@@ -1746,30 +1723,30 @@ msgstr "Tag atualizada com sucesso"
msgid "Tag deleted successfully"
msgstr "Tag apagada com sucesso"
#: apps/transactions/views/transactions.py:183
#: apps/transactions/views/transactions.py:182
msgid "Transaction updated successfully"
msgstr "Transação atualizada com sucesso"
#: apps/transactions/views/transactions.py:233
#: apps/transactions/views/transactions.py:232
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s transação atualizada com sucesso"
msgstr[1] "%(count)s transações atualizadas com sucesso"
#: apps/transactions/views/transactions.py:269
#: apps/transactions/views/transactions.py:268
msgid "Transaction duplicated successfully"
msgstr "Transação duplicada com sucesso"
#: apps/transactions/views/transactions.py:311
#: apps/transactions/views/transactions.py:310
msgid "Transaction deleted successfully"
msgstr "Transação apagada com sucesso"
#: apps/transactions/views/transactions.py:329
#: apps/transactions/views/transactions.py:328
msgid "Transaction restored successfully"
msgstr "Transação restaurada com sucesso"
#: apps/transactions/views/transactions.py:355
#: apps/transactions/views/transactions.py:354
msgid "Transfer added successfully"
msgstr "Transferência adicionada com sucesso"
@@ -1899,6 +1876,10 @@ msgstr ""
msgid "A user with this email address already exists."
msgstr "Já existe um valor para esse campo na regra."
#: apps/users/models.py:12 apps/users/models.py:497
msgid "Auto"
msgstr "Automático"
#: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency"
msgstr "Anual por moeda"
@@ -2015,7 +1996,7 @@ msgstr "Editar"
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136
#: templates/cotton/transaction/item.html:192
#: templates/cotton/transaction/item.html:178
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2042,7 +2023,7 @@ msgstr "Apagar"
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140
#: templates/cotton/transaction/item.html:196
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2072,7 +2053,7 @@ msgstr "Tem certeza?"
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141
#: templates/cotton/transaction/item.html:197
#: templates/cotton/transaction/item.html:183
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2094,7 +2075,7 @@ msgstr "Você não será capaz de reverter isso!"
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:198
#: templates/cotton/transaction/item.html:184
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2175,15 +2156,7 @@ msgstr "Editar conta"
msgid "Is Asset"
msgstr "É ativo"
#: templates/accounts/fragments/list.html:78
msgid "Track"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Untrack"
msgstr ""
#: templates/accounts/fragments/list.html:98
#: templates/accounts/fragments/list.html:87
msgid "No accounts"
msgstr "Nenhuma conta"
@@ -2265,46 +2238,27 @@ msgid "Select"
msgstr "Selecionar"
#: templates/cotton/transaction/item.html:154
#: templates/cotton/transaction/item.html:164
#: templates/cotton/transaction/item.html:170
#: templates/cotton/transaction/item.html:160
msgid "Show on summaries"
msgstr ""
#: templates/cotton/transaction/item.html:155
#, fuzzy
#| msgid "No category"
msgid "Controlled by account"
msgstr "Sem categoria"
#: templates/cotton/transaction/item.html:165
#, fuzzy
#| msgid "No category"
msgid "Controlled by category"
msgstr "Sem categoria"
#: templates/cotton/transaction/item.html:172
#: templates/cotton/transaction/item.html:162
msgid "Hide from summaries"
msgstr ""
#: templates/cotton/transaction/item.html:174
#: templates/cotton/transaction/item.html:164
#, fuzzy
#| msgid "Add recurring transaction"
msgid "Add as quick transaction"
msgstr "Adicionar transação recorrente"
#: templates/cotton/transaction/item.html:176
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:177
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:178
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:180
#: templates/cotton/transaction/item.html:166
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr "Duplicar"
@@ -3440,11 +3394,6 @@ msgstr "termina em"
msgid "Yearly Overview"
msgstr "Visão Anual"
#, fuzzy
#~| msgid "Automation"
#~ msgid "Automatic"
#~ msgstr "Automação"
#, fuzzy
#~| msgid "Import Profiles"
#~ msgid "Profile"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-09 06:57+0000\n"
"PO-Revision-Date: 2025-08-08 04:17+0000\n"
"POT-Creation-Date: 2025-08-06 16:21+0000\n"
"PO-Revision-Date: 2025-08-06 18:17+0000\n"
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://translations.herculino.com/"
"projects/wygiwyh/app/pt_BR/>\n"
@@ -25,7 +25,7 @@ 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:144 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
#: apps/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421
@@ -38,7 +38,7 @@ msgstr "Atualizar"
#: apps/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -171,7 +171,7 @@ 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:75 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/rules/models.py:30 apps/rules/models.py:242
#: apps/transactions/forms.py:62 apps/transactions/forms.py:276
#: apps/transactions/forms.py:659 apps/transactions/forms.py:920
@@ -185,7 +185,7 @@ msgstr ""
msgid "Account"
msgstr "Conta"
#: apps/accounts/models.py:76 apps/export_app/forms.py:20
#: apps/accounts/models.py:71 apps/export_app/forms.py:20
#: apps/export_app/forms.py:132 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:117
@@ -197,7 +197,7 @@ msgstr "Conta"
msgid "Accounts"
msgstr "Contas"
#: apps/accounts/models.py:93
#: apps/accounts/models.py:84
msgid "Exchange currency cannot be the same as the account's main currency."
msgstr "A moeda de câmbio não pode ser a mesma que a moeda principal da conta."
@@ -233,7 +233,7 @@ msgid "Account Group deleted successfully"
msgstr "Grupo de Conta apagado com sucesso"
#: apps/accounts/views/account_groups.py:135
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
#: apps/accounts/views/accounts.py:169 apps/dca/views.py:129
#: apps/rules/views.py:187 apps/transactions/views/categories.py:192
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
msgid "Ownership taken successfully"
@@ -258,14 +258,6 @@ msgstr "Conta atualizada com sucesso"
msgid "Account deleted successfully"
msgstr "Conta apagada com sucesso"
#: apps/accounts/views/accounts.py:165
msgid "Account is now tracked"
msgstr ""
#: apps/accounts/views/accounts.py:168
msgid "Account is now untracked"
msgstr ""
#: apps/accounts/views/balance.py:77
msgid "Balance reconciliation"
msgstr "Reconciliação do saldo"
@@ -298,7 +290,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:192
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "É necessário fornecer “date” ou “reference_date”."
@@ -538,7 +530,7 @@ msgstr "Moeda de origem"
msgid "To Currency"
msgstr "Moeda de destino"
#: apps/currencies/models.py:69 apps/currencies/models.py:76
#: apps/currencies/models.py:69 apps/currencies/models.py:74
msgid "Exchange Rate"
msgstr "Taxa de Câmbio"
@@ -546,43 +538,38 @@ msgstr "Taxa de Câmbio"
msgid "Date and Time"
msgstr "Data e Tempo"
#: apps/currencies/models.py:73 apps/users/models.py:12
#: apps/users/models.py:497
msgid "Auto"
msgstr "Automático"
#: apps/currencies/models.py:77 apps/export_app/forms.py:68
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates"
msgstr "Taxas de Câmbio"
#: apps/currencies/models.py:89
#: apps/currencies/models.py:87
msgid "From and To currencies cannot be the same."
msgstr "As moedas De e Para não podem ser as mesmas."
#: apps/currencies/models.py:104
#: apps/currencies/models.py:102
msgid "On"
msgstr "Em"
#: apps/currencies/models.py:105
#: apps/currencies/models.py:103
msgid "Every X hours"
msgstr "A cada X horas"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:104
msgid "Not on"
msgstr "Não em"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:106
msgid "Service Name"
msgstr "Nome do Serviço"
#: apps/currencies/models.py:110
#: apps/currencies/models.py:108
msgid "Service Type"
msgstr "Tipo de Serviço"
#: apps/currencies/models.py:112 apps/transactions/models.py:214
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
@@ -591,31 +578,31 @@ msgstr "Tipo de Serviço"
msgid "Active"
msgstr "Ativo"
#: apps/currencies/models.py:117
#: apps/currencies/models.py:115
msgid "API Key"
msgstr "Chave de API"
#: apps/currencies/models.py:118
#: apps/currencies/models.py:116
msgid "API key for the service (if required)"
msgstr "Chave de API para o serviço (se necessário)"
#: apps/currencies/models.py:123
#: apps/currencies/models.py:121
msgid "Interval Type"
msgstr "Tipo de Intervalo"
#: apps/currencies/models.py:127
#: apps/currencies/models.py:125
msgid "Interval"
msgstr "Intervalo"
#: apps/currencies/models.py:130
#: apps/currencies/models.py:128
msgid "Last Successful Fetch"
msgstr "Última execução bem-sucedida"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:133
msgid "Target Currencies"
msgstr "Moedas-alvo"
#: apps/currencies/models.py:137
#: apps/currencies/models.py:135
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
@@ -623,11 +610,11 @@ msgstr ""
"Selecione as moedas para as quais deseja obter as taxas de câmbio. As taxas "
"serão obtidas para cada moeda em relação à moeda de câmbio definida."
#: apps/currencies/models.py:145
#: apps/currencies/models.py:143
msgid "Target Accounts"
msgstr "Contas-alvo"
#: apps/currencies/models.py:147
#: apps/currencies/models.py:145
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
@@ -636,34 +623,24 @@ msgstr ""
"serão obtidas para a moeda de cada conta em relação à moeda de câmbio "
"definida."
#: apps/currencies/models.py:154
msgid "Single exchange rate"
msgstr "Taxa de câmbio única"
#: apps/currencies/models.py:157
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
msgstr ""
"Cria uma taxa de câmbio e mantenha-a atualizada. Evita a poluição do banco "
"de dados."
#: apps/currencies/models.py:162
#: apps/currencies/models.py:152
msgid "Exchange Rate Service"
msgstr "Serviço de Taxa de Câmbio"
#: apps/currencies/models.py:163
#: apps/currencies/models.py:153
msgid "Exchange Rate Services"
msgstr "Serviços de Taxa de Câmbio"
#: apps/currencies/models.py:215
#: apps/currencies/models.py:205
msgid "'Every X hours' interval type requires a positive integer."
msgstr ""
"Intervalo do tipo 'A cada X horas' requerer um número inteiro positivo."
#: apps/currencies/models.py:224
#: apps/currencies/models.py:214
msgid "'Every X hours' interval must be between 1 and 24."
msgstr "Intervalo do tipo 'A cada X horas' requerer um número entre 1 e 24."
#: apps/currencies/models.py:238
#: apps/currencies/models.py:228
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
@@ -671,7 +648,7 @@ msgstr ""
"Formato inválido de hora. Use uma lista de horas separada por vírgulas "
"(0-23) e/ou uma faixa (ex.: '1-5,8,10-12')."
#: apps/currencies/models.py:249
#: apps/currencies/models.py:239
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -929,7 +906,7 @@ msgstr "Ação de editar de transação"
msgid "Update or create transaction actions"
msgstr "Ações de atualizar ou criar transação"
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:186
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1689,8 +1666,8 @@ msgid "Item deleted successfully"
msgstr "Item apagado com sucesso"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
msgid "Transaction added successfully"
msgstr "Transação adicionada com sucesso"
@@ -1730,30 +1707,30 @@ msgstr "Tag atualizada com sucesso"
msgid "Tag deleted successfully"
msgstr "Tag apagada com sucesso"
#: apps/transactions/views/transactions.py:183
#: apps/transactions/views/transactions.py:182
msgid "Transaction updated successfully"
msgstr "Transação atualizada com sucesso"
#: apps/transactions/views/transactions.py:233
#: apps/transactions/views/transactions.py:232
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s transação atualizada com sucesso"
msgstr[1] "%(count)s transações atualizadas com sucesso"
#: apps/transactions/views/transactions.py:269
#: apps/transactions/views/transactions.py:268
msgid "Transaction duplicated successfully"
msgstr "Transação duplicada com sucesso"
#: apps/transactions/views/transactions.py:311
#: apps/transactions/views/transactions.py:310
msgid "Transaction deleted successfully"
msgstr "Transação apagada com sucesso"
#: apps/transactions/views/transactions.py:329
#: apps/transactions/views/transactions.py:328
msgid "Transaction restored successfully"
msgstr "Transação restaurada com sucesso"
#: apps/transactions/views/transactions.py:355
#: apps/transactions/views/transactions.py:354
msgid "Transfer added successfully"
msgstr "Transferência adicionada com sucesso"
@@ -1885,6 +1862,10 @@ msgstr ""
msgid "A user with this email address already exists."
msgstr "Já existe um usuário com esse endereço de e-mail."
#: apps/users/models.py:12 apps/users/models.py:497
msgid "Auto"
msgstr "Automático"
#: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency"
msgstr "Anual por moeda"
@@ -2001,7 +1982,7 @@ msgstr "Editar"
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136
#: templates/cotton/transaction/item.html:192
#: templates/cotton/transaction/item.html:178
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2028,7 +2009,7 @@ msgstr "Apagar"
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140
#: templates/cotton/transaction/item.html:196
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2058,7 +2039,7 @@ msgstr "Tem certeza?"
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141
#: templates/cotton/transaction/item.html:197
#: templates/cotton/transaction/item.html:183
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2080,7 +2061,7 @@ msgstr "Você não será capaz de reverter isso!"
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:198
#: templates/cotton/transaction/item.html:184
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2161,15 +2142,7 @@ msgstr "Editar conta"
msgid "Is Asset"
msgstr "É ativo"
#: templates/accounts/fragments/list.html:78
msgid "Track"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Untrack"
msgstr ""
#: templates/accounts/fragments/list.html:98
#: templates/accounts/fragments/list.html:87
msgid "No accounts"
msgstr "Nenhuma conta"
@@ -2251,42 +2224,23 @@ msgid "Select"
msgstr "Selecionar"
#: templates/cotton/transaction/item.html:154
#: templates/cotton/transaction/item.html:164
#: templates/cotton/transaction/item.html:170
#: templates/cotton/transaction/item.html:160
msgid "Show on summaries"
msgstr "Mostrar nos sumários"
#: templates/cotton/transaction/item.html:155
#, fuzzy
#| msgid "Controlled by category"
msgid "Controlled by account"
msgstr "Controlado pela categoria"
#: templates/cotton/transaction/item.html:165
msgid "Controlled by category"
msgstr "Controlado pela categoria"
#: templates/cotton/transaction/item.html:172
#: templates/cotton/transaction/item.html:162
msgid "Hide from summaries"
msgstr "Esconder dos sumários"
#: templates/cotton/transaction/item.html:174
#: templates/cotton/transaction/item.html:164
msgid "Add as quick transaction"
msgstr "Adicionar como transação rápida"
#: templates/cotton/transaction/item.html:176
msgid "Move to previous month"
msgstr "Mover para o mês anterior"
#: templates/cotton/transaction/item.html:177
msgid "Move to next month"
msgstr "Mover para o mês seguinte"
#: templates/cotton/transaction/item.html:178
msgid "Move to today"
msgstr "Mover para hoje"
#: templates/cotton/transaction/item.html:180
#: templates/cotton/transaction/item.html:166
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr "Duplicar"
@@ -3404,11 +3358,6 @@ msgstr "Login com"
msgid "Yearly Overview"
msgstr "Visão Anual"
#, fuzzy
#~| msgid "Automation"
#~ msgid "Automatic"
#~ msgstr "Automação"
#~ msgid "Profile"
#~ msgstr "Perfil"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-09 06:57+0000\n"
"POT-Creation-Date: 2025-08-06 16:21+0000\n"
"PO-Revision-Date: 2025-04-14 06:16+0000\n"
"Last-Translator: Emil <emil.bjorkroth@gmail.com>\n"
"Language-Team: Swedish <https://translations.herculino.com/projects/wygiwyh/"
@@ -25,7 +25,7 @@ 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:144 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
#: apps/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421
@@ -38,7 +38,7 @@ msgstr "Uppdatera"
#: apps/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -168,7 +168,7 @@ msgstr ""
msgid "Archived accounts don't show up nor count towards your net worth"
msgstr ""
#: apps/accounts/models.py:75 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/rules/models.py:30 apps/rules/models.py:242
#: apps/transactions/forms.py:62 apps/transactions/forms.py:276
#: apps/transactions/forms.py:659 apps/transactions/forms.py:920
@@ -182,7 +182,7 @@ msgstr ""
msgid "Account"
msgstr ""
#: apps/accounts/models.py:76 apps/export_app/forms.py:20
#: apps/accounts/models.py:71 apps/export_app/forms.py:20
#: apps/export_app/forms.py:132 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:117
@@ -194,7 +194,7 @@ msgstr ""
msgid "Accounts"
msgstr ""
#: apps/accounts/models.py:93
#: apps/accounts/models.py:84
msgid "Exchange currency cannot be the same as the account's main currency."
msgstr ""
@@ -230,7 +230,7 @@ msgid "Account Group deleted successfully"
msgstr ""
#: apps/accounts/views/account_groups.py:135
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
#: apps/accounts/views/accounts.py:169 apps/dca/views.py:129
#: apps/rules/views.py:187 apps/transactions/views/categories.py:192
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
msgid "Ownership taken successfully"
@@ -255,14 +255,6 @@ msgstr ""
msgid "Account deleted successfully"
msgstr ""
#: apps/accounts/views/accounts.py:165
msgid "Account is now tracked"
msgstr ""
#: apps/accounts/views/accounts.py:168
msgid "Account is now untracked"
msgstr ""
#: apps/accounts/views/balance.py:77
msgid "Balance reconciliation"
msgstr ""
@@ -295,7 +287,7 @@ msgstr ""
msgid "Invalid entity data. Provide an ID or name."
msgstr ""
#: apps/api/serializers/transactions.py:192
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr ""
@@ -530,7 +522,7 @@ msgstr ""
msgid "To Currency"
msgstr ""
#: apps/currencies/models.py:69 apps/currencies/models.py:76
#: apps/currencies/models.py:69 apps/currencies/models.py:74
msgid "Exchange Rate"
msgstr ""
@@ -538,43 +530,38 @@ msgstr ""
msgid "Date and Time"
msgstr ""
#: apps/currencies/models.py:73 apps/users/models.py:12
#: apps/users/models.py:497
msgid "Auto"
msgstr ""
#: apps/currencies/models.py:77 apps/export_app/forms.py:68
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates"
msgstr ""
#: apps/currencies/models.py:89
#: apps/currencies/models.py:87
msgid "From and To currencies cannot be the same."
msgstr ""
#: apps/currencies/models.py:104
#: apps/currencies/models.py:102
msgid "On"
msgstr ""
#: apps/currencies/models.py:105
#: apps/currencies/models.py:103
msgid "Every X hours"
msgstr ""
#: apps/currencies/models.py:106
#: apps/currencies/models.py:104
msgid "Not on"
msgstr ""
#: apps/currencies/models.py:108
#: apps/currencies/models.py:106
msgid "Service Name"
msgstr ""
#: apps/currencies/models.py:110
#: apps/currencies/models.py:108
msgid "Service Type"
msgstr ""
#: apps/currencies/models.py:112 apps/transactions/models.py:214
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
@@ -583,77 +570,69 @@ msgstr ""
msgid "Active"
msgstr ""
#: apps/currencies/models.py:117
#: apps/currencies/models.py:115
msgid "API Key"
msgstr ""
#: apps/currencies/models.py:118
#: apps/currencies/models.py:116
msgid "API key for the service (if required)"
msgstr ""
#: apps/currencies/models.py:123
#: apps/currencies/models.py:121
msgid "Interval Type"
msgstr ""
#: apps/currencies/models.py:127
#: apps/currencies/models.py:125
msgid "Interval"
msgstr ""
#: apps/currencies/models.py:130
#: apps/currencies/models.py:128
msgid "Last Successful Fetch"
msgstr ""
#: apps/currencies/models.py:135
#: apps/currencies/models.py:133
msgid "Target Currencies"
msgstr ""
#: apps/currencies/models.py:137
#: apps/currencies/models.py:135
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
msgstr ""
#: apps/currencies/models.py:145
#: apps/currencies/models.py:143
msgid "Target Accounts"
msgstr ""
#: apps/currencies/models.py:147
#: apps/currencies/models.py:145
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
msgstr ""
#: apps/currencies/models.py:154
msgid "Single exchange rate"
msgstr ""
#: apps/currencies/models.py:157
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
msgstr ""
#: apps/currencies/models.py:162
#: apps/currencies/models.py:152
msgid "Exchange Rate Service"
msgstr ""
#: apps/currencies/models.py:163
#: apps/currencies/models.py:153
msgid "Exchange Rate Services"
msgstr ""
#: apps/currencies/models.py:215
#: apps/currencies/models.py:205
msgid "'Every X hours' interval type requires a positive integer."
msgstr ""
#: apps/currencies/models.py:224
#: apps/currencies/models.py:214
msgid "'Every X hours' interval must be between 1 and 24."
msgstr ""
#: apps/currencies/models.py:238
#: apps/currencies/models.py:228
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
msgstr ""
#: apps/currencies/models.py:249
#: apps/currencies/models.py:239
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -909,7 +888,7 @@ msgstr ""
msgid "Update or create transaction actions"
msgstr ""
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:186
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1660,8 +1639,8 @@ msgid "Item deleted successfully"
msgstr ""
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
msgid "Transaction added successfully"
msgstr ""
@@ -1701,30 +1680,30 @@ msgstr ""
msgid "Tag deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:183
#: apps/transactions/views/transactions.py:182
msgid "Transaction updated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:233
#: apps/transactions/views/transactions.py:232
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] ""
msgstr[1] ""
#: apps/transactions/views/transactions.py:269
#: apps/transactions/views/transactions.py:268
msgid "Transaction duplicated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:311
#: apps/transactions/views/transactions.py:310
msgid "Transaction deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:329
#: apps/transactions/views/transactions.py:328
msgid "Transaction restored successfully"
msgstr ""
#: apps/transactions/views/transactions.py:355
#: apps/transactions/views/transactions.py:354
msgid "Transfer added successfully"
msgstr ""
@@ -1847,6 +1826,10 @@ msgstr ""
msgid "A user with this email address already exists."
msgstr ""
#: apps/users/models.py:12 apps/users/models.py:497
msgid "Auto"
msgstr ""
#: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency"
msgstr ""
@@ -1963,7 +1946,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136
#: templates/cotton/transaction/item.html:192
#: templates/cotton/transaction/item.html:178
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -1990,7 +1973,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140
#: templates/cotton/transaction/item.html:196
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2020,7 +2003,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141
#: templates/cotton/transaction/item.html:197
#: templates/cotton/transaction/item.html:183
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2042,7 +2025,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:198
#: templates/cotton/transaction/item.html:184
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2123,15 +2106,7 @@ msgstr ""
msgid "Is Asset"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Track"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Untrack"
msgstr ""
#: templates/accounts/fragments/list.html:98
#: templates/accounts/fragments/list.html:87
msgid "No accounts"
msgstr ""
@@ -2213,40 +2188,23 @@ msgid "Select"
msgstr ""
#: templates/cotton/transaction/item.html:154
#: templates/cotton/transaction/item.html:164
#: templates/cotton/transaction/item.html:170
#: templates/cotton/transaction/item.html:160
msgid "Show on summaries"
msgstr ""
#: templates/cotton/transaction/item.html:155
msgid "Controlled by account"
msgstr ""
#: templates/cotton/transaction/item.html:165
msgid "Controlled by category"
msgstr ""
#: templates/cotton/transaction/item.html:172
#: templates/cotton/transaction/item.html:162
msgid "Hide from summaries"
msgstr ""
#: templates/cotton/transaction/item.html:174
#: templates/cotton/transaction/item.html:164
msgid "Add as quick transaction"
msgstr ""
#: templates/cotton/transaction/item.html:176
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:177
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:178
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:180
#: templates/cotton/transaction/item.html:166
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr ""

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-09 06:57+0000\n"
"POT-Creation-Date: 2025-08-06 16:21+0000\n"
"PO-Revision-Date: 2025-05-12 14:16+0000\n"
"Last-Translator: Felix <xnovaua@gmail.com>\n"
"Language-Team: Ukrainian <https://translations.herculino.com/projects/"
@@ -26,7 +26,7 @@ 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:144 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/import_app/forms.py:34 apps/rules/forms.py:51 apps/rules/forms.py:93
#: apps/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421
@@ -39,7 +39,7 @@ msgstr "Оновлення"
#: apps/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: apps/currencies/forms.py:99 apps/currencies/forms.py:150
#: apps/dca/forms.py:57 apps/dca/forms.py:232 apps/import_app/forms.py:42
#: apps/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -172,7 +172,7 @@ msgstr ""
"Заархівовані рахунки не відображаються і не враховуються у вашій чистій "
"вартості"
#: apps/accounts/models.py:75 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/accounts/models.py:70 apps/rules/forms.py:166 apps/rules/forms.py:179
#: apps/rules/models.py:30 apps/rules/models.py:242
#: apps/transactions/forms.py:62 apps/transactions/forms.py:276
#: apps/transactions/forms.py:659 apps/transactions/forms.py:920
@@ -186,7 +186,7 @@ msgstr ""
msgid "Account"
msgstr "Рахунок"
#: apps/accounts/models.py:76 apps/export_app/forms.py:20
#: apps/accounts/models.py:71 apps/export_app/forms.py:20
#: apps/export_app/forms.py:132 apps/transactions/filters.py:53
#: templates/accounts/fragments/list.html:5
#: templates/accounts/pages/index.html:4 templates/includes/navbar.html:117
@@ -198,7 +198,7 @@ msgstr "Рахунок"
msgid "Accounts"
msgstr "Рахунки"
#: apps/accounts/models.py:93
#: apps/accounts/models.py:84
msgid "Exchange currency cannot be the same as the account's main currency."
msgstr "Валюта обміну не може збігатися з основною валютою рахунку."
@@ -234,7 +234,7 @@ msgid "Account Group deleted successfully"
msgstr "Групу рахунків успішно видалено"
#: apps/accounts/views/account_groups.py:135
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
#: apps/accounts/views/accounts.py:169 apps/dca/views.py:129
#: apps/rules/views.py:187 apps/transactions/views/categories.py:192
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
msgid "Ownership taken successfully"
@@ -259,14 +259,6 @@ msgstr "Рахунок успішно оновлено"
msgid "Account deleted successfully"
msgstr "Рахунок успішно видалено"
#: apps/accounts/views/accounts.py:165
msgid "Account is now tracked"
msgstr ""
#: apps/accounts/views/accounts.py:168
msgid "Account is now untracked"
msgstr ""
#: apps/accounts/views/balance.py:77
msgid "Balance reconciliation"
msgstr "Звірка балансу"
@@ -299,7 +291,7 @@ msgstr "Об'єкт з таким ідентифікатором не існує
msgid "Invalid entity data. Provide an ID or name."
msgstr "Невірні дані про об'єкт. Вкажіть ідентифікатор або ім'я."
#: apps/api/serializers/transactions.py:192
#: apps/api/serializers/transactions.py:191
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Необхідно вказати або 'date', або 'reference_date'."
@@ -545,7 +537,7 @@ msgstr "З валюти"
msgid "To Currency"
msgstr "У валюту"
#: apps/currencies/models.py:69 apps/currencies/models.py:76
#: apps/currencies/models.py:69 apps/currencies/models.py:74
msgid "Exchange Rate"
msgstr "Обмінний курс"
@@ -553,43 +545,38 @@ msgstr "Обмінний курс"
msgid "Date and Time"
msgstr "Дата і час"
#: apps/currencies/models.py:73 apps/users/models.py:12
#: apps/users/models.py:497
msgid "Auto"
msgstr ""
#: apps/currencies/models.py:77 apps/export_app/forms.py:68
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates"
msgstr "Обмінні курси"
#: apps/currencies/models.py:89
#: apps/currencies/models.py:87
msgid "From and To currencies cannot be the same."
msgstr "Валюти «Від» і «До» не можуть бути однаковими."
#: apps/currencies/models.py:104
#: apps/currencies/models.py:102
msgid "On"
msgstr "On"
#: apps/currencies/models.py:105
#: apps/currencies/models.py:103
msgid "Every X hours"
msgstr "Кожні Х годин"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:104
msgid "Not on"
msgstr "Not on"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:106
msgid "Service Name"
msgstr "Назва сервісу"
#: apps/currencies/models.py:110
#: apps/currencies/models.py:108
msgid "Service Type"
msgstr "Тип сервісу"
#: apps/currencies/models.py:112 apps/transactions/models.py:214
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21
@@ -598,79 +585,69 @@ msgstr "Тип сервісу"
msgid "Active"
msgstr "Активний"
#: apps/currencies/models.py:117
#: apps/currencies/models.py:115
msgid "API Key"
msgstr "Ключ API"
#: apps/currencies/models.py:118
#: apps/currencies/models.py:116
msgid "API key for the service (if required)"
msgstr "API-ключ для сервісу (якщо потрібно)"
#: apps/currencies/models.py:123
#: apps/currencies/models.py:121
msgid "Interval Type"
msgstr "Тип інтервалу"
#: apps/currencies/models.py:127
#: apps/currencies/models.py:125
msgid "Interval"
msgstr "Інтервал"
#: apps/currencies/models.py:130
#: apps/currencies/models.py:128
msgid "Last Successful Fetch"
msgstr "Остання успішна вибірка"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:133
msgid "Target Currencies"
msgstr ""
#: apps/currencies/models.py:137
#: apps/currencies/models.py:135
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
msgstr ""
#: apps/currencies/models.py:145
#: apps/currencies/models.py:143
msgid "Target Accounts"
msgstr ""
#: apps/currencies/models.py:147
#: apps/currencies/models.py:145
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
msgstr ""
#: apps/currencies/models.py:154
#, fuzzy
#| msgid "Exchange Rate"
msgid "Single exchange rate"
msgstr "Обмінний курс"
#: apps/currencies/models.py:157
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
msgstr ""
#: apps/currencies/models.py:162
#: apps/currencies/models.py:152
msgid "Exchange Rate Service"
msgstr ""
#: apps/currencies/models.py:163
#: apps/currencies/models.py:153
msgid "Exchange Rate Services"
msgstr ""
#: apps/currencies/models.py:215
#: apps/currencies/models.py:205
msgid "'Every X hours' interval type requires a positive integer."
msgstr ""
#: apps/currencies/models.py:224
#: apps/currencies/models.py:214
msgid "'Every X hours' interval must be between 1 and 24."
msgstr ""
#: apps/currencies/models.py:238
#: apps/currencies/models.py:228
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
msgstr ""
#: apps/currencies/models.py:249
#: apps/currencies/models.py:239
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -926,7 +903,7 @@ msgstr ""
msgid "Update or create transaction actions"
msgstr ""
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:186
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1679,8 +1656,8 @@ msgid "Item deleted successfully"
msgstr "Рахунок успішно видалено"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
msgid "Transaction added successfully"
msgstr ""
@@ -1720,30 +1697,30 @@ msgstr ""
msgid "Tag deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:183
#: apps/transactions/views/transactions.py:182
msgid "Transaction updated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:233
#: apps/transactions/views/transactions.py:232
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] ""
msgstr[1] ""
#: apps/transactions/views/transactions.py:269
#: apps/transactions/views/transactions.py:268
msgid "Transaction duplicated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:311
#: apps/transactions/views/transactions.py:310
msgid "Transaction deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:329
#: apps/transactions/views/transactions.py:328
msgid "Transaction restored successfully"
msgstr ""
#: apps/transactions/views/transactions.py:355
#: apps/transactions/views/transactions.py:354
msgid "Transfer added successfully"
msgstr ""
@@ -1866,6 +1843,10 @@ msgstr ""
msgid "A user with this email address already exists."
msgstr ""
#: apps/users/models.py:12 apps/users/models.py:497
msgid "Auto"
msgstr ""
#: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency"
msgstr ""
@@ -1982,7 +1963,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136
#: templates/cotton/transaction/item.html:192
#: templates/cotton/transaction/item.html:178
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2009,7 +1990,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140
#: templates/cotton/transaction/item.html:196
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2039,7 +2020,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141
#: templates/cotton/transaction/item.html:197
#: templates/cotton/transaction/item.html:183
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2061,7 +2042,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142
#: templates/cotton/transaction/item.html:198
#: templates/cotton/transaction/item.html:184
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2142,15 +2123,7 @@ msgstr ""
msgid "Is Asset"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Track"
msgstr ""
#: templates/accounts/fragments/list.html:78
msgid "Untrack"
msgstr ""
#: templates/accounts/fragments/list.html:98
#: templates/accounts/fragments/list.html:87
msgid "No accounts"
msgstr ""
@@ -2232,40 +2205,23 @@ msgid "Select"
msgstr ""
#: templates/cotton/transaction/item.html:154
#: templates/cotton/transaction/item.html:164
#: templates/cotton/transaction/item.html:170
#: templates/cotton/transaction/item.html:160
msgid "Show on summaries"
msgstr ""
#: templates/cotton/transaction/item.html:155
msgid "Controlled by account"
msgstr ""
#: templates/cotton/transaction/item.html:165
msgid "Controlled by category"
msgstr ""
#: templates/cotton/transaction/item.html:172
#: templates/cotton/transaction/item.html:162
msgid "Hide from summaries"
msgstr ""
#: templates/cotton/transaction/item.html:174
#: templates/cotton/transaction/item.html:164
msgid "Add as quick transaction"
msgstr ""
#: templates/cotton/transaction/item.html:176
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:177
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:178
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:180
#: templates/cotton/transaction/item.html:166
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr ""

View File

@@ -71,17 +71,6 @@
hx-get="{% url 'account_share_settings' pk=account.id %}">
<i class="fa-solid fa-share fa-fw"></i></a>
{% endif %}
<a class="btn btn-secondary btn-sm"
role="button"
hx-get="{% url 'account_toggle_untracked' pk=account.id %}"
data-bs-toggle="tooltip"
data-bs-title="{% if account.is_untracked_by %}{% translate "Track" %}{% else %}{% translate "Untrack" %}{% endif %}">
{% if account.is_untracked_by %}
<i class="fa-solid fa-eye fa-fw"></i>
{% else %}
<i class="fa-solid fa-eye-slash fa-fw"></i>
{% endif %}
</a>
</div>
</td>
<td class="col">{{ account.name }}</td>

View File

@@ -33,7 +33,7 @@
</div>
{% endif %}
</div>
<div class="col-lg col-12 {% if transaction.account.is_untracked_by or transaction.category.mute or transaction.mute %}tw:brightness-80{% endif %}">
<div class="col-lg col-12 {% if transaction.category.mute or transaction.mute %}tw:brightness-80{% endif %}">
{# Date#}
<div class="row mb-2 mb-lg-1 tw:text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-calendar fa-fw me-1 fa-xs"></i></div>
@@ -91,7 +91,7 @@
{% endwith %}
</div>
</div>
<div class="col-lg-auto col-12 text-lg-end align-self-end {% if transaction.account.is_untracked_by or transaction.category.mute or transaction.mute %}tw:brightness-80{% endif %}">
<div class="col-lg-auto col-12 text-lg-end align-self-end {% if transaction.category.mute or transaction.mute %}tw:brightness-80{% endif %}">
<div class="main-amount mb-2 mb-lg-0">
<c-amount.display
:amount="transaction.amount"
@@ -120,8 +120,8 @@
<div>
{# Item actions#}
<div
class="transaction-actions tw:absolute! tw:left-1/2 tw:top-0 tw:-translate-x-1/2 tw:-translate-y-1/2 tw:invisible tw:group-hover/transaction:visible d-flex flex-row card">
<div class="card-body p-1 shadow-lg d-flex flex-row gap-1">
class="transaction-actions tw:absolute! tw:right-[15px] tw:top-[50%] tw:md:right-auto tw:md:left-1/2 tw:md:top-0 tw:md:-translate-x-1/2 tw:-translate-y-1/2 tw:invisible tw:group-hover/transaction:visible d-flex flex-row card">
<div class="card-body p-1 shadow-lg d-flex flex-column flex-md-row gap-1">
{% if not transaction.deleted %}
<a class="btn btn-secondary btn-sm transaction-action"
role="button"
@@ -146,26 +146,16 @@
<i class="fa-solid fa-ellipsis fa-fw"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-md-start">
{% if transaction.account.is_untracked_by %}
<li>
<a class="dropdown-item disabled d-flex align-items-center" aria-disabled="true">
<i class="fa-solid fa-eye fa-fw me-2"></i>
<div>
{% translate 'Show on summaries' %}
<div class="d-block text-body-secondary tw:text-xs tw:font-medium">{% translate 'Controlled by account' %}</div>
</div>
</a>
</li>
{% elif transaction.category.mute %}
<li>
<a class="dropdown-item disabled d-flex align-items-center" aria-disabled="true">
<i class="fa-solid fa-eye fa-fw me-2"></i>
<div>
{% translate 'Show on summaries' %}
<div class="d-block text-body-secondary tw:text-xs tw:font-medium">{% translate 'Controlled by category' %}</div>
</div>
</a>
</li>
{% if transaction.category.mute %}
<li>
<a class="dropdown-item disabled d-flex align-items-center" aria-disabled="true">
<i class="fa-solid fa-eye fa-fw me-2"></i>
<div>
{% translate 'Show on summaries' %}
<div class="d-block text-body-secondary tw:text-xs tw:font-medium">{% translate 'Controlled by category' %}</div>
</div>
</a>
</li>
{% elif transaction.mute %}
<li><a class="dropdown-item" href="#" hx-get="{% url 'transaction_mute' transaction_id=transaction.id %}" hx-target="closest .transaction" hx-swap="outerHTML"><i class="fa-solid fa-eye fa-fw me-2"></i>{% translate 'Show on summaries' %}</a></li>
{% else %}

View File

@@ -46,6 +46,8 @@
</div>
{% endif %}
<div class="container" hx-get="{% url 'setup' %}" hx-trigger="load, updated from:window"></div>
<div id="content">
{% block content %}{% endblock %}
</div>

View File

@@ -0,0 +1,68 @@
{% load i18n %}
<div class="card shadow-sm rounded-3">
<div class="card-header border-bottom-0 pt-4 px-4">
<h5 class="card-title fw-bold"><i class="fas fa-rocket me-2"></i>Let's Get You Set Up</h5>
</div>
<div class="card-body p-4">
<!-- Explanation Text -->
<div class="alert alert-info border-0" role="alert">
<div class="d-flex align-items-center">
<i class="fas fa-info-circle fa-lg me-3"></i>
<div>
Welcome to <strong>WYGIWYH</strong>! To get started, you need to configure a currency and create your first account. This will establish the foundation for managing your finances.
</div>
</div>
</div>
<!-- Task Lists -->
<div class="mt-4 border rounded-3 overflow-hidden">
<!-- Required Section -->
<div class="p-3 text-bg-secondary text-muted text-uppercase fw-bold small">Required Steps</div>
<ul class="list-group list-group-flush">
<!-- Task 1: Create Currency -->
<li class="list-group-item d-flex justify-content-between align-items-center p-3">
<div class="d-flex align-items-center">
<i class="fa-regular fa-circle{% if has_currency %}-check{% endif %} fa-fw text-primary me-3"></i>
<span class="fw-medium {% if has_currency %}tw:line-through{% endif %}">{% trans 'Add' %} {% trans 'Currency' %}</span>
</div>
<a href="#" class="btn btn-primary btn-sm"
role="button"
hx-get="{% url 'currency_add' %}"
hx-target="#generic-offcanvas">{% trans 'Add' %} <i class="fas fa-arrow-right ms-1"></i></a>
</li>
<!-- Task 2: Create Account -->
<li class="list-group-item d-flex justify-content-between align-items-center p-3">
<div class="d-flex align-items-center">
<i class="fa-regular fa-circle{% if has_account %}-check{% endif %} fa-fw text-primary me-3"></i>
<span class="fw-medium {% if has_account %}tw:line-through{% endif %}">{% trans 'Add' %} {% trans 'Account' %}</span>
</div>
<a class="btn btn-primary btn-sm"
role="button"
hx-get="{% url 'account_add' %}"
hx-target="#generic-offcanvas">{% trans 'Add' %} <i class="fas fa-arrow-right ms-1"></i></a>
</li>
</ul>
<!-- Optional Section -->
<div class="p-3 text-bg-secondary text-muted text-uppercase fw-bold small border-top">Optional Steps</div>
<ul class="list-group list-group-flush">
<!-- Task 3: Import Data -->
<li class="list-group-item d-flex justify-content-between align-items-center p-3">
<div class="d-flex align-items-center">
<i class="fas fa-upload fa-fw text-secondary me-3"></i>
<span class="fw-medium">Import data from another app</span>
</div>
<a href="#" class="btn btn-outline-secondary btn-sm">Import</a>
</li>
<!-- Task 4: Invite Team -->
<li class="list-group-item d-flex justify-content-between align-items-center p-3">
<div class="d-flex align-items-center">
<i class="fas fa-user-plus fa-fw text-secondary me-3"></i>
<span class="fw-medium">Invite team members</span>
</div>
<a href="#" class="btn btn-outline-secondary btn-sm">Invite</a>
</li>
</ul>
</div>
</div>
</div>

View File

@@ -85,7 +85,3 @@ select[multiple] {
[data-bs-toggle="collapse"][aria-expanded="true"] .fa-chevron-down {
transform: rotate(-180deg);
}
div:where(.swal2-container) {
z-index: 1100 !important;
}