Compare commits

...

29 Commits

Author SHA1 Message Date
Herculino Trotta
65c61f76ff feat(locale): add space-dot and space-comma number formatting options, where the thousand separator is a space 2025-08-10 12:34:29 -03:00
Herculino Trotta
66a5e6d613 fix(locale): get_format doesn't override number formatting if use_l10n is None 2025-08-10 12:23:41 -03:00
Herculino Trotta
20c6989ffb fix(insights:emergency-fund): hide untracked accounts 2025-08-09 03:45:16 -03:00
Herculino Trotta
c6cd525c49 fix(insights): display untracked accounts on sankey by account 2025-08-09 03:42:21 -03:00
Herculino Trotta
55c4b920ee feat(accounts): add option for untracking accounts on a per user basis 2025-08-09 03:35:39 -03:00
google-labs-jules[bot]
7f8261b9cc refactor: Style transaction items for untracked accounts
This commit extends the "Untrack Account" feature by applying a special style to transaction items that belong to an untracked account.

- The transaction item template is modified to apply a "dimmed" style to transactions from untracked accounts.
- The styling follows the precedence: Account (untracked) > Category (muted) > Transaction (hidden).
- The dropdown menu for transaction items now shows "Controlled by account" if the transaction's account is untracked.
2025-08-09 05:47:18 +00:00
Herculino Trotta
9102654eab Merge pull request #320
style(swal): move swal prompt over tooltips
2025-08-08 19:01:54 -03:00
Herculino Trotta
1ff49a8a04 style(swal): move swal prompt over tooltips 2025-08-08 19:01:35 -03:00
Herculino Trotta
846dd1fd73 Merge remote-tracking branch 'origin/main' 2025-08-08 16:49:54 -03:00
Herculino Trotta
9eed3b6692 style(transactions): remove menu vertical positioning on smaller screens 2025-08-08 16:49:37 -03:00
Dimitri Decrock
b7c53a3c2d locale(Dutch): update translation
Currently translated at 99.7% (673 of 675 strings)

Translation: WYGIWYH/App
Translate-URL: https://translations.herculino.com/projects/wygiwyh/app/nl/
2025-08-08 06:17:41 +00:00
Herculino Trotta
b378c8f6f7 locale(Portuguese (Brazil)): update translation
Currently translated at 100.0% (675 of 675 strings)

Translation: WYGIWYH/App
Translate-URL: https://translations.herculino.com/projects/wygiwyh/app/pt_BR/
2025-08-08 04:17:41 +00:00
Herculino Trotta
ccc4deb1d8 Merge branch 'main' of https://github.com/eitchtee/WYGIWYH 2025-08-07 23:48:45 -03:00
Herculino Trotta
d3ecf55375 Merge remote-tracking branch 'weblate/main' 2025-08-07 23:43:25 -03:00
eitchtee
580f3e7345 chore(locale): update translation files
[skip ci] Automatically generated by Django makemessages workflow
2025-08-08 02:41:32 +00:00
Herculino Trotta
0e5843094b Merge pull request #319
dev
2025-08-07 23:39:41 -03:00
Herculino Trotta
ed65945d19 feat(automatic-exchange-rates): rename automatic field 2025-08-07 23:39:21 -03:00
Herculino Trotta
18d8837c64 locale(Portuguese (Brazil)): update translation
Currently translated at 99.2% (671 of 676 strings)

Translation: WYGIWYH/App
Translate-URL: https://translations.herculino.com/projects/wygiwyh/app/pt_BR/
2025-08-08 02:37:06 +00:00
eitchtee
067d819077 chore(locale): update translation files
[skip ci] Automatically generated by Django makemessages workflow
2025-08-08 02:37:02 +00:00
Herculino Trotta
bbaae4746a Merge pull request #318
feat(transactions:recurring): try to create transactions on update
2025-08-07 23:36:12 -03:00
Herculino Trotta
d2e5c1d6b3 feat(transactions:recurring): try to create transactions on update 2025-08-07 23:35:57 -03:00
eitchtee
ffef61d514 chore(locale): update translation files
[skip ci] Automatically generated by Django makemessages workflow
2025-08-08 02:27:52 +00:00
Herculino Trotta
9020f6f972 Merge pull request #317
feat(automatic-exchange-rates): add "Single exchange rate" where only one exchange rate is added and updated to avoid db clutter
2025-08-07 23:26:10 -03:00
Herculino Trotta
540235c1b0 feat(automatic-exchange-rates): add "Single exchange rate" where only one exchange rate is added and updated to avoid db clutter 2025-08-07 23:25:51 -03:00
eitchtee
9070bc5705 chore(locale): update translation files
[skip ci] Automatically generated by Django makemessages workflow
2025-08-07 20:04:56 +00:00
Herculino Trotta
ba5a6c9772 Merge pull request #316 from eitchtee/dev
feat(transactions): add menu itens for quickly changing transaction date
2025-08-07 17:04:11 -03:00
Herculino Trotta
5f24d05540 Merge pull request #315
style(login): make login button take full width as open id login
2025-08-07 12:03:02 -03:00
Dimitri Decrock
15d990007e locale(Dutch): update translation
Currently translated at 100.0% (670 of 670 strings)

Translation: WYGIWYH/App
Translate-URL: https://translations.herculino.com/projects/wygiwyh/app/nl/
2025-08-07 06:17:41 +00:00
Herculino Trotta
3d5bc9cd3f Merge pull request #314
feat(tasks:check_for_updates): add env variable to disable checking
2025-08-06 16:59:15 -03:00
32 changed files with 909 additions and 468 deletions

View File

@@ -0,0 +1,20 @@
# 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.transactions.models import Transaction
from apps.common.middleware.thread_local import get_current_user
from apps.common.models import SharedObject, SharedObjectManager
from apps.transactions.models import Transaction
class AccountGroup(SharedObject):
@@ -62,6 +62,11 @@ 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
@@ -75,6 +80,10 @@ 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,6 +31,11 @@ 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,6 +155,26 @@ 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,6 +138,7 @@ 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,7 +5,12 @@ 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:
if (
user
and user.is_authenticated
and hasattr(user, "settings")
and use_l10n is not False
):
user_settings = user.settings
if format_type == "THOUSAND_SEPARATOR":
number_format = getattr(user_settings, "number_format", None)
@@ -13,11 +18,13 @@ def get_format(format_type=None, lang=None, use_l10n=None):
return "."
elif number_format == "CD":
return ","
elif number_format == "SD" or number_format == "SC":
return " "
elif format_type == "DECIMAL_SEPARATOR":
number_format = getattr(user_settings, "number_format", None)
if number_format == "DC":
if number_format == "DC" or number_format == "SC":
return ","
elif number_format == "CD":
elif number_format == "CD" or number_format == "SD":
return "."
elif format_type == "SHORT_DATE_FORMAT":
date_format = getattr(user_settings, "date_format", None)

View File

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

View File

