mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-04-23 00:58:40 +02:00
@@ -6,7 +6,8 @@ from django.utils import timezone
|
|||||||
|
|
||||||
from apps.currencies.exchange_rates.providers import (
|
from apps.currencies.exchange_rates.providers import (
|
||||||
SynthFinanceProvider,
|
SynthFinanceProvider,
|
||||||
CoinGeckoProvider,
|
CoinGeckoFreeProvider,
|
||||||
|
CoinGeckoProProvider,
|
||||||
)
|
)
|
||||||
from apps.currencies.models import ExchangeRateService, ExchangeRate, Currency
|
from apps.currencies.models import ExchangeRateService, ExchangeRate, Currency
|
||||||
|
|
||||||
@@ -16,7 +17,8 @@ logger = logging.getLogger(__name__)
|
|||||||
# Map service types to provider classes
|
# Map service types to provider classes
|
||||||
PROVIDER_MAPPING = {
|
PROVIDER_MAPPING = {
|
||||||
"synth_finance": SynthFinanceProvider,
|
"synth_finance": SynthFinanceProvider,
|
||||||
"coingecko": CoinGeckoProvider,
|
"coingecko_free": CoinGeckoFreeProvider,
|
||||||
|
"coingecko_pro": CoinGeckoProProvider,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -31,7 +33,7 @@ class ExchangeRateFetcher:
|
|||||||
If False, only fetches services that are due according to their interval.
|
If False, only fetches services that are due according to their interval.
|
||||||
"""
|
"""
|
||||||
services = ExchangeRateService.objects.filter(is_active=True)
|
services = ExchangeRateService.objects.filter(is_active=True)
|
||||||
current_time = timezone.now()
|
current_time = timezone.now().replace(minute=0, second=0, microsecond=0)
|
||||||
|
|
||||||
for service in services:
|
for service in services:
|
||||||
try:
|
try:
|
||||||
@@ -47,9 +49,9 @@ class ExchangeRateFetcher:
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
# Calculate when the next fetch should occur
|
# Calculate when the next fetch should occur
|
||||||
next_fetch_due = service.last_fetch + timedelta(
|
next_fetch_due = (
|
||||||
hours=service.fetch_interval_hours
|
service.last_fetch + timedelta(hours=service.fetch_interval_hours)
|
||||||
)
|
).replace(minute=0, second=0, microsecond=0)
|
||||||
|
|
||||||
# Check if it's time for the next fetch
|
# Check if it's time for the next fetch
|
||||||
if current_time >= next_fetch_due:
|
if current_time >= next_fetch_due:
|
||||||
|
|||||||
@@ -77,8 +77,8 @@ class SynthFinanceProvider(ExchangeRateProvider):
|
|||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
class CoinGeckoProvider(ExchangeRateProvider):
|
class CoinGeckoFreeProvider(ExchangeRateProvider):
|
||||||
"""Implementation for CoinGecko API"""
|
"""Implementation for CoinGecko Free API"""
|
||||||
|
|
||||||
BASE_URL = "https://api.coingecko.com/api/v3"
|
BASE_URL = "https://api.coingecko.com/api/v3"
|
||||||
rates_inverted = True
|
rates_inverted = True
|
||||||
@@ -138,3 +138,15 @@ class CoinGeckoProvider(ExchangeRateProvider):
|
|||||||
logger.error(f"Error fetching rates from CoinGecko API: {e}")
|
logger.error(f"Error fetching rates from CoinGecko API: {e}")
|
||||||
|
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
|
class CoinGeckoProProvider(CoinGeckoFreeProvider):
|
||||||
|
"""Implementation for CoinGecko Pro API"""
|
||||||
|
|
||||||
|
BASE_URL = "https://pro-api.coingecko.com/api/v3/simple/price"
|
||||||
|
rates_inverted = True
|
||||||
|
|
||||||
|
def __init__(self, api_key: str):
|
||||||
|
super().__init__(api_key)
|
||||||
|
self.session = requests.Session()
|
||||||
|
self.session.headers.update({"x-cg-pro-api-key": api_key})
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
from crispy_bootstrap5.bootstrap5 import Switch
|
||||||
from crispy_forms.bootstrap import FormActions
|
from crispy_forms.bootstrap import FormActions
|
||||||
from crispy_forms.helper import FormHelper
|
from crispy_forms.helper import FormHelper
|
||||||
from crispy_forms.layout import Layout
|
from crispy_forms.layout import Layout
|
||||||
@@ -9,7 +10,7 @@ from apps.common.widgets.crispy.submit import NoClassSubmit
|
|||||||
from apps.common.widgets.datepicker import AirDateTimePickerInput
|
from apps.common.widgets.datepicker import AirDateTimePickerInput
|
||||||
from apps.common.widgets.decimal import ArbitraryDecimalDisplayNumberInput
|
from apps.common.widgets.decimal import ArbitraryDecimalDisplayNumberInput
|
||||||
from apps.common.widgets.tom_select import TomSelect
|
from apps.common.widgets.tom_select import TomSelect
|
||||||
from apps.currencies.models import Currency, ExchangeRate
|
from apps.currencies.models import Currency, ExchangeRate, ExchangeRateService
|
||||||
|
|
||||||
|
|
||||||
class CurrencyForm(forms.ModelForm):
|
class CurrencyForm(forms.ModelForm):
|
||||||
@@ -99,3 +100,50 @@ class ExchangeRateForm(forms.ModelForm):
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ExchangeRateServiceForm(forms.ModelForm):
|
||||||
|
class Meta:
|
||||||
|
model = ExchangeRateService
|
||||||
|
fields = [
|
||||||
|
"name",
|
||||||
|
"service_type",
|
||||||
|
"is_active",
|
||||||
|
"api_key",
|
||||||
|
"fetch_interval_hours",
|
||||||
|
"target_currencies",
|
||||||
|
"target_accounts",
|
||||||
|
]
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
self.helper = FormHelper()
|
||||||
|
self.helper.form_tag = False
|
||||||
|
self.helper.form_method = "post"
|
||||||
|
self.helper.layout = Layout(
|
||||||
|
"name",
|
||||||
|
"service_type",
|
||||||
|
Switch("is_active"),
|
||||||
|
"api_key",
|
||||||
|
"fetch_interval_hours",
|
||||||
|
"target_currencies",
|
||||||
|
"target_accounts",
|
||||||
|
)
|
||||||
|
|
||||||
|
if self.instance and self.instance.pk:
|
||||||
|
self.helper.layout.append(
|
||||||
|
FormActions(
|
||||||
|
NoClassSubmit(
|
||||||
|
"submit", _("Update"), css_class="btn btn-outline-primary w-100"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
self.helper.layout.append(
|
||||||
|
FormActions(
|
||||||
|
NoClassSubmit(
|
||||||
|
"submit", _("Add"), css_class="btn btn-outline-primary w-100"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|||||||
@@ -91,7 +91,8 @@ class ExchangeRateService(models.Model):
|
|||||||
|
|
||||||
class ServiceType(models.TextChoices):
|
class ServiceType(models.TextChoices):
|
||||||
SYNTH_FINANCE = "synth_finance", "Synth Finance"
|
SYNTH_FINANCE = "synth_finance", "Synth Finance"
|
||||||
COINGECKO = "coingecko", "CoinGecko"
|
COINGECKO_FREE = "coingecko_free", "CoinGecko (Demo/Free)"
|
||||||
|
COINGECKO_PRO = "coingecko_pro", "CoinGecko (Pro)"
|
||||||
|
|
||||||
name = models.CharField(max_length=255, unique=True, verbose_name=_("Service Name"))
|
name = models.CharField(max_length=255, unique=True, verbose_name=_("Service Name"))
|
||||||
service_type = models.CharField(
|
service_type = models.CharField(
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from procrastinate.contrib.django import app
|
from procrastinate.contrib.django import app
|
||||||
|
|
||||||
from apps.currencies.exchange_rates.fetcher import ExchangeRateFetcher
|
from apps.currencies.exchange_rates.fetcher import ExchangeRateFetcher
|
||||||
from apps.currencies.models import ExchangeRateService
|
|
||||||
from django.utils import timezone
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -34,4 +34,34 @@ urlpatterns = [
|
|||||||
views.exchange_rate_delete,
|
views.exchange_rate_delete,
|
||||||
name="exchange_rate_delete",
|
name="exchange_rate_delete",
|
||||||
),
|
),
|
||||||
|
path(
|
||||||
|
"automatic-exchange-rates/",
|
||||||
|
views.exchange_rates_services_index,
|
||||||
|
name="automatic_exchange_rates_index",
|
||||||
|
),
|
||||||
|
path(
|
||||||
|
"automatic-exchange-rates/list/",
|
||||||
|
views.exchange_rates_services_list,
|
||||||
|
name="automatic_exchange_rates_list",
|
||||||
|
),
|
||||||
|
path(
|
||||||
|
"automatic-exchange-rates/add/",
|
||||||
|
views.exchange_rate_service_add,
|
||||||
|
name="automatic_exchange_rate_add",
|
||||||
|
),
|
||||||
|
path(
|
||||||
|
"automatic-exchange-rates/force-fetch/",
|
||||||
|
views.exchange_rate_service_force_fetch,
|
||||||
|
name="automatic_exchange_rate_force_fetch",
|
||||||
|
),
|
||||||
|
path(
|
||||||
|
"automatic-exchange-rates/<int:pk>/edit/",
|
||||||
|
views.exchange_rate_service_edit,
|
||||||
|
name="automatic_exchange_rate_edit",
|
||||||
|
),
|
||||||
|
path(
|
||||||
|
"automatic-exchange-rates/<int:pk>/delete/",
|
||||||
|
views.exchange_rate_service_delete,
|
||||||
|
name="automatic_exchange_rate_delete",
|
||||||
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
from .currencies import *
|
from .currencies import *
|
||||||
from .exchange_rates import *
|
from .exchange_rates import *
|
||||||
|
from .exchange_rates_services import *
|
||||||
|
|||||||
122
app/apps/currencies/views/exchange_rates_services.py
Normal file
122
app/apps/currencies/views/exchange_rates_services.py
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
from django.contrib import messages
|
||||||
|
from django.contrib.auth.decorators import login_required
|
||||||
|
from django.db.models import CharField, Value
|
||||||
|
from django.db.models.functions import Concat
|
||||||
|
from django.http import HttpResponse
|
||||||
|
from django.shortcuts import render, get_object_or_404
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
from django.views.decorators.http import require_http_methods
|
||||||
|
|
||||||
|
from apps.common.decorators.htmx import only_htmx
|
||||||
|
from apps.currencies.forms import ExchangeRateForm, ExchangeRateServiceForm
|
||||||
|
from apps.currencies.models import ExchangeRate, ExchangeRateService
|
||||||
|
from apps.currencies.tasks import manual_fetch_exchange_rates
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
@require_http_methods(["GET"])
|
||||||
|
def exchange_rates_services_index(request):
|
||||||
|
return render(
|
||||||
|
request,
|
||||||
|
"exchange_rates_services/pages/index.html",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@only_htmx
|
||||||
|
@login_required
|
||||||
|
@require_http_methods(["GET"])
|
||||||
|
def exchange_rates_services_list(request):
|
||||||
|
services = ExchangeRateService.objects.all()
|
||||||
|
|
||||||
|
return render(
|
||||||
|
request,
|
||||||
|
"exchange_rates_services/fragments/list.html",
|
||||||
|
{"services": services},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@only_htmx
|
||||||
|
@login_required
|
||||||
|
@require_http_methods(["GET", "POST"])
|
||||||
|
def exchange_rate_service_add(request):
|
||||||
|
if request.method == "POST":
|
||||||
|
form = ExchangeRateServiceForm(request.POST)
|
||||||
|
if form.is_valid():
|
||||||
|
form.save()
|
||||||
|
messages.success(request, _("Service added successfully"))
|
||||||
|
|
||||||
|
return HttpResponse(
|
||||||
|
status=204,
|
||||||
|
headers={
|
||||||
|
"HX-Trigger": "updated, hide_offcanvas",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
form = ExchangeRateServiceForm()
|
||||||
|
|
||||||
|
return render(
|
||||||
|
request,
|
||||||
|
"exchange_rates_services/fragments/add.html",
|
||||||
|
{"form": form},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@only_htmx
|
||||||
|
@login_required
|
||||||
|
@require_http_methods(["GET", "POST"])
|
||||||
|
def exchange_rate_service_edit(request, pk):
|
||||||
|
service = get_object_or_404(ExchangeRateService, id=pk)
|
||||||
|
|
||||||
|
if request.method == "POST":
|
||||||
|
form = ExchangeRateServiceForm(request.POST, instance=service)
|
||||||
|
if form.is_valid():
|
||||||
|
form.save()
|
||||||
|
messages.success(request, _("Service updated successfully"))
|
||||||
|
|
||||||
|
return HttpResponse(
|
||||||
|
status=204,
|
||||||
|
headers={
|
||||||
|
"HX-Trigger": "updated, hide_offcanvas",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
form = ExchangeRateServiceForm(instance=service)
|
||||||
|
|
||||||
|
return render(
|
||||||
|
request,
|
||||||
|
"exchange_rates_services/fragments/edit.html",
|
||||||
|
{"form": form, "service": service},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@only_htmx
|
||||||
|
@login_required
|
||||||
|
@require_http_methods(["DELETE"])
|
||||||
|
def exchange_rate_service_delete(request, pk):
|
||||||
|
service = get_object_or_404(ExchangeRateService, id=pk)
|
||||||
|
|
||||||
|
service.delete()
|
||||||
|
|
||||||
|
messages.success(request, _("Service deleted successfully"))
|
||||||
|
|
||||||
|
return HttpResponse(
|
||||||
|
status=204,
|
||||||
|
headers={
|
||||||
|
"HX-Trigger": "updated, hide_offcanvas",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@only_htmx
|
||||||
|
@login_required
|
||||||
|
@require_http_methods(["GET"])
|
||||||
|
def exchange_rate_service_force_fetch(request):
|
||||||
|
manual_fetch_exchange_rates.defer()
|
||||||
|
messages.success(request, _("Services queued successfully"))
|
||||||
|
|
||||||
|
return HttpResponse(
|
||||||
|
status=204,
|
||||||
|
headers={
|
||||||
|
"HX-Trigger": "toasts",
|
||||||
|
},
|
||||||
|
)
|
||||||
@@ -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-02-01 22:04+0000\n"
|
"POT-Creation-Date: 2025-02-04 03:20+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"
|
||||||
@@ -23,23 +23,24 @@ msgid "Group name"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/accounts/forms.py:40 apps/accounts/forms.py:96
|
#: apps/accounts/forms.py:40 apps/accounts/forms.py:96
|
||||||
#: apps/currencies/forms.py:52 apps/currencies/forms.py:90 apps/dca/forms.py:41
|
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
|
||||||
#: apps/dca/forms.py:93 apps/import_app/forms.py:34 apps/rules/forms.py:45
|
#: apps/currencies/forms.py:138 apps/dca/forms.py:41 apps/dca/forms.py:93
|
||||||
#: apps/rules/forms.py:87 apps/transactions/forms.py:190
|
#: apps/import_app/forms.py:34 apps/rules/forms.py:45 apps/rules/forms.py:87
|
||||||
#: apps/transactions/forms.py:257 apps/transactions/forms.py:581
|
#: apps/transactions/forms.py:190 apps/transactions/forms.py:257
|
||||||
#: apps/transactions/forms.py:624 apps/transactions/forms.py:656
|
#: apps/transactions/forms.py:581 apps/transactions/forms.py:624
|
||||||
#: apps/transactions/forms.py:691 apps/transactions/forms.py:827
|
#: apps/transactions/forms.py:656 apps/transactions/forms.py:691
|
||||||
|
#: apps/transactions/forms.py:827
|
||||||
msgid "Update"
|
msgid "Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/accounts/forms.py:48 apps/accounts/forms.py:104
|
#: apps/accounts/forms.py:48 apps/accounts/forms.py:104
|
||||||
#: apps/common/widgets/tom_select.py:12 apps/currencies/forms.py:60
|
#: apps/common/widgets/tom_select.py:12 apps/currencies/forms.py:61
|
||||||
#: apps/currencies/forms.py:98 apps/dca/forms.py:49 apps/dca/forms.py:102
|
#: apps/currencies/forms.py:99 apps/currencies/forms.py:146
|
||||||
#: apps/import_app/forms.py:42 apps/rules/forms.py:53 apps/rules/forms.py:95
|
#: apps/dca/forms.py:49 apps/dca/forms.py:102 apps/import_app/forms.py:42
|
||||||
#: apps/transactions/forms.py:174 apps/transactions/forms.py:199
|
#: apps/rules/forms.py:53 apps/rules/forms.py:95 apps/transactions/forms.py:174
|
||||||
#: apps/transactions/forms.py:589 apps/transactions/forms.py:632
|
#: apps/transactions/forms.py:199 apps/transactions/forms.py:589
|
||||||
#: apps/transactions/forms.py:664 apps/transactions/forms.py:699
|
#: apps/transactions/forms.py:632 apps/transactions/forms.py:664
|
||||||
#: apps/transactions/forms.py:835
|
#: apps/transactions/forms.py:699 apps/transactions/forms.py:835
|
||||||
#: templates/account_groups/fragments/list.html:9
|
#: templates/account_groups/fragments/list.html:9
|
||||||
#: templates/accounts/fragments/list.html:9
|
#: templates/accounts/fragments/list.html:9
|
||||||
#: templates/categories/fragments/list.html:9
|
#: templates/categories/fragments/list.html:9
|
||||||
@@ -48,6 +49,7 @@ msgstr ""
|
|||||||
#: templates/dca/fragments/strategy/list.html:9
|
#: templates/dca/fragments/strategy/list.html:9
|
||||||
#: templates/entities/fragments/list.html:9
|
#: templates/entities/fragments/list.html:9
|
||||||
#: templates/exchange_rates/fragments/list.html:10
|
#: templates/exchange_rates/fragments/list.html:10
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:10
|
||||||
#: templates/import_app/fragments/profiles/list.html:7
|
#: templates/import_app/fragments/profiles/list.html:7
|
||||||
#: templates/import_app/fragments/profiles/list.html:10
|
#: templates/import_app/fragments/profiles/list.html:10
|
||||||
#: templates/installment_plans/fragments/list.html:9
|
#: templates/installment_plans/fragments/list.html:9
|
||||||
@@ -69,7 +71,7 @@ msgstr ""
|
|||||||
#: apps/transactions/forms.py:39 apps/transactions/forms.py:291
|
#: apps/transactions/forms.py:39 apps/transactions/forms.py:291
|
||||||
#: apps/transactions/forms.py:298 apps/transactions/forms.py:478
|
#: apps/transactions/forms.py:298 apps/transactions/forms.py:478
|
||||||
#: apps/transactions/forms.py:723 apps/transactions/models.py:159
|
#: apps/transactions/forms.py:723 apps/transactions/models.py:159
|
||||||
#: apps/transactions/models.py:314 apps/transactions/models.py:494
|
#: apps/transactions/models.py:328 apps/transactions/models.py:508
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -77,8 +79,8 @@ msgstr ""
|
|||||||
#: apps/transactions/filters.py:74 apps/transactions/forms.py:47
|
#: apps/transactions/filters.py:74 apps/transactions/forms.py:47
|
||||||
#: apps/transactions/forms.py:307 apps/transactions/forms.py:315
|
#: apps/transactions/forms.py:307 apps/transactions/forms.py:315
|
||||||
#: apps/transactions/forms.py:471 apps/transactions/forms.py:716
|
#: apps/transactions/forms.py:471 apps/transactions/forms.py:716
|
||||||
#: apps/transactions/models.py:165 apps/transactions/models.py:316
|
#: apps/transactions/models.py:165 apps/transactions/models.py:330
|
||||||
#: apps/transactions/models.py:498 templates/includes/navbar.html:105
|
#: apps/transactions/models.py:512 templates/includes/navbar.html:105
|
||||||
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -92,6 +94,7 @@ msgstr ""
|
|||||||
#: templates/categories/fragments/table.html:16
|
#: templates/categories/fragments/table.html:16
|
||||||
#: templates/currencies/fragments/list.html:26
|
#: templates/currencies/fragments/list.html:26
|
||||||
#: templates/entities/fragments/table.html:16
|
#: templates/entities/fragments/table.html:16
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:32
|
||||||
#: templates/import_app/fragments/profiles/list.html:36
|
#: templates/import_app/fragments/profiles/list.html:36
|
||||||
#: templates/installment_plans/fragments/table.html:16
|
#: templates/installment_plans/fragments/table.html:16
|
||||||
#: templates/recurring_transactions/fragments/table.html:18
|
#: templates/recurring_transactions/fragments/table.html:18
|
||||||
@@ -110,17 +113,17 @@ msgstr ""
|
|||||||
msgid "Account Groups"
|
msgid "Account Groups"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/accounts/models.py:31 apps/currencies/models.py:32
|
#: apps/accounts/models.py:31 apps/currencies/models.py:38
|
||||||
#: templates/accounts/fragments/list.html:27
|
#: templates/accounts/fragments/list.html:27
|
||||||
msgid "Currency"
|
msgid "Currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/accounts/models.py:37 apps/currencies/models.py:20
|
#: apps/accounts/models.py:37 apps/currencies/models.py:26
|
||||||
#: templates/accounts/fragments/list.html:28
|
#: templates/accounts/fragments/list.html:28
|
||||||
msgid "Exchange Currency"
|
msgid "Exchange Currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/accounts/models.py:42 apps/currencies/models.py:25
|
#: apps/accounts/models.py:42 apps/currencies/models.py:31
|
||||||
msgid "Default currency for exchange calculations"
|
msgid "Default currency for exchange calculations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -147,7 +150,7 @@ msgstr ""
|
|||||||
#: apps/accounts/models.py:59 apps/rules/models.py:19
|
#: apps/accounts/models.py:59 apps/rules/models.py:19
|
||||||
#: apps/transactions/forms.py:59 apps/transactions/forms.py:463
|
#: apps/transactions/forms.py:59 apps/transactions/forms.py:463
|
||||||
#: apps/transactions/forms.py:708 apps/transactions/models.py:132
|
#: apps/transactions/forms.py:708 apps/transactions/models.py:132
|
||||||
#: apps/transactions/models.py:274 apps/transactions/models.py:476
|
#: apps/transactions/models.py:288 apps/transactions/models.py:490
|
||||||
msgid "Account"
|
msgid "Account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -345,35 +348,36 @@ msgstr ""
|
|||||||
msgid "No results..."
|
msgid "No results..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/forms.py:16 apps/currencies/models.py:15
|
#: apps/currencies/forms.py:17 apps/currencies/models.py:21
|
||||||
msgid "Prefix"
|
msgid "Prefix"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/forms.py:17 apps/currencies/models.py:16
|
#: apps/currencies/forms.py:18 apps/currencies/models.py:22
|
||||||
msgid "Suffix"
|
msgid "Suffix"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/forms.py:68 apps/dca/models.py:156 apps/rules/models.py:22
|
#: apps/currencies/forms.py:69 apps/dca/models.py:156 apps/rules/models.py:22
|
||||||
#: apps/transactions/forms.py:63 apps/transactions/forms.py:319
|
#: apps/transactions/forms.py:63 apps/transactions/forms.py:319
|
||||||
#: apps/transactions/models.py:142
|
#: apps/transactions/models.py:142
|
||||||
#: templates/dca/fragments/strategy/details.html:52
|
#: templates/dca/fragments/strategy/details.html:52
|
||||||
#: templates/exchange_rates/fragments/table.html:10
|
#: templates/exchange_rates/fragments/table.html:10
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:10
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:8
|
#: apps/currencies/models.py:13
|
||||||
msgid "Currency Code"
|
msgid "Currency Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:9
|
#: apps/currencies/models.py:15
|
||||||
msgid "Currency Name"
|
msgid "Currency Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:13
|
#: apps/currencies/models.py:19
|
||||||
msgid "Decimal Places"
|
msgid "Decimal Places"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:33 apps/transactions/filters.py:60
|
#: apps/currencies/models.py:39 apps/transactions/filters.py:60
|
||||||
#: templates/currencies/fragments/list.html:5
|
#: templates/currencies/fragments/list.html:5
|
||||||
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:119
|
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:119
|
||||||
#: templates/includes/navbar.html:121
|
#: templates/includes/navbar.html:121
|
||||||
@@ -383,36 +387,97 @@ msgstr ""
|
|||||||
msgid "Currencies"
|
msgid "Currencies"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:41
|
#: apps/currencies/models.py:47
|
||||||
msgid "Currency cannot have itself as exchange currency."
|
msgid "Currency cannot have itself as exchange currency."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:52
|
#: apps/currencies/models.py:58
|
||||||
msgid "From Currency"
|
msgid "From Currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:58
|
#: apps/currencies/models.py:64
|
||||||
msgid "To Currency"
|
msgid "To Currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:61 apps/currencies/models.py:66
|
#: apps/currencies/models.py:67 apps/currencies/models.py:72
|
||||||
msgid "Exchange Rate"
|
msgid "Exchange Rate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:63
|
#: apps/currencies/models.py:69
|
||||||
msgid "Date and Time"
|
msgid "Date and Time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:67 templates/exchange_rates/fragments/list.html:6
|
#: apps/currencies/models.py:73 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:123
|
#: templates/includes/navbar.html:123
|
||||||
msgid "Exchange Rates"
|
msgid "Exchange Rates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/models.py:79
|
#: apps/currencies/models.py:85
|
||||||
msgid "From and To currencies cannot be the same."
|
msgid "From and To currencies cannot be the same."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:97
|
||||||
|
msgid "Service Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:99
|
||||||
|
msgid "Service Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:101 apps/transactions/models.py:71
|
||||||
|
#: apps/transactions/models.py:90 apps/transactions/models.py:109
|
||||||
|
#: templates/categories/fragments/list.html:21
|
||||||
|
#: templates/entities/fragments/list.html:21
|
||||||
|
#: templates/recurring_transactions/fragments/list.html:21
|
||||||
|
#: templates/tags/fragments/list.html:21
|
||||||
|
msgid "Active"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:106
|
||||||
|
msgid "API Key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:107
|
||||||
|
msgid "API key for the service (if required)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:112
|
||||||
|
msgid "Fetch Interval (hours)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:115
|
||||||
|
msgid "Last Successful Fetch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:120
|
||||||
|
msgid "Target Currencies"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:122
|
||||||
|
msgid ""
|
||||||
|
"Select currencies to fetch exchange rates for. Rates will be fetched for "
|
||||||
|
"each currency against their set exchange currency."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:130
|
||||||
|
msgid "Target Accounts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:132
|
||||||
|
msgid ""
|
||||||
|
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
|
||||||
|
"account's currency against their set exchange currency."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:139
|
||||||
|
msgid "Exchange Rate Service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:140
|
||||||
|
msgid "Exchange Rate Services"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: apps/currencies/views/currencies.py:42
|
#: apps/currencies/views/currencies.py:42
|
||||||
msgid "Currency added successfully"
|
msgid "Currency added successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -437,6 +502,22 @@ msgstr ""
|
|||||||
msgid "Exchange rate deleted successfully"
|
msgid "Exchange rate deleted successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:46
|
||||||
|
msgid "Service added successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:74
|
||||||
|
msgid "Service updated successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:100
|
||||||
|
msgid "Service deleted successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:115
|
||||||
|
msgid "Services queued successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: apps/dca/models.py:17
|
#: apps/dca/models.py:17
|
||||||
msgid "Target Currency"
|
msgid "Target Currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -447,7 +528,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: apps/dca/models.py:27 apps/dca/models.py:179 apps/rules/models.py:26
|
#: apps/dca/models.py:27 apps/dca/models.py:179 apps/rules/models.py:26
|
||||||
#: apps/transactions/forms.py:333 apps/transactions/models.py:155
|
#: apps/transactions/forms.py:333 apps/transactions/models.py:155
|
||||||
#: apps/transactions/models.py:323 apps/transactions/models.py:504
|
#: apps/transactions/models.py:337 apps/transactions/models.py:518
|
||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -611,7 +692,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: apps/rules/models.py:10 apps/rules/models.py:25
|
#: apps/rules/models.py:10 apps/rules/models.py:25
|
||||||
#: apps/transactions/forms.py:325 apps/transactions/models.py:153
|
#: apps/transactions/forms.py:325 apps/transactions/models.py:153
|
||||||
#: apps/transactions/models.py:281 apps/transactions/models.py:490
|
#: apps/transactions/models.py:295 apps/transactions/models.py:504
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -620,7 +701,7 @@ msgid "Trigger"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/rules/models.py:20 apps/transactions/models.py:139
|
#: apps/rules/models.py:20 apps/transactions/models.py:139
|
||||||
#: apps/transactions/models.py:279 apps/transactions/models.py:482
|
#: apps/transactions/models.py:293 apps/transactions/models.py:496
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -634,21 +715,21 @@ msgstr ""
|
|||||||
|
|
||||||
#: apps/rules/models.py:23 apps/transactions/forms.py:66
|
#: apps/rules/models.py:23 apps/transactions/forms.py:66
|
||||||
#: apps/transactions/forms.py:322 apps/transactions/forms.py:492
|
#: apps/transactions/forms.py:322 apps/transactions/forms.py:492
|
||||||
#: apps/transactions/models.py:143 apps/transactions/models.py:297
|
#: apps/transactions/models.py:143 apps/transactions/models.py:311
|
||||||
#: apps/transactions/models.py:506
|
#: apps/transactions/models.py:520
|
||||||
msgid "Reference Date"
|
msgid "Reference Date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/rules/models.py:24 apps/transactions/models.py:148
|
#: apps/rules/models.py:24 apps/transactions/models.py:148
|
||||||
#: apps/transactions/models.py:487
|
#: apps/transactions/models.py:501
|
||||||
msgid "Amount"
|
msgid "Amount"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/rules/models.py:29 apps/transactions/filters.py:81
|
#: apps/rules/models.py:29 apps/transactions/filters.py:81
|
||||||
#: apps/transactions/forms.py:55 apps/transactions/forms.py:486
|
#: apps/transactions/forms.py:55 apps/transactions/forms.py:486
|
||||||
#: apps/transactions/forms.py:731 apps/transactions/models.py:117
|
#: apps/transactions/forms.py:731 apps/transactions/models.py:117
|
||||||
#: apps/transactions/models.py:170 apps/transactions/models.py:319
|
#: apps/transactions/models.py:170 apps/transactions/models.py:333
|
||||||
#: apps/transactions/models.py:501 templates/entities/fragments/list.html:5
|
#: apps/transactions/models.py:515 templates/entities/fragments/list.html:5
|
||||||
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:107
|
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:107
|
||||||
msgid "Entities"
|
msgid "Entities"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -786,14 +867,6 @@ msgstr ""
|
|||||||
msgid "Mute"
|
msgid "Mute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:71 apps/transactions/models.py:90
|
|
||||||
#: apps/transactions/models.py:109 templates/categories/fragments/list.html:21
|
|
||||||
#: templates/entities/fragments/list.html:21
|
|
||||||
#: templates/recurring_transactions/fragments/list.html:21
|
|
||||||
#: templates/tags/fragments/list.html:21
|
|
||||||
msgid "Active"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: apps/transactions/models.py:73
|
#: apps/transactions/models.py:73
|
||||||
msgid ""
|
msgid ""
|
||||||
"Deactivated categories won't be able to be selected when creating new "
|
"Deactivated categories won't be able to be selected when creating new "
|
||||||
@@ -846,11 +919,11 @@ msgstr ""
|
|||||||
msgid "Expense"
|
msgid "Expense"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:181 apps/transactions/models.py:326
|
#: apps/transactions/models.py:181 apps/transactions/models.py:340
|
||||||
msgid "Installment Plan"
|
msgid "Installment Plan"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:190 apps/transactions/models.py:527
|
#: apps/transactions/models.py:190 apps/transactions/models.py:541
|
||||||
msgid "Recurring Transaction"
|
msgid "Recurring Transaction"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -882,95 +955,95 @@ msgstr ""
|
|||||||
msgid "Transactions"
|
msgid "Transactions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:268
|
#: apps/transactions/models.py:282
|
||||||
msgid "Yearly"
|
msgid "Yearly"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:269 apps/users/models.py:26
|
#: apps/transactions/models.py:283 apps/users/models.py:26
|
||||||
#: templates/includes/navbar.html:26
|
#: templates/includes/navbar.html:26
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:270
|
#: apps/transactions/models.py:284
|
||||||
msgid "Weekly"
|
msgid "Weekly"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:271
|
#: apps/transactions/models.py:285
|
||||||
msgid "Daily"
|
msgid "Daily"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:284
|
#: apps/transactions/models.py:298
|
||||||
msgid "Number of Installments"
|
msgid "Number of Installments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:289
|
#: apps/transactions/models.py:303
|
||||||
msgid "Installment Start"
|
msgid "Installment Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:290
|
#: apps/transactions/models.py:304
|
||||||
msgid "The installment number to start counting from"
|
msgid "The installment number to start counting from"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:295 apps/transactions/models.py:510
|
#: apps/transactions/models.py:309 apps/transactions/models.py:524
|
||||||
msgid "Start Date"
|
msgid "Start Date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:299 apps/transactions/models.py:511
|
#: apps/transactions/models.py:313 apps/transactions/models.py:525
|
||||||
msgid "End Date"
|
msgid "End Date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:304
|
#: apps/transactions/models.py:318
|
||||||
msgid "Recurrence"
|
msgid "Recurrence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:307
|
#: apps/transactions/models.py:321
|
||||||
msgid "Installment Amount"
|
msgid "Installment Amount"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:327 templates/includes/navbar.html:69
|
#: apps/transactions/models.py:341 templates/includes/navbar.html:69
|
||||||
#: templates/installment_plans/fragments/list.html:5
|
#: templates/installment_plans/fragments/list.html:5
|
||||||
#: templates/installment_plans/pages/index.html:4
|
#: templates/installment_plans/pages/index.html:4
|
||||||
msgid "Installment Plans"
|
msgid "Installment Plans"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:469
|
#: apps/transactions/models.py:483
|
||||||
msgid "day(s)"
|
msgid "day(s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:470
|
#: apps/transactions/models.py:484
|
||||||
msgid "week(s)"
|
msgid "week(s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:471
|
#: apps/transactions/models.py:485
|
||||||
msgid "month(s)"
|
msgid "month(s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:472
|
#: apps/transactions/models.py:486
|
||||||
msgid "year(s)"
|
msgid "year(s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:474
|
#: apps/transactions/models.py:488
|
||||||
#: templates/recurring_transactions/fragments/list.html:24
|
#: templates/recurring_transactions/fragments/list.html:24
|
||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:513
|
#: apps/transactions/models.py:527
|
||||||
msgid "Recurrence Type"
|
msgid "Recurrence Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:516
|
#: apps/transactions/models.py:530
|
||||||
msgid "Recurrence Interval"
|
msgid "Recurrence Interval"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:520
|
#: apps/transactions/models.py:534
|
||||||
msgid "Last Generated Date"
|
msgid "Last Generated Date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:523
|
#: apps/transactions/models.py:537
|
||||||
msgid "Last Generated Reference Date"
|
msgid "Last Generated Reference Date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/transactions/models.py:528 templates/includes/navbar.html:71
|
#: apps/transactions/models.py:542 templates/includes/navbar.html:71
|
||||||
#: templates/recurring_transactions/fragments/list.html:5
|
#: templates/recurring_transactions/fragments/list.html:5
|
||||||
#: templates/recurring_transactions/pages/index.html:4
|
#: templates/recurring_transactions/pages/index.html:4
|
||||||
msgid "Recurring Transactions"
|
msgid "Recurring Transactions"
|
||||||
@@ -1171,15 +1244,15 @@ msgstr ""
|
|||||||
msgid "Default"
|
msgid "Default"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/forms.py:91 apps/users/models.py:40
|
#: apps/users/forms.py:91 apps/users/models.py:41
|
||||||
msgid "Date Format"
|
msgid "Date Format"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/forms.py:96 apps/users/models.py:45
|
#: apps/users/forms.py:96 apps/users/models.py:46
|
||||||
msgid "Datetime Format"
|
msgid "Datetime Format"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/forms.py:102 apps/users/models.py:48
|
#: apps/users/forms.py:102 apps/users/models.py:49
|
||||||
msgid "Number Format"
|
msgid "Number Format"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1195,51 +1268,55 @@ msgstr ""
|
|||||||
msgid "Yearly by account"
|
msgid "Yearly by account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/models.py:29 templates/includes/navbar.html:40
|
#: apps/users/models.py:29 templates/net_worth/net_worth.html:9
|
||||||
msgid "Net Worth"
|
msgid "Current Net Worth"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/models.py:30
|
#: apps/users/models.py:30 templates/net_worth/net_worth.html:9
|
||||||
|
msgid "Projected Net Worth"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/users/models.py:31
|
||||||
msgid "All Transactions"
|
msgid "All Transactions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/models.py:31 templates/includes/navbar.html:32
|
#: apps/users/models.py:32 templates/includes/navbar.html:32
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/models.py:53 apps/users/models.py:59
|
#: apps/users/models.py:54 apps/users/models.py:60
|
||||||
msgid "Auto"
|
msgid "Auto"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/models.py:55
|
#: apps/users/models.py:56
|
||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/models.py:61
|
#: apps/users/models.py:62
|
||||||
msgid "Time Zone"
|
msgid "Time Zone"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/models.py:67
|
#: apps/users/models.py:68
|
||||||
msgid "Start page"
|
msgid "Start page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/views.py:60
|
#: apps/users/views.py:62
|
||||||
msgid "Transaction amounts are now hidden"
|
msgid "Transaction amounts are now hidden"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/views.py:63
|
#: apps/users/views.py:65
|
||||||
msgid "Transaction amounts are now displayed"
|
msgid "Transaction amounts are now displayed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/views.py:81
|
#: apps/users/views.py:83
|
||||||
msgid "Sounds are now muted"
|
msgid "Sounds are now muted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/views.py:84
|
#: apps/users/views.py:86
|
||||||
msgid "Sounds will now play"
|
msgid "Sounds will now play"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/users/views.py:100
|
#: apps/users/views.py:102
|
||||||
msgid "Your settings have been updated"
|
msgid "Your settings have been updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1258,6 +1335,8 @@ msgstr ""
|
|||||||
#: templates/dca/fragments/strategy/details.html:63
|
#: templates/dca/fragments/strategy/details.html:63
|
||||||
#: templates/entities/fragments/table.html:23
|
#: templates/entities/fragments/table.html:23
|
||||||
#: templates/exchange_rates/fragments/table.html:19
|
#: templates/exchange_rates/fragments/table.html:19
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:43
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:19
|
||||||
#: templates/import_app/fragments/profiles/list.html:44
|
#: templates/import_app/fragments/profiles/list.html:44
|
||||||
#: templates/installment_plans/fragments/table.html:23
|
#: templates/installment_plans/fragments/table.html:23
|
||||||
#: templates/recurring_transactions/fragments/table.html:25
|
#: templates/recurring_transactions/fragments/table.html:25
|
||||||
@@ -1276,6 +1355,8 @@ msgstr ""
|
|||||||
#: templates/dca/fragments/strategy/list.html:34
|
#: templates/dca/fragments/strategy/list.html:34
|
||||||
#: templates/entities/fragments/table.html:28
|
#: templates/entities/fragments/table.html:28
|
||||||
#: templates/exchange_rates/fragments/table.html:23
|
#: templates/exchange_rates/fragments/table.html:23
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:47
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:23
|
||||||
#: templates/import_app/fragments/profiles/list.html:48
|
#: templates/import_app/fragments/profiles/list.html:48
|
||||||
#: templates/installment_plans/fragments/table.html:27
|
#: templates/installment_plans/fragments/table.html:27
|
||||||
#: templates/recurring_transactions/fragments/table.html:29
|
#: templates/recurring_transactions/fragments/table.html:29
|
||||||
@@ -1297,6 +1378,8 @@ msgstr ""
|
|||||||
#: templates/dca/fragments/strategy/list.html:42
|
#: templates/dca/fragments/strategy/list.html:42
|
||||||
#: templates/entities/fragments/table.html:36
|
#: templates/entities/fragments/table.html:36
|
||||||
#: templates/exchange_rates/fragments/table.html:31
|
#: templates/exchange_rates/fragments/table.html:31
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:54
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:31
|
||||||
#: templates/import_app/fragments/profiles/list.html:69
|
#: templates/import_app/fragments/profiles/list.html:69
|
||||||
#: templates/import_app/fragments/runs/list.html:102
|
#: templates/import_app/fragments/runs/list.html:102
|
||||||
#: templates/installment_plans/fragments/table.html:56
|
#: templates/installment_plans/fragments/table.html:56
|
||||||
@@ -1320,6 +1403,8 @@ msgstr ""
|
|||||||
#: templates/dca/fragments/strategy/list.html:46
|
#: templates/dca/fragments/strategy/list.html:46
|
||||||
#: templates/entities/fragments/table.html:40
|
#: templates/entities/fragments/table.html:40
|
||||||
#: templates/exchange_rates/fragments/table.html:36
|
#: templates/exchange_rates/fragments/table.html:36
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:58
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:36
|
||||||
#: templates/import_app/fragments/profiles/list.html:73
|
#: templates/import_app/fragments/profiles/list.html:73
|
||||||
#: templates/import_app/fragments/runs/list.html:106
|
#: templates/import_app/fragments/runs/list.html:106
|
||||||
#: templates/installment_plans/fragments/table.html:48
|
#: templates/installment_plans/fragments/table.html:48
|
||||||
@@ -1346,6 +1431,8 @@ msgstr ""
|
|||||||
#: templates/dca/fragments/strategy/list.html:47
|
#: templates/dca/fragments/strategy/list.html:47
|
||||||
#: templates/entities/fragments/table.html:41
|
#: templates/entities/fragments/table.html:41
|
||||||
#: templates/exchange_rates/fragments/table.html:37
|
#: templates/exchange_rates/fragments/table.html:37
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:59
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:37
|
||||||
#: templates/import_app/fragments/profiles/list.html:74
|
#: templates/import_app/fragments/profiles/list.html:74
|
||||||
#: templates/rules/fragments/list.html:49
|
#: templates/rules/fragments/list.html:49
|
||||||
#: templates/rules/fragments/transaction_rule/view.html:61
|
#: templates/rules/fragments/transaction_rule/view.html:61
|
||||||
@@ -1363,6 +1450,8 @@ msgstr ""
|
|||||||
#: templates/dca/fragments/strategy/list.html:48
|
#: templates/dca/fragments/strategy/list.html:48
|
||||||
#: templates/entities/fragments/table.html:42
|
#: templates/entities/fragments/table.html:42
|
||||||
#: templates/exchange_rates/fragments/table.html:38
|
#: templates/exchange_rates/fragments/table.html:38
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:60
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:38
|
||||||
#: templates/import_app/fragments/profiles/list.html:75
|
#: templates/import_app/fragments/profiles/list.html:75
|
||||||
#: templates/import_app/fragments/runs/list.html:108
|
#: templates/import_app/fragments/runs/list.html:108
|
||||||
#: templates/installment_plans/fragments/table.html:62
|
#: templates/installment_plans/fragments/table.html:62
|
||||||
@@ -1494,37 +1583,37 @@ msgid "Restore"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:15
|
#: templates/cotton/ui/account_card.html:15
|
||||||
#: templates/cotton/ui/currency_card.html:13
|
#: templates/cotton/ui/currency_card.html:10
|
||||||
msgid "projected income"
|
msgid "projected income"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:37
|
#: templates/cotton/ui/account_card.html:37
|
||||||
#: templates/cotton/ui/currency_card.html:35
|
#: templates/cotton/ui/currency_card.html:32
|
||||||
msgid "projected expenses"
|
msgid "projected expenses"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:61
|
#: templates/cotton/ui/account_card.html:61
|
||||||
#: templates/cotton/ui/currency_card.html:59
|
#: templates/cotton/ui/currency_card.html:56
|
||||||
msgid "projected total"
|
msgid "projected total"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:86
|
#: templates/cotton/ui/account_card.html:86
|
||||||
#: templates/cotton/ui/currency_card.html:84
|
#: templates/cotton/ui/currency_card.html:81
|
||||||
msgid "current income"
|
msgid "current income"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:108
|
#: templates/cotton/ui/account_card.html:108
|
||||||
#: templates/cotton/ui/currency_card.html:106
|
#: templates/cotton/ui/currency_card.html:103
|
||||||
msgid "current expenses"
|
msgid "current expenses"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:130
|
#: templates/cotton/ui/account_card.html:130
|
||||||
#: templates/cotton/ui/currency_card.html:128
|
#: templates/cotton/ui/currency_card.html:125
|
||||||
msgid "current total"
|
msgid "current total"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:156
|
#: templates/cotton/ui/account_card.html:156
|
||||||
#: templates/cotton/ui/currency_card.html:154
|
#: templates/cotton/ui/currency_card.html:151
|
||||||
msgid "final total"
|
msgid "final total"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1778,10 +1867,12 @@ msgid "No entities"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/add.html:5
|
#: templates/exchange_rates/fragments/add.html:5
|
||||||
|
#: templates/exchange_rates_services/fragments/add.html:5
|
||||||
msgid "Add exchange rate"
|
msgid "Add exchange rate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/edit.html:5
|
#: templates/exchange_rates/fragments/edit.html:5
|
||||||
|
#: templates/exchange_rates_services/fragments/edit.html:5
|
||||||
msgid "Edit exchange rate"
|
msgid "Edit exchange rate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1794,22 +1885,68 @@ msgid "All"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:11
|
#: templates/exchange_rates/fragments/table.html:11
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:11
|
||||||
msgid "Pairing"
|
msgid "Pairing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:12
|
#: templates/exchange_rates/fragments/table.html:12
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:12
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:51
|
#: templates/exchange_rates/fragments/table.html:51
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:51
|
||||||
msgid "No exchange rates"
|
msgid "No exchange rates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:58
|
#: templates/exchange_rates/fragments/table.html:58
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:58
|
||||||
#: templates/transactions/fragments/list_all.html:47
|
#: templates/transactions/fragments/list_all.html:47
|
||||||
msgid "Page navigation"
|
msgid "Page navigation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:6
|
||||||
|
#: templates/exchange_rates_services/pages/index.html:4
|
||||||
|
#: templates/includes/navbar.html:133
|
||||||
|
msgid "Automatic Exchange Rates"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:21
|
||||||
|
msgid "Fetch all"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:33
|
||||||
|
msgid "Service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:34
|
||||||
|
msgid "Targeting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:35
|
||||||
|
msgid "Fetch every"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:36
|
||||||
|
msgid "Last fetch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:68
|
||||||
|
msgid "currencies"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:68
|
||||||
|
msgid "accounts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:69
|
||||||
|
msgid "hours"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:77
|
||||||
|
msgid "No services configured"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: templates/import_app/fragments/profiles/add.html:6
|
#: templates/import_app/fragments/profiles/add.html:6
|
||||||
msgid "Add new import profile"
|
msgid "Add new import profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1907,6 +2044,10 @@ msgstr ""
|
|||||||
msgid "Overview"
|
msgid "Overview"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/includes/navbar.html:40
|
||||||
|
msgid "Net Worth"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: templates/includes/navbar.html:44
|
#: templates/includes/navbar.html:44
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1948,15 +2089,15 @@ msgstr ""
|
|||||||
msgid "Rules"
|
msgid "Rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/includes/navbar.html:141
|
#: templates/includes/navbar.html:143
|
||||||
msgid "Only use this if you know what you're doing"
|
msgid "Only use this if you know what you're doing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/includes/navbar.html:142
|
#: templates/includes/navbar.html:144
|
||||||
msgid "Django Admin"
|
msgid "Django Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/includes/navbar.html:151
|
#: templates/includes/navbar.html:153
|
||||||
msgid "Calculator"
|
msgid "Calculator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2121,14 +2262,6 @@ msgstr ""
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:9
|
|
||||||
msgid "Current Net Worth"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:9
|
|
||||||
msgid "Projected Net Worth"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:17
|
#: templates/net_worth/net_worth.html:17
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
|
|||||||
@@ -8,7 +8,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-02-01 22:04+0000\n"
|
"POT-Creation-Date: 2025-02-04 03:20+0000\n"
|
||||||
"PO-Revision-Date: 2025-01-29 06:12+0100\n"
|
"PO-Revision-Date: 2025-01-29 06:12+0100\n"
|
||||||
"Last-Translator: Dimitri Decrock <dimitri@fam-decrock.eu>\n"
|
"Last-Translator: Dimitri Decrock <dimitri@fam-decrock.eu>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@@ -24,23 +24,24 @@ msgid "Group name"
|
|||||||
msgstr "Groepsnaam"
|
msgstr "Groepsnaam"
|
||||||
|
|
||||||
#: apps/accounts/forms.py:40 apps/accounts/forms.py:96
|
#: apps/accounts/forms.py:40 apps/accounts/forms.py:96
|
||||||
#: apps/currencies/forms.py:52 apps/currencies/forms.py:90 apps/dca/forms.py:41
|
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
|
||||||
#: apps/dca/forms.py:93 apps/import_app/forms.py:34 apps/rules/forms.py:45
|
#: apps/currencies/forms.py:138 apps/dca/forms.py:41 apps/dca/forms.py:93
|
||||||
#: apps/rules/forms.py:87 apps/transactions/forms.py:190
|
#: apps/import_app/forms.py:34 apps/rules/forms.py:45 apps/rules/forms.py:87
|
||||||
#: apps/transactions/forms.py:257 apps/transactions/forms.py:581
|
#: apps/transactions/forms.py:190 apps/transactions/forms.py:257
|
||||||
#: apps/transactions/forms.py:624 apps/transactions/forms.py:656
|
#: apps/transactions/forms.py:581 apps/transactions/forms.py:624
|
||||||
#: apps/transactions/forms.py:691 apps/transactions/forms.py:827
|
#: apps/transactions/forms.py:656 apps/transactions/forms.py:691
|
||||||
|
#: apps/transactions/forms.py:827
|
||||||
msgid "Update"
|
msgid "Update"
|
||||||
msgstr "Bijwerken"
|
msgstr "Bijwerken"
|
||||||
|
|
||||||
#: apps/accounts/forms.py:48 apps/accounts/forms.py:104
|
#: apps/accounts/forms.py:48 apps/accounts/forms.py:104
|
||||||
#: apps/common/widgets/tom_select.py:12 apps/currencies/forms.py:60
|
#: apps/common/widgets/tom_select.py:12 apps/currencies/forms.py:61
|
||||||
#: apps/currencies/forms.py:98 apps/dca/forms.py:49 apps/dca/forms.py:102
|
#: apps/currencies/forms.py:99 apps/currencies/forms.py:146
|
||||||
#: apps/import_app/forms.py:42 apps/rules/forms.py:53 apps/rules/forms.py:95
|
#: apps/dca/forms.py:49 apps/dca/forms.py:102 apps/import_app/forms.py:42
|
||||||
#: apps/transactions/forms.py:174 apps/transactions/forms.py:199
|
#: apps/rules/forms.py:53 apps/rules/forms.py:95 apps/transactions/forms.py:174
|
||||||
#: apps/transactions/forms.py:589 apps/transactions/forms.py:632
|
#: apps/transactions/forms.py:199 apps/transactions/forms.py:589
|
||||||
#: apps/transactions/forms.py:664 apps/transactions/forms.py:699
|
#: apps/transactions/forms.py:632 apps/transactions/forms.py:664
|
||||||
#: apps/transactions/forms.py:835
|
#: apps/transactions/forms.py:699 apps/transactions/forms.py:835
|
||||||
#: templates/account_groups/fragments/list.html:9
|
#: templates/account_groups/fragments/list.html:9
|
||||||
#: templates/accounts/fragments/list.html:9
|
#: templates/accounts/fragments/list.html:9
|
||||||
#: templates/categories/fragments/list.html:9
|
#: templates/categories/fragments/list.html:9
|
||||||
@@ -49,6 +50,7 @@ msgstr "Bijwerken"
|
|||||||
#: templates/dca/fragments/strategy/list.html:9
|
#: templates/dca/fragments/strategy/list.html:9
|
||||||
#: templates/entities/fragments/list.html:9
|
#: templates/entities/fragments/list.html:9
|
||||||
#: templates/exchange_rates/fragments/list.html:10
|
#: templates/exchange_rates/fragments/list.html:10
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:10
|
||||||
#: templates/import_app/fragments/profiles/list.html:7
|
#: templates/import_app/fragments/profiles/list.html:7
|
||||||
#: templates/import_app/fragments/profiles/list.html:10
|
#: templates/import_app/fragments/profiles/list.html:10
|
||||||
#: templates/installment_plans/fragments/list.html:9
|
#: templates/installment_plans/fragments/list.html:9
|
||||||
@@ -70,7 +72,7 @@ msgstr "Nieuw saldo"
|
|||||||
#: apps/transactions/forms.py:39 apps/transactions/forms.py:291
|
#: apps/transactions/forms.py:39 apps/transactions/forms.py:291
|
||||||
#: apps/transactions/forms.py:298 apps/transactions/forms.py:478
|
#: apps/transactions/forms.py:298 apps/transactions/forms.py:478
|
||||||
#: apps/transactions/forms.py:723 apps/transactions/models.py:159
|
#: apps/transactions/forms.py:723 apps/transactions/models.py:159
|
||||||
#: apps/transactions/models.py:314 apps/transactions/models.py:494
|
#: apps/transactions/models.py:328 apps/transactions/models.py:508
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Categorie"
|
msgstr "Categorie"
|
||||||
|
|
||||||
@@ -78,8 +80,8 @@ msgstr "Categorie"
|
|||||||
#: apps/transactions/filters.py:74 apps/transactions/forms.py:47
|
#: apps/transactions/filters.py:74 apps/transactions/forms.py:47
|
||||||
#: apps/transactions/forms.py:307 apps/transactions/forms.py:315
|
#: apps/transactions/forms.py:307 apps/transactions/forms.py:315
|
||||||
#: apps/transactions/forms.py:471 apps/transactions/forms.py:716
|
#: apps/transactions/forms.py:471 apps/transactions/forms.py:716
|
||||||
#: apps/transactions/models.py:165 apps/transactions/models.py:316
|
#: apps/transactions/models.py:165 apps/transactions/models.py:330
|
||||||
#: apps/transactions/models.py:498 templates/includes/navbar.html:105
|
#: apps/transactions/models.py:512 templates/includes/navbar.html:105
|
||||||
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Labels"
|
msgstr "Labels"
|
||||||
@@ -93,6 +95,7 @@ msgstr "Labels"
|
|||||||
#: templates/categories/fragments/table.html:16
|
#: templates/categories/fragments/table.html:16
|
||||||
#: templates/currencies/fragments/list.html:26
|
#: templates/currencies/fragments/list.html:26
|
||||||
#: templates/entities/fragments/table.html:16
|
#: templates/entities/fragments/table.html:16
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:32
|
||||||
#: templates/import_app/fragments/profiles/list.html:36
|
#: templates/import_app/fragments/profiles/list.html:36
|
||||||
#: templates/installment_plans/fragments/table.html:16
|
#: templates/installment_plans/fragments/table.html:16
|
||||||
#: templates/recurring_transactions/fragments/table.html:18
|
#: templates/recurring_transactions/fragments/table.html:18
|
||||||
@@ -111,17 +114,17 @@ msgstr "Accountgroep"
|
|||||||
msgid "Account Groups"
|
msgid "Account Groups"
|
||||||
msgstr "Accountgroepen"
|
msgstr "Accountgroepen"
|
||||||
|
|
||||||
#: apps/accounts/models.py:31 apps/currencies/models.py:32
|
#: apps/accounts/models.py:31 apps/currencies/models.py:38
|
||||||
#: templates/accounts/fragments/list.html:27
|
#: templates/accounts/fragments/list.html:27
|
||||||
msgid "Currency"
|
msgid "Currency"
|
||||||
msgstr "Munteenheid"
|
msgstr "Munteenheid"
|
||||||
|
|
||||||
#: apps/accounts/models.py:37 apps/currencies/models.py:20
|
#: apps/accounts/models.py:37 apps/currencies/models.py:26
|
||||||
#: templates/accounts/fragments/list.html:28
|
#: templates/accounts/fragments/list.html:28
|
||||||
msgid "Exchange Currency"
|
msgid "Exchange Currency"
|
||||||
msgstr "Eenheid Wisselgeld"
|
msgstr "Eenheid Wisselgeld"
|
||||||
|
|
||||||
#: apps/accounts/models.py:42 apps/currencies/models.py:25
|
#: apps/accounts/models.py:42 apps/currencies/models.py:31
|
||||||
msgid "Default currency for exchange calculations"
|
msgid "Default currency for exchange calculations"
|
||||||
msgstr "Standaard munteenheid voor wisselberekeningen"
|
msgstr "Standaard munteenheid voor wisselberekeningen"
|
||||||
|
|
||||||
@@ -152,7 +155,7 @@ msgstr ""
|
|||||||
#: apps/accounts/models.py:59 apps/rules/models.py:19
|
#: apps/accounts/models.py:59 apps/rules/models.py:19
|
||||||
#: apps/transactions/forms.py:59 apps/transactions/forms.py:463
|
#: apps/transactions/forms.py:59 apps/transactions/forms.py:463
|
||||||
#: apps/transactions/forms.py:708 apps/transactions/models.py:132
|
#: apps/transactions/forms.py:708 apps/transactions/models.py:132
|
||||||
#: apps/transactions/models.py:274 apps/transactions/models.py:476
|
#: apps/transactions/models.py:288 apps/transactions/models.py:490
|
||||||
msgid "Account"
|
msgid "Account"
|
||||||
msgstr "Rekening"
|
msgstr "Rekening"
|
||||||
|
|
||||||
@@ -351,35 +354,36 @@ msgstr "Leegmaken"
|
|||||||
msgid "No results..."
|
msgid "No results..."
|
||||||
msgstr "Geen resultaten..."
|
msgstr "Geen resultaten..."
|
||||||
|
|
||||||
#: apps/currencies/forms.py:16 apps/currencies/models.py:15
|
#: apps/currencies/forms.py:17 apps/currencies/models.py:21
|
||||||
msgid "Prefix"
|
msgid "Prefix"
|
||||||
msgstr "Voorvoegsel"
|
msgstr "Voorvoegsel"
|
||||||
|
|
||||||
#: apps/currencies/forms.py:17 apps/currencies/models.py:16
|
#: apps/currencies/forms.py:18 apps/currencies/models.py:22
|
||||||
msgid "Suffix"
|
msgid "Suffix"
|
||||||
msgstr "Achtervoegsel"
|
msgstr "Achtervoegsel"
|
||||||
|
|
||||||
#: apps/currencies/forms.py:68 apps/dca/models.py:156 apps/rules/models.py:22
|
#: apps/currencies/forms.py:69 apps/dca/models.py:156 apps/rules/models.py:22
|
||||||
#: apps/transactions/forms.py:63 apps/transactions/forms.py:319
|
#: apps/transactions/forms.py:63 apps/transactions/forms.py:319
|
||||||
#: apps/transactions/models.py:142
|
#: apps/transactions/models.py:142
|
||||||
#: templates/dca/fragments/strategy/details.html:52
|
#: templates/dca/fragments/strategy/details.html:52
|
||||||
#: templates/exchange_rates/fragments/table.html:10
|
#: templates/exchange_rates/fragments/table.html:10
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:10
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
msgstr "Datum"
|
msgstr "Datum"
|
||||||
|
|
||||||
#: apps/currencies/models.py:8
|
#: apps/currencies/models.py:13
|
||||||
msgid "Currency Code"
|
msgid "Currency Code"
|
||||||
msgstr "Munteenheids Code"
|
msgstr "Munteenheids Code"
|
||||||
|
|
||||||
#: apps/currencies/models.py:9
|
#: apps/currencies/models.py:15
|
||||||
msgid "Currency Name"
|
msgid "Currency Name"
|
||||||
msgstr "Munteenheids Naam"
|
msgstr "Munteenheids Naam"
|
||||||
|
|
||||||
#: apps/currencies/models.py:13
|
#: apps/currencies/models.py:19
|
||||||
msgid "Decimal Places"
|
msgid "Decimal Places"
|
||||||
msgstr "Cijfers na de komma"
|
msgstr "Cijfers na de komma"
|
||||||
|
|
||||||
#: apps/currencies/models.py:33 apps/transactions/filters.py:60
|
#: apps/currencies/models.py:39 apps/transactions/filters.py:60
|
||||||
#: templates/currencies/fragments/list.html:5
|
#: templates/currencies/fragments/list.html:5
|
||||||
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:119
|
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:119
|
||||||
#: templates/includes/navbar.html:121
|
#: templates/includes/navbar.html:121
|
||||||
@@ -389,36 +393,109 @@ msgstr "Cijfers na de komma"
|
|||||||
msgid "Currencies"
|
msgid "Currencies"
|
||||||
msgstr "Munteenheden"
|
msgstr "Munteenheden"
|
||||||
|
|
||||||
#: apps/currencies/models.py:41
|
#: apps/currencies/models.py:47
|
||||||
msgid "Currency cannot have itself as exchange currency."
|
msgid "Currency cannot have itself as exchange currency."
|
||||||
msgstr "Munteenheid kan zichzelf niet als ruilmiddel hebben."
|
msgstr "Munteenheid kan zichzelf niet als ruilmiddel hebben."
|
||||||
|
|
||||||
#: apps/currencies/models.py:52
|
#: apps/currencies/models.py:58
|
||||||
msgid "From Currency"
|
msgid "From Currency"
|
||||||
msgstr "Van Munteenheid"
|
msgstr "Van Munteenheid"
|
||||||
|
|
||||||
#: apps/currencies/models.py:58
|
#: apps/currencies/models.py:64
|
||||||
msgid "To Currency"
|
msgid "To Currency"
|
||||||
msgstr "Naar Munteenheid"
|
msgstr "Naar Munteenheid"
|
||||||
|
|
||||||
#: apps/currencies/models.py:61 apps/currencies/models.py:66
|
#: apps/currencies/models.py:67 apps/currencies/models.py:72
|
||||||
msgid "Exchange Rate"
|
msgid "Exchange Rate"
|
||||||
msgstr "Wisselkoers"
|
msgstr "Wisselkoers"
|
||||||
|
|
||||||
#: apps/currencies/models.py:63
|
#: apps/currencies/models.py:69
|
||||||
msgid "Date and Time"
|
msgid "Date and Time"
|
||||||
msgstr "Datum en Tijd"
|
msgstr "Datum en Tijd"
|
||||||
|
|
||||||
#: apps/currencies/models.py:67 templates/exchange_rates/fragments/list.html:6
|
#: apps/currencies/models.py:73 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:123
|
#: templates/includes/navbar.html:123
|
||||||
msgid "Exchange Rates"
|
msgid "Exchange Rates"
|
||||||
msgstr "Wisselkoersen"
|
msgstr "Wisselkoersen"
|
||||||
|
|
||||||
#: apps/currencies/models.py:79
|
#: apps/currencies/models.py:85
|
||||||
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:97
|
||||||
|
msgid "Service Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:99
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Recurrence Type"
|
||||||
|
msgid "Service Type"
|
||||||
|
msgstr "Type Terugkeerpatroon"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:101 apps/transactions/models.py:71
|
||||||
|
#: apps/transactions/models.py:90 apps/transactions/models.py:109
|
||||||
|
#: templates/categories/fragments/list.html:21
|
||||||
|
#: templates/entities/fragments/list.html:21
|
||||||
|
#: templates/recurring_transactions/fragments/list.html:21
|
||||||
|
#: templates/tags/fragments/list.html:21
|
||||||
|
msgid "Active"
|
||||||
|
msgstr "Actief"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:106
|
||||||
|
msgid "API Key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:107
|
||||||
|
msgid "API key for the service (if required)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:112
|
||||||
|
msgid "Fetch Interval (hours)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:115
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Successful Items"
|
||||||
|
msgid "Last Successful Fetch"
|
||||||
|
msgstr "Succesvolle Artikelen"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:120
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Target Currency"
|
||||||
|
msgid "Target Currencies"
|
||||||
|
msgstr "Doel Munteenheid"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:122
|
||||||
|
msgid ""
|
||||||
|
"Select currencies to fetch exchange rates for. Rates will be fetched for "
|
||||||
|
"each currency against their set exchange currency."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:130
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "To Account"
|
||||||
|
msgid "Target Accounts"
|
||||||
|
msgstr "Naar rekening"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:132
|
||||||
|
msgid ""
|
||||||
|
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
|
||||||
|
"account's currency against their set exchange currency."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:139
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Exchange Rate"
|
||||||
|
msgid "Exchange Rate Service"
|
||||||
|
msgstr "Wisselkoers"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:140
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Exchange Rates"
|
||||||
|
msgid "Exchange Rate Services"
|
||||||
|
msgstr "Wisselkoersen"
|
||||||
|
|
||||||
#: apps/currencies/views/currencies.py:42
|
#: apps/currencies/views/currencies.py:42
|
||||||
msgid "Currency added successfully"
|
msgid "Currency added successfully"
|
||||||
msgstr "Munteenheid succesvol toegevoegd"
|
msgstr "Munteenheid succesvol toegevoegd"
|
||||||
@@ -443,6 +520,30 @@ msgstr "Wisselkoers succesvol bijgewerkt"
|
|||||||
msgid "Exchange rate deleted successfully"
|
msgid "Exchange rate deleted successfully"
|
||||||
msgstr "Wisselkoers succesvol verwijderd"
|
msgstr "Wisselkoers succesvol verwijderd"
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:46
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Rule added successfully"
|
||||||
|
msgid "Service added successfully"
|
||||||
|
msgstr "Regel succesvol toegevoegd"
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:74
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Rule updated successfully"
|
||||||
|
msgid "Service updated successfully"
|
||||||
|
msgstr "Regel succesvol bijgewerkt"
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:100
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Rule deleted successfully"
|
||||||
|
msgid "Service deleted successfully"
|
||||||
|
msgstr "Regel succesvol verwijderd"
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:115
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Rule updated successfully"
|
||||||
|
msgid "Services queued successfully"
|
||||||
|
msgstr "Regel succesvol bijgewerkt"
|
||||||
|
|
||||||
#: apps/dca/models.py:17
|
#: apps/dca/models.py:17
|
||||||
msgid "Target Currency"
|
msgid "Target Currency"
|
||||||
msgstr "Doel Munteenheid"
|
msgstr "Doel Munteenheid"
|
||||||
@@ -453,7 +554,7 @@ msgstr "Betaal Munteenheid"
|
|||||||
|
|
||||||
#: apps/dca/models.py:27 apps/dca/models.py:179 apps/rules/models.py:26
|
#: apps/dca/models.py:27 apps/dca/models.py:179 apps/rules/models.py:26
|
||||||
#: apps/transactions/forms.py:333 apps/transactions/models.py:155
|
#: apps/transactions/forms.py:333 apps/transactions/models.py:155
|
||||||
#: apps/transactions/models.py:323 apps/transactions/models.py:504
|
#: apps/transactions/models.py:337 apps/transactions/models.py:518
|
||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr "Opmerkingen"
|
msgstr "Opmerkingen"
|
||||||
|
|
||||||
@@ -617,7 +718,7 @@ msgstr "Een waarde voor dit veld bestaat al in de regel."
|
|||||||
|
|
||||||
#: apps/rules/models.py:10 apps/rules/models.py:25
|
#: apps/rules/models.py:10 apps/rules/models.py:25
|
||||||
#: apps/transactions/forms.py:325 apps/transactions/models.py:153
|
#: apps/transactions/forms.py:325 apps/transactions/models.py:153
|
||||||
#: apps/transactions/models.py:281 apps/transactions/models.py:490
|
#: apps/transactions/models.py:295 apps/transactions/models.py:504
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Beschrijving"
|
msgstr "Beschrijving"
|
||||||
|
|
||||||
@@ -626,7 +727,7 @@ msgid "Trigger"
|
|||||||
msgstr "Trigger"
|
msgstr "Trigger"
|
||||||
|
|
||||||
#: apps/rules/models.py:20 apps/transactions/models.py:139
|
#: apps/rules/models.py:20 apps/transactions/models.py:139
|
||||||
#: apps/transactions/models.py:279 apps/transactions/models.py:482
|
#: apps/transactions/models.py:293 apps/transactions/models.py:496
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Soort"
|
msgstr "Soort"
|
||||||
|
|
||||||
@@ -640,21 +741,21 @@ msgstr "Betaald"
|
|||||||
|
|
||||||
#: apps/rules/models.py:23 apps/transactions/forms.py:66
|
#: apps/rules/models.py:23 apps/transactions/forms.py:66
|
||||||
#: apps/transactions/forms.py:322 apps/transactions/forms.py:492
|
#: apps/transactions/forms.py:322 apps/transactions/forms.py:492
|
||||||
#: apps/transactions/models.py:143 apps/transactions/models.py:297
|
#: apps/transactions/models.py:143 apps/transactions/models.py:311
|
||||||
#: apps/transactions/models.py:506
|
#: apps/transactions/models.py:520
|
||||||
msgid "Reference Date"
|
msgid "Reference Date"
|
||||||
msgstr "Referentiedatum"
|
msgstr "Referentiedatum"
|
||||||
|
|
||||||
#: apps/rules/models.py:24 apps/transactions/models.py:148
|
#: apps/rules/models.py:24 apps/transactions/models.py:148
|
||||||
#: apps/transactions/models.py:487
|
#: apps/transactions/models.py:501
|
||||||
msgid "Amount"
|
msgid "Amount"
|
||||||
msgstr "Bedrag"
|
msgstr "Bedrag"
|
||||||
|
|
||||||
#: apps/rules/models.py:29 apps/transactions/filters.py:81
|
#: apps/rules/models.py:29 apps/transactions/filters.py:81
|
||||||
#: apps/transactions/forms.py:55 apps/transactions/forms.py:486
|
#: apps/transactions/forms.py:55 apps/transactions/forms.py:486
|
||||||
#: apps/transactions/forms.py:731 apps/transactions/models.py:117
|
#: apps/transactions/forms.py:731 apps/transactions/models.py:117
|
||||||
#: apps/transactions/models.py:170 apps/transactions/models.py:319
|
#: apps/transactions/models.py:170 apps/transactions/models.py:333
|
||||||
#: apps/transactions/models.py:501 templates/entities/fragments/list.html:5
|
#: apps/transactions/models.py:515 templates/entities/fragments/list.html:5
|
||||||
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:107
|
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:107
|
||||||
msgid "Entities"
|
msgid "Entities"
|
||||||
msgstr "Bedrijven"
|
msgstr "Bedrijven"
|
||||||
@@ -792,14 +893,6 @@ msgstr "De einddatum moet na de begindatum vallen"
|
|||||||
msgid "Mute"
|
msgid "Mute"
|
||||||
msgstr "Gedempt"
|
msgstr "Gedempt"
|
||||||
|
|
||||||
#: apps/transactions/models.py:71 apps/transactions/models.py:90
|
|
||||||
#: apps/transactions/models.py:109 templates/categories/fragments/list.html:21
|
|
||||||
#: templates/entities/fragments/list.html:21
|
|
||||||
#: templates/recurring_transactions/fragments/list.html:21
|
|
||||||
#: templates/tags/fragments/list.html:21
|
|
||||||
msgid "Active"
|
|
||||||
msgstr "Actief"
|
|
||||||
|
|
||||||
#: apps/transactions/models.py:73
|
#: apps/transactions/models.py:73
|
||||||
msgid ""
|
msgid ""
|
||||||
"Deactivated categories won't be able to be selected when creating new "
|
"Deactivated categories won't be able to be selected when creating new "
|
||||||
@@ -858,11 +951,11 @@ msgstr "Ontvangsten Transactie"
|
|||||||
msgid "Expense"
|
msgid "Expense"
|
||||||
msgstr "Uitgave Transactie"
|
msgstr "Uitgave Transactie"
|
||||||
|
|
||||||
#: apps/transactions/models.py:181 apps/transactions/models.py:326
|
#: apps/transactions/models.py:181 apps/transactions/models.py:340
|
||||||
msgid "Installment Plan"
|
msgid "Installment Plan"
|
||||||
msgstr "Afbetalingsplan"
|
msgstr "Afbetalingsplan"
|
||||||
|
|
||||||
#: apps/transactions/models.py:190 apps/transactions/models.py:527
|
#: apps/transactions/models.py:190 apps/transactions/models.py:541
|
||||||
msgid "Recurring Transaction"
|
msgid "Recurring Transaction"
|
||||||
msgstr "Terugkerende verrichting"
|
msgstr "Terugkerende verrichting"
|
||||||
|
|
||||||
@@ -894,95 +987,95 @@ msgstr "Verrichting"
|
|||||||
msgid "Transactions"
|
msgid "Transactions"
|
||||||
msgstr "Verrichtingen"
|
msgstr "Verrichtingen"
|
||||||
|
|
||||||
#: apps/transactions/models.py:268
|
#: apps/transactions/models.py:282
|
||||||
msgid "Yearly"
|
msgid "Yearly"
|
||||||
msgstr "Jaarlijks"
|
msgstr "Jaarlijks"
|
||||||
|
|
||||||
#: apps/transactions/models.py:269 apps/users/models.py:26
|
#: apps/transactions/models.py:283 apps/users/models.py:26
|
||||||
#: templates/includes/navbar.html:26
|
#: templates/includes/navbar.html:26
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Maandelijks"
|
msgstr "Maandelijks"
|
||||||
|
|
||||||
#: apps/transactions/models.py:270
|
#: apps/transactions/models.py:284
|
||||||
msgid "Weekly"
|
msgid "Weekly"
|
||||||
msgstr "Wekelijks"
|
msgstr "Wekelijks"
|
||||||
|
|
||||||
#: apps/transactions/models.py:271
|
#: apps/transactions/models.py:285
|
||||||
msgid "Daily"
|
msgid "Daily"
|
||||||
msgstr "Dagelijks"
|
msgstr "Dagelijks"
|
||||||
|
|
||||||
#: apps/transactions/models.py:284
|
#: apps/transactions/models.py:298
|
||||||
msgid "Number of Installments"
|
msgid "Number of Installments"
|
||||||
msgstr "Aantal aflossingen"
|
msgstr "Aantal aflossingen"
|
||||||
|
|
||||||
#: apps/transactions/models.py:289
|
#: apps/transactions/models.py:303
|
||||||
msgid "Installment Start"
|
msgid "Installment Start"
|
||||||
msgstr "Begin afbetaling"
|
msgstr "Begin afbetaling"
|
||||||
|
|
||||||
#: apps/transactions/models.py:290
|
#: apps/transactions/models.py:304
|
||||||
msgid "The installment number to start counting from"
|
msgid "The installment number to start counting from"
|
||||||
msgstr "Het nummer van de aflevering om mee te beginnen"
|
msgstr "Het nummer van de aflevering om mee te beginnen"
|
||||||
|
|
||||||
#: apps/transactions/models.py:295 apps/transactions/models.py:510
|
#: apps/transactions/models.py:309 apps/transactions/models.py:524
|
||||||
msgid "Start Date"
|
msgid "Start Date"
|
||||||
msgstr "Startdatum"
|
msgstr "Startdatum"
|
||||||
|
|
||||||
#: apps/transactions/models.py:299 apps/transactions/models.py:511
|
#: apps/transactions/models.py:313 apps/transactions/models.py:525
|
||||||
msgid "End Date"
|
msgid "End Date"
|
||||||
msgstr "Einddatum"
|
msgstr "Einddatum"
|
||||||
|
|
||||||
#: apps/transactions/models.py:304
|
#: apps/transactions/models.py:318
|
||||||
msgid "Recurrence"
|
msgid "Recurrence"
|
||||||
msgstr "Terugkeerpatroon"
|
msgstr "Terugkeerpatroon"
|
||||||
|
|
||||||
#: apps/transactions/models.py:307
|
#: apps/transactions/models.py:321
|
||||||
msgid "Installment Amount"
|
msgid "Installment Amount"
|
||||||
msgstr "Termijnbedrag"
|
msgstr "Termijnbedrag"
|
||||||
|
|
||||||
#: apps/transactions/models.py:327 templates/includes/navbar.html:69
|
#: apps/transactions/models.py:341 templates/includes/navbar.html:69
|
||||||
#: templates/installment_plans/fragments/list.html:5
|
#: templates/installment_plans/fragments/list.html:5
|
||||||
#: templates/installment_plans/pages/index.html:4
|
#: templates/installment_plans/pages/index.html:4
|
||||||
msgid "Installment Plans"
|
msgid "Installment Plans"
|
||||||
msgstr "Afbetalingsplannen"
|
msgstr "Afbetalingsplannen"
|
||||||
|
|
||||||
#: apps/transactions/models.py:469
|
#: apps/transactions/models.py:483
|
||||||
msgid "day(s)"
|
msgid "day(s)"
|
||||||
msgstr "dag(en)"
|
msgstr "dag(en)"
|
||||||
|
|
||||||
#: apps/transactions/models.py:470
|
#: apps/transactions/models.py:484
|
||||||
msgid "week(s)"
|
msgid "week(s)"
|
||||||
msgstr "we(e)k(en)"
|
msgstr "we(e)k(en)"
|
||||||
|
|
||||||
#: apps/transactions/models.py:471
|
#: apps/transactions/models.py:485
|
||||||
msgid "month(s)"
|
msgid "month(s)"
|
||||||
msgstr "maand(en)"
|
msgstr "maand(en)"
|
||||||
|
|
||||||
#: apps/transactions/models.py:472
|
#: apps/transactions/models.py:486
|
||||||
msgid "year(s)"
|
msgid "year(s)"
|
||||||
msgstr "ja(a)r(en)"
|
msgstr "ja(a)r(en)"
|
||||||
|
|
||||||
#: apps/transactions/models.py:474
|
#: apps/transactions/models.py:488
|
||||||
#: templates/recurring_transactions/fragments/list.html:24
|
#: templates/recurring_transactions/fragments/list.html:24
|
||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr "Gepauzeerd"
|
msgstr "Gepauzeerd"
|
||||||
|
|
||||||
#: apps/transactions/models.py:513
|
#: apps/transactions/models.py:527
|
||||||
msgid "Recurrence Type"
|
msgid "Recurrence Type"
|
||||||
msgstr "Type Terugkeerpatroon"
|
msgstr "Type Terugkeerpatroon"
|
||||||
|
|
||||||
#: apps/transactions/models.py:516
|
#: apps/transactions/models.py:530
|
||||||
msgid "Recurrence Interval"
|
msgid "Recurrence Interval"
|
||||||
msgstr "Terugkeer Interval"
|
msgstr "Terugkeer Interval"
|
||||||
|
|
||||||
#: apps/transactions/models.py:520
|
#: apps/transactions/models.py:534
|
||||||
msgid "Last Generated Date"
|
msgid "Last Generated Date"
|
||||||
msgstr "Laatste Gegenereerde Datum"
|
msgstr "Laatste Gegenereerde Datum"
|
||||||
|
|
||||||
#: apps/transactions/models.py:523
|
#: apps/transactions/models.py:537
|
||||||
msgid "Last Generated Reference Date"
|
msgid "Last Generated Reference Date"
|
||||||
msgstr "Laatste Gegenereerde Referentiedatum"
|
msgstr "Laatste Gegenereerde Referentiedatum"
|
||||||
|
|
||||||
#: apps/transactions/models.py:528 templates/includes/navbar.html:71
|
#: apps/transactions/models.py:542 templates/includes/navbar.html:71
|
||||||
#: templates/recurring_transactions/fragments/list.html:5
|
#: templates/recurring_transactions/fragments/list.html:5
|
||||||
#: templates/recurring_transactions/pages/index.html:4
|
#: templates/recurring_transactions/pages/index.html:4
|
||||||
msgid "Recurring Transactions"
|
msgid "Recurring Transactions"
|
||||||
@@ -1187,15 +1280,15 @@ msgstr "Deze gebruiker is gedeactiveerd"
|
|||||||
msgid "Default"
|
msgid "Default"
|
||||||
msgstr "Standaard"
|
msgstr "Standaard"
|
||||||
|
|
||||||
#: apps/users/forms.py:91 apps/users/models.py:40
|
#: apps/users/forms.py:91 apps/users/models.py:41
|
||||||
msgid "Date Format"
|
msgid "Date Format"
|
||||||
msgstr "Datumnotatie"
|
msgstr "Datumnotatie"
|
||||||
|
|
||||||
#: apps/users/forms.py:96 apps/users/models.py:45
|
#: apps/users/forms.py:96 apps/users/models.py:46
|
||||||
msgid "Datetime Format"
|
msgid "Datetime Format"
|
||||||
msgstr "Tijdsnotatie"
|
msgstr "Tijdsnotatie"
|
||||||
|
|
||||||
#: apps/users/forms.py:102 apps/users/models.py:48
|
#: apps/users/forms.py:102 apps/users/models.py:49
|
||||||
msgid "Number Format"
|
msgid "Number Format"
|
||||||
msgstr "Schrijfwijze Nummers"
|
msgstr "Schrijfwijze Nummers"
|
||||||
|
|
||||||
@@ -1211,51 +1304,55 @@ msgstr "Jaarlijks per munteenheid"
|
|||||||
msgid "Yearly by account"
|
msgid "Yearly by account"
|
||||||
msgstr "Jaarlijks per rekening"
|
msgstr "Jaarlijks per rekening"
|
||||||
|
|
||||||
#: apps/users/models.py:29 templates/includes/navbar.html:40
|
#: apps/users/models.py:29 templates/net_worth/net_worth.html:9
|
||||||
msgid "Net Worth"
|
msgid "Current Net Worth"
|
||||||
msgstr "Netto Waarde"
|
msgstr "Huidige Nettowaarde"
|
||||||
|
|
||||||
#: apps/users/models.py:30
|
#: apps/users/models.py:30 templates/net_worth/net_worth.html:9
|
||||||
|
msgid "Projected Net Worth"
|
||||||
|
msgstr "Verwachte Nettowaarde"
|
||||||
|
|
||||||
|
#: apps/users/models.py:31
|
||||||
msgid "All Transactions"
|
msgid "All Transactions"
|
||||||
msgstr "Alle Verrichtingen"
|
msgstr "Alle Verrichtingen"
|
||||||
|
|
||||||
#: apps/users/models.py:31 templates/includes/navbar.html:32
|
#: apps/users/models.py:32 templates/includes/navbar.html:32
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr "Kalender"
|
msgstr "Kalender"
|
||||||
|
|
||||||
#: apps/users/models.py:53 apps/users/models.py:59
|
#: apps/users/models.py:54 apps/users/models.py:60
|
||||||
msgid "Auto"
|
msgid "Auto"
|
||||||
msgstr "Automatisch"
|
msgstr "Automatisch"
|
||||||
|
|
||||||
#: apps/users/models.py:55
|
#: apps/users/models.py:56
|
||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Taal"
|
msgstr "Taal"
|
||||||
|
|
||||||
#: apps/users/models.py:61
|
#: apps/users/models.py:62
|
||||||
msgid "Time Zone"
|
msgid "Time Zone"
|
||||||
msgstr "Tijdszone"
|
msgstr "Tijdszone"
|
||||||
|
|
||||||
#: apps/users/models.py:67
|
#: apps/users/models.py:68
|
||||||
msgid "Start page"
|
msgid "Start page"
|
||||||
msgstr "Startpagina"
|
msgstr "Startpagina"
|
||||||
|
|
||||||
#: apps/users/views.py:60
|
#: apps/users/views.py:62
|
||||||
msgid "Transaction amounts are now hidden"
|
msgid "Transaction amounts are now hidden"
|
||||||
msgstr "Verrichtingsbedragen worden nu verborgen"
|
msgstr "Verrichtingsbedragen worden nu verborgen"
|
||||||
|
|
||||||
#: apps/users/views.py:63
|
#: apps/users/views.py:65
|
||||||
msgid "Transaction amounts are now displayed"
|
msgid "Transaction amounts are now displayed"
|
||||||
msgstr "Verrichtingsbedragen worden nu weergegeven"
|
msgstr "Verrichtingsbedragen worden nu weergegeven"
|
||||||
|
|
||||||
#: apps/users/views.py:81
|
#: apps/users/views.py:83
|
||||||
msgid "Sounds are now muted"
|
msgid "Sounds are now muted"
|
||||||
msgstr "De Geluiden zijn nu gedempt"
|
msgstr "De Geluiden zijn nu gedempt"
|
||||||
|
|
||||||
#: apps/users/views.py:84
|
#: apps/users/views.py:86
|
||||||
msgid "Sounds will now play"
|
msgid "Sounds will now play"
|
||||||
msgstr "De geluiden worden nu afgespeeld"
|
msgstr "De geluiden worden nu afgespeeld"
|
||||||
|
|
||||||
#: apps/users/views.py:100
|
#: apps/users/views.py:102
|
||||||
msgid "Your settings have been updated"
|
msgid "Your settings have been updated"
|
||||||
msgstr "Jouw instellingen zijn bijgewerkt"
|
msgstr "Jouw instellingen zijn bijgewerkt"
|
||||||
|
|
||||||
@@ -1274,6 +1371,8 @@ msgstr "Rekeningsgroep bewerken"
|
|||||||
#: templates/dca/fragments/strategy/details.html:63
|
#: templates/dca/fragments/strategy/details.html:63
|
||||||
#: templates/entities/fragments/table.html:23
|
#: templates/entities/fragments/table.html:23
|
||||||
#: templates/exchange_rates/fragments/table.html:19
|
#: templates/exchange_rates/fragments/table.html:19
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:43
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:19
|
||||||
#: templates/import_app/fragments/profiles/list.html:44
|
#: templates/import_app/fragments/profiles/list.html:44
|
||||||
#: templates/installment_plans/fragments/table.html:23
|
#: templates/installment_plans/fragments/table.html:23
|
||||||
#: templates/recurring_transactions/fragments/table.html:25
|
#: templates/recurring_transactions/fragments/table.html:25
|
||||||
@@ -1292,6 +1391,8 @@ msgstr "Acties"
|
|||||||
#: templates/dca/fragments/strategy/list.html:34
|
#: templates/dca/fragments/strategy/list.html:34
|
||||||
#: templates/entities/fragments/table.html:28
|
#: templates/entities/fragments/table.html:28
|
||||||
#: templates/exchange_rates/fragments/table.html:23
|
#: templates/exchange_rates/fragments/table.html:23
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:47
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:23
|
||||||
#: templates/import_app/fragments/profiles/list.html:48
|
#: templates/import_app/fragments/profiles/list.html:48
|
||||||
#: templates/installment_plans/fragments/table.html:27
|
#: templates/installment_plans/fragments/table.html:27
|
||||||
#: templates/recurring_transactions/fragments/table.html:29
|
#: templates/recurring_transactions/fragments/table.html:29
|
||||||
@@ -1313,6 +1414,8 @@ msgstr "Bijwerken"
|
|||||||
#: templates/dca/fragments/strategy/list.html:42
|
#: templates/dca/fragments/strategy/list.html:42
|
||||||
#: templates/entities/fragments/table.html:36
|
#: templates/entities/fragments/table.html:36
|
||||||
#: templates/exchange_rates/fragments/table.html:31
|
#: templates/exchange_rates/fragments/table.html:31
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:54
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:31
|
||||||
#: templates/import_app/fragments/profiles/list.html:69
|
#: templates/import_app/fragments/profiles/list.html:69
|
||||||
#: templates/import_app/fragments/runs/list.html:102
|
#: templates/import_app/fragments/runs/list.html:102
|
||||||
#: templates/installment_plans/fragments/table.html:56
|
#: templates/installment_plans/fragments/table.html:56
|
||||||
@@ -1336,6 +1439,8 @@ msgstr "Verwijderen"
|
|||||||
#: templates/dca/fragments/strategy/list.html:46
|
#: templates/dca/fragments/strategy/list.html:46
|
||||||
#: templates/entities/fragments/table.html:40
|
#: templates/entities/fragments/table.html:40
|
||||||
#: templates/exchange_rates/fragments/table.html:36
|
#: templates/exchange_rates/fragments/table.html:36
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:58
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:36
|
||||||
#: templates/import_app/fragments/profiles/list.html:73
|
#: templates/import_app/fragments/profiles/list.html:73
|
||||||
#: templates/import_app/fragments/runs/list.html:106
|
#: templates/import_app/fragments/runs/list.html:106
|
||||||
#: templates/installment_plans/fragments/table.html:48
|
#: templates/installment_plans/fragments/table.html:48
|
||||||
@@ -1362,6 +1467,8 @@ msgstr "Weet je het zeker?"
|
|||||||
#: templates/dca/fragments/strategy/list.html:47
|
#: templates/dca/fragments/strategy/list.html:47
|
||||||
#: templates/entities/fragments/table.html:41
|
#: templates/entities/fragments/table.html:41
|
||||||
#: templates/exchange_rates/fragments/table.html:37
|
#: templates/exchange_rates/fragments/table.html:37
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:59
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:37
|
||||||
#: templates/import_app/fragments/profiles/list.html:74
|
#: templates/import_app/fragments/profiles/list.html:74
|
||||||
#: templates/rules/fragments/list.html:49
|
#: templates/rules/fragments/list.html:49
|
||||||
#: templates/rules/fragments/transaction_rule/view.html:61
|
#: templates/rules/fragments/transaction_rule/view.html:61
|
||||||
@@ -1379,6 +1486,8 @@ msgstr "Je kunt dit niet meer terugdraaien!"
|
|||||||
#: templates/dca/fragments/strategy/list.html:48
|
#: templates/dca/fragments/strategy/list.html:48
|
||||||
#: templates/entities/fragments/table.html:42
|
#: templates/entities/fragments/table.html:42
|
||||||
#: templates/exchange_rates/fragments/table.html:38
|
#: templates/exchange_rates/fragments/table.html:38
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:60
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:38
|
||||||
#: templates/import_app/fragments/profiles/list.html:75
|
#: templates/import_app/fragments/profiles/list.html:75
|
||||||
#: templates/import_app/fragments/runs/list.html:108
|
#: templates/import_app/fragments/runs/list.html:108
|
||||||
#: templates/installment_plans/fragments/table.html:62
|
#: templates/installment_plans/fragments/table.html:62
|
||||||
@@ -1510,37 +1619,37 @@ msgid "Restore"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:15
|
#: templates/cotton/ui/account_card.html:15
|
||||||
#: templates/cotton/ui/currency_card.html:13
|
#: templates/cotton/ui/currency_card.html:10
|
||||||
msgid "projected income"
|
msgid "projected income"
|
||||||
msgstr "verwachte inkomsten"
|
msgstr "verwachte inkomsten"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:37
|
#: templates/cotton/ui/account_card.html:37
|
||||||
#: templates/cotton/ui/currency_card.html:35
|
#: templates/cotton/ui/currency_card.html:32
|
||||||
msgid "projected expenses"
|
msgid "projected expenses"
|
||||||
msgstr "verwachte uitgaven"
|
msgstr "verwachte uitgaven"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:61
|
#: templates/cotton/ui/account_card.html:61
|
||||||
#: templates/cotton/ui/currency_card.html:59
|
#: templates/cotton/ui/currency_card.html:56
|
||||||
msgid "projected total"
|
msgid "projected total"
|
||||||
msgstr "verwachte totaal"
|
msgstr "verwachte totaal"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:86
|
#: templates/cotton/ui/account_card.html:86
|
||||||
#: templates/cotton/ui/currency_card.html:84
|
#: templates/cotton/ui/currency_card.html:81
|
||||||
msgid "current income"
|
msgid "current income"
|
||||||
msgstr "huidige inkomsten"
|
msgstr "huidige inkomsten"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:108
|
#: templates/cotton/ui/account_card.html:108
|
||||||
#: templates/cotton/ui/currency_card.html:106
|
#: templates/cotton/ui/currency_card.html:103
|
||||||
msgid "current expenses"
|
msgid "current expenses"
|
||||||
msgstr "huidige uitgaven"
|
msgstr "huidige uitgaven"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:130
|
#: templates/cotton/ui/account_card.html:130
|
||||||
#: templates/cotton/ui/currency_card.html:128
|
#: templates/cotton/ui/currency_card.html:125
|
||||||
msgid "current total"
|
msgid "current total"
|
||||||
msgstr "huidige totaal"
|
msgstr "huidige totaal"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:156
|
#: templates/cotton/ui/account_card.html:156
|
||||||
#: templates/cotton/ui/currency_card.html:154
|
#: templates/cotton/ui/currency_card.html:151
|
||||||
msgid "final total"
|
msgid "final total"
|
||||||
msgstr "eindtotaal"
|
msgstr "eindtotaal"
|
||||||
|
|
||||||
@@ -1794,10 +1903,12 @@ msgid "No entities"
|
|||||||
msgstr "Geen bedrijven"
|
msgstr "Geen bedrijven"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/add.html:5
|
#: templates/exchange_rates/fragments/add.html:5
|
||||||
|
#: templates/exchange_rates_services/fragments/add.html:5
|
||||||
msgid "Add exchange rate"
|
msgid "Add exchange rate"
|
||||||
msgstr "Wisselkoers toevoegen"
|
msgstr "Wisselkoers toevoegen"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/edit.html:5
|
#: templates/exchange_rates/fragments/edit.html:5
|
||||||
|
#: templates/exchange_rates_services/fragments/edit.html:5
|
||||||
msgid "Edit exchange rate"
|
msgid "Edit exchange rate"
|
||||||
msgstr "Wisselkoers bewerken"
|
msgstr "Wisselkoers bewerken"
|
||||||
|
|
||||||
@@ -1810,22 +1921,76 @@ msgid "All"
|
|||||||
msgstr "Allemaal"
|
msgstr "Allemaal"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:11
|
#: templates/exchange_rates/fragments/table.html:11
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:11
|
||||||
msgid "Pairing"
|
msgid "Pairing"
|
||||||
msgstr "Koppelen"
|
msgstr "Koppelen"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:12
|
#: templates/exchange_rates/fragments/table.html:12
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:12
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Tarief"
|
msgstr "Tarief"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:51
|
#: templates/exchange_rates/fragments/table.html:51
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:51
|
||||||
msgid "No exchange rates"
|
msgid "No exchange rates"
|
||||||
msgstr "Geen wisselkoersen"
|
msgstr "Geen wisselkoersen"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:58
|
#: templates/exchange_rates/fragments/table.html:58
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:58
|
||||||
#: templates/transactions/fragments/list_all.html:47
|
#: templates/transactions/fragments/list_all.html:47
|
||||||
msgid "Page navigation"
|
msgid "Page navigation"
|
||||||
msgstr "Paginanavigatie"
|
msgstr "Paginanavigatie"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:6
|
||||||
|
#: templates/exchange_rates_services/pages/index.html:4
|
||||||
|
#: templates/includes/navbar.html:133
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Exchange Rates"
|
||||||
|
msgid "Automatic Exchange Rates"
|
||||||
|
msgstr "Wisselkoersen"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:21
|
||||||
|
msgid "Fetch all"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:33
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Overview"
|
||||||
|
msgid "Service"
|
||||||
|
msgstr "Overzicht"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:34
|
||||||
|
msgid "Targeting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:35
|
||||||
|
msgid "Fetch every"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:36
|
||||||
|
msgid "Last fetch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:68
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Currencies"
|
||||||
|
msgid "currencies"
|
||||||
|
msgstr "Munteenheden"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:68
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Accounts"
|
||||||
|
msgid "accounts"
|
||||||
|
msgstr "Rekeningen"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:69
|
||||||
|
msgid "hours"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:77
|
||||||
|
msgid "No services configured"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: templates/import_app/fragments/profiles/add.html:6
|
#: templates/import_app/fragments/profiles/add.html:6
|
||||||
msgid "Add new import profile"
|
msgid "Add new import profile"
|
||||||
msgstr "Nieuw importprofiel toevoegen"
|
msgstr "Nieuw importprofiel toevoegen"
|
||||||
@@ -1924,6 +2089,10 @@ msgstr "Navigatie Knop"
|
|||||||
msgid "Overview"
|
msgid "Overview"
|
||||||
msgstr "Overzicht"
|
msgstr "Overzicht"
|
||||||
|
|
||||||
|
#: templates/includes/navbar.html:40
|
||||||
|
msgid "Net Worth"
|
||||||
|
msgstr "Netto Waarde"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:44
|
#: templates/includes/navbar.html:44
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Huidige"
|
msgstr "Huidige"
|
||||||
@@ -1965,15 +2134,15 @@ msgstr "Automatisatie"
|
|||||||
msgid "Rules"
|
msgid "Rules"
|
||||||
msgstr "Regels"
|
msgstr "Regels"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:141
|
#: templates/includes/navbar.html:143
|
||||||
msgid "Only use this if you know what you're doing"
|
msgid "Only use this if you know what you're doing"
|
||||||
msgstr "Gebruik dit alleen als je weet wat je doet"
|
msgstr "Gebruik dit alleen als je weet wat je doet"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:142
|
#: templates/includes/navbar.html:144
|
||||||
msgid "Django Admin"
|
msgid "Django Admin"
|
||||||
msgstr "Django Beheerder"
|
msgstr "Django Beheerder"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:151
|
#: templates/includes/navbar.html:153
|
||||||
msgid "Calculator"
|
msgid "Calculator"
|
||||||
msgstr "Rekenmachine"
|
msgstr "Rekenmachine"
|
||||||
|
|
||||||
@@ -2142,14 +2311,6 @@ msgstr "Oudste eerst"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Nieuwste eerst"
|
msgstr "Nieuwste eerst"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:9
|
|
||||||
msgid "Current Net Worth"
|
|
||||||
msgstr "Huidige Nettowaarde"
|
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:9
|
|
||||||
msgid "Projected Net Worth"
|
|
||||||
msgstr "Verwachte Nettowaarde"
|
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:17
|
#: templates/net_worth/net_worth.html:17
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
@@ -2385,3 +2546,8 @@ msgstr "Jaaroverzicht"
|
|||||||
#: templates/yearly_overview/pages/overview_by_currency.html:63
|
#: templates/yearly_overview/pages/overview_by_currency.html:63
|
||||||
msgid "Year"
|
msgid "Year"
|
||||||
msgstr "Jaar"
|
msgstr "Jaar"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~| msgid "Exchange rate deleted successfully"
|
||||||
|
#~ msgid "Exchange rates queued to be fetched successfully"
|
||||||
|
#~ msgstr "Wisselkoers succesvol verwijderd"
|
||||||
|
|||||||
@@ -8,8 +8,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-02-01 22:04+0000\n"
|
"POT-Creation-Date: 2025-02-04 03:20+0000\n"
|
||||||
"PO-Revision-Date: 2025-02-01 19:04-0300\n"
|
"PO-Revision-Date: 2025-02-04 00:22-0300\n"
|
||||||
"Last-Translator: Herculino Trotta\n"
|
"Last-Translator: Herculino Trotta\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: pt_BR\n"
|
"Language: pt_BR\n"
|
||||||
@@ -24,23 +24,24 @@ msgid "Group name"
|
|||||||
msgstr "Nome do grupo"
|
msgstr "Nome do grupo"
|
||||||
|
|
||||||
#: apps/accounts/forms.py:40 apps/accounts/forms.py:96
|
#: apps/accounts/forms.py:40 apps/accounts/forms.py:96
|
||||||
#: apps/currencies/forms.py:52 apps/currencies/forms.py:90 apps/dca/forms.py:41
|
#: apps/currencies/forms.py:53 apps/currencies/forms.py:91
|
||||||
#: apps/dca/forms.py:93 apps/import_app/forms.py:34 apps/rules/forms.py:45
|
#: apps/currencies/forms.py:138 apps/dca/forms.py:41 apps/dca/forms.py:93
|
||||||
#: apps/rules/forms.py:87 apps/transactions/forms.py:190
|
#: apps/import_app/forms.py:34 apps/rules/forms.py:45 apps/rules/forms.py:87
|
||||||
#: apps/transactions/forms.py:257 apps/transactions/forms.py:581
|
#: apps/transactions/forms.py:190 apps/transactions/forms.py:257
|
||||||
#: apps/transactions/forms.py:624 apps/transactions/forms.py:656
|
#: apps/transactions/forms.py:581 apps/transactions/forms.py:624
|
||||||
#: apps/transactions/forms.py:691 apps/transactions/forms.py:827
|
#: apps/transactions/forms.py:656 apps/transactions/forms.py:691
|
||||||
|
#: apps/transactions/forms.py:827
|
||||||
msgid "Update"
|
msgid "Update"
|
||||||
msgstr "Atualizar"
|
msgstr "Atualizar"
|
||||||
|
|
||||||
#: apps/accounts/forms.py:48 apps/accounts/forms.py:104
|
#: apps/accounts/forms.py:48 apps/accounts/forms.py:104
|
||||||
#: apps/common/widgets/tom_select.py:12 apps/currencies/forms.py:60
|
#: apps/common/widgets/tom_select.py:12 apps/currencies/forms.py:61
|
||||||
#: apps/currencies/forms.py:98 apps/dca/forms.py:49 apps/dca/forms.py:102
|
#: apps/currencies/forms.py:99 apps/currencies/forms.py:146
|
||||||
#: apps/import_app/forms.py:42 apps/rules/forms.py:53 apps/rules/forms.py:95
|
#: apps/dca/forms.py:49 apps/dca/forms.py:102 apps/import_app/forms.py:42
|
||||||
#: apps/transactions/forms.py:174 apps/transactions/forms.py:199
|
#: apps/rules/forms.py:53 apps/rules/forms.py:95 apps/transactions/forms.py:174
|
||||||
#: apps/transactions/forms.py:589 apps/transactions/forms.py:632
|
#: apps/transactions/forms.py:199 apps/transactions/forms.py:589
|
||||||
#: apps/transactions/forms.py:664 apps/transactions/forms.py:699
|
#: apps/transactions/forms.py:632 apps/transactions/forms.py:664
|
||||||
#: apps/transactions/forms.py:835
|
#: apps/transactions/forms.py:699 apps/transactions/forms.py:835
|
||||||
#: templates/account_groups/fragments/list.html:9
|
#: templates/account_groups/fragments/list.html:9
|
||||||
#: templates/accounts/fragments/list.html:9
|
#: templates/accounts/fragments/list.html:9
|
||||||
#: templates/categories/fragments/list.html:9
|
#: templates/categories/fragments/list.html:9
|
||||||
@@ -49,6 +50,7 @@ msgstr "Atualizar"
|
|||||||
#: templates/dca/fragments/strategy/list.html:9
|
#: templates/dca/fragments/strategy/list.html:9
|
||||||
#: templates/entities/fragments/list.html:9
|
#: templates/entities/fragments/list.html:9
|
||||||
#: templates/exchange_rates/fragments/list.html:10
|
#: templates/exchange_rates/fragments/list.html:10
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:10
|
||||||
#: templates/import_app/fragments/profiles/list.html:7
|
#: templates/import_app/fragments/profiles/list.html:7
|
||||||
#: templates/import_app/fragments/profiles/list.html:10
|
#: templates/import_app/fragments/profiles/list.html:10
|
||||||
#: templates/installment_plans/fragments/list.html:9
|
#: templates/installment_plans/fragments/list.html:9
|
||||||
@@ -70,7 +72,7 @@ msgstr "Novo saldo"
|
|||||||
#: apps/transactions/forms.py:39 apps/transactions/forms.py:291
|
#: apps/transactions/forms.py:39 apps/transactions/forms.py:291
|
||||||
#: apps/transactions/forms.py:298 apps/transactions/forms.py:478
|
#: apps/transactions/forms.py:298 apps/transactions/forms.py:478
|
||||||
#: apps/transactions/forms.py:723 apps/transactions/models.py:159
|
#: apps/transactions/forms.py:723 apps/transactions/models.py:159
|
||||||
#: apps/transactions/models.py:314 apps/transactions/models.py:494
|
#: apps/transactions/models.py:328 apps/transactions/models.py:508
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Categoria"
|
msgstr "Categoria"
|
||||||
|
|
||||||
@@ -78,8 +80,8 @@ msgstr "Categoria"
|
|||||||
#: apps/transactions/filters.py:74 apps/transactions/forms.py:47
|
#: apps/transactions/filters.py:74 apps/transactions/forms.py:47
|
||||||
#: apps/transactions/forms.py:307 apps/transactions/forms.py:315
|
#: apps/transactions/forms.py:307 apps/transactions/forms.py:315
|
||||||
#: apps/transactions/forms.py:471 apps/transactions/forms.py:716
|
#: apps/transactions/forms.py:471 apps/transactions/forms.py:716
|
||||||
#: apps/transactions/models.py:165 apps/transactions/models.py:316
|
#: apps/transactions/models.py:165 apps/transactions/models.py:330
|
||||||
#: apps/transactions/models.py:498 templates/includes/navbar.html:105
|
#: apps/transactions/models.py:512 templates/includes/navbar.html:105
|
||||||
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
#: templates/tags/fragments/list.html:5 templates/tags/pages/index.html:4
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tags"
|
msgstr "Tags"
|
||||||
@@ -93,6 +95,7 @@ msgstr "Tags"
|
|||||||
#: templates/categories/fragments/table.html:16
|
#: templates/categories/fragments/table.html:16
|
||||||
#: templates/currencies/fragments/list.html:26
|
#: templates/currencies/fragments/list.html:26
|
||||||
#: templates/entities/fragments/table.html:16
|
#: templates/entities/fragments/table.html:16
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:32
|
||||||
#: templates/import_app/fragments/profiles/list.html:36
|
#: templates/import_app/fragments/profiles/list.html:36
|
||||||
#: templates/installment_plans/fragments/table.html:16
|
#: templates/installment_plans/fragments/table.html:16
|
||||||
#: templates/recurring_transactions/fragments/table.html:18
|
#: templates/recurring_transactions/fragments/table.html:18
|
||||||
@@ -111,17 +114,17 @@ msgstr "Grupo da Conta"
|
|||||||
msgid "Account Groups"
|
msgid "Account Groups"
|
||||||
msgstr "Grupos da Conta"
|
msgstr "Grupos da Conta"
|
||||||
|
|
||||||
#: apps/accounts/models.py:31 apps/currencies/models.py:32
|
#: apps/accounts/models.py:31 apps/currencies/models.py:38
|
||||||
#: templates/accounts/fragments/list.html:27
|
#: templates/accounts/fragments/list.html:27
|
||||||
msgid "Currency"
|
msgid "Currency"
|
||||||
msgstr "Moeda"
|
msgstr "Moeda"
|
||||||
|
|
||||||
#: apps/accounts/models.py:37 apps/currencies/models.py:20
|
#: apps/accounts/models.py:37 apps/currencies/models.py:26
|
||||||
#: templates/accounts/fragments/list.html:28
|
#: templates/accounts/fragments/list.html:28
|
||||||
msgid "Exchange Currency"
|
msgid "Exchange Currency"
|
||||||
msgstr "Moeda de Câmbio"
|
msgstr "Moeda de Câmbio"
|
||||||
|
|
||||||
#: apps/accounts/models.py:42 apps/currencies/models.py:25
|
#: apps/accounts/models.py:42 apps/currencies/models.py:31
|
||||||
msgid "Default currency for exchange calculations"
|
msgid "Default currency for exchange calculations"
|
||||||
msgstr "Moeda padrão para os cálculos de câmbio"
|
msgstr "Moeda padrão para os cálculos de câmbio"
|
||||||
|
|
||||||
@@ -151,7 +154,7 @@ msgstr ""
|
|||||||
#: apps/accounts/models.py:59 apps/rules/models.py:19
|
#: apps/accounts/models.py:59 apps/rules/models.py:19
|
||||||
#: apps/transactions/forms.py:59 apps/transactions/forms.py:463
|
#: apps/transactions/forms.py:59 apps/transactions/forms.py:463
|
||||||
#: apps/transactions/forms.py:708 apps/transactions/models.py:132
|
#: apps/transactions/forms.py:708 apps/transactions/models.py:132
|
||||||
#: apps/transactions/models.py:274 apps/transactions/models.py:476
|
#: apps/transactions/models.py:288 apps/transactions/models.py:490
|
||||||
msgid "Account"
|
msgid "Account"
|
||||||
msgstr "Conta"
|
msgstr "Conta"
|
||||||
|
|
||||||
@@ -349,35 +352,36 @@ msgstr "Limpar"
|
|||||||
msgid "No results..."
|
msgid "No results..."
|
||||||
msgstr "Sem resultados..."
|
msgstr "Sem resultados..."
|
||||||
|
|
||||||
#: apps/currencies/forms.py:16 apps/currencies/models.py:15
|
#: apps/currencies/forms.py:17 apps/currencies/models.py:21
|
||||||
msgid "Prefix"
|
msgid "Prefix"
|
||||||
msgstr "Prefixo"
|
msgstr "Prefixo"
|
||||||
|
|
||||||
#: apps/currencies/forms.py:17 apps/currencies/models.py:16
|
#: apps/currencies/forms.py:18 apps/currencies/models.py:22
|
||||||
msgid "Suffix"
|
msgid "Suffix"
|
||||||
msgstr "Sufixo"
|
msgstr "Sufixo"
|
||||||
|
|
||||||
#: apps/currencies/forms.py:68 apps/dca/models.py:156 apps/rules/models.py:22
|
#: apps/currencies/forms.py:69 apps/dca/models.py:156 apps/rules/models.py:22
|
||||||
#: apps/transactions/forms.py:63 apps/transactions/forms.py:319
|
#: apps/transactions/forms.py:63 apps/transactions/forms.py:319
|
||||||
#: apps/transactions/models.py:142
|
#: apps/transactions/models.py:142
|
||||||
#: templates/dca/fragments/strategy/details.html:52
|
#: templates/dca/fragments/strategy/details.html:52
|
||||||
#: templates/exchange_rates/fragments/table.html:10
|
#: templates/exchange_rates/fragments/table.html:10
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:10
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
msgstr "Data"
|
msgstr "Data"
|
||||||
|
|
||||||
#: apps/currencies/models.py:8
|
#: apps/currencies/models.py:13
|
||||||
msgid "Currency Code"
|
msgid "Currency Code"
|
||||||
msgstr "Código da Moeda"
|
msgstr "Código da Moeda"
|
||||||
|
|
||||||
#: apps/currencies/models.py:9
|
#: apps/currencies/models.py:15
|
||||||
msgid "Currency Name"
|
msgid "Currency Name"
|
||||||
msgstr "Nome da Moeda"
|
msgstr "Nome da Moeda"
|
||||||
|
|
||||||
#: apps/currencies/models.py:13
|
#: apps/currencies/models.py:19
|
||||||
msgid "Decimal Places"
|
msgid "Decimal Places"
|
||||||
msgstr "Casas Decimais"
|
msgstr "Casas Decimais"
|
||||||
|
|
||||||
#: apps/currencies/models.py:33 apps/transactions/filters.py:60
|
#: apps/currencies/models.py:39 apps/transactions/filters.py:60
|
||||||
#: templates/currencies/fragments/list.html:5
|
#: templates/currencies/fragments/list.html:5
|
||||||
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:119
|
#: templates/currencies/pages/index.html:4 templates/includes/navbar.html:119
|
||||||
#: templates/includes/navbar.html:121
|
#: templates/includes/navbar.html:121
|
||||||
@@ -387,36 +391,102 @@ msgstr "Casas Decimais"
|
|||||||
msgid "Currencies"
|
msgid "Currencies"
|
||||||
msgstr "Moedas"
|
msgstr "Moedas"
|
||||||
|
|
||||||
#: apps/currencies/models.py:41
|
#: apps/currencies/models.py:47
|
||||||
msgid "Currency cannot have itself as exchange currency."
|
msgid "Currency cannot have itself as exchange currency."
|
||||||
msgstr "A moeda não pode ter a si mesma como moeda de câmbio."
|
msgstr "A moeda não pode ter a si mesma como moeda de câmbio."
|
||||||
|
|
||||||
#: apps/currencies/models.py:52
|
#: apps/currencies/models.py:58
|
||||||
msgid "From Currency"
|
msgid "From Currency"
|
||||||
msgstr "Moeda de origem"
|
msgstr "Moeda de origem"
|
||||||
|
|
||||||
#: apps/currencies/models.py:58
|
#: apps/currencies/models.py:64
|
||||||
msgid "To Currency"
|
msgid "To Currency"
|
||||||
msgstr "Moeda de destino"
|
msgstr "Moeda de destino"
|
||||||
|
|
||||||
#: apps/currencies/models.py:61 apps/currencies/models.py:66
|
#: apps/currencies/models.py:67 apps/currencies/models.py:72
|
||||||
msgid "Exchange Rate"
|
msgid "Exchange Rate"
|
||||||
msgstr "Taxa de Câmbio"
|
msgstr "Taxa de Câmbio"
|
||||||
|
|
||||||
#: apps/currencies/models.py:63
|
#: apps/currencies/models.py:69
|
||||||
msgid "Date and Time"
|
msgid "Date and Time"
|
||||||
msgstr "Data e Tempo"
|
msgstr "Data e Tempo"
|
||||||
|
|
||||||
#: apps/currencies/models.py:67 templates/exchange_rates/fragments/list.html:6
|
#: apps/currencies/models.py:73 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:123
|
#: templates/includes/navbar.html:123
|
||||||
msgid "Exchange Rates"
|
msgid "Exchange Rates"
|
||||||
msgstr "Taxas de Câmbio"
|
msgstr "Taxas de Câmbio"
|
||||||
|
|
||||||
#: apps/currencies/models.py:79
|
#: apps/currencies/models.py:85
|
||||||
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:97
|
||||||
|
msgid "Service Name"
|
||||||
|
msgstr "Nome do Serviço"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:99
|
||||||
|
msgid "Service Type"
|
||||||
|
msgstr "Tipo de Serviço"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:101 apps/transactions/models.py:71
|
||||||
|
#: apps/transactions/models.py:90 apps/transactions/models.py:109
|
||||||
|
#: templates/categories/fragments/list.html:21
|
||||||
|
#: templates/entities/fragments/list.html:21
|
||||||
|
#: templates/recurring_transactions/fragments/list.html:21
|
||||||
|
#: templates/tags/fragments/list.html:21
|
||||||
|
msgid "Active"
|
||||||
|
msgstr "Ativo"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:106
|
||||||
|
msgid "API Key"
|
||||||
|
msgstr "Chave de API"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:107
|
||||||
|
msgid "API key for the service (if required)"
|
||||||
|
msgstr "Chave de API para o serviço (se necessário)"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:112
|
||||||
|
msgid "Fetch Interval (hours)"
|
||||||
|
msgstr "Intervalo de busca (horas)"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:115
|
||||||
|
msgid "Last Successful Fetch"
|
||||||
|
msgstr "Última execução bem-sucedida"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:120
|
||||||
|
msgid "Target Currencies"
|
||||||
|
msgstr "Moedas-alvo"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:122
|
||||||
|
msgid ""
|
||||||
|
"Select currencies to fetch exchange rates for. Rates will be fetched for "
|
||||||
|
"each currency against their set exchange currency."
|
||||||
|
msgstr ""
|
||||||
|
"Selecione as moedas para as quais deseja obter as taxas de câmbio. As taxas "
|
||||||
|
"serão obtidas para cada moeda em relação à moeda de câmbio definida."
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:130
|
||||||
|
msgid "Target Accounts"
|
||||||
|
msgstr "Contas-alvo"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:132
|
||||||
|
msgid ""
|
||||||
|
"Select accounts to fetch exchange rates for. Rates will be fetched for each "
|
||||||
|
"account's currency against their set exchange currency."
|
||||||
|
msgstr ""
|
||||||
|
"Selecione as contas para as quais deseja obter taxas de câmbio. As taxas "
|
||||||
|
"serão obtidas para a moeda de cada conta em relação à moeda de câmbio "
|
||||||
|
"definida."
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:139
|
||||||
|
msgid "Exchange Rate Service"
|
||||||
|
msgstr "Serviço de Taxa de Câmbio"
|
||||||
|
|
||||||
|
#: apps/currencies/models.py:140
|
||||||
|
msgid "Exchange Rate Services"
|
||||||
|
msgstr "Serviços de Taxa de Câmbio"
|
||||||
|
|
||||||
#: apps/currencies/views/currencies.py:42
|
#: apps/currencies/views/currencies.py:42
|
||||||
msgid "Currency added successfully"
|
msgid "Currency added successfully"
|
||||||
msgstr "Moeda adicionada com sucesso"
|
msgstr "Moeda adicionada com sucesso"
|
||||||
@@ -441,6 +511,22 @@ msgstr "Taxa de câmbio atualizada com sucesso"
|
|||||||
msgid "Exchange rate deleted successfully"
|
msgid "Exchange rate deleted successfully"
|
||||||
msgstr "Taxa de câmbio apagada com sucesso"
|
msgstr "Taxa de câmbio apagada com sucesso"
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:46
|
||||||
|
msgid "Service added successfully"
|
||||||
|
msgstr "Serviço adicionado com sucesso"
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:74
|
||||||
|
msgid "Service updated successfully"
|
||||||
|
msgstr "Serviço atualizado com sucesso"
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:100
|
||||||
|
msgid "Service deleted successfully"
|
||||||
|
msgstr "Serviço apagado com sucesso"
|
||||||
|
|
||||||
|
#: apps/currencies/views/exchange_rates_services.py:115
|
||||||
|
msgid "Services queued successfully"
|
||||||
|
msgstr "Serviços marcados para execução com sucesso"
|
||||||
|
|
||||||
#: apps/dca/models.py:17
|
#: apps/dca/models.py:17
|
||||||
msgid "Target Currency"
|
msgid "Target Currency"
|
||||||
msgstr "Moeda de destino"
|
msgstr "Moeda de destino"
|
||||||
@@ -451,7 +537,7 @@ msgstr "Moeda de pagamento"
|
|||||||
|
|
||||||
#: apps/dca/models.py:27 apps/dca/models.py:179 apps/rules/models.py:26
|
#: apps/dca/models.py:27 apps/dca/models.py:179 apps/rules/models.py:26
|
||||||
#: apps/transactions/forms.py:333 apps/transactions/models.py:155
|
#: apps/transactions/forms.py:333 apps/transactions/models.py:155
|
||||||
#: apps/transactions/models.py:323 apps/transactions/models.py:504
|
#: apps/transactions/models.py:337 apps/transactions/models.py:518
|
||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr "Notas"
|
msgstr "Notas"
|
||||||
|
|
||||||
@@ -615,7 +701,7 @@ msgstr "Já existe um valor para esse campo na regra."
|
|||||||
|
|
||||||
#: apps/rules/models.py:10 apps/rules/models.py:25
|
#: apps/rules/models.py:10 apps/rules/models.py:25
|
||||||
#: apps/transactions/forms.py:325 apps/transactions/models.py:153
|
#: apps/transactions/forms.py:325 apps/transactions/models.py:153
|
||||||
#: apps/transactions/models.py:281 apps/transactions/models.py:490
|
#: apps/transactions/models.py:295 apps/transactions/models.py:504
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Descrição"
|
msgstr "Descrição"
|
||||||
|
|
||||||
@@ -624,7 +710,7 @@ msgid "Trigger"
|
|||||||
msgstr "Gatilho"
|
msgstr "Gatilho"
|
||||||
|
|
||||||
#: apps/rules/models.py:20 apps/transactions/models.py:139
|
#: apps/rules/models.py:20 apps/transactions/models.py:139
|
||||||
#: apps/transactions/models.py:279 apps/transactions/models.py:482
|
#: apps/transactions/models.py:293 apps/transactions/models.py:496
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Tipo"
|
msgstr "Tipo"
|
||||||
|
|
||||||
@@ -638,21 +724,21 @@ msgstr "Pago"
|
|||||||
|
|
||||||
#: apps/rules/models.py:23 apps/transactions/forms.py:66
|
#: apps/rules/models.py:23 apps/transactions/forms.py:66
|
||||||
#: apps/transactions/forms.py:322 apps/transactions/forms.py:492
|
#: apps/transactions/forms.py:322 apps/transactions/forms.py:492
|
||||||
#: apps/transactions/models.py:143 apps/transactions/models.py:297
|
#: apps/transactions/models.py:143 apps/transactions/models.py:311
|
||||||
#: apps/transactions/models.py:506
|
#: apps/transactions/models.py:520
|
||||||
msgid "Reference Date"
|
msgid "Reference Date"
|
||||||
msgstr "Data de Referência"
|
msgstr "Data de Referência"
|
||||||
|
|
||||||
#: apps/rules/models.py:24 apps/transactions/models.py:148
|
#: apps/rules/models.py:24 apps/transactions/models.py:148
|
||||||
#: apps/transactions/models.py:487
|
#: apps/transactions/models.py:501
|
||||||
msgid "Amount"
|
msgid "Amount"
|
||||||
msgstr "Quantia"
|
msgstr "Quantia"
|
||||||
|
|
||||||
#: apps/rules/models.py:29 apps/transactions/filters.py:81
|
#: apps/rules/models.py:29 apps/transactions/filters.py:81
|
||||||
#: apps/transactions/forms.py:55 apps/transactions/forms.py:486
|
#: apps/transactions/forms.py:55 apps/transactions/forms.py:486
|
||||||
#: apps/transactions/forms.py:731 apps/transactions/models.py:117
|
#: apps/transactions/forms.py:731 apps/transactions/models.py:117
|
||||||
#: apps/transactions/models.py:170 apps/transactions/models.py:319
|
#: apps/transactions/models.py:170 apps/transactions/models.py:333
|
||||||
#: apps/transactions/models.py:501 templates/entities/fragments/list.html:5
|
#: apps/transactions/models.py:515 templates/entities/fragments/list.html:5
|
||||||
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:107
|
#: templates/entities/pages/index.html:4 templates/includes/navbar.html:107
|
||||||
msgid "Entities"
|
msgid "Entities"
|
||||||
msgstr "Entidades"
|
msgstr "Entidades"
|
||||||
@@ -790,14 +876,6 @@ msgstr "Data final deve ser após data inicial"
|
|||||||
msgid "Mute"
|
msgid "Mute"
|
||||||
msgstr "Silenciada"
|
msgstr "Silenciada"
|
||||||
|
|
||||||
#: apps/transactions/models.py:71 apps/transactions/models.py:90
|
|
||||||
#: apps/transactions/models.py:109 templates/categories/fragments/list.html:21
|
|
||||||
#: templates/entities/fragments/list.html:21
|
|
||||||
#: templates/recurring_transactions/fragments/list.html:21
|
|
||||||
#: templates/tags/fragments/list.html:21
|
|
||||||
msgid "Active"
|
|
||||||
msgstr "Ativo"
|
|
||||||
|
|
||||||
#: apps/transactions/models.py:73
|
#: apps/transactions/models.py:73
|
||||||
msgid ""
|
msgid ""
|
||||||
"Deactivated categories won't be able to be selected when creating new "
|
"Deactivated categories won't be able to be selected when creating new "
|
||||||
@@ -855,11 +933,11 @@ msgstr "Renda"
|
|||||||
msgid "Expense"
|
msgid "Expense"
|
||||||
msgstr "Despesa"
|
msgstr "Despesa"
|
||||||
|
|
||||||
#: apps/transactions/models.py:181 apps/transactions/models.py:326
|
#: apps/transactions/models.py:181 apps/transactions/models.py:340
|
||||||
msgid "Installment Plan"
|
msgid "Installment Plan"
|
||||||
msgstr "Parcelamento"
|
msgstr "Parcelamento"
|
||||||
|
|
||||||
#: apps/transactions/models.py:190 apps/transactions/models.py:527
|
#: apps/transactions/models.py:190 apps/transactions/models.py:541
|
||||||
msgid "Recurring Transaction"
|
msgid "Recurring Transaction"
|
||||||
msgstr "Transação Recorrente"
|
msgstr "Transação Recorrente"
|
||||||
|
|
||||||
@@ -891,95 +969,95 @@ msgstr "Transação"
|
|||||||
msgid "Transactions"
|
msgid "Transactions"
|
||||||
msgstr "Transações"
|
msgstr "Transações"
|
||||||
|
|
||||||
#: apps/transactions/models.py:268
|
#: apps/transactions/models.py:282
|
||||||
msgid "Yearly"
|
msgid "Yearly"
|
||||||
msgstr "Anual"
|
msgstr "Anual"
|
||||||
|
|
||||||
#: apps/transactions/models.py:269 apps/users/models.py:26
|
#: apps/transactions/models.py:283 apps/users/models.py:26
|
||||||
#: templates/includes/navbar.html:26
|
#: templates/includes/navbar.html:26
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Mensal"
|
msgstr "Mensal"
|
||||||
|
|
||||||
#: apps/transactions/models.py:270
|
#: apps/transactions/models.py:284
|
||||||
msgid "Weekly"
|
msgid "Weekly"
|
||||||
msgstr "Semanal"
|
msgstr "Semanal"
|
||||||
|
|
||||||
#: apps/transactions/models.py:271
|
#: apps/transactions/models.py:285
|
||||||
msgid "Daily"
|
msgid "Daily"
|
||||||
msgstr "Diária"
|
msgstr "Diária"
|
||||||
|
|
||||||
#: apps/transactions/models.py:284
|
#: apps/transactions/models.py:298
|
||||||
msgid "Number of Installments"
|
msgid "Number of Installments"
|
||||||
msgstr "Número de Parcelas"
|
msgstr "Número de Parcelas"
|
||||||
|
|
||||||
#: apps/transactions/models.py:289
|
#: apps/transactions/models.py:303
|
||||||
msgid "Installment Start"
|
msgid "Installment Start"
|
||||||
msgstr "Parcela inicial"
|
msgstr "Parcela inicial"
|
||||||
|
|
||||||
#: apps/transactions/models.py:290
|
#: apps/transactions/models.py:304
|
||||||
msgid "The installment number to start counting from"
|
msgid "The installment number to start counting from"
|
||||||
msgstr "O número da parcela a partir do qual se inicia a contagem"
|
msgstr "O número da parcela a partir do qual se inicia a contagem"
|
||||||
|
|
||||||
#: apps/transactions/models.py:295 apps/transactions/models.py:510
|
#: apps/transactions/models.py:309 apps/transactions/models.py:524
|
||||||
msgid "Start Date"
|
msgid "Start Date"
|
||||||
msgstr "Data de Início"
|
msgstr "Data de Início"
|
||||||
|
|
||||||
#: apps/transactions/models.py:299 apps/transactions/models.py:511
|
#: apps/transactions/models.py:313 apps/transactions/models.py:525
|
||||||
msgid "End Date"
|
msgid "End Date"
|
||||||
msgstr "Data Final"
|
msgstr "Data Final"
|
||||||
|
|
||||||
#: apps/transactions/models.py:304
|
#: apps/transactions/models.py:318
|
||||||
msgid "Recurrence"
|
msgid "Recurrence"
|
||||||
msgstr "Recorrência"
|
msgstr "Recorrência"
|
||||||
|
|
||||||
#: apps/transactions/models.py:307
|
#: apps/transactions/models.py:321
|
||||||
msgid "Installment Amount"
|
msgid "Installment Amount"
|
||||||
msgstr "Valor da Parcela"
|
msgstr "Valor da Parcela"
|
||||||
|
|
||||||
#: apps/transactions/models.py:327 templates/includes/navbar.html:69
|
#: apps/transactions/models.py:341 templates/includes/navbar.html:69
|
||||||
#: templates/installment_plans/fragments/list.html:5
|
#: templates/installment_plans/fragments/list.html:5
|
||||||
#: templates/installment_plans/pages/index.html:4
|
#: templates/installment_plans/pages/index.html:4
|
||||||
msgid "Installment Plans"
|
msgid "Installment Plans"
|
||||||
msgstr "Parcelamentos"
|
msgstr "Parcelamentos"
|
||||||
|
|
||||||
#: apps/transactions/models.py:469
|
#: apps/transactions/models.py:483
|
||||||
msgid "day(s)"
|
msgid "day(s)"
|
||||||
msgstr "dia(s)"
|
msgstr "dia(s)"
|
||||||
|
|
||||||
#: apps/transactions/models.py:470
|
#: apps/transactions/models.py:484
|
||||||
msgid "week(s)"
|
msgid "week(s)"
|
||||||
msgstr "semana(s)"
|
msgstr "semana(s)"
|
||||||
|
|
||||||
#: apps/transactions/models.py:471
|
#: apps/transactions/models.py:485
|
||||||
msgid "month(s)"
|
msgid "month(s)"
|
||||||
msgstr "mês(es)"
|
msgstr "mês(es)"
|
||||||
|
|
||||||
#: apps/transactions/models.py:472
|
#: apps/transactions/models.py:486
|
||||||
msgid "year(s)"
|
msgid "year(s)"
|
||||||
msgstr "ano(s)"
|
msgstr "ano(s)"
|
||||||
|
|
||||||
#: apps/transactions/models.py:474
|
#: apps/transactions/models.py:488
|
||||||
#: templates/recurring_transactions/fragments/list.html:24
|
#: templates/recurring_transactions/fragments/list.html:24
|
||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr "Pausado"
|
msgstr "Pausado"
|
||||||
|
|
||||||
#: apps/transactions/models.py:513
|
#: apps/transactions/models.py:527
|
||||||
msgid "Recurrence Type"
|
msgid "Recurrence Type"
|
||||||
msgstr "Tipo de recorrência"
|
msgstr "Tipo de recorrência"
|
||||||
|
|
||||||
#: apps/transactions/models.py:516
|
#: apps/transactions/models.py:530
|
||||||
msgid "Recurrence Interval"
|
msgid "Recurrence Interval"
|
||||||
msgstr "Intervalo de recorrência"
|
msgstr "Intervalo de recorrência"
|
||||||
|
|
||||||
#: apps/transactions/models.py:520
|
#: apps/transactions/models.py:534
|
||||||
msgid "Last Generated Date"
|
msgid "Last Generated Date"
|
||||||
msgstr "Última data gerada"
|
msgstr "Última data gerada"
|
||||||
|
|
||||||
#: apps/transactions/models.py:523
|
#: apps/transactions/models.py:537
|
||||||
msgid "Last Generated Reference Date"
|
msgid "Last Generated Reference Date"
|
||||||
msgstr "Última data de referência gerada"
|
msgstr "Última data de referência gerada"
|
||||||
|
|
||||||
#: apps/transactions/models.py:528 templates/includes/navbar.html:71
|
#: apps/transactions/models.py:542 templates/includes/navbar.html:71
|
||||||
#: templates/recurring_transactions/fragments/list.html:5
|
#: templates/recurring_transactions/fragments/list.html:5
|
||||||
#: templates/recurring_transactions/pages/index.html:4
|
#: templates/recurring_transactions/pages/index.html:4
|
||||||
msgid "Recurring Transactions"
|
msgid "Recurring Transactions"
|
||||||
@@ -1180,15 +1258,15 @@ msgstr "Essa conta está desativada"
|
|||||||
msgid "Default"
|
msgid "Default"
|
||||||
msgstr "Padrão"
|
msgstr "Padrão"
|
||||||
|
|
||||||
#: apps/users/forms.py:91 apps/users/models.py:40
|
#: apps/users/forms.py:91 apps/users/models.py:41
|
||||||
msgid "Date Format"
|
msgid "Date Format"
|
||||||
msgstr "Formato de Data"
|
msgstr "Formato de Data"
|
||||||
|
|
||||||
#: apps/users/forms.py:96 apps/users/models.py:45
|
#: apps/users/forms.py:96 apps/users/models.py:46
|
||||||
msgid "Datetime Format"
|
msgid "Datetime Format"
|
||||||
msgstr "Formato de Data e Hora"
|
msgstr "Formato de Data e Hora"
|
||||||
|
|
||||||
#: apps/users/forms.py:102 apps/users/models.py:48
|
#: apps/users/forms.py:102 apps/users/models.py:49
|
||||||
msgid "Number Format"
|
msgid "Number Format"
|
||||||
msgstr "Formato de Número"
|
msgstr "Formato de Número"
|
||||||
|
|
||||||
@@ -1204,51 +1282,55 @@ msgstr "Anual por moeda"
|
|||||||
msgid "Yearly by account"
|
msgid "Yearly by account"
|
||||||
msgstr "Anual por conta"
|
msgstr "Anual por conta"
|
||||||
|
|
||||||
#: apps/users/models.py:29 templates/includes/navbar.html:40
|
#: apps/users/models.py:29 templates/net_worth/net_worth.html:9
|
||||||
msgid "Net Worth"
|
msgid "Current Net Worth"
|
||||||
msgstr "Patrimônio"
|
msgstr "Patrimônio Atual"
|
||||||
|
|
||||||
#: apps/users/models.py:30
|
#: apps/users/models.py:30 templates/net_worth/net_worth.html:9
|
||||||
|
msgid "Projected Net Worth"
|
||||||
|
msgstr "Patrimônio Previsto"
|
||||||
|
|
||||||
|
#: apps/users/models.py:31
|
||||||
msgid "All Transactions"
|
msgid "All Transactions"
|
||||||
msgstr "Todas as transações"
|
msgstr "Todas as transações"
|
||||||
|
|
||||||
#: apps/users/models.py:31 templates/includes/navbar.html:32
|
#: apps/users/models.py:32 templates/includes/navbar.html:32
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr "Calendário"
|
msgstr "Calendário"
|
||||||
|
|
||||||
#: apps/users/models.py:53 apps/users/models.py:59
|
#: apps/users/models.py:54 apps/users/models.py:60
|
||||||
msgid "Auto"
|
msgid "Auto"
|
||||||
msgstr "Automático"
|
msgstr "Automático"
|
||||||
|
|
||||||
#: apps/users/models.py:55
|
#: apps/users/models.py:56
|
||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Linguagem"
|
msgstr "Linguagem"
|
||||||
|
|
||||||
#: apps/users/models.py:61
|
#: apps/users/models.py:62
|
||||||
msgid "Time Zone"
|
msgid "Time Zone"
|
||||||
msgstr "Fuso horário"
|
msgstr "Fuso horário"
|
||||||
|
|
||||||
#: apps/users/models.py:67
|
#: apps/users/models.py:68
|
||||||
msgid "Start page"
|
msgid "Start page"
|
||||||
msgstr "Página inicial"
|
msgstr "Página inicial"
|
||||||
|
|
||||||
#: apps/users/views.py:60
|
#: apps/users/views.py:62
|
||||||
msgid "Transaction amounts are now hidden"
|
msgid "Transaction amounts are now hidden"
|
||||||
msgstr "Os valores das transações agora estão ocultos"
|
msgstr "Os valores das transações agora estão ocultos"
|
||||||
|
|
||||||
#: apps/users/views.py:63
|
#: apps/users/views.py:65
|
||||||
msgid "Transaction amounts are now displayed"
|
msgid "Transaction amounts are now displayed"
|
||||||
msgstr "Os valores das transações agora estão sendo exibidos"
|
msgstr "Os valores das transações agora estão sendo exibidos"
|
||||||
|
|
||||||
#: apps/users/views.py:81
|
#: apps/users/views.py:83
|
||||||
msgid "Sounds are now muted"
|
msgid "Sounds are now muted"
|
||||||
msgstr "Os sons agora estão silenciados"
|
msgstr "Os sons agora estão silenciados"
|
||||||
|
|
||||||
#: apps/users/views.py:84
|
#: apps/users/views.py:86
|
||||||
msgid "Sounds will now play"
|
msgid "Sounds will now play"
|
||||||
msgstr "Os sons agora serão reproduzidos"
|
msgstr "Os sons agora serão reproduzidos"
|
||||||
|
|
||||||
#: apps/users/views.py:100
|
#: apps/users/views.py:102
|
||||||
msgid "Your settings have been updated"
|
msgid "Your settings have been updated"
|
||||||
msgstr "Suas configurações foram atualizadas"
|
msgstr "Suas configurações foram atualizadas"
|
||||||
|
|
||||||
@@ -1267,6 +1349,8 @@ msgstr "Editar grupo de conta"
|
|||||||
#: templates/dca/fragments/strategy/details.html:63
|
#: templates/dca/fragments/strategy/details.html:63
|
||||||
#: templates/entities/fragments/table.html:23
|
#: templates/entities/fragments/table.html:23
|
||||||
#: templates/exchange_rates/fragments/table.html:19
|
#: templates/exchange_rates/fragments/table.html:19
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:43
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:19
|
||||||
#: templates/import_app/fragments/profiles/list.html:44
|
#: templates/import_app/fragments/profiles/list.html:44
|
||||||
#: templates/installment_plans/fragments/table.html:23
|
#: templates/installment_plans/fragments/table.html:23
|
||||||
#: templates/recurring_transactions/fragments/table.html:25
|
#: templates/recurring_transactions/fragments/table.html:25
|
||||||
@@ -1285,6 +1369,8 @@ msgstr "Ações"
|
|||||||
#: templates/dca/fragments/strategy/list.html:34
|
#: templates/dca/fragments/strategy/list.html:34
|
||||||
#: templates/entities/fragments/table.html:28
|
#: templates/entities/fragments/table.html:28
|
||||||
#: templates/exchange_rates/fragments/table.html:23
|
#: templates/exchange_rates/fragments/table.html:23
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:47
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:23
|
||||||
#: templates/import_app/fragments/profiles/list.html:48
|
#: templates/import_app/fragments/profiles/list.html:48
|
||||||
#: templates/installment_plans/fragments/table.html:27
|
#: templates/installment_plans/fragments/table.html:27
|
||||||
#: templates/recurring_transactions/fragments/table.html:29
|
#: templates/recurring_transactions/fragments/table.html:29
|
||||||
@@ -1306,6 +1392,8 @@ msgstr "Editar"
|
|||||||
#: templates/dca/fragments/strategy/list.html:42
|
#: templates/dca/fragments/strategy/list.html:42
|
||||||
#: templates/entities/fragments/table.html:36
|
#: templates/entities/fragments/table.html:36
|
||||||
#: templates/exchange_rates/fragments/table.html:31
|
#: templates/exchange_rates/fragments/table.html:31
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:54
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:31
|
||||||
#: templates/import_app/fragments/profiles/list.html:69
|
#: templates/import_app/fragments/profiles/list.html:69
|
||||||
#: templates/import_app/fragments/runs/list.html:102
|
#: templates/import_app/fragments/runs/list.html:102
|
||||||
#: templates/installment_plans/fragments/table.html:56
|
#: templates/installment_plans/fragments/table.html:56
|
||||||
@@ -1329,6 +1417,8 @@ msgstr "Apagar"
|
|||||||
#: templates/dca/fragments/strategy/list.html:46
|
#: templates/dca/fragments/strategy/list.html:46
|
||||||
#: templates/entities/fragments/table.html:40
|
#: templates/entities/fragments/table.html:40
|
||||||
#: templates/exchange_rates/fragments/table.html:36
|
#: templates/exchange_rates/fragments/table.html:36
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:58
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:36
|
||||||
#: templates/import_app/fragments/profiles/list.html:73
|
#: templates/import_app/fragments/profiles/list.html:73
|
||||||
#: templates/import_app/fragments/runs/list.html:106
|
#: templates/import_app/fragments/runs/list.html:106
|
||||||
#: templates/installment_plans/fragments/table.html:48
|
#: templates/installment_plans/fragments/table.html:48
|
||||||
@@ -1355,6 +1445,8 @@ msgstr "Tem certeza?"
|
|||||||
#: templates/dca/fragments/strategy/list.html:47
|
#: templates/dca/fragments/strategy/list.html:47
|
||||||
#: templates/entities/fragments/table.html:41
|
#: templates/entities/fragments/table.html:41
|
||||||
#: templates/exchange_rates/fragments/table.html:37
|
#: templates/exchange_rates/fragments/table.html:37
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:59
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:37
|
||||||
#: templates/import_app/fragments/profiles/list.html:74
|
#: templates/import_app/fragments/profiles/list.html:74
|
||||||
#: templates/rules/fragments/list.html:49
|
#: templates/rules/fragments/list.html:49
|
||||||
#: templates/rules/fragments/transaction_rule/view.html:61
|
#: templates/rules/fragments/transaction_rule/view.html:61
|
||||||
@@ -1372,6 +1464,8 @@ msgstr "Você não será capaz de reverter isso!"
|
|||||||
#: templates/dca/fragments/strategy/list.html:48
|
#: templates/dca/fragments/strategy/list.html:48
|
||||||
#: templates/entities/fragments/table.html:42
|
#: templates/entities/fragments/table.html:42
|
||||||
#: templates/exchange_rates/fragments/table.html:38
|
#: templates/exchange_rates/fragments/table.html:38
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:60
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:38
|
||||||
#: templates/import_app/fragments/profiles/list.html:75
|
#: templates/import_app/fragments/profiles/list.html:75
|
||||||
#: templates/import_app/fragments/runs/list.html:108
|
#: templates/import_app/fragments/runs/list.html:108
|
||||||
#: templates/installment_plans/fragments/table.html:62
|
#: templates/installment_plans/fragments/table.html:62
|
||||||
@@ -1503,37 +1597,37 @@ msgid "Restore"
|
|||||||
msgstr "Restaurar"
|
msgstr "Restaurar"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:15
|
#: templates/cotton/ui/account_card.html:15
|
||||||
#: templates/cotton/ui/currency_card.html:13
|
#: templates/cotton/ui/currency_card.html:10
|
||||||
msgid "projected income"
|
msgid "projected income"
|
||||||
msgstr "renda prevista"
|
msgstr "renda prevista"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:37
|
#: templates/cotton/ui/account_card.html:37
|
||||||
#: templates/cotton/ui/currency_card.html:35
|
#: templates/cotton/ui/currency_card.html:32
|
||||||
msgid "projected expenses"
|
msgid "projected expenses"
|
||||||
msgstr "despesas previstas"
|
msgstr "despesas previstas"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:61
|
#: templates/cotton/ui/account_card.html:61
|
||||||
#: templates/cotton/ui/currency_card.html:59
|
#: templates/cotton/ui/currency_card.html:56
|
||||||
msgid "projected total"
|
msgid "projected total"
|
||||||
msgstr "total previsto"
|
msgstr "total previsto"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:86
|
#: templates/cotton/ui/account_card.html:86
|
||||||
#: templates/cotton/ui/currency_card.html:84
|
#: templates/cotton/ui/currency_card.html:81
|
||||||
msgid "current income"
|
msgid "current income"
|
||||||
msgstr "renda atual"
|
msgstr "renda atual"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:108
|
#: templates/cotton/ui/account_card.html:108
|
||||||
#: templates/cotton/ui/currency_card.html:106
|
#: templates/cotton/ui/currency_card.html:103
|
||||||
msgid "current expenses"
|
msgid "current expenses"
|
||||||
msgstr "despesas atuais"
|
msgstr "despesas atuais"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:130
|
#: templates/cotton/ui/account_card.html:130
|
||||||
#: templates/cotton/ui/currency_card.html:128
|
#: templates/cotton/ui/currency_card.html:125
|
||||||
msgid "current total"
|
msgid "current total"
|
||||||
msgstr "total atual"
|
msgstr "total atual"
|
||||||
|
|
||||||
#: templates/cotton/ui/account_card.html:156
|
#: templates/cotton/ui/account_card.html:156
|
||||||
#: templates/cotton/ui/currency_card.html:154
|
#: templates/cotton/ui/currency_card.html:151
|
||||||
msgid "final total"
|
msgid "final total"
|
||||||
msgstr "total final"
|
msgstr "total final"
|
||||||
|
|
||||||
@@ -1788,10 +1882,12 @@ msgid "No entities"
|
|||||||
msgstr "Sem entidades"
|
msgstr "Sem entidades"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/add.html:5
|
#: templates/exchange_rates/fragments/add.html:5
|
||||||
|
#: templates/exchange_rates_services/fragments/add.html:5
|
||||||
msgid "Add exchange rate"
|
msgid "Add exchange rate"
|
||||||
msgstr "Adicionar taxa de câmbio"
|
msgstr "Adicionar taxa de câmbio"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/edit.html:5
|
#: templates/exchange_rates/fragments/edit.html:5
|
||||||
|
#: templates/exchange_rates_services/fragments/edit.html:5
|
||||||
msgid "Edit exchange rate"
|
msgid "Edit exchange rate"
|
||||||
msgstr "Editar taxa de câmbio"
|
msgstr "Editar taxa de câmbio"
|
||||||
|
|
||||||
@@ -1804,22 +1900,68 @@ msgid "All"
|
|||||||
msgstr "Todas"
|
msgstr "Todas"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:11
|
#: templates/exchange_rates/fragments/table.html:11
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:11
|
||||||
msgid "Pairing"
|
msgid "Pairing"
|
||||||
msgstr "Pares"
|
msgstr "Pares"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:12
|
#: templates/exchange_rates/fragments/table.html:12
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:12
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Taxa de Câmbio"
|
msgstr "Taxa de Câmbio"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:51
|
#: templates/exchange_rates/fragments/table.html:51
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:51
|
||||||
msgid "No exchange rates"
|
msgid "No exchange rates"
|
||||||
msgstr "Nenhuma taxa de câmbio"
|
msgstr "Nenhuma taxa de câmbio"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:58
|
#: templates/exchange_rates/fragments/table.html:58
|
||||||
|
#: templates/exchange_rates_services/fragments/table.html:58
|
||||||
#: templates/transactions/fragments/list_all.html:47
|
#: templates/transactions/fragments/list_all.html:47
|
||||||
msgid "Page navigation"
|
msgid "Page navigation"
|
||||||
msgstr "Navegação por página"
|
msgstr "Navegação por página"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:6
|
||||||
|
#: templates/exchange_rates_services/pages/index.html:4
|
||||||
|
#: templates/includes/navbar.html:133
|
||||||
|
msgid "Automatic Exchange Rates"
|
||||||
|
msgstr "Taxas de Câmbio Automáticas"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:21
|
||||||
|
msgid "Fetch all"
|
||||||
|
msgstr "Executar todos"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:33
|
||||||
|
msgid "Service"
|
||||||
|
msgstr "Serviço"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:34
|
||||||
|
msgid "Targeting"
|
||||||
|
msgstr "Alvos"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:35
|
||||||
|
msgid "Fetch every"
|
||||||
|
msgstr "Buscar a cada"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:36
|
||||||
|
msgid "Last fetch"
|
||||||
|
msgstr "Última execução"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:68
|
||||||
|
msgid "currencies"
|
||||||
|
msgstr "moedas"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:68
|
||||||
|
msgid "accounts"
|
||||||
|
msgstr "contas"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:69
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "horas"
|
||||||
|
|
||||||
|
#: templates/exchange_rates_services/fragments/list.html:77
|
||||||
|
msgid "No services configured"
|
||||||
|
msgstr "Nenhum serviço configurado"
|
||||||
|
|
||||||
#: templates/import_app/fragments/profiles/add.html:6
|
#: templates/import_app/fragments/profiles/add.html:6
|
||||||
msgid "Add new import profile"
|
msgid "Add new import profile"
|
||||||
msgstr "Adicionar novo perfil de importação"
|
msgstr "Adicionar novo perfil de importação"
|
||||||
@@ -1919,6 +2061,10 @@ msgstr "Alternar navegação"
|
|||||||
msgid "Overview"
|
msgid "Overview"
|
||||||
msgstr "Visão Geral"
|
msgstr "Visão Geral"
|
||||||
|
|
||||||
|
#: templates/includes/navbar.html:40
|
||||||
|
msgid "Net Worth"
|
||||||
|
msgstr "Patrimônio"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:44
|
#: templates/includes/navbar.html:44
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Atual"
|
msgstr "Atual"
|
||||||
@@ -1960,15 +2106,15 @@ msgstr "Automação"
|
|||||||
msgid "Rules"
|
msgid "Rules"
|
||||||
msgstr "Regras"
|
msgstr "Regras"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:141
|
#: templates/includes/navbar.html:143
|
||||||
msgid "Only use this if you know what you're doing"
|
msgid "Only use this if you know what you're doing"
|
||||||
msgstr "Só use isso se você souber o que está fazendo"
|
msgstr "Só use isso se você souber o que está fazendo"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:142
|
#: templates/includes/navbar.html:144
|
||||||
msgid "Django Admin"
|
msgid "Django Admin"
|
||||||
msgstr "Django Admin"
|
msgstr "Django Admin"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:151
|
#: templates/includes/navbar.html:153
|
||||||
msgid "Calculator"
|
msgid "Calculator"
|
||||||
msgstr "Calculadora"
|
msgstr "Calculadora"
|
||||||
|
|
||||||
@@ -2136,14 +2282,6 @@ msgstr "Mais antigas primeiro"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Mais novas primeiro"
|
msgstr "Mais novas primeiro"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:9
|
|
||||||
msgid "Current Net Worth"
|
|
||||||
msgstr "Patrimônio Atual"
|
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:9
|
|
||||||
msgid "Projected Net Worth"
|
|
||||||
msgstr "Patrimônio Previsto"
|
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:17
|
#: templates/net_worth/net_worth.html:17
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
@@ -2373,6 +2511,10 @@ msgstr "Visão Anual"
|
|||||||
msgid "Year"
|
msgid "Year"
|
||||||
msgstr "Ano"
|
msgstr "Ano"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "Exchange rates queued to be fetched successfully"
|
||||||
|
#~ msgstr "Taxas de câmbio com sucesso"
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#~| msgid "Transaction updated successfully"
|
#~| msgid "Transaction updated successfully"
|
||||||
#~ msgid "{count} transactions updated successfully"
|
#~ msgid "{count} transactions updated successfully"
|
||||||
|
|||||||
11
app/templates/exchange_rates_services/fragments/add.html
Normal file
11
app/templates/exchange_rates_services/fragments/add.html
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{% extends 'extends/offcanvas.html' %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% load crispy_forms_tags %}
|
||||||
|
|
||||||
|
{% block title %}{% translate 'Add exchange rate' %}{% endblock %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
<form hx-post="{% url 'automatic_exchange_rate_add' %}" hx-target="#generic-offcanvas" novalidate>
|
||||||
|
{% crispy form %}
|
||||||
|
</form>
|
||||||
|
{% endblock %}
|
||||||
11
app/templates/exchange_rates_services/fragments/edit.html
Normal file
11
app/templates/exchange_rates_services/fragments/edit.html
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{% extends 'extends/offcanvas.html' %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% load crispy_forms_tags %}
|
||||||
|
|
||||||
|
{% block title %}{% translate 'Edit exchange rate' %}{% endblock %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
<form hx-post="{% url 'automatic_exchange_rate_edit' pk=service.id %}" hx-target="#generic-offcanvas" novalidate>
|
||||||
|
{% crispy form %}
|
||||||
|
</form>
|
||||||
|
{% endblock %}
|
||||||
81
app/templates/exchange_rates_services/fragments/list.html
Normal file
81
app/templates/exchange_rates_services/fragments/list.html
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
{% load currency_display %}
|
||||||
|
{% load i18n %}
|
||||||
|
<div class="container px-md-3 py-3 column-gap-5">
|
||||||
|
<div class="tw-text-3xl fw-bold font-monospace tw-w-full mb-3">
|
||||||
|
{% spaceless %}
|
||||||
|
<div>{% translate 'Automatic Exchange Rates' %}<span>
|
||||||
|
<a class="text-decoration-none tw-text-2xl p-1 category-action"
|
||||||
|
role="button"
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-title="{% translate "Add" %}"
|
||||||
|
hx-get="{% url 'automatic_exchange_rate_add' %}"
|
||||||
|
hx-target="#generic-offcanvas">
|
||||||
|
<i class="fa-solid fa-circle-plus fa-fw"></i></a>
|
||||||
|
</span></div>
|
||||||
|
{% endspaceless %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header text-body-secondary">
|
||||||
|
<button type="button" hx-get="{% url 'automatic_exchange_rate_force_fetch' %}"
|
||||||
|
class="btn btn-outline-primary btn-sm">{% trans 'Fetch all' %}</button>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
{% if services %}
|
||||||
|
<c-config.search></c-config.search>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col" class="col-auto"></th>
|
||||||
|
<th scope="col" class="col-auto"></th>
|
||||||
|
<th scope="col" class="col-auto">{% translate 'Name' %}</th>
|
||||||
|
<th scope="col" class="col">{% translate 'Service' %}</th>
|
||||||
|
<th scope="col" class="col">{% translate 'Targeting' %}</th>
|
||||||
|
<th scope="col" class="col">{% translate 'Fetch every' %}</th>
|
||||||
|
<th scope="col" class="col">{% translate 'Last fetch' %}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for service in services %}
|
||||||
|
<tr class="services">
|
||||||
|
<td class="col-auto">
|
||||||
|
<div class="btn-group" role="group" aria-label="{% translate 'Actions' %}">
|
||||||
|
<a class="btn btn-secondary btn-sm"
|
||||||
|
role="button"
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-title="{% translate "Edit" %}"
|
||||||
|
hx-get="{% url 'automatic_exchange_rate_edit' pk=service.id %}"
|
||||||
|
hx-target="#generic-offcanvas">
|
||||||
|
<i class="fa-solid fa-pencil fa-fw"></i></a>
|
||||||
|
<a class="btn btn-secondary btn-sm text-danger"
|
||||||
|
role="button"
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-title="{% translate "Delete" %}"
|
||||||
|
hx-delete="{% url 'automatic_exchange_rate_delete' pk=service.id %}"
|
||||||
|
hx-trigger='confirmed'
|
||||||
|
data-bypass-on-ctrl="true"
|
||||||
|
data-title="{% translate "Are you sure?" %}"
|
||||||
|
data-text="{% translate "You won't be able to revert this!" %}"
|
||||||
|
data-confirm-text="{% translate "Yes, delete it!" %}"
|
||||||
|
_="install prompt_swal"><i class="fa-solid fa-trash fa-fw"></i></a>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td class="col-auto">{% if service.is_active %}<i class="fa-solid fa-circle text-success"></i>{% else %}
|
||||||
|
<i class="fa-solid fa-circle text-danger"></i>{% endif %}</td>
|
||||||
|
<td class="col-auto">{{ service.name }}</td>
|
||||||
|
<td class="col">{{ service.get_service_type_display }}</td>
|
||||||
|
<td class="col">{{ service.target_currencies.count }} {% trans 'currencies' %}, {{ service.target_accounts.count }} {% trans 'accounts' %}</td>
|
||||||
|
<td class="col">{{ service.fetch_interval_hours }} {% trans 'hours' %}</td>
|
||||||
|
<td class="col">{{ service.last_fetch|date:"SHORT_DATETIME_FORMAT" }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<c-msg.empty title="{% translate "No services configured" %}" remove-padding></c-msg.empty>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
132
app/templates/exchange_rates_services/fragments/table.html
Normal file
132
app/templates/exchange_rates_services/fragments/table.html
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
{% load currency_display %}
|
||||||
|
{% load i18n %}
|
||||||
|
<div class="card-body show-loading" hx-get="{% url 'exchange_rates_list_pair' %}" hx-trigger="updated from:window" hx-swap="outerHTML" hx-vals='{"page": "{{ page_obj.number }}", "from": "{{ from_currency|default_if_none:"" }}", "to": "{{ to_currency|default_if_none:"" }}"}'>
|
||||||
|
{% if page_obj %}
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-hover text-nowrap">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col" class="col-auto"></th>
|
||||||
|
<th scope="col" class="col">{% translate 'Date' %}</th>
|
||||||
|
<th scope="col" class="col">{% translate 'Pairing' %}</th>
|
||||||
|
<th scope="col" class="col">{% translate 'Rate' %}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for exchange_rate in page_obj %}
|
||||||
|
<tr class="exchange-rate">
|
||||||
|
<td class="col-auto">
|
||||||
|
<div class="btn-group" role="group" aria-label="{% translate 'Actions' %}">
|
||||||
|
<a class="btn btn-secondary btn-sm"
|
||||||
|
role="button"
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-title="{% translate "Edit" %}"
|
||||||
|
hx-get="{% url 'exchange_rate_edit' pk=exchange_rate.id %}"
|
||||||
|
hx-target="#generic-offcanvas"
|
||||||
|
hx-swap="innerHTML">
|
||||||
|
<i class="fa-solid fa-pencil fa-fw"></i></a>
|
||||||
|
<a class="btn btn-secondary btn-sm text-danger"
|
||||||
|
role="button"
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-title="{% translate "Delete" %}"
|
||||||
|
hx-delete="{% url 'exchange_rate_delete' pk=exchange_rate.id %}"
|
||||||
|
hx-trigger='confirmed'
|
||||||
|
hx-swap="innerHTML"
|
||||||
|
data-bypass-on-ctrl="true"
|
||||||
|
data-title="{% translate "Are you sure?" %}"
|
||||||
|
data-text="{% translate "You won't be able to revert this!" %}"
|
||||||
|
data-confirm-text="{% translate "Yes, delete it!" %}"
|
||||||
|
_="install prompt_swal"><i class="fa-solid fa-trash fa-fw"></i></a>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td class="col-3">{{ exchange_rate.date|date:"SHORT_DATETIME_FORMAT" }}</td>
|
||||||
|
<td class="col-3"><span class="badge rounded-pill text-bg-secondary">{{ exchange_rate.from_currency.name }}</span> x <span class="badge rounded-pill text-bg-secondary">{{ exchange_rate.to_currency.name }}</span></td>
|
||||||
|
<td class="col-3">1 {{ exchange_rate.from_currency.name }} ≅ {% currency_display amount=exchange_rate.rate prefix=exchange_rate.to_currency.prefix suffix=exchange_rate.to_currency.suffix decimal_places=exchange_rate.to_currency.decimal_places%}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<c-msg.empty title="{% translate "No exchange rates" %}" remove-padding></c-msg.empty>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page_obj.has_other_pages %}
|
||||||
|
<div class="mt-auto">
|
||||||
|
<input value="{{ page_obj.number }}" name="page" type="hidden" id="page">
|
||||||
|
|
||||||
|
<nav aria-label="{% translate 'Page navigation' %}">
|
||||||
|
<ul class="pagination justify-content-center mt-5">
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link tw-cursor-pointer {% if not page_obj.has_previous %}disabled{% endif %}"
|
||||||
|
hx-get="{% if page_obj.has_previous %}{% url 'exchange_rates_list_pair' %}{% endif %}"
|
||||||
|
hx-vals='{"page": 1, "from": "{{ from_currency|default_if_none:"" }}", "to": "{{ to_currency|default_if_none:"" }}"}'
|
||||||
|
hx-include="#filter, #order"
|
||||||
|
hx-target="#exchange-rates-table"
|
||||||
|
aria-label="Primeira página"
|
||||||
|
hx-swap="show:top">
|
||||||
|
<span aria-hidden="true">«</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% for page_number in page_obj.paginator.page_range %}
|
||||||
|
{% comment %}
|
||||||
|
This conditional allows us to display up to 3 pages before and after the current page
|
||||||
|
If you decide to remove this conditional, all the pages will be displayed
|
||||||
|
|
||||||
|
You can change the 3 to any number you want e.g
|
||||||
|
To display only 5 pagination items, change the 3 to 2 (2 before and 2 after the current page)
|
||||||
|
{% endcomment %}
|
||||||
|
{% if page_number <= page_obj.number|add:3 and page_number >= page_obj.number|add:-3 %}
|
||||||
|
{% if page_obj.number == page_number %}
|
||||||
|
<li class="page-item active">
|
||||||
|
<a class="page-link tw-cursor-pointer">
|
||||||
|
{{ page_number }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% else %}
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link tw-cursor-pointer"
|
||||||
|
hx-get="{% url 'exchange_rates_list_pair' %}"
|
||||||
|
hx-vals='{"page": {{ page_number }}, "from": "{{ from_currency|default_if_none:"" }}", "to": "{{ to_currency|default_if_none:"" }}"}'
|
||||||
|
hx-target="#exchange-rates-table"
|
||||||
|
hx-swap="show:top">
|
||||||
|
{{ page_number }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% if page_obj.number|add:3 < page_obj.paginator.num_pages %}
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link disabled"
|
||||||
|
aria-label="...">
|
||||||
|
<span aria-hidden="true">...</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link tw-cursor-pointer"
|
||||||
|
hx-get="{% url 'exchange_rates_list_pair' %}" hx-target="#exchange-rates-table"
|
||||||
|
hx-vals='{"page": {{ page_obj.paginator.num_pages }}, "from": "{{ from_currency|default_if_none:"" }}", "to": "{{ to_currency|default_if_none:"" }}"}'
|
||||||
|
hx-include="#filter, #order"
|
||||||
|
hx-swap="show:top"
|
||||||
|
aria-label="Última página">
|
||||||
|
<span aria-hidden="true">{{ page_obj.paginator.num_pages }}</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link {% if not page_obj.has_next %}disabled{% endif %} tw-cursor-pointer"
|
||||||
|
hx-get="{% if page_obj.has_next %}{% url 'exchange_rates_list_pair' %}{% endif %}"
|
||||||
|
hx-vals='{"page": {{ page_obj.paginator.num_pages }}, "from": "{{ from_currency|default_if_none:"" }}", "to": "{{ to_currency|default_if_none:"" }}"}'
|
||||||
|
hx-include="#filter, #order"
|
||||||
|
hx-swap="show:top"
|
||||||
|
hx-target="#exchange-rates-table"
|
||||||
|
aria-label="Next">
|
||||||
|
<span aria-hidden="true">»</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
8
app/templates/exchange_rates_services/pages/index.html
Normal file
8
app/templates/exchange_rates_services/pages/index.html
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{% extends "layouts/base.html" %}
|
||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
{% block title %}{% translate 'Automatic Exchange Rates' %}{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div hx-get="{% url 'automatic_exchange_rates_list' %}" hx-trigger="load, updated from:window" class="show-loading"></div>
|
||||||
|
{% endblock %}
|
||||||
@@ -129,6 +129,8 @@
|
|||||||
href="{% url 'rules_index' %}">{% translate 'Rules' %}</a></li>
|
href="{% url 'rules_index' %}">{% translate 'Rules' %}</a></li>
|
||||||
<li><a class="dropdown-item {% active_link views='import_profiles_index' %}"
|
<li><a class="dropdown-item {% active_link views='import_profiles_index' %}"
|
||||||
href="{% url 'import_profiles_index' %}">{% translate 'Import' %} <span class="badge text-bg-primary">beta</span></a></li>
|
href="{% url 'import_profiles_index' %}">{% translate 'Import' %} <span class="badge text-bg-primary">beta</span></a></li>
|
||||||
|
<li><a class="dropdown-item {% active_link views='automatic_exchange_rates_index' %}"
|
||||||
|
href="{% url 'automatic_exchange_rates_index' %}">{% translate 'Automatic Exchange Rates' %}</a></li>
|
||||||
<li>
|
<li>
|
||||||
<hr class="dropdown-divider">
|
<hr class="dropdown-divider">
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -4,11 +4,13 @@
|
|||||||
{% javascript_pack 'sweetalert2' attrs="defer" %}
|
{% javascript_pack 'sweetalert2' attrs="defer" %}
|
||||||
{% javascript_pack 'select' attrs="defer" %}
|
{% javascript_pack 'select' attrs="defer" %}
|
||||||
{% javascript_pack 'datepicker' %}
|
{% javascript_pack 'datepicker' %}
|
||||||
|
{% javascript_pack 'autosize' attrs="defer" %}
|
||||||
|
|
||||||
{% include 'includes/scripts/hyperscript/init_tom_select.html' %}
|
{% include 'includes/scripts/hyperscript/init_tom_select.html' %}
|
||||||
{% include 'includes/scripts/hyperscript/init_date_picker.html' %}
|
{% include 'includes/scripts/hyperscript/init_date_picker.html' %}
|
||||||
{% include 'includes/scripts/hyperscript/hide_amount.html' %}
|
{% include 'includes/scripts/hyperscript/hide_amount.html' %}
|
||||||
{% include 'includes/scripts/hyperscript/tooltip.html' %}
|
{% include 'includes/scripts/hyperscript/tooltip.html' %}
|
||||||
|
{% include 'includes/scripts/hyperscript/autosize.html' %}
|
||||||
{% include 'includes/scripts/hyperscript/htmx_error_handler.html' %}
|
{% include 'includes/scripts/hyperscript/htmx_error_handler.html' %}
|
||||||
{% include 'includes/scripts/hyperscript/sounds.html' %}
|
{% include 'includes/scripts/hyperscript/sounds.html' %}
|
||||||
{% include 'includes/scripts/hyperscript/swal.html' %}
|
{% include 'includes/scripts/hyperscript/swal.html' %}
|
||||||
|
|||||||
7
app/templates/includes/scripts/hyperscript/autosize.html
Normal file
7
app/templates/includes/scripts/hyperscript/autosize.html
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<script type="text/hyperscript">
|
||||||
|
on htmx:afterSettle
|
||||||
|
for elem in <.textarea/>
|
||||||
|
autosize(elem)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
</script>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<div id="toasts">
|
<div id="toasts">
|
||||||
<div class="toast-container position-fixed bottom-0 end-0 p-3" hx-trigger="load, updated from:window" hx-get="{% url 'toasts' %}" hx-swap="beforeend">
|
<div class="toast-container position-fixed bottom-0 end-0 p-3" hx-trigger="load, updated from:window, toasts from:window" hx-get="{% url 'toasts' %}" hx-swap="beforeend">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,54 +1,3 @@
|
|||||||
import autosize from "autosize/dist/autosize";
|
import autosize from "autosize/dist/autosize";
|
||||||
|
|
||||||
let autosize_textareas = document.querySelectorAll('textarea[autosize]');
|
window.autosize = autosize;
|
||||||
|
|
||||||
autosize(autosize_textareas);
|
|
||||||
|
|
||||||
document.addEventListener('shown.bs.collapse', function () {
|
|
||||||
autosize.update(autosize_textareas);
|
|
||||||
});
|
|
||||||
|
|
||||||
// UPDATE AUTOSIZE TEXT AREAS FOR FORMS INSIDE HTMX MODALS
|
|
||||||
document.addEventListener('updated.bs.modal', function () {
|
|
||||||
let new_autosize_textareas = document.querySelectorAll('textarea[autosize]');
|
|
||||||
autosize(new_autosize_textareas);
|
|
||||||
});
|
|
||||||
|
|
||||||
let charcount_textareas = document.querySelectorAll('textarea[countchars], input[countchars]');
|
|
||||||
charcount_textareas.forEach(formElement => {
|
|
||||||
countTextArea(formElement);
|
|
||||||
formElement.addEventListener('input', () => countTextArea(formElement));
|
|
||||||
});
|
|
||||||
|
|
||||||
function countTextArea(formElement) {
|
|
||||||
let name = formElement.name;
|
|
||||||
|
|
||||||
let max_chars = null;
|
|
||||||
if (formElement.dataset.maxChars) {
|
|
||||||
max_chars = formElement.dataset.maxChars;
|
|
||||||
} else if (formElement.hasAttribute("maxlength")) {
|
|
||||||
max_chars = formElement.getAttribute("maxlength");
|
|
||||||
}
|
|
||||||
|
|
||||||
let cur_chars = formElement.value.length;
|
|
||||||
|
|
||||||
let wrapper = document.querySelector(`#charcount-${name}`);
|
|
||||||
let char_counter = document.querySelector(`#char-counter-${name}`);
|
|
||||||
let max_counter = document.querySelector(`#max-counter-${name}`);
|
|
||||||
|
|
||||||
char_counter.textContent = cur_chars;
|
|
||||||
if (max_counter) {
|
|
||||||
max_counter.textContent = max_chars;
|
|
||||||
wrapper.classList.remove("text-bg-warning", "text-bg-normal", "text-bg-success", "text-bg-danger");
|
|
||||||
|
|
||||||
if (cur_chars === 0) {
|
|
||||||
wrapper.classList.add("text-bg-secondary");
|
|
||||||
} else if (cur_chars > max_chars - 1) {
|
|
||||||
wrapper.classList.add("text-bg-danger");
|
|
||||||
} else if (cur_chars < max_chars && cur_chars > max_chars * (90 / 100)) {
|
|
||||||
wrapper.classList.add("text-bg-warning");
|
|
||||||
} else if (cur_chars < max_chars - ((max_chars * (10 / 100)) - 1)) {
|
|
||||||
wrapper.classList.add("text-bg-success");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user