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

View File

@@ -31,6 +31,11 @@ urlpatterns = [
views.account_take_ownership, views.account_take_ownership,
name="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/", views.account_groups_index, name="account_groups_index"),
path("account-groups/list/", views.account_groups_list, name="account_groups_list"), path("account-groups/list/", views.account_groups_list, name="account_groups_list"),
path("account-groups/add/", views.account_group_add, name="account_group_add"), 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 @only_htmx
@login_required @login_required
@require_http_methods(["GET"]) @require_http_methods(["GET"])

View File

@@ -138,6 +138,7 @@ class RecurringTransactionSerializer(serializers.ModelSerializer):
def update(self, instance, validated_data): def update(self, instance, validated_data):
instance = super().update(instance, validated_data) instance = super().update(instance, validated_data)
instance.update_unpaid_transactions() instance.update_unpaid_transactions()
instance.generate_upcoming_transactions()
return instance 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): def get_format(format_type=None, lang=None, use_l10n=None):
user = get_current_user() 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 user_settings = user.settings
if format_type == "THOUSAND_SEPARATOR": if format_type == "THOUSAND_SEPARATOR":
number_format = getattr(user_settings, "number_format", None) number_format = getattr(user_settings, "number_format", None)
@@ -13,11 +18,13 @@ def get_format(format_type=None, lang=None, use_l10n=None):
return "." return "."
elif number_format == "CD": elif number_format == "CD":
return "," return ","
elif number_format == "SD" or number_format == "SC":
return " "
elif format_type == "DECIMAL_SEPARATOR": elif format_type == "DECIMAL_SEPARATOR":
number_format = getattr(user_settings, "number_format", None) number_format = getattr(user_settings, "number_format", None)
if number_format == "DC": if number_format == "DC" or number_format == "SC":
return "," return ","
elif number_format == "CD": elif number_format == "CD" or number_format == "SD":
return "." return "."
elif format_type == "SHORT_DATE_FORMAT": elif format_type == "SHORT_DATE_FORMAT":
date_format = getattr(user_settings, "date_format", None) date_format = getattr(user_settings, "date_format", None)

View File

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

View File

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

View File