@@ -203,21 +203,63 @@ class ExchangeRateFetcher:
if provider.rates_inverted:
# If rates are inverted, we need to swap currencies
ExchangeRate.objects.create(
from_currency=to_currency,
to_currency=from_currency,
rate=rate,
date=timezone.now(),
)
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()
processed_pairs.add((to_currency.id, from_currency.id))
else:
# If rates are not inverted, we can use them as is
ExchangeRate.objects.create(
from_currency=from_currency,
to_currency=to_currency,
rate=rate,
date=timezone.now(),
)
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()
processed_pairs.add((from_currency.id, to_currency.id))
service.last_fetch = timezone.now()

View File

@@ -114,6 +114,7 @@ class ExchangeRateServiceForm(forms.ModelForm):
"fetch_interval",
"target_currencies",
"target_accounts",
"singleton",
]
def __init__(self, *args, **kwargs):
@@ -126,6 +127,7 @@ 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

@@ -0,0 +1,23 @@
# 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

@@ -0,0 +1,18 @@
# 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,6 +70,8 @@ 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")
@@ -148,6 +150,14 @@ 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,7 +13,9 @@ from apps.insights.forms import (
)
def get_transactions(request, include_unpaid=True, include_silent=False):
def get_transactions(
request, include_unpaid=True, include_silent=False, include_untracked_accounts=False
):
transactions = Transaction.objects.all()
filter_type = request.GET.get("type", None)
@@ -95,4 +97,9 @@ def get_transactions(request, include_unpaid=True, include_silent=False):
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)
transactions = get_transactions(request, include_untracked_accounts=True)
# Generate Sankey data
sankey_data = generate_sankey_data_by_account(transactions)
@@ -239,10 +239,14 @@ 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
).order_by(
"account__currency__name",
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",
)
)
currency_net_worth = calculate_currency_totals(
transactions_queryset=transactions_currency_queryset, ignore_empty=False
@@ -262,6 +266,7 @@ 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,9 +107,15 @@ 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))
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())
)
data = calculate_currency_totals(base_queryset, ignore_empty=True)
percentages = calculate_percentage_distribution(data)
@@ -165,10 +171,14 @@ 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))
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())
)
currency_data = calculate_currency_totals(base_queryset.all(), ignore_empty=True)
currency_percentages = calculate_percentage_distribution(currency_data)

View File