@@ -114,6 +114,7 @@ class ExchangeRateServiceForm(forms.ModelForm):
"fetch_interval", "fetch_interval",
"target_currencies", "target_currencies",
"target_accounts", "target_accounts",
"singleton",
] ]
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
@@ -126,6 +127,7 @@ class ExchangeRateServiceForm(forms.ModelForm):
"name", "name",
"service_type", "service_type",
Switch("is_active"), Switch("is_active"),
Switch("singleton"),
"api_key", "api_key",
Row( Row(
Column("interval_type", css_class="form-group col-md-6"), 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")) date = models.DateTimeField(verbose_name=_("Date and Time"))
automatic = models.BooleanField(verbose_name=_("Auto"), default=False)
class Meta: class Meta:
verbose_name = _("Exchange Rate") verbose_name = _("Exchange Rate")
verbose_name_plural = _("Exchange Rates") verbose_name_plural = _("Exchange Rates")
@@ -148,6 +150,14 @@ class ExchangeRateService(models.Model):
blank=True, 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: class Meta:
verbose_name = _("Exchange Rate Service") verbose_name = _("Exchange Rate Service")
verbose_name_plural = _("Exchange Rate Services") 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() transactions = Transaction.objects.all()
filter_type = request.GET.get("type", None) 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) 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 return transactions

View File

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

View File

@@ -107,9 +107,15 @@ def transactions_list(request, month: int, year: int):
@require_http_methods(["GET"]) @require_http_methods(["GET"])
def monthly_summary(request, month: int, year: int): def monthly_summary(request, month: int, year: int):
# Base queryset with all required filters # Base queryset with all required filters
base_queryset = Transaction.objects.filter( base_queryset = (
reference_date__year=year, reference_date__month=month, account__is_asset=False Transaction.objects.filter(
).exclude(Q(Q(category__mute=True) & ~Q(category=None)) | Q(mute=True)) 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) data = calculate_currency_totals(base_queryset, ignore_empty=True)
percentages = calculate_percentage_distribution(data) percentages = calculate_percentage_distribution(data)
@@ -165,10 +171,14 @@ def monthly_account_summary(request, month: int, year: int):
@require_http_methods(["GET"]) @require_http_methods(["GET"])
def monthly_currency_summary(request, month: int, year: int): def monthly_currency_summary(request, month: int, year: int):
# Base queryset with all required filters # Base queryset with all required filters
base_queryset = Transaction.objects.filter( base_queryset = (
reference_date__year=year, Transaction.objects.filter(
reference_date__month=month, reference_date__year=year,
).exclude(Q(Q(category__mute=True) & ~Q(category=None)) | Q(mute=True)) 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_data = calculate_currency_totals(base_queryset.all(), ignore_empty=True)
currency_percentages = calculate_percentage_distribution(currency_data) 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") view_type = request.session.get("networth_view_type", "current")
if view_type == "current": if view_type == "current":
transactions_currency_queryset = Transaction.objects.filter( transactions_currency_queryset = (
is_paid=True, account__is_archived=False Transaction.objects.filter(is_paid=True, account__is_archived=False)
).order_by( .order_by(
"account__currency__name", "account__currency__name",
)
.exclude(account__in=request.user.untracked_accounts.all())
) )
transactions_account_queryset = Transaction.objects.filter( transactions_account_queryset = Transaction.objects.filter(
is_paid=True, account__is_archived=False is_paid=True, account__is_archived=False
@@ -39,10 +41,12 @@ def net_worth(request):
"account__name", "account__name",
) )
else: else:
transactions_currency_queryset = Transaction.objects.filter( transactions_currency_queryset = (
account__is_archived=False Transaction.objects.filter(account__is_archived=False)
).order_by( .order_by(
"account__currency__name", "account__currency__name",
)
.exclude(account__in=request.user.untracked_accounts.all())
) )
transactions_account_queryset = Transaction.objects.filter( transactions_account_queryset = Transaction.objects.filter(
account__is_archived=False account__is_archived=False

View File

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

View File

@@ -589,7 +589,10 @@ def transaction_all_currency_summary(request):
f = TransactionsFilter(request.GET, queryset=transactions) 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) currency_percentages = calculate_percentage_distribution(currency_data)
context = { context = {

View File

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

View File

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

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2025-07-22 06:17+0000\n"
"Last-Translator: seraphblade2010 <marc.butenhoff@web.de>\n" "Last-Translator: seraphblade2010 <marc.butenhoff@web.de>\n"
"Language-Team: German <https://translations.herculino.com/projects/wygiwyh/" "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/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91 #: 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/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/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421 #: 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/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61 #: 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/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/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213 #: 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." msgid "Invalid entity data. Provide an ID or name."
msgstr "Ungültige Entitäts-Daten. Gib eine ID oder einen Namen an." 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." msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Entweder \"Datum\" oder \"Referenzdatum\" müssen angegeben werden." msgstr "Entweder \"Datum\" oder \"Referenzdatum\" müssen angegeben werden."
@@ -533,7 +533,7 @@ msgstr "Startwährung"
msgid "To Currency" msgid "To Currency"
msgstr "Zielwährung" 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" msgid "Exchange Rate"
msgstr "Umrechnungskurs" msgstr "Umrechnungskurs"
@@ -541,38 +541,43 @@ msgstr "Umrechnungskurs"
msgid "Date and Time" msgid "Date and Time"
msgstr "Datum und Uhrzeit" 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 #: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4 #: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202 #: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates" msgid "Exchange Rates"
msgstr "Umrechnungskurse" msgstr "Umrechnungskurse"
#: apps/currencies/models.py:87 #: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same." msgid "From and To currencies cannot be the same."
msgstr "Start- und Zielwährung dürfen nicht identisch sein." msgstr "Start- und Zielwährung dürfen nicht identisch sein."
#: apps/currencies/models.py:102 #: apps/currencies/models.py:104
msgid "On" msgid "On"
msgstr "An" msgstr "An"
#: apps/currencies/models.py:103 #: apps/currencies/models.py:105
msgid "Every X hours" msgid "Every X hours"
msgstr "Alle X Stunden" msgstr "Alle X Stunden"
#: apps/currencies/models.py:104 #: apps/currencies/models.py:106
msgid "Not on" msgid "Not on"
msgstr "Nicht an" msgstr "Nicht an"
#: apps/currencies/models.py:106 #: apps/currencies/models.py:108
msgid "Service Name" msgid "Service Name"
msgstr "Dienstname" msgstr "Dienstname"
#: apps/currencies/models.py:108 #: apps/currencies/models.py:110
msgid "Service Type" msgid "Service Type"
msgstr "Diensttyp" 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 #: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21 #: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21 #: templates/entities/fragments/list.html:21
@@ -581,31 +586,31 @@ msgstr "Diensttyp"
msgid "Active" msgid "Active"
msgstr "Aktiv" msgstr "Aktiv"
#: apps/currencies/models.py:115 #: apps/currencies/models.py:117
msgid "API Key" msgid "API Key"
msgstr "API-Schlüssel" msgstr "API-Schlüssel"
#: apps/currencies/models.py:116 #: apps/currencies/models.py:118
msgid "API key for the service (if required)" msgid "API key for the service (if required)"
msgstr "API-Schlüssel für den Dienst (falls benötigt)" msgstr "API-Schlüssel für den Dienst (falls benötigt)"
#: apps/currencies/models.py:121 #: apps/currencies/models.py:123
msgid "Interval Type" msgid "Interval Type"
msgstr "Intervalltyp" msgstr "Intervalltyp"
#: apps/currencies/models.py:125 #: apps/currencies/models.py:127
msgid "Interval" msgid "Interval"
msgstr "Intervall" msgstr "Intervall"
#: apps/currencies/models.py:128 #: apps/currencies/models.py:130
msgid "Last Successful Fetch" msgid "Last Successful Fetch"
msgstr "Letzter erfolgreicher Abruf" msgstr "Letzter erfolgreicher Abruf"
#: apps/currencies/models.py:133 #: apps/currencies/models.py:135
msgid "Target Currencies" msgid "Target Currencies"
msgstr "Zielwährungen" msgstr "Zielwährungen"
#: apps/currencies/models.py:135 #: apps/currencies/models.py:137
msgid "" msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for " "Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency." "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 auswählen, dessen Umrechnungskurs abgerufen werden sollen. Für jede "
"Währung wird der Kurs der entsprechenden Umrechnungs-Währung abgerufen." "Währung wird der Kurs der entsprechenden Umrechnungs-Währung abgerufen."
#: apps/currencies/models.py:143 #: apps/currencies/models.py:145
msgid "Target Accounts" msgid "Target Accounts"
msgstr "Zielkonten" msgstr "Zielkonten"
#: apps/currencies/models.py:145 #: apps/currencies/models.py:147
msgid "" msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each " "Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency." "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 " "Konten auswählen, für die Umrechungskurse abgerufen werden solen. Für jedes "
"Konto wird der Kurs der entsprechenden Umrechnungs-Währung abgerufen." "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" msgid "Exchange Rate Service"
msgstr "Umrechnungskurs-Dienst" msgstr "Umrechnungskurs-Dienst"
#: apps/currencies/models.py:153 #: apps/currencies/models.py:163
msgid "Exchange Rate Services" msgid "Exchange Rate Services"
msgstr "Umrechnungskurs-Dienste" msgstr "Umrechnungskurs-Dienste"
#: apps/currencies/models.py:205 #: apps/currencies/models.py:215
msgid "'Every X hours' interval type requires a positive integer." msgid "'Every X hours' interval type requires a positive integer."
msgstr "\"Jede X Stunden\"-Intervalltyp benötigt eine positive Ganzzahl." 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." msgid "'Every X hours' interval must be between 1 and 24."
msgstr "\"Jede X Stunden\"-Intervall muss zwischen 1 und 24 liegen." msgstr "\"Jede X Stunden\"-Intervall muss zwischen 1 und 24 liegen."
#: apps/currencies/models.py:228 #: apps/currencies/models.py:238
msgid "" msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., " "Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')." "'1-5,8,10-12')."
@@ -649,7 +664,7 @@ msgstr ""
"Ungültiges Stundenformat. Nutze kommagetrennte Stunden (0-23) und/oder " "Ungültiges Stundenformat. Nutze kommagetrennte Stunden (0-23) und/oder "
"Zeiträume (z.B. \"1-5,8,10-12\")." "Zeiträume (z.B. \"1-5,8,10-12\")."
#: apps/currencies/models.py:239 #: apps/currencies/models.py:249
msgid "" msgid ""
"Invalid format. Please check the requirements for your selected interval " "Invalid format. Please check the requirements for your selected interval "
"type." "type."
@@ -909,7 +924,7 @@ msgstr "Aktion der Transaktions-Regel bearbeiten"
msgid "Update or create transaction actions" msgid "Update or create transaction actions"
msgstr "Aktualisierung oder Erstellung von Transaktions-Aktionen" 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/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5 #: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24 #: templates/export_app/pages/index.html:24
@@ -1682,8 +1697,8 @@ msgid "Item deleted successfully"
msgstr "Objekt erfolgreich gelöscht" msgstr "Objekt erfolgreich gelöscht"
#: apps/transactions/views/quick_transactions.py:155 #: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52 #: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:148 #: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully" msgid "Transaction added successfully"
msgstr "Transaktion erfolgreich hinzugefügt" msgstr "Transaktion erfolgreich hinzugefügt"
@@ -1723,30 +1738,30 @@ msgstr "Tag erfolgreich aktualisiert"
msgid "Tag deleted successfully" msgid "Tag deleted successfully"
msgstr "Tag erfolgreich gelöscht" msgstr "Tag erfolgreich gelöscht"
#: apps/transactions/views/transactions.py:182 #: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully" msgid "Transaction updated successfully"
msgstr "Transaktion erfolgreich aktualisiert" msgstr "Transaktion erfolgreich aktualisiert"
#: apps/transactions/views/transactions.py:232 #: apps/transactions/views/transactions.py:233
#, python-format #, python-format
msgid "%(count)s transaction updated successfully" msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully" msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s Transaktion erfolgreich aktualisiert" msgstr[0] "%(count)s Transaktion erfolgreich aktualisiert"
msgstr[1] "%(count)s Transaktionen 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" msgid "Transaction duplicated successfully"
msgstr "Transaktion erfolgreich duplisiert" msgstr "Transaktion erfolgreich duplisiert"
#: apps/transactions/views/transactions.py:310 #: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully" msgid "Transaction deleted successfully"
msgstr "Transaktion erfolgreich gelöscht" msgstr "Transaktion erfolgreich gelöscht"
#: apps/transactions/views/transactions.py:328 #: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully" msgid "Transaction restored successfully"
msgstr "Transaktion erfolgreich wiederhergestellt" msgstr "Transaktion erfolgreich wiederhergestellt"
#: apps/transactions/views/transactions.py:354 #: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully" msgid "Transfer added successfully"
msgstr "Transfer erfolgreich hinzugefügt" 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." msgid "A user with this email address already exists."
msgstr "Ein Benutzer mit dieser E-Mail-Adresse existiert bereits." 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 #: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency" msgid "Yearly by currency"
msgstr "Jährlich nach Währung" msgstr "Jährlich nach Währung"
@@ -1994,7 +2005,7 @@ msgstr "Bearbeiten"
#: templates/accounts/fragments/list.html:48 #: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36 #: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136 #: 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/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90 #: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44 #: templates/currencies/fragments/list.html:44
@@ -2021,7 +2032,7 @@ msgstr "Löschen"
#: templates/accounts/fragments/list.html:52 #: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41 #: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140 #: 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/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92 #: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48 #: templates/currencies/fragments/list.html:48
@@ -2051,7 +2062,7 @@ msgstr "Bist du sicher?"
#: templates/accounts/fragments/list.html:53 #: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42 #: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141 #: 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/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93 #: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49 #: 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/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43 #: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142 #: 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/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82 #: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50 #: templates/dca/fragments/strategy/list.html:50
@@ -2253,6 +2264,18 @@ msgid "Add as quick transaction"
msgstr "Als schnelle Transaktion hinzufügen" msgstr "Als schnelle Transaktion hinzufügen"
#: templates/cotton/transaction/item.html:166 #: 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 #: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate" msgid "Duplicate"
msgstr "Duplikat" msgstr "Duplikat"
@@ -3390,6 +3413,11 @@ msgstr "endet mit"
msgid "Yearly Overview" msgid "Yearly Overview"
msgstr "Jährliche Übersicht" msgstr "Jährliche Übersicht"
#, fuzzy
#~| msgid "Automation"
#~ msgid "Automatic"
#~ msgstr "Automatisierung"
#~ msgid "Profile" #~ msgid "Profile"
#~ msgstr "Profil" #~ msgstr "Profil"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -24,7 +24,7 @@ msgstr ""
#: apps/accounts/forms.py:40 apps/accounts/forms.py:98 #: apps/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91 #: 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/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/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421 #: 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/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61 #: 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/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/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213 #: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -286,7 +286,7 @@ msgstr ""
msgid "Invalid entity data. Provide an ID or name." msgid "Invalid entity data. Provide an ID or name."
msgstr "" msgstr ""
#: apps/api/serializers/transactions.py:191 #: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided." msgid "Either 'date' or 'reference_date' must be provided."
msgstr "" msgstr ""
@@ -521,7 +521,7 @@ msgstr ""
msgid "To Currency" msgid "To Currency"
msgstr "" msgstr ""
#: apps/currencies/models.py:69 apps/currencies/models.py:74 #: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate" msgid "Exchange Rate"
msgstr "" msgstr ""
@@ -529,38 +529,43 @@ msgstr ""
msgid "Date and Time" msgid "Date and Time"
msgstr "" 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 #: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4 #: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202 #: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates" msgid "Exchange Rates"
msgstr "" msgstr ""
#: apps/currencies/models.py:87 #: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same." msgid "From and To currencies cannot be the same."
msgstr "" msgstr ""
#: apps/currencies/models.py:102 #: apps/currencies/models.py:104
msgid "On" msgid "On"
msgstr "" msgstr ""
#: apps/currencies/models.py:103 #: apps/currencies/models.py:105
msgid "Every X hours" msgid "Every X hours"
msgstr "" msgstr ""
#: apps/currencies/models.py:104 #: apps/currencies/models.py:106
msgid "Not on" msgid "Not on"
msgstr "" msgstr ""
#: apps/currencies/models.py:106 #: apps/currencies/models.py:108
msgid "Service Name" msgid "Service Name"
msgstr "" msgstr ""
#: apps/currencies/models.py:108 #: apps/currencies/models.py:110
msgid "Service Type" msgid "Service Type"
msgstr "" 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 #: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21 #: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21 #: templates/entities/fragments/list.html:21
@@ -569,69 +574,77 @@ msgstr ""
msgid "Active" msgid "Active"
msgstr "" msgstr ""
#: apps/currencies/models.py:115 #: apps/currencies/models.py:117
msgid "API Key" msgid "API Key"
msgstr "" msgstr ""
#: apps/currencies/models.py:116 #: apps/currencies/models.py:118
msgid "API key for the service (if required)" msgid "API key for the service (if required)"
msgstr "" msgstr ""
#: apps/currencies/models.py:121 #: apps/currencies/models.py:123
msgid "Interval Type" msgid "Interval Type"
msgstr "" msgstr ""
#: apps/currencies/models.py:125 #: apps/currencies/models.py:127
msgid "Interval" msgid "Interval"
msgstr "" msgstr ""
#: apps/currencies/models.py:128 #: apps/currencies/models.py:130
msgid "Last Successful Fetch" msgid "Last Successful Fetch"
msgstr "" msgstr ""
#: apps/currencies/models.py:133 #: apps/currencies/models.py:135
msgid "Target Currencies" msgid "Target Currencies"
msgstr "" msgstr ""
#: apps/currencies/models.py:135 #: apps/currencies/models.py:137
msgid "" msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for " "Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency." "each currency against their set exchange currency."
msgstr "" msgstr ""
#: apps/currencies/models.py:143 #: apps/currencies/models.py:145
msgid "Target Accounts" msgid "Target Accounts"
msgstr "" msgstr ""
#: apps/currencies/models.py:145 #: apps/currencies/models.py:147
msgid "" msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each " "Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency." "account's currency against their set exchange currency."
msgstr "" 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" msgid "Exchange Rate Service"
msgstr "" msgstr ""
#: apps/currencies/models.py:153 #: apps/currencies/models.py:163
msgid "Exchange Rate Services" msgid "Exchange Rate Services"
msgstr "" msgstr ""
#: apps/currencies/models.py:205 #: apps/currencies/models.py:215
msgid "'Every X hours' interval type requires a positive integer." msgid "'Every X hours' interval type requires a positive integer."
msgstr "" msgstr ""
#: apps/currencies/models.py:214 #: apps/currencies/models.py:224
msgid "'Every X hours' interval must be between 1 and 24." msgid "'Every X hours' interval must be between 1 and 24."
msgstr "" msgstr ""
#: apps/currencies/models.py:228 #: apps/currencies/models.py:238
msgid "" msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., " "Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')." "'1-5,8,10-12')."
msgstr "" msgstr ""
#: apps/currencies/models.py:239 #: apps/currencies/models.py:249
msgid "" msgid ""
"Invalid format. Please check the requirements for your selected interval " "Invalid format. Please check the requirements for your selected interval "
"type." "type."
@@ -887,7 +900,7 @@ msgstr ""
msgid "Update or create transaction actions" msgid "Update or create transaction actions"
msgstr "" 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/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5 #: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24 #: templates/export_app/pages/index.html:24
@@ -1638,8 +1651,8 @@ msgid "Item deleted successfully"
msgstr "" msgstr ""
#: apps/transactions/views/quick_transactions.py:155 #: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52 #: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:148 #: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully" msgid "Transaction added successfully"
msgstr "" msgstr ""
@@ -1679,30 +1692,30 @@ msgstr ""
msgid "Tag deleted successfully" msgid "Tag deleted successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:182 #: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully" msgid "Transaction updated successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:232 #: apps/transactions/views/transactions.py:233
#, python-format #, python-format
msgid "%(count)s transaction updated successfully" msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully" msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: apps/transactions/views/transactions.py:268 #: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully" msgid "Transaction duplicated successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:310 #: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully" msgid "Transaction deleted successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:328 #: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully" msgid "Transaction restored successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:354 #: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully" msgid "Transfer added successfully"
msgstr "" msgstr ""
@@ -1825,10 +1838,6 @@ msgstr ""
msgid "A user with this email address already exists." msgid "A user with this email address already exists."
msgstr "" msgstr ""
#: apps/users/models.py:12 apps/users/models.py:497
msgid "Auto"
msgstr ""
#: apps/users/models.py:465 templates/includes/navbar.html:29 #: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency" msgid "Yearly by currency"
msgstr "" msgstr ""
@@ -1945,7 +1954,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:48 #: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36 #: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136 #: 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/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90 #: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44 #: templates/currencies/fragments/list.html:44
@@ -1972,7 +1981,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:52 #: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41 #: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140 #: 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/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92 #: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48 #: templates/currencies/fragments/list.html:48
@@ -2002,7 +2011,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:53 #: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42 #: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141 #: 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/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93 #: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49 #: templates/currencies/fragments/list.html:49
@@ -2024,7 +2033,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:54 #: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43 #: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142 #: 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/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82 #: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50 #: templates/dca/fragments/strategy/list.html:50
@@ -2204,6 +2213,18 @@ msgid "Add as quick transaction"
msgstr "" msgstr ""
#: templates/cotton/transaction/item.html:166 #: 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 #: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate" msgid "Duplicate"
msgstr "" msgstr ""

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2025-07-21 18:17+0000\n"
"Last-Translator: afermar <adrian.fm@protonmail.com>\n" "Last-Translator: afermar <adrian.fm@protonmail.com>\n"
"Language-Team: Spanish <https://translations.herculino.com/projects/wygiwyh/" "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/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91 #: 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/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/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421 #: 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/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61 #: 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/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/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213 #: 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." msgid "Invalid entity data. Provide an ID or name."
msgstr "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 #, fuzzy
msgid "Either 'date' or 'reference_date' must be provided." msgid "Either 'date' or 'reference_date' must be provided."
msgstr "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" msgid "To Currency"
msgstr "A Moneda" 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" msgid "Exchange Rate"
msgstr "Tipo de cambio" msgstr "Tipo de cambio"
@@ -550,38 +550,44 @@ msgstr "Tipo de cambio"
msgid "Date and Time" msgid "Date and Time"
msgstr "Fecha y Hora" 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 #: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4 #: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202 #: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates" msgid "Exchange Rates"
msgstr "Tipos de cambio" msgstr "Tipos de cambio"
#: apps/currencies/models.py:87 #: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same." msgid "From and To currencies cannot be the same."
msgstr "Las monedas de origen y destino no pueden ser la misma." msgstr "Las monedas de origen y destino no pueden ser la misma."
#: apps/currencies/models.py:102 #: apps/currencies/models.py:104
msgid "On" msgid "On"
msgstr "Encendido" msgstr "Encendido"
#: apps/currencies/models.py:103 #: apps/currencies/models.py:105
msgid "Every X hours" msgid "Every X hours"
msgstr "Cada X horas" msgstr "Cada X horas"
#: apps/currencies/models.py:104 #: apps/currencies/models.py:106
msgid "Not on" msgid "Not on"
msgstr "No Encendido" msgstr "No Encendido"
#: apps/currencies/models.py:106 #: apps/currencies/models.py:108
msgid "Service Name" msgid "Service Name"
msgstr "Nombre del Servicio" msgstr "Nombre del Servicio"
#: apps/currencies/models.py:108 #: apps/currencies/models.py:110
msgid "Service Type" msgid "Service Type"
msgstr "Tipo de Servicio" 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 #: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21 #: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21 #: templates/entities/fragments/list.html:21
@@ -590,37 +596,37 @@ msgstr "Tipo de Servicio"
msgid "Active" msgid "Active"
msgstr "Activo" msgstr "Activo"
#: apps/currencies/models.py:115 #: apps/currencies/models.py:117
#, fuzzy #, fuzzy
msgid "API Key" msgid "API Key"
msgstr "API Key" msgstr "API Key"
#: apps/currencies/models.py:116 #: apps/currencies/models.py:118
#, fuzzy #, fuzzy
msgid "API key for the service (if required)" msgid "API key for the service (if required)"
msgstr "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 #, fuzzy
msgid "Interval Type" msgid "Interval Type"
msgstr "Interval Type" msgstr "Interval Type"
#: apps/currencies/models.py:125 #: apps/currencies/models.py:127
#, fuzzy #, fuzzy
msgid "Interval" msgid "Interval"
msgstr "Interval" msgstr "Interval"
#: apps/currencies/models.py:128 #: apps/currencies/models.py:130
#, fuzzy #, fuzzy
msgid "Last Successful Fetch" msgid "Last Successful Fetch"
msgstr "Last Successful Fetch" msgstr "Last Successful Fetch"
#: apps/currencies/models.py:133 #: apps/currencies/models.py:135
#, fuzzy #, fuzzy
msgid "Target Currencies" msgid "Target Currencies"
msgstr "Target Currencies" msgstr "Target Currencies"
#: apps/currencies/models.py:135 #: apps/currencies/models.py:137
#, fuzzy #, fuzzy
msgid "" msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for " "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 " "Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency." "each currency against their set exchange currency."
#: apps/currencies/models.py:143 #: apps/currencies/models.py:145
#, fuzzy #, fuzzy
msgid "Target Accounts" msgid "Target Accounts"
msgstr "Target Accounts" msgstr "Target Accounts"
#: apps/currencies/models.py:145 #: apps/currencies/models.py:147
#, fuzzy #, fuzzy
msgid "" msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each " "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 " "Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency." "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 #, fuzzy
msgid "Exchange Rate Service" msgid "Exchange Rate Service"
msgstr "Exchange Rate Service" msgstr "Exchange Rate Service"
#: apps/currencies/models.py:153 #: apps/currencies/models.py:163
#, fuzzy #, fuzzy
msgid "Exchange Rate Services" msgid "Exchange Rate Services"
msgstr "Exchange Rate Services" msgstr "Exchange Rate Services"
#: apps/currencies/models.py:205 #: apps/currencies/models.py:215
#, fuzzy #, fuzzy
msgid "'Every X hours' interval type requires a positive integer." msgid "'Every X hours' interval type requires a positive integer."
msgstr "'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 #, fuzzy
msgid "'Every X hours' interval must be between 1 and 24." msgid "'Every X hours' interval must be between 1 and 24."
msgstr "'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 #, fuzzy
msgid "" msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., " "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., " "Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')." "'1-5,8,10-12')."
#: apps/currencies/models.py:239 #: apps/currencies/models.py:249
#, fuzzy #, fuzzy
msgid "" msgid ""
"Invalid format. Please check the requirements for your selected interval " "Invalid format. Please check the requirements for your selected interval "
@@ -982,7 +997,7 @@ msgstr "Edit transaction action"
msgid "Update or create transaction actions" msgid "Update or create transaction actions"
msgstr "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/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5 #: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24 #: templates/export_app/pages/index.html:24
@@ -1888,8 +1903,8 @@ msgid "Item deleted successfully"
msgstr "Rule deleted successfully" msgstr "Rule deleted successfully"
#: apps/transactions/views/quick_transactions.py:155 #: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52 #: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:148 #: apps/transactions/views/transactions.py:149
#, fuzzy #, fuzzy
msgid "Transaction added successfully" msgid "Transaction added successfully"
msgstr "Transaction added successfully" msgstr "Transaction added successfully"
@@ -1939,34 +1954,34 @@ msgstr "Tag updated successfully"
msgid "Tag deleted successfully" msgid "Tag deleted successfully"
msgstr "Tag deleted successfully" msgstr "Tag deleted successfully"
#: apps/transactions/views/transactions.py:182 #: apps/transactions/views/transactions.py:183
#, fuzzy #, fuzzy
msgid "Transaction updated successfully" msgid "Transaction updated successfully"
msgstr "Transaction updated successfully" msgstr "Transaction updated successfully"
#: apps/transactions/views/transactions.py:232 #: apps/transactions/views/transactions.py:233
#, fuzzy, python-format #, fuzzy, python-format
msgid "%(count)s transaction updated successfully" msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully" msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s transaction updated successfully" msgstr[0] "%(count)s transaction updated successfully"
msgstr[1] "%(count)s transactions updated successfully" msgstr[1] "%(count)s transactions updated successfully"
#: apps/transactions/views/transactions.py:268 #: apps/transactions/views/transactions.py:269
#, fuzzy #, fuzzy
msgid "Transaction duplicated successfully" msgid "Transaction duplicated successfully"
msgstr "Transaction duplicated successfully" msgstr "Transaction duplicated successfully"
#: apps/transactions/views/transactions.py:310 #: apps/transactions/views/transactions.py:311
#, fuzzy #, fuzzy
msgid "Transaction deleted successfully" msgid "Transaction deleted successfully"
msgstr "Transaction deleted successfully" msgstr "Transaction deleted successfully"
#: apps/transactions/views/transactions.py:328 #: apps/transactions/views/transactions.py:329
#, fuzzy #, fuzzy
msgid "Transaction restored successfully" msgid "Transaction restored successfully"
msgstr "Transaction restored successfully" msgstr "Transaction restored successfully"
#: apps/transactions/views/transactions.py:354 #: apps/transactions/views/transactions.py:355
#, fuzzy #, fuzzy
msgid "Transfer added successfully" msgid "Transfer added successfully"
msgstr "Transfer added successfully" msgstr "Transfer added successfully"
@@ -2112,11 +2127,6 @@ msgstr ""
msgid "A user with this email address already exists." msgid "A user with this email address already exists."
msgstr "A value for this field already exists in the rule." 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 #: apps/users/models.py:465 templates/includes/navbar.html:29
#, fuzzy #, fuzzy
msgid "Yearly by currency" msgid "Yearly by currency"
@@ -2251,7 +2261,7 @@ msgstr "Edit"
#: templates/accounts/fragments/list.html:48 #: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36 #: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136 #: 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/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90 #: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44 #: templates/currencies/fragments/list.html:44
@@ -2279,7 +2289,7 @@ msgstr "Delete"
#: templates/accounts/fragments/list.html:52 #: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41 #: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140 #: 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/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92 #: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48 #: templates/currencies/fragments/list.html:48
@@ -2310,7 +2320,7 @@ msgstr "Are you sure?"
#: templates/accounts/fragments/list.html:53 #: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42 #: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141 #: 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/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93 #: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49 #: 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/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43 #: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142 #: 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/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82 #: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50 #: templates/dca/fragments/strategy/list.html:50
@@ -2547,6 +2557,18 @@ msgid "Add as quick transaction"
msgstr "Agregar transacción rápida" msgstr "Agregar transacción rápida"
#: templates/cotton/transaction/item.html:166 #: 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 #: templates/cotton/ui/transactions_action_bar.html:82
#, fuzzy #, fuzzy
msgid "Duplicate" msgid "Duplicate"
@@ -3857,6 +3879,10 @@ msgstr "ends with"
msgid "Yearly Overview" msgid "Yearly Overview"
msgstr "Yearly Overview" msgstr "Yearly Overview"
#, fuzzy
#~ msgid "Automatic"
#~ msgstr "Automation"
#, fuzzy #, fuzzy
#~ msgid "Profile" #~ msgid "Profile"
#~ msgstr "Import Profiles" #~ msgstr "Import Profiles"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2025-07-28 22:17+0000\n"
"Last-Translator: Erwan Colin <zephone@protonmail.com>\n" "Last-Translator: Erwan Colin <zephone@protonmail.com>\n"
"Language-Team: French <https://translations.herculino.com/projects/wygiwyh/" "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/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91 #: 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/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/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421 #: 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/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61 #: 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/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/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213 #: 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." msgid "Invalid entity data. Provide an ID or name."
msgstr "Donnée d'entité invalide. Veuillez fournir un ID ou nom." 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." msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Une 'date' ou 'reference_date' doit être fourni." msgstr "Une 'date' ou 'reference_date' doit être fourni."
@@ -532,7 +532,7 @@ msgstr "Devise de départ"
msgid "To Currency" msgid "To Currency"
msgstr "Devise d'arrivée" 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" msgid "Exchange Rate"
msgstr "Taux de change" msgstr "Taux de change"
@@ -540,38 +540,44 @@ msgstr "Taux de change"
msgid "Date and Time" msgid "Date and Time"
msgstr "Date et Heure" 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 #: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4 #: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202 #: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates" msgid "Exchange Rates"
msgstr "Taux de changes" msgstr "Taux de changes"
#: apps/currencies/models.py:87 #: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same." msgid "From and To currencies cannot be the same."
msgstr "Les devises de départ et d'arrivée ne peuvent pas être identiques." 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" msgid "On"
msgstr "Le" msgstr "Le"
#: apps/currencies/models.py:103 #: apps/currencies/models.py:105
msgid "Every X hours" msgid "Every X hours"
msgstr "Toutes les X heures" msgstr "Toutes les X heures"
#: apps/currencies/models.py:104 #: apps/currencies/models.py:106
msgid "Not on" msgid "Not on"
msgstr "Pas le" msgstr "Pas le"
#: apps/currencies/models.py:106 #: apps/currencies/models.py:108
msgid "Service Name" msgid "Service Name"
msgstr "Nom du Service" msgstr "Nom du Service"
#: apps/currencies/models.py:108 #: apps/currencies/models.py:110
msgid "Service Type" msgid "Service Type"
msgstr "Type de Service" 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 #: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21 #: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21 #: templates/entities/fragments/list.html:21
@@ -580,31 +586,31 @@ msgstr "Type de Service"
msgid "Active" msgid "Active"
msgstr "Actif" msgstr "Actif"
#: apps/currencies/models.py:115 #: apps/currencies/models.py:117
msgid "API Key" msgid "API Key"
msgstr "Clé API" msgstr "Clé API"
#: apps/currencies/models.py:116 #: apps/currencies/models.py:118
msgid "API key for the service (if required)" msgid "API key for the service (if required)"
msgstr "Clé API pour le service (si nécessaire)" msgstr "Clé API pour le service (si nécessaire)"
#: apps/currencies/models.py:121 #: apps/currencies/models.py:123
msgid "Interval Type" msgid "Interval Type"
msgstr "Type d'intervalle" msgstr "Type d'intervalle"
#: apps/currencies/models.py:125 #: apps/currencies/models.py:127
msgid "Interval" msgid "Interval"
msgstr "Intervalle" msgstr "Intervalle"
#: apps/currencies/models.py:128 #: apps/currencies/models.py:130
msgid "Last Successful Fetch" msgid "Last Successful Fetch"
msgstr "Dernière récupération avec succès" msgstr "Dernière récupération avec succès"
#: apps/currencies/models.py:133 #: apps/currencies/models.py:135
msgid "Target Currencies" msgid "Target Currencies"
msgstr "Devises cibles" msgstr "Devises cibles"
#: apps/currencies/models.py:135 #: apps/currencies/models.py:137
msgid "" msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for " "Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency." "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 " "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." "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" msgid "Target Accounts"
msgstr "Comptes cibles" msgstr "Comptes cibles"
#: apps/currencies/models.py:145 #: apps/currencies/models.py:147
msgid "" msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each " "Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency." "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 " "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." "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" msgid "Exchange Rate Service"
msgstr "Service de taux de change" msgstr "Service de taux de change"
#: apps/currencies/models.py:153 #: apps/currencies/models.py:163
msgid "Exchange Rate Services" msgid "Exchange Rate Services"
msgstr "Services de taux de change" 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." msgid "'Every X hours' interval type requires a positive integer."
msgstr "'Toutes les X heures' l'intervalle requiert un entier positif." 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." 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." 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 "" msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., " "Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')." "'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 " "Format d'heure invalide. Utilisez les heures séparé par virgule (0-23) et/ou "
"une plage (ex : '1-5,8,10-12')." "une plage (ex : '1-5,8,10-12')."
#: apps/currencies/models.py:239 #: apps/currencies/models.py:249
msgid "" msgid ""
"Invalid format. Please check the requirements for your selected interval " "Invalid format. Please check the requirements for your selected interval "
"type." "type."
@@ -907,7 +922,7 @@ msgstr "Modifier l'action de transaction"
msgid "Update or create transaction actions" msgid "Update or create transaction actions"
msgstr "Mettre à jour ou créer des actions de transaction" 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/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5 #: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24 #: templates/export_app/pages/index.html:24
@@ -1678,8 +1693,8 @@ msgid "Item deleted successfully"
msgstr "Item supprimée avec succès" msgstr "Item supprimée avec succès"
#: apps/transactions/views/quick_transactions.py:155 #: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52 #: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:148 #: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully" msgid "Transaction added successfully"
msgstr "Transaction ajoutée avec succès" msgstr "Transaction ajoutée avec succès"
@@ -1719,30 +1734,30 @@ msgstr "Balise mise à jour avec succès"
msgid "Tag deleted successfully" msgid "Tag deleted successfully"
msgstr "Balise supprimée avec succès" msgstr "Balise supprimée avec succès"
#: apps/transactions/views/transactions.py:182 #: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully" msgid "Transaction updated successfully"
msgstr "Transaction mise à jour avec succès" msgstr "Transaction mise à jour avec succès"
#: apps/transactions/views/transactions.py:232 #: apps/transactions/views/transactions.py:233
#, python-format #, python-format
msgid "%(count)s transaction updated successfully" msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully" msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s transaction mise à jour avec succès" msgstr[0] "%(count)s transaction mise à jour avec succès"
msgstr[1] "%(count)s transactions mises à 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" msgid "Transaction duplicated successfully"
msgstr "Transaction dupliquée avec succès" msgstr "Transaction dupliquée avec succès"
#: apps/transactions/views/transactions.py:310 #: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully" msgid "Transaction deleted successfully"
msgstr "Transaction supprimée avec succès" msgstr "Transaction supprimée avec succès"
#: apps/transactions/views/transactions.py:328 #: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully" msgid "Transaction restored successfully"
msgstr "Transaction restaurée avec succès" msgstr "Transaction restaurée avec succès"
#: apps/transactions/views/transactions.py:354 #: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully" msgid "Transfer added successfully"
msgstr "Transfert ajouté avec succès" msgstr "Transfert ajouté avec succès"
@@ -1876,11 +1891,6 @@ msgstr ""
msgid "A user with this email address already exists." msgid "A user with this email address already exists."
msgstr "A value for this field already exists in the rule." 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 #: apps/users/models.py:465 templates/includes/navbar.html:29
#, fuzzy #, fuzzy
msgid "Yearly by currency" msgid "Yearly by currency"
@@ -2015,7 +2025,7 @@ msgstr "Edit"
#: templates/accounts/fragments/list.html:48 #: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36 #: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136 #: 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/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90 #: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44 #: templates/currencies/fragments/list.html:44
@@ -2043,7 +2053,7 @@ msgstr "Delete"
#: templates/accounts/fragments/list.html:52 #: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41 #: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140 #: 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/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92 #: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48 #: templates/currencies/fragments/list.html:48
@@ -2074,7 +2084,7 @@ msgstr "Are you sure?"
#: templates/accounts/fragments/list.html:53 #: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42 #: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141 #: 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/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93 #: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49 #: 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/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43 #: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142 #: 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/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82 #: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50 #: templates/dca/fragments/strategy/list.html:50
@@ -2311,6 +2321,18 @@ msgid "Add as quick transaction"
msgstr "Add recurring transaction" msgstr "Add recurring transaction"
#: templates/cotton/transaction/item.html:166 #: 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 #: templates/cotton/ui/transactions_action_bar.html:82
#, fuzzy #, fuzzy
msgid "Duplicate" msgid "Duplicate"
@@ -3662,6 +3684,10 @@ msgstr "Fini par"
msgid "Yearly Overview" msgid "Yearly Overview"
msgstr "Yearly Overview" msgstr "Yearly Overview"
#, fuzzy
#~ msgid "Automatic"
#~ msgstr "Automation"
#, fuzzy #, fuzzy
#~| msgid "Import Profiles" #~| msgid "Import Profiles"
#~ msgid "Profile" #~ msgid "Profile"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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 17:17+0000\n" "PO-Revision-Date: 2025-08-08 06:17+0000\n"
"Last-Translator: Dimitri Decrock <dj.flashpower@gmail.com>\n" "Last-Translator: Dimitri Decrock <dj.flashpower@gmail.com>\n"
"Language-Team: Dutch <https://translations.herculino.com/projects/wygiwyh/" "Language-Team: Dutch <https://translations.herculino.com/projects/wygiwyh/"
"app/nl/>\n" "app/nl/>\n"
@@ -25,7 +25,7 @@ msgstr "Groepsnaam"
#: apps/accounts/forms.py:40 apps/accounts/forms.py:98 #: apps/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91 #: 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/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/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421 #: 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/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61 #: 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/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/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213 #: 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." msgid "Invalid entity data. Provide an ID or name."
msgstr "Ongeldige bedrijfsgegevens. Geef een ID of naam op." 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." msgid "Either 'date' or 'reference_date' must be provided."
msgstr "'datum' of 'referentiedatum' moet worden opgegeven." msgstr "'datum' of 'referentiedatum' moet worden opgegeven."
@@ -532,7 +532,7 @@ msgstr "Van Munteenheid"
msgid "To Currency" msgid "To Currency"
msgstr "Naar Munteenheid" 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" msgid "Exchange Rate"
msgstr "Wisselkoers" msgstr "Wisselkoers"
@@ -540,38 +540,43 @@ msgstr "Wisselkoers"
msgid "Date and Time" msgid "Date and Time"
msgstr "Datum en Tijd" 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 #: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4 #: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202 #: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates" msgid "Exchange Rates"
msgstr "Wisselkoersen" msgstr "Wisselkoersen"
#: apps/currencies/models.py:87 #: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same." msgid "From and To currencies cannot be the same."
msgstr "Van en Naar munteenheid kunnen niet dezelfde zijn." msgstr "Van en Naar munteenheid kunnen niet dezelfde zijn."
#: apps/currencies/models.py:102 #: apps/currencies/models.py:104
msgid "On" msgid "On"
msgstr "Op" msgstr "Op"
#: apps/currencies/models.py:103 #: apps/currencies/models.py:105
msgid "Every X hours" msgid "Every X hours"
msgstr "Elke X Uren" msgstr "Elke X Uren"
#: apps/currencies/models.py:104 #: apps/currencies/models.py:106
msgid "Not on" msgid "Not on"
msgstr "Niet op" msgstr "Niet op"
#: apps/currencies/models.py:106 #: apps/currencies/models.py:108
msgid "Service Name" msgid "Service Name"
msgstr "Dienstnaam" msgstr "Dienstnaam"
#: apps/currencies/models.py:108 #: apps/currencies/models.py:110
msgid "Service Type" msgid "Service Type"
msgstr "Soort Dienst" 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 #: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21 #: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21 #: templates/entities/fragments/list.html:21
@@ -580,31 +585,31 @@ msgstr "Soort Dienst"
msgid "Active" msgid "Active"
msgstr "Actief" msgstr "Actief"
#: apps/currencies/models.py:115 #: apps/currencies/models.py:117
msgid "API Key" msgid "API Key"
msgstr "API Sleutel" msgstr "API Sleutel"
#: apps/currencies/models.py:116 #: apps/currencies/models.py:118
msgid "API key for the service (if required)" msgid "API key for the service (if required)"
msgstr "API sleutel voor de dienst (indien verplicht)" msgstr "API sleutel voor de dienst (indien verplicht)"
#: apps/currencies/models.py:121 #: apps/currencies/models.py:123
msgid "Interval Type" msgid "Interval Type"
msgstr "Soort Interval" msgstr "Soort Interval"
#: apps/currencies/models.py:125 #: apps/currencies/models.py:127
msgid "Interval" msgid "Interval"
msgstr "Interval" msgstr "Interval"
#: apps/currencies/models.py:128 #: apps/currencies/models.py:130
msgid "Last Successful Fetch" msgid "Last Successful Fetch"
msgstr "Laatste Succesvolle Ophaling" msgstr "Laatste Succesvolle Ophaling"
#: apps/currencies/models.py:133 #: apps/currencies/models.py:135
msgid "Target Currencies" msgid "Target Currencies"
msgstr "Doel Munteenheden" msgstr "Doel Munteenheden"
#: apps/currencies/models.py:135 #: apps/currencies/models.py:137
msgid "" msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for " "Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency." "each currency against their set exchange currency."
@@ -612,11 +617,11 @@ msgstr ""
"Selecteer munteenheden om wisselkoersen voor op te halen. De koersen worden " "Selecteer munteenheden om wisselkoersen voor op te halen. De koersen worden "
"voor elke munteenheid opgehaald ten opzichte van de ingestelde wisselkoers." "voor elke munteenheid opgehaald ten opzichte van de ingestelde wisselkoers."
#: apps/currencies/models.py:143 #: apps/currencies/models.py:145
msgid "Target Accounts" msgid "Target Accounts"
msgstr "Naar rekeningen" msgstr "Naar rekeningen"
#: apps/currencies/models.py:145 #: apps/currencies/models.py:147
msgid "" msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each " "Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency." "account's currency against their set exchange currency."
@@ -625,23 +630,33 @@ msgstr ""
"opgehaald voor de munteenheid van elke rekening ten opzichte van de " "opgehaald voor de munteenheid van elke rekening ten opzichte van de "
"ingestelde wisselkoers." "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" msgid "Exchange Rate Service"
msgstr "Wisselkoersdienst" msgstr "Wisselkoersdienst"
#: apps/currencies/models.py:153 #: apps/currencies/models.py:163
msgid "Exchange Rate Services" msgid "Exchange Rate Services"
msgstr "Wisselkoersdiensten" msgstr "Wisselkoersdiensten"
#: apps/currencies/models.py:205 #: apps/currencies/models.py:215
msgid "'Every X hours' interval type requires a positive integer." msgid "'Every X hours' interval type requires a positive integer."
msgstr "Voor het intervaltype Elke X uur is een positief geheel getal nodig." 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." msgid "'Every X hours' interval must be between 1 and 24."
msgstr "Het interval Elke X uur moet tussen 1 en 24 liggen." msgstr "Het interval Elke X uur moet tussen 1 en 24 liggen."
#: apps/currencies/models.py:228 #: apps/currencies/models.py:238
msgid "" msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., " "Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')." "'1-5,8,10-12')."
@@ -649,7 +664,7 @@ msgstr ""
"Ongeldige urennotatie. Gebruik door komma's gescheiden uren (0-23) en/of " "Ongeldige urennotatie. Gebruik door komma's gescheiden uren (0-23) en/of "
"reeksen (bijv. 1-5,8,10-12)." "reeksen (bijv. 1-5,8,10-12)."
#: apps/currencies/models.py:239 #: apps/currencies/models.py:249
msgid "" msgid ""
"Invalid format. Please check the requirements for your selected interval " "Invalid format. Please check the requirements for your selected interval "
"type." "type."
@@ -908,7 +923,7 @@ msgstr "Bewerk verrichtingsactie"
msgid "Update or create transaction actions" msgid "Update or create transaction actions"
msgstr "Bewerk of maak verrichtingsregel acties" 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/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5 #: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24 #: 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" msgstr "Gedempte categorieën worden niet weergegeven in maandoverzichten"
#: apps/transactions/forms.py:1046 #: apps/transactions/forms.py:1046
#, fuzzy
#| msgid "Filter transactions"
msgid "future transactions" msgid "future transactions"
msgstr "Filter verrichtingen" msgstr "toekomstige verrichtingen"
#: apps/transactions/forms.py:1076 #: apps/transactions/forms.py:1076
msgid "End date should be after the start date" msgid "End date should be after the start date"
@@ -1546,7 +1559,7 @@ msgstr "Terugkeer Interval"
#: apps/transactions/models.py:726 #: apps/transactions/models.py:726
msgid "Keep at most" msgid "Keep at most"
msgstr "" msgstr "Bewaar maximaal"
#: apps/transactions/models.py:730 #: apps/transactions/models.py:730
msgid "Last Generated Date" msgid "Last Generated Date"
@@ -1671,8 +1684,8 @@ msgid "Item deleted successfully"
msgstr "Item succesvol verwijderd" msgstr "Item succesvol verwijderd"
#: apps/transactions/views/quick_transactions.py:155 #: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52 #: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:148 #: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully" msgid "Transaction added successfully"
msgstr "Verrichting succesvol toegevoegd" msgstr "Verrichting succesvol toegevoegd"
@@ -1712,30 +1725,30 @@ msgstr "Label succesvol bijgewerkt"
msgid "Tag deleted successfully" msgid "Tag deleted successfully"
msgstr "Label succesvol verwijderd" msgstr "Label succesvol verwijderd"
#: apps/transactions/views/transactions.py:182 #: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully" msgid "Transaction updated successfully"
msgstr "Verrichting succesvol bijgewerkt" msgstr "Verrichting succesvol bijgewerkt"
#: apps/transactions/views/transactions.py:232 #: apps/transactions/views/transactions.py:233
#, python-format #, python-format
msgid "%(count)s transaction updated successfully" msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully" msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s verrichting succesvol bijgewerkt" msgstr[0] "%(count)s verrichting succesvol bijgewerkt"
msgstr[1] "%(count)s verrichtingen 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" msgid "Transaction duplicated successfully"
msgstr "Verrichting succesvol gedupliceerd" msgstr "Verrichting succesvol gedupliceerd"
#: apps/transactions/views/transactions.py:310 #: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully" msgid "Transaction deleted successfully"
msgstr "Verrichting succesvol verwijderd" msgstr "Verrichting succesvol verwijderd"
#: apps/transactions/views/transactions.py:328 #: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully" msgid "Transaction restored successfully"
msgstr "Verrichting succesvol hersteld" msgstr "Verrichting succesvol hersteld"
#: apps/transactions/views/transactions.py:354 #: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully" msgid "Transfer added successfully"
msgstr "Transactie succesvol toegevoegd" 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." msgid "A user with this email address already exists."
msgstr "Er bestaat al een gebruiker met dit e-mailadres." 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 #: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency" msgid "Yearly by currency"
msgstr "Jaarlijks per munteenheid" msgstr "Jaarlijks per munteenheid"
@@ -1985,7 +1994,7 @@ msgstr "Bewerken"
#: templates/accounts/fragments/list.html:48 #: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36 #: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136 #: 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/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90 #: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44 #: templates/currencies/fragments/list.html:44
@@ -2012,7 +2021,7 @@ msgstr "Verwijderen"
#: templates/accounts/fragments/list.html:52 #: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41 #: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140 #: 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/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92 #: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48 #: templates/currencies/fragments/list.html:48
@@ -2042,7 +2051,7 @@ msgstr "Weet je het zeker?"
#: templates/accounts/fragments/list.html:53 #: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42 #: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141 #: 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/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93 #: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49 #: templates/currencies/fragments/list.html:49
@@ -2064,7 +2073,7 @@ msgstr "Je kunt dit niet meer terugdraaien!"
#: templates/accounts/fragments/list.html:54 #: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43 #: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142 #: 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/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82 #: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50 #: templates/dca/fragments/strategy/list.html:50
@@ -2244,6 +2253,18 @@ msgid "Add as quick transaction"
msgstr "Toevoegen als snelle transactie" msgstr "Toevoegen als snelle transactie"
#: templates/cotton/transaction/item.html:166 #: 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 #: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate" msgid "Duplicate"
msgstr "Dupliceren" msgstr "Dupliceren"
@@ -3364,6 +3385,11 @@ msgstr "Aanmelden met"
msgid "Yearly Overview" msgid "Yearly Overview"
msgstr "Jaaroverzicht" msgstr "Jaaroverzicht"
#, fuzzy
#~| msgid "Automation"
#~ msgid "Automatic"
#~ msgstr "Automatisatie"
#~ msgid "Profile" #~ msgid "Profile"
#~ msgstr "Profiel" #~ msgstr "Profiel"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2025-04-13 08:16+0000\n"
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n" "Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
"Language-Team: Portuguese <https://translations.herculino.com/projects/" "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/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91 #: 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/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/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421 #: 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/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61 #: 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/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/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213 #: 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." msgid "Invalid entity data. Provide an ID or name."
msgstr "Dados da entidade inválidos. Forneça um ID ou nome." 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." msgid "Either 'date' or 'reference_date' must be provided."
msgstr "É necessário fornecer “date” ou “reference_date”." msgstr "É necessário fornecer “date” ou “reference_date”."
@@ -532,7 +532,7 @@ msgstr "Moeda de origem"
msgid "To Currency" msgid "To Currency"
msgstr "Moeda de destino" 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" msgid "Exchange Rate"
msgstr "Taxa de Câmbio" msgstr "Taxa de Câmbio"
@@ -540,38 +540,43 @@ msgstr "Taxa de Câmbio"
msgid "Date and Time" msgid "Date and Time"
msgstr "Data e Tempo" 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 #: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4 #: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202 #: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates" msgid "Exchange Rates"
msgstr "Taxas de Câmbio" msgstr "Taxas de Câmbio"
#: apps/currencies/models.py:87 #: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same." msgid "From and To currencies cannot be the same."
msgstr "As moedas De e Para não podem ser as mesmas." msgstr "As moedas De e Para não podem ser as mesmas."
#: apps/currencies/models.py:102 #: apps/currencies/models.py:104
msgid "On" msgid "On"
msgstr "Em" msgstr "Em"
#: apps/currencies/models.py:103 #: apps/currencies/models.py:105
msgid "Every X hours" msgid "Every X hours"
msgstr "A cada X horas" msgstr "A cada X horas"
#: apps/currencies/models.py:104 #: apps/currencies/models.py:106
msgid "Not on" msgid "Not on"
msgstr "Não em" msgstr "Não em"
#: apps/currencies/models.py:106 #: apps/currencies/models.py:108
msgid "Service Name" msgid "Service Name"
msgstr "Nome do Serviço" msgstr "Nome do Serviço"
#: apps/currencies/models.py:108 #: apps/currencies/models.py:110
msgid "Service Type" msgid "Service Type"
msgstr "Tipo de Serviço" 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 #: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21 #: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21 #: templates/entities/fragments/list.html:21
@@ -580,31 +585,31 @@ msgstr "Tipo de Serviço"
msgid "Active" msgid "Active"
msgstr "Ativo" msgstr "Ativo"
#: apps/currencies/models.py:115 #: apps/currencies/models.py:117
msgid "API Key" msgid "API Key"
msgstr "Chave de API" msgstr "Chave de API"
#: apps/currencies/models.py:116 #: apps/currencies/models.py:118
msgid "API key for the service (if required)" msgid "API key for the service (if required)"
msgstr "Chave de API para o serviço (se necessário)" msgstr "Chave de API para o serviço (se necessário)"
#: apps/currencies/models.py:121 #: apps/currencies/models.py:123
msgid "Interval Type" msgid "Interval Type"
msgstr "Tipo de Intervalo" msgstr "Tipo de Intervalo"
#: apps/currencies/models.py:125 #: apps/currencies/models.py:127
msgid "Interval" msgid "Interval"
msgstr "Intervalo" msgstr "Intervalo"
#: apps/currencies/models.py:128 #: apps/currencies/models.py:130
msgid "Last Successful Fetch" msgid "Last Successful Fetch"
msgstr "Última execução bem-sucedida" msgstr "Última execução bem-sucedida"
#: apps/currencies/models.py:133 #: apps/currencies/models.py:135
msgid "Target Currencies" msgid "Target Currencies"
msgstr "Moedas-alvo" msgstr "Moedas-alvo"
#: apps/currencies/models.py:135 #: apps/currencies/models.py:137
msgid "" msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for " "Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency." "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 " "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." "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" msgid "Target Accounts"
msgstr "Contas-alvo" msgstr "Contas-alvo"
#: apps/currencies/models.py:145 #: apps/currencies/models.py:147
msgid "" msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each " "Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency." "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 " "serão obtidas para a moeda de cada conta em relação à moeda de câmbio "
"definida." "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" msgid "Exchange Rate Service"
msgstr "Serviço de Taxa de Câmbio" msgstr "Serviço de Taxa de Câmbio"
#: apps/currencies/models.py:153 #: apps/currencies/models.py:163
msgid "Exchange Rate Services" msgid "Exchange Rate Services"
msgstr "Serviços de Taxa de Câmbio" 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." msgid "'Every X hours' interval type requires a positive integer."
msgstr "" msgstr ""
"Intervalo do tipo 'A cada X horas' requerer um número inteiro positivo." "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." 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." 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 "" msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., " "Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')." "'1-5,8,10-12')."
@@ -650,7 +665,7 @@ msgstr ""
"Formato inválido de hora. Use uma lista de horas separada por vírgulas " "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')." "(0-23) e/ou uma faixa (ex.: '1-5,8,10-12')."
#: apps/currencies/models.py:239 #: apps/currencies/models.py:249
msgid "" msgid ""
"Invalid format. Please check the requirements for your selected interval " "Invalid format. Please check the requirements for your selected interval "
"type." "type."
@@ -908,7 +923,7 @@ msgstr "Ação de editar de transação"
msgid "Update or create transaction actions" msgid "Update or create transaction actions"
msgstr "Ações de atualizar ou criar transação" 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/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5 #: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24 #: templates/export_app/pages/index.html:24
@@ -1682,8 +1697,8 @@ msgid "Item deleted successfully"
msgstr "Regra apagada com sucesso" msgstr "Regra apagada com sucesso"
#: apps/transactions/views/quick_transactions.py:155 #: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52 #: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:148 #: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully" msgid "Transaction added successfully"
msgstr "Transação adicionada com sucesso" msgstr "Transação adicionada com sucesso"
@@ -1723,30 +1738,30 @@ msgstr "Tag atualizada com sucesso"
msgid "Tag deleted successfully" msgid "Tag deleted successfully"
msgstr "Tag apagada com sucesso" msgstr "Tag apagada com sucesso"
#: apps/transactions/views/transactions.py:182 #: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully" msgid "Transaction updated successfully"
msgstr "Transação atualizada com sucesso" msgstr "Transação atualizada com sucesso"
#: apps/transactions/views/transactions.py:232 #: apps/transactions/views/transactions.py:233
#, python-format #, python-format
msgid "%(count)s transaction updated successfully" msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully" msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s transação atualizada com sucesso" msgstr[0] "%(count)s transação atualizada com sucesso"
msgstr[1] "%(count)s transações atualizadas 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" msgid "Transaction duplicated successfully"
msgstr "Transação duplicada com sucesso" msgstr "Transação duplicada com sucesso"
#: apps/transactions/views/transactions.py:310 #: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully" msgid "Transaction deleted successfully"
msgstr "Transação apagada com sucesso" msgstr "Transação apagada com sucesso"
#: apps/transactions/views/transactions.py:328 #: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully" msgid "Transaction restored successfully"
msgstr "Transação restaurada com sucesso" msgstr "Transação restaurada com sucesso"
#: apps/transactions/views/transactions.py:354 #: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully" msgid "Transfer added successfully"
msgstr "Transferência adicionada com sucesso" msgstr "Transferência adicionada com sucesso"
@@ -1876,10 +1891,6 @@ msgstr ""
msgid "A user with this email address already exists." msgid "A user with this email address already exists."
msgstr "Já existe um valor para esse campo na regra." 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 #: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency" msgid "Yearly by currency"
msgstr "Anual por moeda" msgstr "Anual por moeda"
@@ -1996,7 +2007,7 @@ msgstr "Editar"
#: templates/accounts/fragments/list.html:48 #: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36 #: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136 #: 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/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90 #: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44 #: templates/currencies/fragments/list.html:44
@@ -2023,7 +2034,7 @@ msgstr "Apagar"
#: templates/accounts/fragments/list.html:52 #: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41 #: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140 #: 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/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92 #: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48 #: templates/currencies/fragments/list.html:48
@@ -2053,7 +2064,7 @@ msgstr "Tem certeza?"
#: templates/accounts/fragments/list.html:53 #: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42 #: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141 #: 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/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93 #: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49 #: 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/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43 #: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142 #: 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/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82 #: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50 #: templates/dca/fragments/strategy/list.html:50
@@ -2259,6 +2270,18 @@ msgid "Add as quick transaction"
msgstr "Adicionar transação recorrente" msgstr "Adicionar transação recorrente"
#: templates/cotton/transaction/item.html:166 #: 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 #: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate" msgid "Duplicate"
msgstr "Duplicar" msgstr "Duplicar"
@@ -3394,6 +3417,11 @@ msgstr "termina em"
msgid "Yearly Overview" msgid "Yearly Overview"
msgstr "Visão Anual" msgstr "Visão Anual"
#, fuzzy
#~| msgid "Automation"
#~ msgid "Automatic"
#~ msgstr "Automação"
#, fuzzy #, fuzzy
#~| msgid "Import Profiles" #~| msgid "Import Profiles"
#~ msgid "Profile" #~ msgid "Profile"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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-08-06 18:17+0000\n" "PO-Revision-Date: 2025-08-08 04:17+0000\n"
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n" "Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://translations.herculino.com/" "Language-Team: Portuguese (Brazil) <https://translations.herculino.com/"
"projects/wygiwyh/app/pt_BR/>\n" "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/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91 #: 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/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/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421 #: 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/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61 #: 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/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/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213 #: 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." msgid "Invalid entity data. Provide an ID or name."
msgstr "Dados da entidade inválidos. Forneça um ID ou nome." 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." msgid "Either 'date' or 'reference_date' must be provided."
msgstr "É necessário fornecer “date” ou “reference_date”." msgstr "É necessário fornecer “date” ou “reference_date”."
@@ -530,7 +530,7 @@ msgstr "Moeda de origem"
msgid "To Currency" msgid "To Currency"
msgstr "Moeda de destino" 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" msgid "Exchange Rate"
msgstr "Taxa de Câmbio" msgstr "Taxa de Câmbio"
@@ -538,38 +538,43 @@ msgstr "Taxa de Câmbio"
msgid "Date and Time" msgid "Date and Time"
msgstr "Data e Tempo" 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 #: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4 #: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202 #: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates" msgid "Exchange Rates"
msgstr "Taxas de Câmbio" msgstr "Taxas de Câmbio"
#: apps/currencies/models.py:87 #: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same." msgid "From and To currencies cannot be the same."
msgstr "As moedas De e Para não podem ser as mesmas." msgstr "As moedas De e Para não podem ser as mesmas."
#: apps/currencies/models.py:102 #: apps/currencies/models.py:104
msgid "On" msgid "On"
msgstr "Em" msgstr "Em"
#: apps/currencies/models.py:103 #: apps/currencies/models.py:105
msgid "Every X hours" msgid "Every X hours"
msgstr "A cada X horas" msgstr "A cada X horas"
#: apps/currencies/models.py:104 #: apps/currencies/models.py:106
msgid "Not on" msgid "Not on"
msgstr "Não em" msgstr "Não em"
#: apps/currencies/models.py:106 #: apps/currencies/models.py:108
msgid "Service Name" msgid "Service Name"
msgstr "Nome do Serviço" msgstr "Nome do Serviço"
#: apps/currencies/models.py:108 #: apps/currencies/models.py:110
msgid "Service Type" msgid "Service Type"
msgstr "Tipo de Serviço" 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 #: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21 #: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21 #: templates/entities/fragments/list.html:21
@@ -578,31 +583,31 @@ msgstr "Tipo de Serviço"
msgid "Active" msgid "Active"
msgstr "Ativo" msgstr "Ativo"
#: apps/currencies/models.py:115 #: apps/currencies/models.py:117
msgid "API Key" msgid "API Key"
msgstr "Chave de API" msgstr "Chave de API"
#: apps/currencies/models.py:116 #: apps/currencies/models.py:118
msgid "API key for the service (if required)" msgid "API key for the service (if required)"
msgstr "Chave de API para o serviço (se necessário)" msgstr "Chave de API para o serviço (se necessário)"
#: apps/currencies/models.py:121 #: apps/currencies/models.py:123
msgid "Interval Type" msgid "Interval Type"
msgstr "Tipo de Intervalo" msgstr "Tipo de Intervalo"
#: apps/currencies/models.py:125 #: apps/currencies/models.py:127
msgid "Interval" msgid "Interval"
msgstr "Intervalo" msgstr "Intervalo"
#: apps/currencies/models.py:128 #: apps/currencies/models.py:130
msgid "Last Successful Fetch" msgid "Last Successful Fetch"
msgstr "Última execução bem-sucedida" msgstr "Última execução bem-sucedida"
#: apps/currencies/models.py:133 #: apps/currencies/models.py:135
msgid "Target Currencies" msgid "Target Currencies"
msgstr "Moedas-alvo" msgstr "Moedas-alvo"
#: apps/currencies/models.py:135 #: apps/currencies/models.py:137
msgid "" msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for " "Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency." "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 " "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." "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" msgid "Target Accounts"
msgstr "Contas-alvo" msgstr "Contas-alvo"
#: apps/currencies/models.py:145 #: apps/currencies/models.py:147
msgid "" msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each " "Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency." "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 " "serão obtidas para a moeda de cada conta em relação à moeda de câmbio "
"definida." "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" msgid "Exchange Rate Service"
msgstr "Serviço de Taxa de Câmbio" msgstr "Serviço de Taxa de Câmbio"
#: apps/currencies/models.py:153 #: apps/currencies/models.py:163
msgid "Exchange Rate Services" msgid "Exchange Rate Services"
msgstr "Serviços de Taxa de Câmbio" 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." msgid "'Every X hours' interval type requires a positive integer."
msgstr "" msgstr ""
"Intervalo do tipo 'A cada X horas' requerer um número inteiro positivo." "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." 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." 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 "" msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., " "Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')." "'1-5,8,10-12')."
@@ -648,7 +663,7 @@ msgstr ""
"Formato inválido de hora. Use uma lista de horas separada por vírgulas " "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')." "(0-23) e/ou uma faixa (ex.: '1-5,8,10-12')."
#: apps/currencies/models.py:239 #: apps/currencies/models.py:249
msgid "" msgid ""
"Invalid format. Please check the requirements for your selected interval " "Invalid format. Please check the requirements for your selected interval "
"type." "type."
@@ -906,7 +921,7 @@ msgstr "Ação de editar de transação"
msgid "Update or create transaction actions" msgid "Update or create transaction actions"
msgstr "Ações de atualizar ou criar transação" 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/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5 #: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24 #: templates/export_app/pages/index.html:24
@@ -1666,8 +1681,8 @@ msgid "Item deleted successfully"
msgstr "Item apagado com sucesso" msgstr "Item apagado com sucesso"
#: apps/transactions/views/quick_transactions.py:155 #: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52 #: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:148 #: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully" msgid "Transaction added successfully"
msgstr "Transação adicionada com sucesso" msgstr "Transação adicionada com sucesso"
@@ -1707,30 +1722,30 @@ msgstr "Tag atualizada com sucesso"
msgid "Tag deleted successfully" msgid "Tag deleted successfully"
msgstr "Tag apagada com sucesso" msgstr "Tag apagada com sucesso"
#: apps/transactions/views/transactions.py:182 #: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully" msgid "Transaction updated successfully"
msgstr "Transação atualizada com sucesso" msgstr "Transação atualizada com sucesso"
#: apps/transactions/views/transactions.py:232 #: apps/transactions/views/transactions.py:233
#, python-format #, python-format
msgid "%(count)s transaction updated successfully" msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully" msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "%(count)s transação atualizada com sucesso" msgstr[0] "%(count)s transação atualizada com sucesso"
msgstr[1] "%(count)s transações atualizadas 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" msgid "Transaction duplicated successfully"
msgstr "Transação duplicada com sucesso" msgstr "Transação duplicada com sucesso"
#: apps/transactions/views/transactions.py:310 #: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully" msgid "Transaction deleted successfully"
msgstr "Transação apagada com sucesso" msgstr "Transação apagada com sucesso"
#: apps/transactions/views/transactions.py:328 #: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully" msgid "Transaction restored successfully"
msgstr "Transação restaurada com sucesso" msgstr "Transação restaurada com sucesso"
#: apps/transactions/views/transactions.py:354 #: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully" msgid "Transfer added successfully"
msgstr "Transferência adicionada com sucesso" msgstr "Transferência adicionada com sucesso"
@@ -1862,10 +1877,6 @@ msgstr ""
msgid "A user with this email address already exists." msgid "A user with this email address already exists."
msgstr "Já existe um usuário com esse endereço de e-mail." 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 #: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency" msgid "Yearly by currency"
msgstr "Anual por moeda" msgstr "Anual por moeda"
@@ -1982,7 +1993,7 @@ msgstr "Editar"
#: templates/accounts/fragments/list.html:48 #: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36 #: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136 #: 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/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90 #: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44 #: templates/currencies/fragments/list.html:44
@@ -2009,7 +2020,7 @@ msgstr "Apagar"
#: templates/accounts/fragments/list.html:52 #: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41 #: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140 #: 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/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92 #: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48 #: templates/currencies/fragments/list.html:48
@@ -2039,7 +2050,7 @@ msgstr "Tem certeza?"
#: templates/accounts/fragments/list.html:53 #: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42 #: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141 #: 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/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93 #: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49 #: 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/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43 #: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142 #: 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/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82 #: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50 #: templates/dca/fragments/strategy/list.html:50
@@ -2241,6 +2252,18 @@ msgid "Add as quick transaction"
msgstr "Adicionar como transação rápida" msgstr "Adicionar como transação rápida"
#: templates/cotton/transaction/item.html:166 #: 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 #: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate" msgid "Duplicate"
msgstr "Duplicar" msgstr "Duplicar"
@@ -3358,6 +3381,11 @@ msgstr "Login com"
msgid "Yearly Overview" msgid "Yearly Overview"
msgstr "Visão Anual" msgstr "Visão Anual"
#, fuzzy
#~| msgid "Automation"
#~ msgid "Automatic"
#~ msgstr "Automação"
#~ msgid "Profile" #~ msgid "Profile"
#~ msgstr "Perfil" #~ msgstr "Perfil"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2025-04-14 06:16+0000\n"
"Last-Translator: Emil <emil.bjorkroth@gmail.com>\n" "Last-Translator: Emil <emil.bjorkroth@gmail.com>\n"
"Language-Team: Swedish <https://translations.herculino.com/projects/wygiwyh/" "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/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91 #: 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/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/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421 #: 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/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61 #: 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/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/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213 #: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -287,7 +287,7 @@ msgstr ""
msgid "Invalid entity data. Provide an ID or name." msgid "Invalid entity data. Provide an ID or name."
msgstr "" msgstr ""
#: apps/api/serializers/transactions.py:191 #: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided." msgid "Either 'date' or 'reference_date' must be provided."
msgstr "" msgstr ""
@@ -522,7 +522,7 @@ msgstr ""
msgid "To Currency" msgid "To Currency"
msgstr "" msgstr ""
#: apps/currencies/models.py:69 apps/currencies/models.py:74 #: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate" msgid "Exchange Rate"
msgstr "" msgstr ""
@@ -530,38 +530,43 @@ msgstr ""
msgid "Date and Time" msgid "Date and Time"
msgstr "" 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 #: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4 #: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202 #: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates" msgid "Exchange Rates"
msgstr "" msgstr ""
#: apps/currencies/models.py:87 #: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same." msgid "From and To currencies cannot be the same."
msgstr "" msgstr ""
#: apps/currencies/models.py:102 #: apps/currencies/models.py:104
msgid "On" msgid "On"
msgstr "" msgstr ""
#: apps/currencies/models.py:103 #: apps/currencies/models.py:105
msgid "Every X hours" msgid "Every X hours"
msgstr "" msgstr ""
#: apps/currencies/models.py:104 #: apps/currencies/models.py:106
msgid "Not on" msgid "Not on"
msgstr "" msgstr ""
#: apps/currencies/models.py:106 #: apps/currencies/models.py:108
msgid "Service Name" msgid "Service Name"
msgstr "" msgstr ""
#: apps/currencies/models.py:108 #: apps/currencies/models.py:110
msgid "Service Type" msgid "Service Type"
msgstr "" 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 #: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21 #: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21 #: templates/entities/fragments/list.html:21
@@ -570,69 +575,77 @@ msgstr ""
msgid "Active" msgid "Active"
msgstr "" msgstr ""
#: apps/currencies/models.py:115 #: apps/currencies/models.py:117
msgid "API Key" msgid "API Key"
msgstr "" msgstr ""
#: apps/currencies/models.py:116 #: apps/currencies/models.py:118
msgid "API key for the service (if required)" msgid "API key for the service (if required)"
msgstr "" msgstr ""
#: apps/currencies/models.py:121 #: apps/currencies/models.py:123
msgid "Interval Type" msgid "Interval Type"
msgstr "" msgstr ""
#: apps/currencies/models.py:125 #: apps/currencies/models.py:127
msgid "Interval" msgid "Interval"
msgstr "" msgstr ""
#: apps/currencies/models.py:128 #: apps/currencies/models.py:130
msgid "Last Successful Fetch" msgid "Last Successful Fetch"
msgstr "" msgstr ""
#: apps/currencies/models.py:133 #: apps/currencies/models.py:135
msgid "Target Currencies" msgid "Target Currencies"
msgstr "" msgstr ""
#: apps/currencies/models.py:135 #: apps/currencies/models.py:137
msgid "" msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for " "Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency." "each currency against their set exchange currency."
msgstr "" msgstr ""
#: apps/currencies/models.py:143 #: apps/currencies/models.py:145
msgid "Target Accounts" msgid "Target Accounts"
msgstr "" msgstr ""
#: apps/currencies/models.py:145 #: apps/currencies/models.py:147
msgid "" msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each " "Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency." "account's currency against their set exchange currency."
msgstr "" 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" msgid "Exchange Rate Service"
msgstr "" msgstr ""
#: apps/currencies/models.py:153 #: apps/currencies/models.py:163
msgid "Exchange Rate Services" msgid "Exchange Rate Services"
msgstr "" msgstr ""
#: apps/currencies/models.py:205 #: apps/currencies/models.py:215
msgid "'Every X hours' interval type requires a positive integer." msgid "'Every X hours' interval type requires a positive integer."
msgstr "" msgstr ""
#: apps/currencies/models.py:214 #: apps/currencies/models.py:224
msgid "'Every X hours' interval must be between 1 and 24." msgid "'Every X hours' interval must be between 1 and 24."
msgstr "" msgstr ""
#: apps/currencies/models.py:228 #: apps/currencies/models.py:238
msgid "" msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., " "Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')." "'1-5,8,10-12')."
msgstr "" msgstr ""
#: apps/currencies/models.py:239 #: apps/currencies/models.py:249
msgid "" msgid ""
"Invalid format. Please check the requirements for your selected interval " "Invalid format. Please check the requirements for your selected interval "
"type." "type."
@@ -888,7 +901,7 @@ msgstr ""
msgid "Update or create transaction actions" msgid "Update or create transaction actions"
msgstr "" 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/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5 #: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24 #: templates/export_app/pages/index.html:24
@@ -1639,8 +1652,8 @@ msgid "Item deleted successfully"
msgstr "" msgstr ""
#: apps/transactions/views/quick_transactions.py:155 #: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52 #: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:148 #: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully" msgid "Transaction added successfully"
msgstr "" msgstr ""
@@ -1680,30 +1693,30 @@ msgstr ""
msgid "Tag deleted successfully" msgid "Tag deleted successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:182 #: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully" msgid "Transaction updated successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:232 #: apps/transactions/views/transactions.py:233
#, python-format #, python-format
msgid "%(count)s transaction updated successfully" msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully" msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: apps/transactions/views/transactions.py:268 #: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully" msgid "Transaction duplicated successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:310 #: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully" msgid "Transaction deleted successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:328 #: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully" msgid "Transaction restored successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:354 #: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully" msgid "Transfer added successfully"
msgstr "" msgstr ""
@@ -1826,10 +1839,6 @@ msgstr ""
msgid "A user with this email address already exists." msgid "A user with this email address already exists."
msgstr "" msgstr ""
#: apps/users/models.py:12 apps/users/models.py:497
msgid "Auto"
msgstr ""
#: apps/users/models.py:465 templates/includes/navbar.html:29 #: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency" msgid "Yearly by currency"
msgstr "" msgstr ""
@@ -1946,7 +1955,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:48 #: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36 #: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136 #: 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/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90 #: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44 #: templates/currencies/fragments/list.html:44
@@ -1973,7 +1982,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:52 #: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41 #: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140 #: 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/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92 #: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48 #: templates/currencies/fragments/list.html:48
@@ -2003,7 +2012,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:53 #: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42 #: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141 #: 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/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93 #: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49 #: templates/currencies/fragments/list.html:49
@@ -2025,7 +2034,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:54 #: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43 #: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142 #: 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/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82 #: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50 #: templates/dca/fragments/strategy/list.html:50
@@ -2205,6 +2214,18 @@ msgid "Add as quick transaction"
msgstr "" msgstr ""
#: templates/cotton/transaction/item.html:166 #: 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 #: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate" msgid "Duplicate"
msgstr "" msgstr ""

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2025-05-12 14:16+0000\n"
"Last-Translator: Felix <xnovaua@gmail.com>\n" "Last-Translator: Felix <xnovaua@gmail.com>\n"
"Language-Team: Ukrainian <https://translations.herculino.com/projects/" "Language-Team: Ukrainian <https://translations.herculino.com/projects/"
@@ -26,7 +26,7 @@ msgstr "Назва групи"
#: apps/accounts/forms.py:40 apps/accounts/forms.py:98 #: apps/accounts/forms.py:40 apps/accounts/forms.py:98
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91 #: 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/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/rules/forms.py:365 apps/transactions/forms.py:204
#: apps/transactions/forms.py:374 apps/transactions/forms.py:421 #: 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/accounts/forms.py:48 apps/accounts/forms.py:106
#: apps/common/widgets/tom_select.py:13 apps/currencies/forms.py:61 #: 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/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/rules/forms.py:59 apps/rules/forms.py:101 apps/rules/forms.py:373
#: apps/transactions/forms.py:189 apps/transactions/forms.py:213 #: apps/transactions/forms.py:189 apps/transactions/forms.py:213
@@ -291,7 +291,7 @@ msgstr "Об'єкт з таким ідентифікатором не існує
msgid "Invalid entity data. Provide an ID or name." msgid "Invalid entity data. Provide an ID or name."
msgstr "Невірні дані про об'єкт. Вкажіть ідентифікатор або ім'я." msgstr "Невірні дані про об'єкт. Вкажіть ідентифікатор або ім'я."
#: apps/api/serializers/transactions.py:191 #: apps/api/serializers/transactions.py:192
msgid "Either 'date' or 'reference_date' must be provided." msgid "Either 'date' or 'reference_date' must be provided."
msgstr "Необхідно вказати або 'date', або 'reference_date'." msgstr "Необхідно вказати або 'date', або 'reference_date'."
@@ -537,7 +537,7 @@ msgstr "З валюти"
msgid "To Currency" msgid "To Currency"
msgstr "У валюту" msgstr "У валюту"
#: apps/currencies/models.py:69 apps/currencies/models.py:74 #: apps/currencies/models.py:69 apps/currencies/models.py:76
msgid "Exchange Rate" msgid "Exchange Rate"
msgstr "Обмінний курс" msgstr "Обмінний курс"
@@ -545,38 +545,43 @@ msgstr "Обмінний курс"
msgid "Date and Time" msgid "Date and Time"
msgstr "Дата і час" 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 #: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
#: templates/exchange_rates/pages/index.html:4 #: templates/exchange_rates/pages/index.html:4
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:202 #: templates/includes/navbar.html:129 templates/includes/sidebar.html:202
msgid "Exchange Rates" msgid "Exchange Rates"
msgstr "Обмінні курси" msgstr "Обмінні курси"
#: apps/currencies/models.py:87 #: apps/currencies/models.py:89
msgid "From and To currencies cannot be the same." msgid "From and To currencies cannot be the same."
msgstr "Валюти «Від» і «До» не можуть бути однаковими." msgstr "Валюти «Від» і «До» не можуть бути однаковими."
#: apps/currencies/models.py:102 #: apps/currencies/models.py:104
msgid "On" msgid "On"
msgstr "On" msgstr "On"
#: apps/currencies/models.py:103 #: apps/currencies/models.py:105
msgid "Every X hours" msgid "Every X hours"
msgstr "Кожні Х годин" msgstr "Кожні Х годин"
#: apps/currencies/models.py:104 #: apps/currencies/models.py:106
msgid "Not on" msgid "Not on"
msgstr "Not on" msgstr "Not on"
#: apps/currencies/models.py:106 #: apps/currencies/models.py:108
msgid "Service Name" msgid "Service Name"
msgstr "Назва сервісу" msgstr "Назва сервісу"
#: apps/currencies/models.py:108 #: apps/currencies/models.py:110
msgid "Service Type" msgid "Service Type"
msgstr "Тип сервісу" 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 #: apps/transactions/models.py:238 apps/transactions/models.py:262
#: templates/categories/fragments/list.html:21 #: templates/categories/fragments/list.html:21
#: templates/entities/fragments/list.html:21 #: templates/entities/fragments/list.html:21
@@ -585,69 +590,79 @@ msgstr "Тип сервісу"
msgid "Active" msgid "Active"
msgstr "Активний" msgstr "Активний"
#: apps/currencies/models.py:115 #: apps/currencies/models.py:117
msgid "API Key" msgid "API Key"
msgstr "Ключ API" msgstr "Ключ API"
#: apps/currencies/models.py:116 #: apps/currencies/models.py:118
msgid "API key for the service (if required)" msgid "API key for the service (if required)"
msgstr "API-ключ для сервісу (якщо потрібно)" msgstr "API-ключ для сервісу (якщо потрібно)"
#: apps/currencies/models.py:121 #: apps/currencies/models.py:123
msgid "Interval Type" msgid "Interval Type"
msgstr "Тип інтервалу" msgstr "Тип інтервалу"
#: apps/currencies/models.py:125 #: apps/currencies/models.py:127
msgid "Interval" msgid "Interval"
msgstr "Інтервал" msgstr "Інтервал"
#: apps/currencies/models.py:128 #: apps/currencies/models.py:130
msgid "Last Successful Fetch" msgid "Last Successful Fetch"
msgstr "Остання успішна вибірка" msgstr "Остання успішна вибірка"
#: apps/currencies/models.py:133 #: apps/currencies/models.py:135
msgid "Target Currencies" msgid "Target Currencies"
msgstr "" msgstr ""
#: apps/currencies/models.py:135 #: apps/currencies/models.py:137
msgid "" msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for " "Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency." "each currency against their set exchange currency."
msgstr "" msgstr ""
#: apps/currencies/models.py:143 #: apps/currencies/models.py:145
msgid "Target Accounts" msgid "Target Accounts"
msgstr "" msgstr ""
#: apps/currencies/models.py:145 #: apps/currencies/models.py:147
msgid "" msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each " "Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency." "account's currency against their set exchange currency."
msgstr "" 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" msgid "Exchange Rate Service"
msgstr "" msgstr ""
#: apps/currencies/models.py:153 #: apps/currencies/models.py:163
msgid "Exchange Rate Services" msgid "Exchange Rate Services"
msgstr "" msgstr ""
#: apps/currencies/models.py:205 #: apps/currencies/models.py:215
msgid "'Every X hours' interval type requires a positive integer." msgid "'Every X hours' interval type requires a positive integer."
msgstr "" msgstr ""
#: apps/currencies/models.py:214 #: apps/currencies/models.py:224
msgid "'Every X hours' interval must be between 1 and 24." msgid "'Every X hours' interval must be between 1 and 24."
msgstr "" msgstr ""
#: apps/currencies/models.py:228 #: apps/currencies/models.py:238
msgid "" msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., " "Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')." "'1-5,8,10-12')."
msgstr "" msgstr ""
#: apps/currencies/models.py:239 #: apps/currencies/models.py:249
msgid "" msgid ""
"Invalid format. Please check the requirements for your selected interval " "Invalid format. Please check the requirements for your selected interval "
"type." "type."
@@ -903,7 +918,7 @@ msgstr ""
msgid "Update or create transaction actions" msgid "Update or create transaction actions"
msgstr "" 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/cotton/ui/deleted_transactions_action_bar.html:47
#: templates/export_app/fragments/restore.html:5 #: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24 #: templates/export_app/pages/index.html:24
@@ -1656,8 +1671,8 @@ msgid "Item deleted successfully"
msgstr "Рахунок успішно видалено" msgstr "Рахунок успішно видалено"
#: apps/transactions/views/quick_transactions.py:155 #: apps/transactions/views/quick_transactions.py:155
#: apps/transactions/views/transactions.py:52 #: apps/transactions/views/transactions.py:53
#: apps/transactions/views/transactions.py:148 #: apps/transactions/views/transactions.py:149
msgid "Transaction added successfully" msgid "Transaction added successfully"
msgstr "" msgstr ""
@@ -1697,30 +1712,30 @@ msgstr ""
msgid "Tag deleted successfully" msgid "Tag deleted successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:182 #: apps/transactions/views/transactions.py:183
msgid "Transaction updated successfully" msgid "Transaction updated successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:232 #: apps/transactions/views/transactions.py:233
#, python-format #, python-format
msgid "%(count)s transaction updated successfully" msgid "%(count)s transaction updated successfully"
msgid_plural "%(count)s transactions updated successfully" msgid_plural "%(count)s transactions updated successfully"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: apps/transactions/views/transactions.py:268 #: apps/transactions/views/transactions.py:269
msgid "Transaction duplicated successfully" msgid "Transaction duplicated successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:310 #: apps/transactions/views/transactions.py:311
msgid "Transaction deleted successfully" msgid "Transaction deleted successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:328 #: apps/transactions/views/transactions.py:329
msgid "Transaction restored successfully" msgid "Transaction restored successfully"
msgstr "" msgstr ""
#: apps/transactions/views/transactions.py:354 #: apps/transactions/views/transactions.py:355
msgid "Transfer added successfully" msgid "Transfer added successfully"
msgstr "" msgstr ""
@@ -1843,10 +1858,6 @@ msgstr ""
msgid "A user with this email address already exists." msgid "A user with this email address already exists."
msgstr "" msgstr ""
#: apps/users/models.py:12 apps/users/models.py:497
msgid "Auto"
msgstr ""
#: apps/users/models.py:465 templates/includes/navbar.html:29 #: apps/users/models.py:465 templates/includes/navbar.html:29
msgid "Yearly by currency" msgid "Yearly by currency"
msgstr "" msgstr ""
@@ -1963,7 +1974,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:48 #: templates/accounts/fragments/list.html:48
#: templates/categories/fragments/table.html:36 #: templates/categories/fragments/table.html:36
#: templates/cotton/transaction/item.html:136 #: 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/deleted_transactions_action_bar.html:55
#: templates/cotton/ui/transactions_action_bar.html:90 #: templates/cotton/ui/transactions_action_bar.html:90
#: templates/currencies/fragments/list.html:44 #: templates/currencies/fragments/list.html:44
@@ -1990,7 +2001,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:52 #: templates/accounts/fragments/list.html:52
#: templates/categories/fragments/table.html:41 #: templates/categories/fragments/table.html:41
#: templates/cotton/transaction/item.html:140 #: 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/deleted_transactions_action_bar.html:57
#: templates/cotton/ui/transactions_action_bar.html:92 #: templates/cotton/ui/transactions_action_bar.html:92
#: templates/currencies/fragments/list.html:48 #: templates/currencies/fragments/list.html:48
@@ -2020,7 +2031,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:53 #: templates/accounts/fragments/list.html:53
#: templates/categories/fragments/table.html:42 #: templates/categories/fragments/table.html:42
#: templates/cotton/transaction/item.html:141 #: 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/deleted_transactions_action_bar.html:58
#: templates/cotton/ui/transactions_action_bar.html:93 #: templates/cotton/ui/transactions_action_bar.html:93
#: templates/currencies/fragments/list.html:49 #: templates/currencies/fragments/list.html:49
@@ -2042,7 +2053,7 @@ msgstr ""
#: templates/accounts/fragments/list.html:54 #: templates/accounts/fragments/list.html:54
#: templates/categories/fragments/table.html:43 #: templates/categories/fragments/table.html:43
#: templates/cotton/transaction/item.html:142 #: 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/currencies/fragments/list.html:50
#: templates/dca/fragments/strategy/details.html:82 #: templates/dca/fragments/strategy/details.html:82
#: templates/dca/fragments/strategy/list.html:50 #: templates/dca/fragments/strategy/list.html:50
@@ -2222,6 +2233,18 @@ msgid "Add as quick transaction"
msgstr "" msgstr ""
#: templates/cotton/transaction/item.html:166 #: 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 #: templates/cotton/ui/transactions_action_bar.html:82
msgid "Duplicate" msgid "Duplicate"
msgstr "" msgstr ""

View File

@@ -71,6 +71,17 @@
hx-get="{% url 'account_share_settings' pk=account.id %}"> hx-get="{% url 'account_share_settings' pk=account.id %}">
<i class="fa-solid fa-share fa-fw"></i></a> <i class="fa-solid fa-share fa-fw"></i></a>
{% endif %} {% 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> </div>
</td> </td>
<td class="col">{{ account.name }}</td> <td class="col">{{ account.name }}</td>

View File

@@ -33,7 +33,7 @@
</div> </div>
{% endif %} {% endif %}
</div> </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#} {# Date#}
<div class="row mb-2 mb-lg-1 tw:text-gray-400"> <div class="row mb-2 mb-lg-1 tw:text-gray-400">
<div class="col-auto pe-1"><i class="fa-solid fa-calendar fa-fw me-1 fa-xs"></i></div> <div class="col-auto pe-1"><i class="fa-solid fa-calendar fa-fw me-1 fa-xs"></i></div>
@@ -91,7 +91,7 @@
{% endwith %} {% endwith %}
</div> </div>
</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"> <div class="main-amount mb-2 mb-lg-0">
<c-amount.display <c-amount.display
:amount="transaction.amount" :amount="transaction.amount"
@@ -120,8 +120,8 @@
<div> <div>
{# Item actions#} {# Item actions#}
<div <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"> 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-column flex-md-row gap-1"> <div class="card-body p-1 shadow-lg d-flex flex-row gap-1">
{% if not transaction.deleted %} {% if not transaction.deleted %}
<a class="btn btn-secondary btn-sm transaction-action" <a class="btn btn-secondary btn-sm transaction-action"
role="button" role="button"
@@ -146,16 +146,26 @@
<i class="fa-solid fa-ellipsis fa-fw"></i> <i class="fa-solid fa-ellipsis fa-fw"></i>
</button> </button>
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-md-start"> <ul class="dropdown-menu dropdown-menu-end dropdown-menu-md-start">
{% if transaction.category.mute %} {% if transaction.account.is_untracked_by %}
<li> <li>
<a class="dropdown-item disabled d-flex align-items-center" aria-disabled="true"> <a class="dropdown-item disabled d-flex align-items-center" aria-disabled="true">
<i class="fa-solid fa-eye fa-fw me-2"></i> <i class="fa-solid fa-eye fa-fw me-2"></i>
<div> <div>
{% translate 'Show on summaries' %} {% translate 'Show on summaries' %}
<div class="d-block text-body-secondary tw:text-xs tw:font-medium">{% translate 'Controlled by category' %}</div> <div class="d-block text-body-secondary tw:text-xs tw:font-medium">{% translate 'Controlled by account' %}</div>
</div> </div>
</a> </a>
</li> </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 %} {% 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> <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 %} {% else %}

View File

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