@@ -27,10 +27,12 @@ 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",
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_account_queryset = Transaction.objects.filter(
is_paid=True, account__is_archived=False
@@ -39,10 +41,12 @@ def net_worth(request):
"account__name",
)
else:
transactions_currency_queryset = Transaction.objects.filter(
account__is_archived=False
).order_by(
"account__currency__name",
transactions_currency_queryset = (
Transaction.objects.filter(account__is_archived=False)
.order_by(
"account__currency__name",
)
.exclude(account__in=request.user.untracked_accounts.all())
)
transactions_account_queryset = Transaction.objects.filter(
account__is_archived=False

View File

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

View File

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

View File

@@ -89,6 +89,8 @@ class UserSettingsForm(forms.ModelForm):
("AA", _("Default")),
("DC", "1.234,50"),
("CD", "1,234.50"),
("SD", "1 234.50"),
("SC", "1 234,50"),
]
date_format = forms.ChoiceField(

View File

@@ -95,6 +95,7 @@ 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-06 16:21+0000\n"
"POT-Creation-Date: 2025-08-08 02:41+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:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:144 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:150
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: 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
@@ -292,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:191
#: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Entweder \"Datum\" oder \"Referenzdatum\" müssen angegeben werden."
@@ -533,7 +533,7 @@ msgstr "Startwährung"
msgid "To Currency"
msgstr "Zielwährung"
#: apps/currencies/models.py:69 apps/currencies/models.py:74
#: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate"
msgstr "Umrechnungskurs"
@@ -541,38 +541,43 @@ msgstr "Umrechnungskurs"
msgid "Date and Time"
msgstr "Datum und Uhrzeit"
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: 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/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:87
#: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same."
msgstr "Start- und Zielwährung dürfen nicht identisch sein."
#: apps/currencies/models.py:102
#: apps/currencies/models.py:104
msgid "On"
msgstr "An"
#: apps/currencies/models.py:103
#: apps/currencies/models.py:105
msgid "Every X hours"
msgstr "Alle X Stunden"
#: apps/currencies/models.py:104
#: apps/currencies/models.py:106
msgid "Not on"
msgstr "Nicht an"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:108
msgid "Service Name"
msgstr "Dienstname"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:110
msgid "Service Type"
msgstr "Diensttyp"
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/currencies/models.py:112 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
@@ -581,31 +586,31 @@ msgstr "Diensttyp"
msgid "Active"
msgstr "Aktiv"
#: apps/currencies/models.py:115
#: apps/currencies/models.py:117
msgid "API Key"
msgstr "API-Schlüssel"
#: apps/currencies/models.py:116
#: apps/currencies/models.py:118
msgid "API key for the service (if required)"
msgstr "API-Schlüssel für den Dienst (falls benötigt)"
#: apps/currencies/models.py:121
#: apps/currencies/models.py:123
msgid "Interval Type"
msgstr "Intervalltyp"
#: apps/currencies/models.py:125
#: apps/currencies/models.py:127
msgid "Interval"
msgstr "Intervall"
#: apps/currencies/models.py:128
#: apps/currencies/models.py:130
msgid "Last Successful Fetch"
msgstr "Letzter erfolgreicher Abruf"
#: apps/currencies/models.py:133
#: apps/currencies/models.py:135
msgid "Target Currencies"
msgstr "Zielwährungen"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:137
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
@@ -613,11 +618,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:143
#: apps/currencies/models.py:145
msgid "Target Accounts"
msgstr "Zielkonten"
#: apps/currencies/models.py:145
#: apps/currencies/models.py:147
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
@@ -625,23 +630,33 @@ 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:152
#: 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
msgid "Exchange Rate Service"
msgstr "Umrechnungskurs-Dienst"
#: apps/currencies/models.py:153
#: apps/currencies/models.py:163
msgid "Exchange Rate Services"
msgstr "Umrechnungskurs-Dienste"
#: apps/currencies/models.py:205
#: apps/currencies/models.py:215
msgid "'Every X hours' interval type requires a positive integer."
msgstr "\"Jede X Stunden\"-Intervalltyp benötigt eine positive Ganzzahl."
#: apps/currencies/models.py:214
#: apps/currencies/models.py:224
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:228
#: apps/currencies/models.py:238
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
@@ -649,7 +664,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:239
#: apps/currencies/models.py:249
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -909,7 +924,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:172
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:176
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1682,8 +1697,8 @@ msgid "Item deleted successfully"
msgstr "Objekt erfolgreich gelöscht"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully"
msgstr "Transaktion erfolgreich hinzugefügt"
@@ -1723,30 +1738,30 @@ msgstr "Tag erfolgreich aktualisiert"
msgid "Tag deleted successfully"
msgstr "Tag erfolgreich gelöscht"
#: apps/transactions/views/transactions.py:182
#: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully"
msgstr "Transaktion erfolgreich aktualisiert"
#: apps/transactions/views/transactions.py:232
#: apps/transactions/views/transactions.py:233
#, 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:268
#: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully"
msgstr "Transaktion erfolgreich duplisiert"
#: apps/transactions/views/transactions.py:310
#: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully"
msgstr "Transaktion erfolgreich gelöscht"
#: apps/transactions/views/transactions.py:328
#: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully"
msgstr "Transaktion erfolgreich wiederhergestellt"
#: apps/transactions/views/transactions.py:354
#: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully"
msgstr "Transfer erfolgreich hinzugefügt"
@@ -1874,10 +1889,6 @@ 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"
@@ -1994,7 +2005,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:178
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2021,7 +2032,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:182
#: templates/cotton/transaction/item.html:186
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2051,7 +2062,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:183
#: templates/cotton/transaction/item.html:187
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2073,7 +2084,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:184
#: templates/cotton/transaction/item.html:188
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2253,6 +2264,18 @@ msgid "Add as quick transaction"
msgstr "Als schnelle Transaktion hinzufügen"
#: templates/cotton/transaction/item.html:166
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:167
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:168
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:170
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr "Duplikat"
@@ -3390,6 +3413,11 @@ 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-06 16:21+0000\n"
"POT-Creation-Date: 2025-08-08 02:41+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:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:144 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:150
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: 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
@@ -286,7 +286,7 @@ msgstr ""
msgid "Invalid entity data. Provide an ID or name."
msgstr ""
#: apps/api/serializers/transactions.py:191
#: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided."
msgstr ""
@@ -521,7 +521,7 @@ msgstr ""
msgid "To Currency"
msgstr ""
#: apps/currencies/models.py:69 apps/currencies/models.py:74
#: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate"
msgstr ""
@@ -529,38 +529,43 @@ msgstr ""
msgid "Date and Time"
msgstr ""
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: 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/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:87
#: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same."
msgstr ""
#: apps/currencies/models.py:102
#: apps/currencies/models.py:104
msgid "On"
msgstr ""
#: apps/currencies/models.py:103
#: apps/currencies/models.py:105
msgid "Every X hours"
msgstr ""
#: apps/currencies/models.py:104
#: apps/currencies/models.py:106
msgid "Not on"
msgstr ""
#: apps/currencies/models.py:106
#: apps/currencies/models.py:108
msgid "Service Name"
msgstr ""
#: apps/currencies/models.py:108
#: apps/currencies/models.py:110
msgid "Service Type"
msgstr ""
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/currencies/models.py:112 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
@@ -569,69 +574,77 @@ msgstr ""
msgid "Active"
msgstr ""
#: apps/currencies/models.py:115
#: apps/currencies/models.py:117
msgid "API Key"
msgstr ""
#: apps/currencies/models.py:116
#: apps/currencies/models.py:118
msgid "API key for the service (if required)"
msgstr ""
#: apps/currencies/models.py:121
#: apps/currencies/models.py:123
msgid "Interval Type"
msgstr ""
#: apps/currencies/models.py:125
#: apps/currencies/models.py:127
msgid "Interval"
msgstr ""
#: apps/currencies/models.py:128
#: apps/currencies/models.py:130
msgid "Last Successful Fetch"
msgstr ""
#: apps/currencies/models.py:133
#: apps/currencies/models.py:135
msgid "Target Currencies"
msgstr ""
#: apps/currencies/models.py:135
#: apps/currencies/models.py:137
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:143
#: apps/currencies/models.py:145
msgid "Target Accounts"
msgstr ""
#: apps/currencies/models.py:145
#: apps/currencies/models.py:147
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:152
#: 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
msgid "Exchange Rate Service"
msgstr ""
#: apps/currencies/models.py:153
#: apps/currencies/models.py:163
msgid "Exchange Rate Services"
msgstr ""
#: apps/currencies/models.py:205
#: apps/currencies/models.py:215
msgid "'Every X hours' interval type requires a positive integer."
msgstr ""
#: apps/currencies/models.py:214
#: apps/currencies/models.py:224
msgid "'Every X hours' interval must be between 1 and 24."
msgstr ""
#: apps/currencies/models.py:228
#: apps/currencies/models.py:238
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:239
#: apps/currencies/models.py:249
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -887,7 +900,7 @@ msgstr ""
msgid "Update or create transaction actions"
msgstr ""
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:176
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1638,8 +1651,8 @@ msgid "Item deleted successfully"
msgstr ""
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully"
msgstr ""
@@ -1679,30 +1692,30 @@ msgstr ""
msgid "Tag deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:182
#: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:232
#: apps/transactions/views/transactions.py:233
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] ""
msgstr[1] ""
#: apps/transactions/views/transactions.py:268
#: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:310
#: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:328
#: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully"
msgstr ""
#: apps/transactions/views/transactions.py:354
#: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully"
msgstr ""
@@ -1825,10 +1838,6 @@ 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 ""
@@ -1945,7 +1954,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:178
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -1972,7 +1981,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:182
#: templates/cotton/transaction/item.html:186
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2002,7 +2011,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:183
#: templates/cotton/transaction/item.html:187
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2024,7 +2033,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:184
#: templates/cotton/transaction/item.html:188
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2204,6 +2213,18 @@ msgid "Add as quick transaction"
msgstr ""
#: templates/cotton/transaction/item.html:166
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:167
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:168
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:170
#: 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-06 16:21+0000\n"
"POT-Creation-Date: 2025-08-08 02:41+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:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:144 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:150
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: 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
@@ -291,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:191
#: apps/api/serializers/transactions.py:192
#, fuzzy
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Either 'date' or 'reference_date' must be provided."
@@ -542,7 +542,7 @@ msgstr "De Moneda"
msgid "To Currency"
msgstr "A Moneda"
#: apps/currencies/models.py:69 apps/currencies/models.py:74
#: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate"
msgstr "Tipo de cambio"
@@ -550,38 +550,44 @@ msgstr "Tipo de cambio"
msgid "Date and Time"
msgstr "Fecha y Hora"
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: 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/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:87
#: apps/currencies/models.py:89
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:102
#: apps/currencies/models.py:104
msgid "On"
msgstr "Encendido"
#: apps/currencies/models.py:103
#: apps/currencies/models.py:105
msgid "Every X hours"
msgstr "Cada X horas"
#: apps/currencies/models.py:104
#: apps/currencies/models.py:106
msgid "Not on"
msgstr "No Encendido"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:108
msgid "Service Name"
msgstr "Nombre del Servicio"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:110
msgid "Service Type"
msgstr "Tipo de Servicio"
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/currencies/models.py:112 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
@@ -590,37 +596,37 @@ msgstr "Tipo de Servicio"
msgid "Active"
msgstr "Activo"
#: apps/currencies/models.py:115
#: apps/currencies/models.py:117
#, fuzzy
msgid "API Key"
msgstr "API Key"
#: apps/currencies/models.py:116
#: apps/currencies/models.py:118
#, fuzzy
msgid "API key for the service (if required)"
msgstr "API key for the service (if required)"
#: apps/currencies/models.py:121
#: apps/currencies/models.py:123
#, fuzzy
msgid "Interval Type"
msgstr "Interval Type"
#: apps/currencies/models.py:125
#: apps/currencies/models.py:127
#, fuzzy
msgid "Interval"
msgstr "Interval"
#: apps/currencies/models.py:128
#: apps/currencies/models.py:130
#, fuzzy
msgid "Last Successful Fetch"
msgstr "Last Successful Fetch"
#: apps/currencies/models.py:133
#: apps/currencies/models.py:135
#, fuzzy
msgid "Target Currencies"
msgstr "Target Currencies"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:137
#, fuzzy
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
@@ -629,12 +635,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:143
#: apps/currencies/models.py:145
#, fuzzy
msgid "Target Accounts"
msgstr "Target Accounts"
#: apps/currencies/models.py:145
#: apps/currencies/models.py:147
#, fuzzy
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
@@ -643,27 +649,36 @@ 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:152
#: 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
#, fuzzy
msgid "Exchange Rate Service"
msgstr "Exchange Rate Service"
#: apps/currencies/models.py:153
#: apps/currencies/models.py:163
#, fuzzy
msgid "Exchange Rate Services"
msgstr "Exchange Rate Services"
#: apps/currencies/models.py:205
#: apps/currencies/models.py:215
#, 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:214
#: apps/currencies/models.py:224
#, 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:228
#: apps/currencies/models.py:238
#, fuzzy
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
@@ -672,7 +687,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:239
#: apps/currencies/models.py:249
#, fuzzy
msgid ""
"Invalid format. Please check the requirements for your selected interval "
@@ -982,7 +997,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:172
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:176
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1888,8 +1903,8 @@ msgid "Item deleted successfully"
msgstr "Rule deleted successfully"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
#, fuzzy
msgid "Transaction added successfully"
msgstr "Transaction added successfully"
@@ -1939,34 +1954,34 @@ msgstr "Tag updated successfully"
msgid "Tag deleted successfully"
msgstr "Tag deleted successfully"
#: apps/transactions/views/transactions.py:182
#: apps/transactions/views/transactions.py:183
#, fuzzy
msgid "Transaction updated successfully"
msgstr "Transaction updated successfully"
#: apps/transactions/views/transactions.py:232
#: apps/transactions/views/transactions.py:233
#, 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:268
#: apps/transactions/views/transactions.py:269
#, fuzzy
msgid "Transaction duplicated successfully"
msgstr "Transaction duplicated successfully"
#: apps/transactions/views/transactions.py:310
#: apps/transactions/views/transactions.py:311
#, fuzzy
msgid "Transaction deleted successfully"
msgstr "Transaction deleted successfully"
#: apps/transactions/views/transactions.py:328
#: apps/transactions/views/transactions.py:329
#, fuzzy
msgid "Transaction restored successfully"
msgstr "Transaction restored successfully"
#: apps/transactions/views/transactions.py:354
#: apps/transactions/views/transactions.py:355
#, fuzzy
msgid "Transfer added successfully"
msgstr "Transfer added successfully"
@@ -2112,11 +2127,6 @@ 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"
@@ -2251,7 +2261,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:178
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2279,7 +2289,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:182
#: templates/cotton/transaction/item.html:186
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2310,7 +2320,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:183
#: templates/cotton/transaction/item.html:187
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2333,7 +2343,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:184
#: templates/cotton/transaction/item.html:188
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2547,6 +2557,18 @@ msgid "Add as quick transaction"
msgstr "Agregar transacción rápida"
#: templates/cotton/transaction/item.html:166
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:167
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:168
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:170
#: templates/cotton/ui/transactions_action_bar.html:82
#, fuzzy
msgid "Duplicate"
@@ -3857,6 +3879,10 @@ 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-06 16:21+0000\n"
"POT-Creation-Date: 2025-08-08 02:41+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:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:144 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:150
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: 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
@@ -292,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:191
#: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Une 'date' ou 'reference_date' doit être fourni."
@@ -532,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:74
#: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate"
msgstr "Taux de change"
@@ -540,38 +540,44 @@ msgstr "Taux de change"
msgid "Date and Time"
msgstr "Date et Heure"
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: 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/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:87
#: apps/currencies/models.py:89
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:102
#: apps/currencies/models.py:104
msgid "On"
msgstr "Le"
#: apps/currencies/models.py:103
#: apps/currencies/models.py:105
msgid "Every X hours"
msgstr "Toutes les X heures"
#: apps/currencies/models.py:104
#: apps/currencies/models.py:106
msgid "Not on"
msgstr "Pas le"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:108
msgid "Service Name"
msgstr "Nom du Service"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:110
msgid "Service Type"
msgstr "Type de Service"
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/currencies/models.py:112 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
@@ -580,31 +586,31 @@ msgstr "Type de Service"
msgid "Active"
msgstr "Actif"
#: apps/currencies/models.py:115
#: apps/currencies/models.py:117
msgid "API Key"
msgstr "Clé API"
#: apps/currencies/models.py:116
#: apps/currencies/models.py:118
msgid "API key for the service (if required)"
msgstr "Clé API pour le service (si nécessaire)"
#: apps/currencies/models.py:121
#: apps/currencies/models.py:123
msgid "Interval Type"
msgstr "Type d'intervalle"
#: apps/currencies/models.py:125
#: apps/currencies/models.py:127
msgid "Interval"
msgstr "Intervalle"
#: apps/currencies/models.py:128
#: apps/currencies/models.py:130
msgid "Last Successful Fetch"
msgstr "Dernière récupération avec succès"
#: apps/currencies/models.py:133
#: apps/currencies/models.py:135
msgid "Target Currencies"
msgstr "Devises cibles"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:137
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
@@ -612,11 +618,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:143
#: apps/currencies/models.py:145
msgid "Target Accounts"
msgstr "Comptes cibles"
#: apps/currencies/models.py:145
#: apps/currencies/models.py:147
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
@@ -624,23 +630,32 @@ 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:152
#: 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
msgid "Exchange Rate Service"
msgstr "Service de taux de change"
#: apps/currencies/models.py:153
#: apps/currencies/models.py:163
msgid "Exchange Rate Services"
msgstr "Services de taux de change"
#: apps/currencies/models.py:205
#: apps/currencies/models.py:215
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:214
#: apps/currencies/models.py:224
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:228
#: apps/currencies/models.py:238
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
@@ -648,7 +663,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:239
#: apps/currencies/models.py:249
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -907,7 +922,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:172
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:176
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1678,8 +1693,8 @@ msgid "Item deleted successfully"
msgstr "Item supprimée avec succès"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully"
msgstr "Transaction ajoutée avec succès"
@@ -1719,30 +1734,30 @@ msgstr "Balise mise à jour avec succès"
msgid "Tag deleted successfully"
msgstr "Balise supprimée avec succès"
#: apps/transactions/views/transactions.py:182
#: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully"
msgstr "Transaction mise à jour avec succès"
#: apps/transactions/views/transactions.py:232
#: apps/transactions/views/transactions.py:233
#, 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:268
#: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully"
msgstr "Transaction dupliquée avec succès"
#: apps/transactions/views/transactions.py:310
#: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully"
msgstr "Transaction supprimée avec succès"
#: apps/transactions/views/transactions.py:328
#: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully"
msgstr "Transaction restaurée avec succès"
#: apps/transactions/views/transactions.py:354
#: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully"
msgstr "Transfert ajouté avec succès"
@@ -1876,11 +1891,6 @@ 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"
@@ -2015,7 +2025,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:178
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2043,7 +2053,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:182
#: templates/cotton/transaction/item.html:186
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2074,7 +2084,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:183
#: templates/cotton/transaction/item.html:187
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2097,7 +2107,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:184
#: templates/cotton/transaction/item.html:188
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2311,6 +2321,18 @@ msgid "Add as quick transaction"
msgstr "Add recurring transaction"
#: templates/cotton/transaction/item.html:166
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:167
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:168
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:170
#: templates/cotton/ui/transactions_action_bar.html:82
#, fuzzy
msgid "Duplicate"
@@ -3662,6 +3684,10 @@ 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-06 16:21+0000\n"
"PO-Revision-Date: 2025-07-28 17:17+0000\n"
"POT-Creation-Date: 2025-08-08 02:41+0000\n"
"PO-Revision-Date: 2025-08-08 06: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:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:144 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:150
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: 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
@@ -292,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:191
#: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "'datum' of 'referentiedatum' moet worden opgegeven."
@@ -532,7 +532,7 @@ msgstr "Van Munteenheid"
msgid "To Currency"
msgstr "Naar Munteenheid"
#: apps/currencies/models.py:69 apps/currencies/models.py:74
#: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate"
msgstr "Wisselkoers"
@@ -540,38 +540,43 @@ msgstr "Wisselkoers"
msgid "Date and Time"
msgstr "Datum en Tijd"
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: 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/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:87
#: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same."
msgstr "Van en Naar munteenheid kunnen niet dezelfde zijn."
#: apps/currencies/models.py:102
#: apps/currencies/models.py:104
msgid "On"
msgstr "Op"
#: apps/currencies/models.py:103
#: apps/currencies/models.py:105
msgid "Every X hours"
msgstr "Elke X Uren"
#: apps/currencies/models.py:104
#: apps/currencies/models.py:106
msgid "Not on"
msgstr "Niet op"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:108
msgid "Service Name"
msgstr "Dienstnaam"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:110
msgid "Service Type"
msgstr "Soort Dienst"
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/currencies/models.py:112 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
@@ -580,31 +585,31 @@ msgstr "Soort Dienst"
msgid "Active"
msgstr "Actief"
#: apps/currencies/models.py:115
#: apps/currencies/models.py:117
msgid "API Key"
msgstr "API Sleutel"
#: apps/currencies/models.py:116
#: apps/currencies/models.py:118
msgid "API key for the service (if required)"
msgstr "API sleutel voor de dienst (indien verplicht)"
#: apps/currencies/models.py:121
#: apps/currencies/models.py:123
msgid "Interval Type"
msgstr "Soort Interval"
#: apps/currencies/models.py:125
#: apps/currencies/models.py:127
msgid "Interval"
msgstr "Interval"
#: apps/currencies/models.py:128
#: apps/currencies/models.py:130
msgid "Last Successful Fetch"
msgstr "Laatste Succesvolle Ophaling"
#: apps/currencies/models.py:133
#: apps/currencies/models.py:135
msgid "Target Currencies"
msgstr "Doel Munteenheden"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:137
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
@@ -612,11 +617,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:143
#: apps/currencies/models.py:145
msgid "Target Accounts"
msgstr "Naar rekeningen"
#: apps/currencies/models.py:145
#: apps/currencies/models.py:147
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
@@ -625,23 +630,33 @@ msgstr ""
"opgehaald voor de munteenheid van elke rekening ten opzichte van de "
"ingestelde wisselkoers."
#: apps/currencies/models.py:152
#: apps/currencies/models.py:154
#, fuzzy
#| msgid "Edit exchange rate"
msgid "Single exchange rate"
msgstr "Wisselkoers bewerken"
#: apps/currencies/models.py:157
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
msgstr ""
#: apps/currencies/models.py:162
msgid "Exchange Rate Service"
msgstr "Wisselkoersdienst"
#: apps/currencies/models.py:153
#: apps/currencies/models.py:163
msgid "Exchange Rate Services"
msgstr "Wisselkoersdiensten"
#: apps/currencies/models.py:205
#: apps/currencies/models.py:215
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:214
#: apps/currencies/models.py:224
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:228
#: apps/currencies/models.py:238
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
@@ -649,7 +664,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:239
#: apps/currencies/models.py:249
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -908,7 +923,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:172
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:176
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1359,10 +1374,8 @@ 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 "Filter verrichtingen"
msgstr "toekomstige verrichtingen"
#: apps/transactions/forms.py:1076
msgid "End date should be after the start date"
@@ -1546,7 +1559,7 @@ msgstr "Terugkeer Interval"
#: apps/transactions/models.py:726
msgid "Keep at most"
msgstr ""
msgstr "Bewaar maximaal"
#: apps/transactions/models.py:730
msgid "Last Generated Date"
@@ -1671,8 +1684,8 @@ msgid "Item deleted successfully"
msgstr "Item succesvol verwijderd"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully"
msgstr "Verrichting succesvol toegevoegd"
@@ -1712,30 +1725,30 @@ msgstr "Label succesvol bijgewerkt"
msgid "Tag deleted successfully"
msgstr "Label succesvol verwijderd"
#: apps/transactions/views/transactions.py:182
#: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully"
msgstr "Verrichting succesvol bijgewerkt"
#: apps/transactions/views/transactions.py:232
#: apps/transactions/views/transactions.py:233
#, 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:268
#: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully"
msgstr "Verrichting succesvol gedupliceerd"
#: apps/transactions/views/transactions.py:310
#: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully"
msgstr "Verrichting succesvol verwijderd"
#: apps/transactions/views/transactions.py:328
#: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully"
msgstr "Verrichting succesvol hersteld"
#: apps/transactions/views/transactions.py:354
#: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully"
msgstr "Transactie succesvol toegevoegd"
@@ -1865,10 +1878,6 @@ 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"
@@ -1985,7 +1994,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:178
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2012,7 +2021,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:182
#: templates/cotton/transaction/item.html:186
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2042,7 +2051,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:183
#: templates/cotton/transaction/item.html:187
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2064,7 +2073,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:184
#: templates/cotton/transaction/item.html:188
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2244,6 +2253,18 @@ msgid "Add as quick transaction"
msgstr "Toevoegen als snelle transactie"
#: templates/cotton/transaction/item.html:166
msgid "Move to previous month"
msgstr "Ga naar vorige maand"
#: templates/cotton/transaction/item.html:167
msgid "Move to next month"
msgstr "Ga naar volgende maand"
#: templates/cotton/transaction/item.html:168
msgid "Move to today"
msgstr "Ga naar vandaag"
#: templates/cotton/transaction/item.html:170
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr "Dupliceren"
@@ -3364,6 +3385,11 @@ 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-06 16:21+0000\n"
"POT-Creation-Date: 2025-08-08 02:41+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:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:144 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:150
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: 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
@@ -290,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:191
#: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "É necessário fornecer “date” ou “reference_date”."
@@ -532,7 +532,7 @@ msgstr "Moeda de origem"
msgid "To Currency"
msgstr "Moeda de destino"
#: apps/currencies/models.py:69 apps/currencies/models.py:74
#: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate"
msgstr "Taxa de Câmbio"
@@ -540,38 +540,43 @@ msgstr "Taxa de Câmbio"
msgid "Date and Time"
msgstr "Data e Tempo"
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: 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/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:87
#: apps/currencies/models.py:89
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:102
#: apps/currencies/models.py:104
msgid "On"
msgstr "Em"
#: apps/currencies/models.py:103
#: apps/currencies/models.py:105
msgid "Every X hours"
msgstr "A cada X horas"
#: apps/currencies/models.py:104
#: apps/currencies/models.py:106
msgid "Not on"
msgstr "Não em"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:108
msgid "Service Name"
msgstr "Nome do Serviço"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:110
msgid "Service Type"
msgstr "Tipo de Serviço"
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/currencies/models.py:112 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
@@ -580,31 +585,31 @@ msgstr "Tipo de Serviço"
msgid "Active"
msgstr "Ativo"
#: apps/currencies/models.py:115
#: apps/currencies/models.py:117
msgid "API Key"
msgstr "Chave de API"
#: apps/currencies/models.py:116
#: apps/currencies/models.py:118
msgid "API key for the service (if required)"
msgstr "Chave de API para o serviço (se necessário)"
#: apps/currencies/models.py:121
#: apps/currencies/models.py:123
msgid "Interval Type"
msgstr "Tipo de Intervalo"
#: apps/currencies/models.py:125
#: apps/currencies/models.py:127
msgid "Interval"
msgstr "Intervalo"
#: apps/currencies/models.py:128
#: apps/currencies/models.py:130
msgid "Last Successful Fetch"
msgstr "Última execução bem-sucedida"
#: apps/currencies/models.py:133
#: apps/currencies/models.py:135
msgid "Target Currencies"
msgstr "Moedas-alvo"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:137
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
@@ -612,11 +617,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:143
#: apps/currencies/models.py:145
msgid "Target Accounts"
msgstr "Contas-alvo"
#: apps/currencies/models.py:145
#: apps/currencies/models.py:147
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
@@ -625,24 +630,34 @@ msgstr ""
"serão obtidas para a moeda de cada conta em relação à moeda de câmbio "
"definida."
#: apps/currencies/models.py:152
#: 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
msgid "Exchange Rate Service"
msgstr "Serviço de Taxa de Câmbio"
#: apps/currencies/models.py:153
#: apps/currencies/models.py:163
msgid "Exchange Rate Services"
msgstr "Serviços de Taxa de Câmbio"
#: apps/currencies/models.py:205
#: apps/currencies/models.py:215
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:214
#: apps/currencies/models.py:224
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:228
#: apps/currencies/models.py:238
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
@@ -650,7 +665,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:239
#: apps/currencies/models.py:249
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -908,7 +923,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:172
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:176
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1682,8 +1697,8 @@ msgid "Item deleted successfully"
msgstr "Regra apagada com sucesso"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully"
msgstr "Transação adicionada com sucesso"
@@ -1723,30 +1738,30 @@ msgstr "Tag atualizada com sucesso"
msgid "Tag deleted successfully"
msgstr "Tag apagada com sucesso"
#: apps/transactions/views/transactions.py:182
#: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully"
msgstr "Transação atualizada com sucesso"
#: apps/transactions/views/transactions.py:232
#: apps/transactions/views/transactions.py:233
#, 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:268
#: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully"
msgstr "Transação duplicada com sucesso"
#: apps/transactions/views/transactions.py:310
#: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully"
msgstr "Transação apagada com sucesso"
#: apps/transactions/views/transactions.py:328
#: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully"
msgstr "Transação restaurada com sucesso"
#: apps/transactions/views/transactions.py:354
#: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully"
msgstr "Transferência adicionada com sucesso"
@@ -1876,10 +1891,6 @@ 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"
@@ -1996,7 +2007,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:178
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -2023,7 +2034,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:182
#: templates/cotton/transaction/item.html:186
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2053,7 +2064,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:183
#: templates/cotton/transaction/item.html:187
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2075,7 +2086,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:184
#: templates/cotton/transaction/item.html:188
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2259,6 +2270,18 @@ msgid "Add as quick transaction"
msgstr "Adicionar transação recorrente"
#: templates/cotton/transaction/item.html:166
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:167
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:168
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:170
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr "Duplicar"
@@ -3394,6 +3417,11 @@ 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-06 16:21+0000\n"
"PO-Revision-Date: 2025-08-06 18:17+0000\n"
"POT-Creation-Date: 2025-08-08 02:41+0000\n"
"PO-Revision-Date: 2025-08-08 04: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:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:144 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:150
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: 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
@@ -290,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:191
#: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "É necessário fornecer “date” ou “reference_date”."
@@ -530,7 +530,7 @@ msgstr "Moeda de origem"
msgid "To Currency"
msgstr "Moeda de destino"
#: apps/currencies/models.py:69 apps/currencies/models.py:74
#: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate"
msgstr "Taxa de Câmbio"
@@ -538,38 +538,43 @@ msgstr "Taxa de Câmbio"
msgid "Date and Time"
msgstr "Data e Tempo"
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: 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/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:87
#: apps/currencies/models.py:89
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:102
#: apps/currencies/models.py:104
msgid "On"
msgstr "Em"
#: apps/currencies/models.py:103
#: apps/currencies/models.py:105
msgid "Every X hours"
msgstr "A cada X horas"
#: apps/currencies/models.py:104
#: apps/currencies/models.py:106
msgid "Not on"
msgstr "Não em"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:108
msgid "Service Name"
msgstr "Nome do Serviço"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:110
msgid "Service Type"
msgstr "Tipo de Serviço"
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/currencies/models.py:112 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
@@ -578,31 +583,31 @@ msgstr "Tipo de Serviço"
msgid "Active"
msgstr "Ativo"
#: apps/currencies/models.py:115
#: apps/currencies/models.py:117
msgid "API Key"
msgstr "Chave de API"
#: apps/currencies/models.py:116
#: apps/currencies/models.py:118
msgid "API key for the service (if required)"
msgstr "Chave de API para o serviço (se necessário)"
#: apps/currencies/models.py:121
#: apps/currencies/models.py:123
msgid "Interval Type"
msgstr "Tipo de Intervalo"
#: apps/currencies/models.py:125
#: apps/currencies/models.py:127
msgid "Interval"
msgstr "Intervalo"
#: apps/currencies/models.py:128
#: apps/currencies/models.py:130
msgid "Last Successful Fetch"
msgstr "Última execução bem-sucedida"
#: apps/currencies/models.py:133
#: apps/currencies/models.py:135
msgid "Target Currencies"
msgstr "Moedas-alvo"
#: apps/currencies/models.py:135
#: apps/currencies/models.py:137
msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency."
@@ -610,11 +615,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:143
#: apps/currencies/models.py:145
msgid "Target Accounts"
msgstr "Contas-alvo"
#: apps/currencies/models.py:145
#: apps/currencies/models.py:147
msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency."
@@ -623,24 +628,34 @@ msgstr ""
"serão obtidas para a moeda de cada conta em relação à moeda de câmbio "
"definida."
#: apps/currencies/models.py:152
#: 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
msgid "Exchange Rate Service"
msgstr "Serviço de Taxa de Câmbio"
#: apps/currencies/models.py:153
#: apps/currencies/models.py:163
msgid "Exchange Rate Services"
msgstr "Serviços de Taxa de Câmbio"
#: apps/currencies/models.py:205
#: apps/currencies/models.py:215
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:214
#: apps/currencies/models.py:224
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:228
#: apps/currencies/models.py:238
msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')."
@@ -648,7 +663,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:239
#: apps/currencies/models.py:249
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -906,7 +921,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:172
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:176
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1666,8 +1681,8 @@ msgid "Item deleted successfully"
msgstr "Item apagado com sucesso"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully"
msgstr "Transação adicionada com sucesso"
@@ -1707,30 +1722,30 @@ msgstr "Tag atualizada com sucesso"
msgid "Tag deleted successfully"
msgstr "Tag apagada com sucesso"
#: apps/transactions/views/transactions.py:182
#: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully"
msgstr "Transação atualizada com sucesso"
#: apps/transactions/views/transactions.py:232
#: apps/transactions/views/transactions.py:233
#, 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:268
#: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully"
msgstr "Transação duplicada com sucesso"
#: apps/transactions/views/transactions.py:310
#: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully"
msgstr "Transação apagada com sucesso"
#: apps/transactions/views/transactions.py:328
#: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully"
msgstr "Transação restaurada com sucesso"
#: apps/transactions/views/transactions.py:354
#: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully"
msgstr "Transferência adicionada com sucesso"
@@ -1862,10 +1877,6 @@ 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"
@@ -1982,7 +1993,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:178
#: templates/cotton/transaction/item.html:182
#: 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 +2020,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:182
#: templates/cotton/transaction/item.html:186
#: 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 +2050,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:183
#: templates/cotton/transaction/item.html:187
#: 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 +2072,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:184
#: templates/cotton/transaction/item.html:188
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2241,6 +2252,18 @@ msgid "Add as quick transaction"
msgstr "Adicionar como transação rápida"
#: templates/cotton/transaction/item.html:166
msgid "Move to previous month"
msgstr "Mover para o mês anterior"
#: templates/cotton/transaction/item.html:167
msgid "Move to next month"
msgstr "Mover para o mês seguinte"
#: templates/cotton/transaction/item.html:168
msgid "Move to today"
msgstr "Mover para hoje"
#: templates/cotton/transaction/item.html:170
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr "Duplicar"
@@ -3358,6 +3381,11 @@ 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-06 16:21+0000\n"
"POT-Creation-Date: 2025-08-08 02:41+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:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:144 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:150
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: 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
@@ -287,7 +287,7 @@ msgstr ""
msgid "Invalid entity data. Provide an ID or name."
msgstr ""
#: apps/api/serializers/transactions.py:191
#: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided."
msgstr ""
@@ -522,7 +522,7 @@ msgstr ""
msgid "To Currency"
msgstr ""
#: apps/currencies/models.py:69 apps/currencies/models.py:74
#: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate"
msgstr ""
@@ -530,38 +530,43 @@ msgstr ""
msgid "Date and Time"
msgstr ""
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: 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/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:87
#: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same."
msgstr ""
#: apps/currencies/models.py:102
#: apps/currencies/models.py:104
msgid "On"
msgstr ""
#: apps/currencies/models.py:103
#: apps/currencies/models.py:105
msgid "Every X hours"
msgstr ""
#: apps/currencies/models.py:104
#: apps/currencies/models.py:106
msgid "Not on"
msgstr ""
#: apps/currencies/models.py:106
#: apps/currencies/models.py:108
msgid "Service Name"
msgstr ""
#: apps/currencies/models.py:108
#: apps/currencies/models.py:110
msgid "Service Type"
msgstr ""
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/currencies/models.py:112 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
@@ -570,69 +575,77 @@ msgstr ""
msgid "Active"
msgstr ""
#: apps/currencies/models.py:115
#: apps/currencies/models.py:117
msgid "API Key"
msgstr ""
#: apps/currencies/models.py:116
#: apps/currencies/models.py:118
msgid "API key for the service (if required)"
msgstr ""
#: apps/currencies/models.py:121
#: apps/currencies/models.py:123
msgid "Interval Type"
msgstr ""
#: apps/currencies/models.py:125
#: apps/currencies/models.py:127
msgid "Interval"
msgstr ""
#: apps/currencies/models.py:128
#: apps/currencies/models.py:130
msgid "Last Successful Fetch"
msgstr ""
#: apps/currencies/models.py:133
#: apps/currencies/models.py:135
msgid "Target Currencies"
msgstr ""
#: apps/currencies/models.py:135
#: apps/currencies/models.py:137
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:143
#: apps/currencies/models.py:145
msgid "Target Accounts"
msgstr ""
#: apps/currencies/models.py:145
#: apps/currencies/models.py:147
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:152
#: 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
msgid "Exchange Rate Service"
msgstr ""
#: apps/currencies/models.py:153
#: apps/currencies/models.py:163
msgid "Exchange Rate Services"
msgstr ""
#: apps/currencies/models.py:205
#: apps/currencies/models.py:215
msgid "'Every X hours' interval type requires a positive integer."
msgstr ""
#: apps/currencies/models.py:214
#: apps/currencies/models.py:224
msgid "'Every X hours' interval must be between 1 and 24."
msgstr ""
#: apps/currencies/models.py:228
#: apps/currencies/models.py:238
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:239
#: apps/currencies/models.py:249
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -888,7 +901,7 @@ msgstr ""
msgid "Update or create transaction actions"
msgstr ""
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:176
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1639,8 +1652,8 @@ msgid "Item deleted successfully"
msgstr ""
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully"
msgstr ""
@@ -1680,30 +1693,30 @@ msgstr ""
msgid "Tag deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:182
#: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:232
#: apps/transactions/views/transactions.py:233
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] ""
msgstr[1] ""
#: apps/transactions/views/transactions.py:268
#: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:310
#: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:328
#: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully"
msgstr ""
#: apps/transactions/views/transactions.py:354
#: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully"
msgstr ""
@@ -1826,10 +1839,6 @@ 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 ""
@@ -1946,7 +1955,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:178
#: templates/cotton/transaction/item.html:182
#: templates/cotton/ui/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44
@@ -1973,7 +1982,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:182
#: templates/cotton/transaction/item.html:186
#: templates/cotton/ui/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48
@@ -2003,7 +2012,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:183
#: templates/cotton/transaction/item.html:187
#: templates/cotton/ui/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49
@@ -2025,7 +2034,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:184
#: templates/cotton/transaction/item.html:188
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2205,6 +2214,18 @@ msgid "Add as quick transaction"
msgstr ""
#: templates/cotton/transaction/item.html:166
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:167
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:168
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:170
#: 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-06 16:21+0000\n"
"POT-Creation-Date: 2025-08-08 02:41+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:142 apps/dca/forms.py:49 apps/dca/forms.py:224
#: apps/currencies/forms.py:144 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:150
#: apps/currencies/forms.py:99 apps/currencies/forms.py:152
#: 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
@@ -291,7 +291,7 @@ msgstr "Об'єкт з таким ідентифікатором не існує
msgid "Invalid entity data. Provide an ID or name."
msgstr "Невірні дані про об'єкт. Вкажіть ідентифікатор або ім'я."
#: apps/api/serializers/transactions.py:191
#: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Необхідно вказати або 'date', або 'reference_date'."
@@ -537,7 +537,7 @@ msgstr "З валюти"
msgid "To Currency"
msgstr "У валюту"
#: apps/currencies/models.py:69 apps/currencies/models.py:74
#: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate"
msgstr "Обмінний курс"
@@ -545,38 +545,43 @@ msgstr "Обмінний курс"
msgid "Date and Time"
msgstr "Дата і час"
#: apps/currencies/models.py:75 apps/export_app/forms.py:68
#: 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/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:87
#: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same."
msgstr "Валюти «Від» і «До» не можуть бути однаковими."
#: apps/currencies/models.py:102
#: apps/currencies/models.py:104
msgid "On"
msgstr "On"
#: apps/currencies/models.py:103
#: apps/currencies/models.py:105
msgid "Every X hours"
msgstr "Кожні Х годин"
#: apps/currencies/models.py:104
#: apps/currencies/models.py:106
msgid "Not on"
msgstr "Not on"
#: apps/currencies/models.py:106
#: apps/currencies/models.py:108
msgid "Service Name"
msgstr "Назва сервісу"
#: apps/currencies/models.py:108
#: apps/currencies/models.py:110
msgid "Service Type"
msgstr "Тип сервісу"
#: apps/currencies/models.py:110 apps/transactions/models.py:214
#: apps/currencies/models.py:112 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
@@ -585,69 +590,79 @@ msgstr "Тип сервісу"
msgid "Active"
msgstr "Активний"
#: apps/currencies/models.py:115
#: apps/currencies/models.py:117
msgid "API Key"
msgstr "Ключ API"
#: apps/currencies/models.py:116
#: apps/currencies/models.py:118
msgid "API key for the service (if required)"
msgstr "API-ключ для сервісу (якщо потрібно)"
#: apps/currencies/models.py:121
#: apps/currencies/models.py:123
msgid "Interval Type"
msgstr "Тип інтервалу"
#: apps/currencies/models.py:125
#: apps/currencies/models.py:127
msgid "Interval"
msgstr "Інтервал"
#: apps/currencies/models.py:128
#: apps/currencies/models.py:130
msgid "Last Successful Fetch"
msgstr "Остання успішна вибірка"
#: apps/currencies/models.py:133
#: apps/currencies/models.py:135
msgid "Target Currencies"
msgstr ""
#: apps/currencies/models.py:135
#: apps/currencies/models.py:137
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:143
#: apps/currencies/models.py:145
msgid "Target Accounts"
msgstr ""
#: apps/currencies/models.py:145
#: apps/currencies/models.py:147
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:152
#: 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
msgid "Exchange Rate Service"
msgstr ""
#: apps/currencies/models.py:153
#: apps/currencies/models.py:163
msgid "Exchange Rate Services"
msgstr ""
#: apps/currencies/models.py:205
#: apps/currencies/models.py:215
msgid "'Every X hours' interval type requires a positive integer."
msgstr ""
#: apps/currencies/models.py:214
#: apps/currencies/models.py:224
msgid "'Every X hours' interval must be between 1 and 24."
msgstr ""
#: apps/currencies/models.py:228
#: apps/currencies/models.py:238
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:239
#: apps/currencies/models.py:249
msgid ""
"Invalid format. Please check the requirements for your selected interval "
"type."
@@ -903,7 +918,7 @@ msgstr ""
msgid "Update or create transaction actions"
msgstr ""
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:172
#: apps/export_app/forms.py:185 templates/cotton/transaction/item.html:176
#: templates/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24
@@ -1656,8 +1671,8 @@ msgid "Item deleted successfully"
msgstr "Рахунок успішно видалено"
#: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52
#: apps/transactions/views/transactions.py:148
#: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully"
msgstr ""
@@ -1697,30 +1712,30 @@ msgstr ""
msgid "Tag deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:182
#: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:232
#: apps/transactions/views/transactions.py:233
#, python-format
msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully"
msgstr[0] ""
msgstr[1] ""
#: apps/transactions/views/transactions.py:268
#: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully"
msgstr ""
#: apps/transactions/views/transactions.py:310
#: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully"
msgstr ""
#: apps/transactions/views/transactions.py:328
#: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully"
msgstr ""
#: apps/transactions/views/transactions.py:354
#: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully"
msgstr ""
@@ -1843,10 +1858,6 @@ 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 +1974,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:178
#: templates/cotton/transaction/item.html:182
#: 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 +2001,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:182
#: templates/cotton/transaction/item.html:186
#: 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 +2031,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:183
#: templates/cotton/transaction/item.html:187
#: 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 +2053,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:184
#: templates/cotton/transaction/item.html:188
#: templates/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50
@@ -2222,6 +2233,18 @@ msgid "Add as quick transaction"
msgstr ""
#: templates/cotton/transaction/item.html:166
msgid "Move to previous month"
msgstr ""
#: templates/cotton/transaction/item.html:167
msgid "Move to next month"
msgstr ""
#: templates/cotton/transaction/item.html:168
msgid "Move to today"
msgstr ""
#: templates/cotton/transaction/item.html:170
#: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate"
msgstr ""

View File

@@ -71,6 +71,17 @@
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.category.mute or transaction.mute %}tw:brightness-80{% endif %}">
<div class="col-lg col-12 {% if transaction.account.is_untracked_by or 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.category.mute or transaction.mute %}tw:brightness-80{% endif %}">
<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="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: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">
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">
{% if not transaction.deleted %}
<a class="btn btn-secondary btn-sm transaction-action"
role="button"
@@ -146,16 +146,26 @@
<i class="fa-solid fa-ellipsis fa-fw"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-md-start">
{% 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>
{% 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>
{% 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

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