mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-09-07 10:27:17 +02:00
Compare commits
25
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d500bef481 | ||
|
|
f280fcb172 | ||
|
|
6c808eff38 | ||
|
|
1690a153f9 | ||
|
|
7116176c78 | ||
|
|
d9c9cbe7c3 | ||
|
|
11b03474c1 | ||
|
|
e2f26b3629 | ||
|
|
10c8fcfb97 | ||
|
|
039ad225d3 | ||
|
|
18d4ab7d11 | ||
|
|
c64a363126 | ||
|
|
68a9286ce5 | ||
|
|
1357688e7b | ||
|
|
ba1f421ad3 | ||
|
|
f60f86a5cb | ||
|
|
5588eb33b1 | ||
|
|
934e6bd8e0 | ||
|
|
7933f1c316 | ||
|
|
00f87bea3d | ||
|
|
53ed0d791a | ||
|
|
5147d939ef | ||
|
|
716bd6f57f | ||
|
|
ded4cb37d5 | ||
|
|
bdbccdec16 |
@@ -65,7 +65,6 @@ jobs:
|
||||
if: steps.check_changes.outputs.changes_detected == 'true'
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
with:
|
||||
push_options: --force
|
||||
commit_message: |
|
||||
chore(locale): update translation files
|
||||
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.shortcuts import render
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.views.decorators.http import require_http_methods
|
||||
|
||||
from apps.accounts.forms import AccountGroupForm
|
||||
from apps.accounts.models import AccountGroup
|
||||
from apps.common.decorators.htmx import only_htmx
|
||||
from apps.common.functions.permissions import (
|
||||
EDIT,
|
||||
READ,
|
||||
get_shared_object_or_error,
|
||||
)
|
||||
from apps.common.models import SharedObject
|
||||
from apps.common.forms import SharedObjectForm
|
||||
|
||||
@@ -63,17 +69,7 @@ def account_group_add(request, **kwargs):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def account_group_edit(request, pk):
|
||||
account_group = get_object_or_404(AccountGroup, id=pk)
|
||||
|
||||
if account_group.owner and account_group.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
account_group = get_shared_object_or_error(AccountGroup, request, id=pk, level=EDIT)
|
||||
|
||||
if request.method == "POST":
|
||||
form = AccountGroupForm(request.POST, instance=account_group)
|
||||
@@ -101,17 +97,18 @@ def account_group_edit(request, pk):
|
||||
@login_required
|
||||
@require_http_methods(["DELETE"])
|
||||
def account_group_delete(request, pk):
|
||||
account_group = get_object_or_404(AccountGroup, id=pk)
|
||||
account_group = get_shared_object_or_error(AccountGroup, request, id=pk, level=READ)
|
||||
|
||||
if (
|
||||
account_group.owner != request.user
|
||||
and request.user in account_group.shared_with.all()
|
||||
):
|
||||
if account_group.is_editable_by(request.user):
|
||||
account_group.delete()
|
||||
messages.success(request, _("Account Group deleted successfully"))
|
||||
elif account_group.shared_with.filter(pk=request.user.pk).exists():
|
||||
# Someone else's object shared with us: we can drop our own access
|
||||
# to it, but never delete it.
|
||||
account_group.shared_with.remove(request.user)
|
||||
messages.success(request, _("Item no longer shared with you"))
|
||||
else:
|
||||
account_group.delete()
|
||||
messages.success(request, _("Account Group deleted successfully"))
|
||||
raise PermissionDenied
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
@@ -125,7 +122,7 @@ def account_group_delete(request, pk):
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def account_group_take_ownership(request, pk):
|
||||
account_group = get_object_or_404(AccountGroup, id=pk)
|
||||
account_group = get_shared_object_or_error(AccountGroup, request, id=pk, level=EDIT)
|
||||
|
||||
if not account_group.owner:
|
||||
account_group.owner = request.user
|
||||
@@ -146,17 +143,7 @@ def account_group_take_ownership(request, pk):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def account_group_share(request, pk):
|
||||
obj = get_object_or_404(AccountGroup, id=pk)
|
||||
|
||||
if obj.owner and obj.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
obj = get_shared_object_or_error(AccountGroup, request, id=pk, level=EDIT)
|
||||
|
||||
if request.method == "POST":
|
||||
form = SharedObjectForm(request.POST, instance=obj, user=request.user)
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.shortcuts import render
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.views.decorators.http import require_http_methods
|
||||
|
||||
from apps.accounts.forms import AccountForm
|
||||
from apps.accounts.models import Account
|
||||
from apps.common.decorators.htmx import only_htmx
|
||||
from apps.common.functions.permissions import (
|
||||
EDIT,
|
||||
READ,
|
||||
get_shared_object_or_error,
|
||||
)
|
||||
from apps.common.models import SharedObject
|
||||
from apps.common.forms import SharedObjectForm
|
||||
|
||||
@@ -63,16 +69,7 @@ def account_add(request, **kwargs):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def account_edit(request, pk):
|
||||
account = get_object_or_404(Account, id=pk)
|
||||
if account.owner and account.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
account = get_shared_object_or_error(Account, request, id=pk, level=EDIT)
|
||||
|
||||
if request.method == "POST":
|
||||
form = AccountForm(request.POST, instance=account)
|
||||
@@ -100,17 +97,7 @@ def account_edit(request, pk):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def account_share(request, pk):
|
||||
obj = get_object_or_404(Account, id=pk)
|
||||
|
||||
if obj.owner and obj.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
obj = get_shared_object_or_error(Account, request, id=pk, level=EDIT)
|
||||
|
||||
if request.method == "POST":
|
||||
form = SharedObjectForm(request.POST, instance=obj, user=request.user)
|
||||
@@ -138,14 +125,18 @@ def account_share(request, pk):
|
||||
@login_required
|
||||
@require_http_methods(["DELETE"])
|
||||
def account_delete(request, pk):
|
||||
account = get_object_or_404(Account, id=pk)
|
||||
account = get_shared_object_or_error(Account, request, id=pk, level=READ)
|
||||
|
||||
if account.owner != request.user and request.user in account.shared_with.all():
|
||||
if account.is_editable_by(request.user):
|
||||
account.delete()
|
||||
messages.success(request, _("Account deleted successfully"))
|
||||
elif account.shared_with.filter(pk=request.user.pk).exists():
|
||||
# Someone else's object shared with us: we can drop our own access
|
||||
# to it, but never delete it.
|
||||
account.shared_with.remove(request.user)
|
||||
messages.success(request, _("Item no longer shared with you"))
|
||||
else:
|
||||
account.delete()
|
||||
messages.success(request, _("Account deleted successfully"))
|
||||
raise PermissionDenied
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
@@ -159,7 +150,9 @@ def account_delete(request, pk):
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def account_toggle_untracked(request, pk):
|
||||
account = get_object_or_404(Account, id=pk)
|
||||
# Only flips the calling user's own row in untracked_by, so visibility --
|
||||
# not ownership -- is the right bar here.
|
||||
account = get_shared_object_or_error(Account, request, id=pk, level=READ)
|
||||
if account.is_untracked_by():
|
||||
account.untracked_by.remove(request.user)
|
||||
messages.success(request, _("Account is now tracked"))
|
||||
@@ -179,7 +172,7 @@ def account_toggle_untracked(request, pk):
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def account_take_ownership(request, pk):
|
||||
account = get_object_or_404(Account, id=pk)
|
||||
account = get_shared_object_or_error(Account, request, id=pk, level=EDIT)
|
||||
|
||||
if not account.owner:
|
||||
account.owner = request.user
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
from rest_framework.permissions import BasePermission
|
||||
from rest_framework.permissions import (
|
||||
SAFE_METHODS,
|
||||
BasePermission,
|
||||
DjangoModelPermissions,
|
||||
)
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
@@ -8,3 +12,37 @@ class NotInDemoMode(BasePermission):
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
|
||||
class SharedObjectPermission(BasePermission):
|
||||
"""Object-level ownership check for SharedObject-backed viewsets.
|
||||
|
||||
DjangoModelPermissions is model-level: a user holding ``change_account``
|
||||
may write any object the viewset's queryset returns, and for SharedObject
|
||||
that queryset includes other people's public and shared-with-them objects.
|
||||
Sharing grants read access only, so writes are restricted to the owner
|
||||
here as well.
|
||||
|
||||
Set ``shared_object_via`` on the viewset when the governing SharedObject is
|
||||
reached through a relation (e.g. ``"strategy"`` for a DCA entry).
|
||||
"""
|
||||
|
||||
def has_object_permission(self, request, view, obj):
|
||||
if request.method in SAFE_METHODS:
|
||||
return True
|
||||
|
||||
guard = obj
|
||||
via = getattr(view, "shared_object_via", None)
|
||||
for attr in via.split(".") if via else []:
|
||||
guard = getattr(guard, attr)
|
||||
|
||||
return guard.is_editable_by(request.user)
|
||||
|
||||
|
||||
#: Default permissions plus the object-level ownership check. Assigning
|
||||
#: ``permission_classes`` replaces the defaults, so they are repeated here.
|
||||
SHARED_OBJECT_PERMISSIONS = [
|
||||
NotInDemoMode,
|
||||
DjangoModelPermissions,
|
||||
SharedObjectPermission,
|
||||
]
|
||||
|
||||
@@ -3,3 +3,4 @@ from .test_imports import *
|
||||
from .test_accounts import *
|
||||
from .test_data_isolation import *
|
||||
from .test_shared_access import *
|
||||
from .test_object_permissions import *
|
||||
|
||||
@@ -0,0 +1,171 @@
|
||||
"""Object-level ownership on the SharedObject API viewsets.
|
||||
|
||||
DjangoModelPermissions is model-level: a user holding ``change_account`` could
|
||||
write any object the viewset's queryset returned, and for SharedObject that
|
||||
queryset includes other people's public and shared-with-them objects. Ordinary
|
||||
users hold no model permissions, so this was not reachable for them, but the
|
||||
object-level check was missing entirely.
|
||||
|
||||
Reads are unaffected -- they stay governed by SharedObjectManager.
|
||||
"""
|
||||
|
||||
from datetime import date
|
||||
from decimal import Decimal
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.models import Permission
|
||||
from django.test import TestCase, override_settings
|
||||
from rest_framework import status
|
||||
from rest_framework.test import APIClient
|
||||
|
||||
from apps.accounts.models import Account
|
||||
from apps.currencies.models import Currency
|
||||
from apps.dca.models import DCAEntry, DCAStrategy
|
||||
from apps.transactions.models import TransactionCategory
|
||||
|
||||
|
||||
@override_settings(
|
||||
STORAGES={
|
||||
"default": {"BACKEND": "django.core.files.storage.FileSystemStorage"},
|
||||
"staticfiles": {
|
||||
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage"
|
||||
},
|
||||
},
|
||||
WHITENOISE_AUTOREFRESH=True,
|
||||
DEMO=False,
|
||||
)
|
||||
class SharedObjectAPIPermissionTests(TestCase):
|
||||
"""The attacker here deliberately HOLDS the Django model permissions.
|
||||
|
||||
Without them DjangoModelPermissions already answers 403 and the
|
||||
object-level check is never consulted, so the test would pass whether or
|
||||
not it exists.
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
User = get_user_model()
|
||||
self.owner = User.objects.create_user(
|
||||
email="owner@test.com", password="testpass123"
|
||||
)
|
||||
self.attacker = User.objects.create_user(
|
||||
email="attacker@test.com", password="testpass123"
|
||||
)
|
||||
self.attacker.user_permissions.set(
|
||||
Permission.objects.filter(
|
||||
codename__in=[
|
||||
"add_account",
|
||||
"change_account",
|
||||
"delete_account",
|
||||
"add_transactioncategory",
|
||||
"change_transactioncategory",
|
||||
"delete_transactioncategory",
|
||||
"add_dcaentry",
|
||||
"change_dcaentry",
|
||||
"delete_dcaentry",
|
||||
]
|
||||
)
|
||||
)
|
||||
# Permissions are cached on the user instance.
|
||||
self.attacker = User.objects.get(pk=self.attacker.pk)
|
||||
|
||||
self.currency = Currency.objects.create(
|
||||
code="USD", name="US Dollar", decimal_places=2
|
||||
)
|
||||
|
||||
self.api = APIClient()
|
||||
self.api.force_authenticate(user=self.attacker)
|
||||
|
||||
def test_cannot_modify_public_account(self):
|
||||
account = Account.all_objects.create(
|
||||
name="Public account",
|
||||
currency=self.currency,
|
||||
owner=self.owner,
|
||||
visibility="public",
|
||||
)
|
||||
|
||||
response = self.api.patch(
|
||||
f"/api/accounts/{account.id}/", {"name": "HIJACKED"}, format="json"
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||
account.refresh_from_db()
|
||||
self.assertEqual(account.name, "Public account")
|
||||
|
||||
def test_cannot_delete_account_shared_with_them(self):
|
||||
account = Account.all_objects.create(
|
||||
name="Shared account",
|
||||
currency=self.currency,
|
||||
owner=self.owner,
|
||||
visibility="private",
|
||||
)
|
||||
account.shared_with.add(self.attacker)
|
||||
|
||||
response = self.api.delete(f"/api/accounts/{account.id}/")
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||
self.assertTrue(Account.all_objects.filter(pk=account.pk).exists())
|
||||
|
||||
def test_cannot_delete_public_category(self):
|
||||
category = TransactionCategory.all_objects.create(
|
||||
name="Public category", owner=self.owner, visibility="public"
|
||||
)
|
||||
|
||||
response = self.api.delete(f"/api/categories/{category.id}/")
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||
self.assertTrue(TransactionCategory.all_objects.filter(pk=category.pk).exists())
|
||||
|
||||
def test_cannot_delete_entry_on_public_strategy(self):
|
||||
strategy = DCAStrategy.all_objects.create(
|
||||
name="Public strategy",
|
||||
owner=self.owner,
|
||||
visibility="public",
|
||||
target_currency=self.currency,
|
||||
payment_currency=self.currency,
|
||||
)
|
||||
entry = DCAEntry.objects.create(
|
||||
strategy=strategy,
|
||||
date=date(2025, 1, 1),
|
||||
amount_paid=Decimal("100"),
|
||||
amount_received=Decimal("1"),
|
||||
)
|
||||
|
||||
response = self.api.delete(f"/api/dca/entries/{entry.id}/")
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||
self.assertTrue(DCAEntry.objects.filter(pk=entry.pk).exists())
|
||||
|
||||
def test_reads_of_shared_objects_still_work(self):
|
||||
account = Account.all_objects.create(
|
||||
name="Public account",
|
||||
currency=self.currency,
|
||||
owner=self.owner,
|
||||
visibility="public",
|
||||
)
|
||||
|
||||
response = self.api.get(f"/api/accounts/{account.id}/")
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
def test_owner_can_still_write_their_own_objects(self):
|
||||
owner_client = APIClient()
|
||||
self.owner.user_permissions.set(
|
||||
Permission.objects.filter(codename__in=["change_account", "delete_account"])
|
||||
)
|
||||
owner = get_user_model().objects.get(pk=self.owner.pk)
|
||||
owner_client.force_authenticate(user=owner)
|
||||
|
||||
account = Account.all_objects.create(
|
||||
name="Own account",
|
||||
currency=self.currency,
|
||||
owner=owner,
|
||||
visibility="private",
|
||||
)
|
||||
|
||||
response = owner_client.patch(
|
||||
f"/api/accounts/{account.id}/", {"name": "Renamed"}, format="json"
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
account.refresh_from_db()
|
||||
self.assertEqual(account.name, "Renamed")
|
||||
@@ -6,6 +6,7 @@ from rest_framework.response import Response
|
||||
|
||||
from apps.accounts.models import AccountGroup, Account
|
||||
from apps.accounts.services import get_account_balance
|
||||
from apps.api.permissions import SHARED_OBJECT_PERMISSIONS
|
||||
from apps.api.serializers import (
|
||||
AccountGroupSerializer,
|
||||
AccountSerializer,
|
||||
@@ -16,6 +17,7 @@ from apps.api.serializers import (
|
||||
class AccountGroupViewSet(viewsets.ModelViewSet):
|
||||
"""ViewSet for managing account groups."""
|
||||
|
||||
permission_classes = SHARED_OBJECT_PERMISSIONS
|
||||
queryset = AccountGroup.objects.all()
|
||||
serializer_class = AccountGroupSerializer
|
||||
filterset_fields = {
|
||||
@@ -40,6 +42,7 @@ class AccountGroupViewSet(viewsets.ModelViewSet):
|
||||
class AccountViewSet(viewsets.ModelViewSet):
|
||||
"""ViewSet for managing accounts."""
|
||||
|
||||
permission_classes = SHARED_OBJECT_PERMISSIONS
|
||||
queryset = Account.objects.all()
|
||||
serializer_class = AccountSerializer
|
||||
filterset_fields = {
|
||||
|
||||
@@ -2,10 +2,12 @@ from rest_framework import viewsets
|
||||
from rest_framework.decorators import action
|
||||
from rest_framework.response import Response
|
||||
from apps.dca.models import DCAStrategy, DCAEntry
|
||||
from apps.api.permissions import SHARED_OBJECT_PERMISSIONS
|
||||
from apps.api.serializers import DCAStrategySerializer, DCAEntrySerializer
|
||||
|
||||
|
||||
class DCAStrategyViewSet(viewsets.ModelViewSet):
|
||||
permission_classes = SHARED_OBJECT_PERMISSIONS
|
||||
queryset = DCAStrategy.objects.all()
|
||||
serializer_class = DCAStrategySerializer
|
||||
filterset_fields = {
|
||||
@@ -43,6 +45,8 @@ class DCAStrategyViewSet(viewsets.ModelViewSet):
|
||||
|
||||
|
||||
class DCAEntryViewSet(viewsets.ModelViewSet):
|
||||
permission_classes = SHARED_OBJECT_PERMISSIONS
|
||||
shared_object_via = "strategy"
|
||||
queryset = DCAEntry.objects.all()
|
||||
serializer_class = DCAEntrySerializer
|
||||
filterset_fields = {
|
||||
|
||||
@@ -19,6 +19,7 @@ from apps.transactions.models import (
|
||||
RecurringTransaction,
|
||||
)
|
||||
from apps.rules.signals import transaction_updated, transaction_created
|
||||
from apps.api.permissions import SHARED_OBJECT_PERMISSIONS
|
||||
|
||||
|
||||
class TransactionViewSet(viewsets.ModelViewSet):
|
||||
@@ -68,6 +69,7 @@ class TransactionViewSet(viewsets.ModelViewSet):
|
||||
|
||||
|
||||
class TransactionCategoryViewSet(viewsets.ModelViewSet):
|
||||
permission_classes = SHARED_OBJECT_PERMISSIONS
|
||||
queryset = TransactionCategory.objects.all()
|
||||
serializer_class = TransactionCategorySerializer
|
||||
filterset_fields = {
|
||||
@@ -85,6 +87,7 @@ class TransactionCategoryViewSet(viewsets.ModelViewSet):
|
||||
|
||||
|
||||
class TransactionTagViewSet(viewsets.ModelViewSet):
|
||||
permission_classes = SHARED_OBJECT_PERMISSIONS
|
||||
queryset = TransactionTag.objects.all()
|
||||
serializer_class = TransactionTagSerializer
|
||||
filterset_fields = {
|
||||
@@ -101,6 +104,7 @@ class TransactionTagViewSet(viewsets.ModelViewSet):
|
||||
|
||||
|
||||
class TransactionEntityViewSet(viewsets.ModelViewSet):
|
||||
permission_classes = SHARED_OBJECT_PERMISSIONS
|
||||
queryset = TransactionEntity.objects.all()
|
||||
serializer_class = TransactionEntitySerializer
|
||||
filterset_fields = {
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import Http404
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
READ = "read"
|
||||
EDIT = "edit"
|
||||
|
||||
|
||||
def get_shared_object_or_error(klass, request, *, level=EDIT, via=None, **kwargs):
|
||||
"""Fetch an object like ``get_object_or_404`` while enforcing access control.
|
||||
|
||||
``SharedObjectManager`` scopes querysets to what a user may *see*, which is
|
||||
not the same as what they may *change*. Views that resolve an object from a
|
||||
URL id must state which of the two they need, otherwise a shared or public
|
||||
object becomes writable by anyone who can see it.
|
||||
|
||||
``level`` selects the check applied to the governing ``SharedObject``:
|
||||
|
||||
``READ``
|
||||
The object must be visible to the user. Denial raises :class:`Http404`
|
||||
so the response does not confirm that the id exists.
|
||||
``EDIT``
|
||||
The object must be owned by the user. Denial raises
|
||||
:class:`~django.core.exceptions.PermissionDenied` (HTTP 403), which the
|
||||
frontend surfaces as an "Access Denied" dialog. An object the user
|
||||
cannot even see raises :class:`Http404` instead, so 403 never confirms
|
||||
the existence of an object they were not allowed to know about.
|
||||
|
||||
Objects with no owner stay accessible to everyone, preserving the existing
|
||||
behaviour for legacy/unowned objects.
|
||||
|
||||
``via`` is a dotted path to the ``SharedObject`` that governs access, for
|
||||
models owned through a relation, e.g. a rule action governed by its parent
|
||||
rule::
|
||||
|
||||
get_shared_object_or_error(
|
||||
TransactionRuleAction, request, id=pk, level=EDIT, via="rule"
|
||||
)
|
||||
|
||||
The path is resolved with a plain ``getattr``, so a path that does not
|
||||
resolve raises ``AttributeError`` rather than silently granting access.
|
||||
"""
|
||||
obj = get_object_or_404(klass, **kwargs)
|
||||
|
||||
guard = obj
|
||||
for attr in via.split(".") if via else []:
|
||||
guard = getattr(guard, attr)
|
||||
|
||||
if level not in (READ, EDIT):
|
||||
raise ValueError(f"Unknown access level: {level!r}")
|
||||
|
||||
if not guard.is_visible_to(request.user):
|
||||
raise Http404
|
||||
|
||||
if level == EDIT and not guard.is_editable_by(request.user):
|
||||
raise PermissionDenied
|
||||
|
||||
return obj
|
||||
@@ -58,13 +58,35 @@ class SharedObject(models.Model):
|
||||
models.Index(fields=["visibility"]),
|
||||
]
|
||||
|
||||
def is_accessible_by(self, user):
|
||||
"""Check if a user can access this object"""
|
||||
return (
|
||||
self.visibility == "public"
|
||||
or self.owner == user
|
||||
or (self.visibility == "shared" and user in self.shared_with.all())
|
||||
)
|
||||
# NOTE: these two predicates must stay in sync with the ``Q`` objects built
|
||||
# by ``SharedObjectManager.get_queryset`` above. The manager filters at the
|
||||
# queryset level and these check a single instance, so they cannot share an
|
||||
# implementation; ``SharedObjectPredicateParityTests`` asserts they agree.
|
||||
def is_visible_to(self, user):
|
||||
"""Whether ``user`` may read this object.
|
||||
|
||||
Mirrors ``SharedObjectManager``: public objects, objects with no owner,
|
||||
the owner's own objects, and objects explicitly shared with the user.
|
||||
"""
|
||||
if self.owner is None or self.visibility == "public":
|
||||
return True
|
||||
|
||||
if not user or not user.is_authenticated:
|
||||
return False
|
||||
|
||||
return self.owner_id == user.pk or self.shared_with.filter(pk=user.pk).exists()
|
||||
|
||||
def is_editable_by(self, user):
|
||||
"""Whether ``user`` may mutate this object.
|
||||
|
||||
Sharing grants read access only; mutation stays with the owner. Objects
|
||||
with no owner remain editable by everyone, preserving the behaviour of
|
||||
legacy/unowned objects.
|
||||
"""
|
||||
if self.owner is None:
|
||||
return True
|
||||
|
||||
return bool(user and user.is_authenticated and self.owner_id == user.pk)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.pk and not self.owner:
|
||||
|
||||
@@ -0,0 +1,269 @@
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import Http404
|
||||
from django.test import RequestFactory, TestCase, override_settings
|
||||
|
||||
from apps.common.functions.permissions import (
|
||||
EDIT,
|
||||
READ,
|
||||
get_shared_object_or_error,
|
||||
)
|
||||
from apps.common.middleware.thread_local import delete_current_user, write_current_user
|
||||
from apps.rules.models import TransactionRule, TransactionRuleAction
|
||||
|
||||
|
||||
@override_settings(
|
||||
STORAGES={
|
||||
"default": {"BACKEND": "django.core.files.storage.FileSystemStorage"},
|
||||
"staticfiles": {
|
||||
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage"
|
||||
},
|
||||
},
|
||||
WHITENOISE_AUTOREFRESH=True,
|
||||
)
|
||||
class SharedObjectPredicateTests(TestCase):
|
||||
"""Unit tests for is_visible_to / is_editable_by on SharedObject."""
|
||||
|
||||
def setUp(self):
|
||||
User = get_user_model()
|
||||
self.owner = User.objects.create_user(
|
||||
email="owner@test.com", password="testpass123"
|
||||
)
|
||||
self.shared_user = User.objects.create_user(
|
||||
email="shared@test.com", password="testpass123"
|
||||
)
|
||||
self.stranger = User.objects.create_user(
|
||||
email="stranger@test.com", password="testpass123"
|
||||
)
|
||||
|
||||
def _rule(self, **kwargs):
|
||||
kwargs.setdefault("name", "Rule")
|
||||
kwargs.setdefault("trigger", "True")
|
||||
return TransactionRule.all_objects.create(**kwargs)
|
||||
|
||||
def test_owner_can_read_and_edit_own_private_rule(self):
|
||||
rule = self._rule(owner=self.owner, visibility="private")
|
||||
|
||||
self.assertTrue(rule.is_visible_to(self.owner))
|
||||
self.assertTrue(rule.is_editable_by(self.owner))
|
||||
|
||||
def test_private_rule_is_invisible_to_stranger(self):
|
||||
rule = self._rule(owner=self.owner, visibility="private")
|
||||
|
||||
self.assertFalse(rule.is_visible_to(self.stranger))
|
||||
self.assertFalse(rule.is_editable_by(self.stranger))
|
||||
|
||||
def test_shared_rule_is_readable_but_not_editable(self):
|
||||
rule = self._rule(owner=self.owner, visibility="private")
|
||||
rule.shared_with.add(self.shared_user)
|
||||
|
||||
self.assertTrue(rule.is_visible_to(self.shared_user))
|
||||
self.assertFalse(rule.is_editable_by(self.shared_user))
|
||||
|
||||
def test_public_rule_is_readable_but_not_editable(self):
|
||||
rule = self._rule(owner=self.owner, visibility="public")
|
||||
|
||||
self.assertTrue(rule.is_visible_to(self.stranger))
|
||||
self.assertFalse(rule.is_editable_by(self.stranger))
|
||||
|
||||
def test_unowned_rule_stays_readable_and_editable_by_everyone(self):
|
||||
rule = self._rule(owner=None, visibility="private")
|
||||
|
||||
self.assertTrue(rule.is_visible_to(self.stranger))
|
||||
self.assertTrue(rule.is_editable_by(self.stranger))
|
||||
|
||||
def test_anonymous_user_gets_no_access_to_owned_rules(self):
|
||||
rule = self._rule(owner=self.owner, visibility="private")
|
||||
|
||||
self.assertFalse(rule.is_visible_to(AnonymousUser()))
|
||||
self.assertFalse(rule.is_editable_by(AnonymousUser()))
|
||||
|
||||
|
||||
@override_settings(
|
||||
STORAGES={
|
||||
"default": {"BACKEND": "django.core.files.storage.FileSystemStorage"},
|
||||
"staticfiles": {
|
||||
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage"
|
||||
},
|
||||
},
|
||||
WHITENOISE_AUTOREFRESH=True,
|
||||
)
|
||||
class SharedObjectPredicateParityTests(TestCase):
|
||||
"""is_visible_to must agree with what SharedObjectManager returns.
|
||||
|
||||
The manager filters at the queryset level and the predicate checks a single
|
||||
instance, so the two cannot share an implementation. This asserts they do
|
||||
not drift apart.
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
User = get_user_model()
|
||||
self.owner = User.objects.create_user(
|
||||
email="owner@test.com", password="testpass123"
|
||||
)
|
||||
self.other = User.objects.create_user(
|
||||
email="other@test.com", password="testpass123"
|
||||
)
|
||||
self.addCleanup(self._clear_current_user)
|
||||
|
||||
def _clear_current_user(self):
|
||||
try:
|
||||
delete_current_user()
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
def test_manager_and_predicate_agree_over_every_combination(self):
|
||||
combinations = []
|
||||
for owner in (self.owner, self.other, None):
|
||||
for visibility in ("private", "public"):
|
||||
for shared in (True, False):
|
||||
rule = TransactionRule.all_objects.create(
|
||||
name=f"{owner}-{visibility}-{shared}",
|
||||
trigger="True",
|
||||
owner=owner,
|
||||
visibility=visibility,
|
||||
)
|
||||
if shared:
|
||||
rule.shared_with.add(self.owner)
|
||||
combinations.append(rule)
|
||||
|
||||
write_current_user(self.owner)
|
||||
visible_ids = set(TransactionRule.objects.values_list("id", flat=True))
|
||||
|
||||
for rule in combinations:
|
||||
with self.subTest(rule=rule.name):
|
||||
self.assertEqual(
|
||||
rule.id in visible_ids,
|
||||
rule.is_visible_to(self.owner),
|
||||
f"manager and is_visible_to disagree for {rule.name}",
|
||||
)
|
||||
|
||||
|
||||
@override_settings(
|
||||
STORAGES={
|
||||
"default": {"BACKEND": "django.core.files.storage.FileSystemStorage"},
|
||||
"staticfiles": {
|
||||
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage"
|
||||
},
|
||||
},
|
||||
WHITENOISE_AUTOREFRESH=True,
|
||||
)
|
||||
class GetSharedObjectOrErrorTests(TestCase):
|
||||
def setUp(self):
|
||||
User = get_user_model()
|
||||
self.owner = User.objects.create_user(
|
||||
email="owner@test.com", password="testpass123"
|
||||
)
|
||||
self.stranger = User.objects.create_user(
|
||||
email="stranger@test.com", password="testpass123"
|
||||
)
|
||||
self.factory = RequestFactory()
|
||||
|
||||
self.public_rule = TransactionRule.all_objects.create(
|
||||
name="Public", trigger="True", owner=self.owner, visibility="public"
|
||||
)
|
||||
self.private_rule = TransactionRule.all_objects.create(
|
||||
name="Private", trigger="True", owner=self.owner, visibility="private"
|
||||
)
|
||||
self.public_action = TransactionRuleAction.objects.create(
|
||||
rule=self.public_rule, field="notes", value="x"
|
||||
)
|
||||
self.private_action = TransactionRuleAction.objects.create(
|
||||
rule=self.private_rule, field="notes", value="x"
|
||||
)
|
||||
|
||||
self.addCleanup(self._clear_current_user)
|
||||
|
||||
def _clear_current_user(self):
|
||||
try:
|
||||
delete_current_user()
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
def _request(self, user):
|
||||
request = self.factory.get("/")
|
||||
request.user = user
|
||||
write_current_user(user)
|
||||
return request
|
||||
|
||||
def test_read_allows_visible_object(self):
|
||||
request = self._request(self.stranger)
|
||||
|
||||
rule = get_shared_object_or_error(
|
||||
TransactionRule, request, id=self.public_rule.id, level=READ
|
||||
)
|
||||
|
||||
self.assertEqual(rule, self.public_rule)
|
||||
|
||||
def test_edit_denies_visible_but_unowned_object_with_403(self):
|
||||
request = self._request(self.stranger)
|
||||
|
||||
with self.assertRaises(PermissionDenied):
|
||||
get_shared_object_or_error(
|
||||
TransactionRule, request, id=self.public_rule.id, level=EDIT
|
||||
)
|
||||
|
||||
def test_edit_allows_owner(self):
|
||||
request = self._request(self.owner)
|
||||
|
||||
rule = get_shared_object_or_error(
|
||||
TransactionRule, request, id=self.public_rule.id, level=EDIT
|
||||
)
|
||||
|
||||
self.assertEqual(rule, self.public_rule)
|
||||
|
||||
def test_invisible_object_raises_404_not_403(self):
|
||||
"""403 must not confirm the existence of an object the user cannot see."""
|
||||
request = self._request(self.stranger)
|
||||
|
||||
with self.assertRaises(Http404):
|
||||
get_shared_object_or_error(
|
||||
TransactionRule, request, id=self.private_rule.id, level=EDIT
|
||||
)
|
||||
|
||||
def test_via_traverses_to_the_governing_object(self):
|
||||
request = self._request(self.stranger)
|
||||
|
||||
with self.assertRaises(PermissionDenied):
|
||||
get_shared_object_or_error(
|
||||
TransactionRuleAction,
|
||||
request,
|
||||
id=self.public_action.id,
|
||||
level=EDIT,
|
||||
via="rule",
|
||||
)
|
||||
|
||||
def test_via_hides_children_of_invisible_parents_behind_404(self):
|
||||
"""TransactionRuleAction has an unscoped manager, so the id is reachable."""
|
||||
request = self._request(self.stranger)
|
||||
|
||||
with self.assertRaises(Http404):
|
||||
get_shared_object_or_error(
|
||||
TransactionRuleAction,
|
||||
request,
|
||||
id=self.private_action.id,
|
||||
level=EDIT,
|
||||
via="rule",
|
||||
)
|
||||
|
||||
def test_unresolvable_via_path_fails_closed(self):
|
||||
"""A typo'd path must raise, never silently grant access."""
|
||||
request = self._request(self.stranger)
|
||||
|
||||
with self.assertRaises(AttributeError):
|
||||
get_shared_object_or_error(
|
||||
TransactionRuleAction,
|
||||
request,
|
||||
id=self.public_action.id,
|
||||
level=EDIT,
|
||||
via="rulee",
|
||||
)
|
||||
|
||||
def test_unknown_level_is_rejected(self):
|
||||
request = self._request(self.owner)
|
||||
|
||||
with self.assertRaises(ValueError):
|
||||
get_shared_object_or_error(
|
||||
TransactionRule, request, id=self.public_rule.id, level="write"
|
||||
)
|
||||
@@ -0,0 +1,161 @@
|
||||
"""Delete semantics for every SharedObject-backed model.
|
||||
|
||||
Each of these views carried the same inverted condition::
|
||||
|
||||
if obj.owner != request.user and request.user in obj.shared_with.all():
|
||||
obj.shared_with.remove(request.user) # unshare
|
||||
else:
|
||||
obj.delete() # <- public objects landed here
|
||||
|
||||
so an object its owner had made public could be destroyed by any authenticated
|
||||
user. The rule is: the owner deletes, a shared user revokes only their own
|
||||
access, and nobody else may do either.
|
||||
"""
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.test import TestCase, override_settings
|
||||
from django.urls import reverse
|
||||
|
||||
from apps.accounts.models import Account, AccountGroup
|
||||
from apps.currencies.models import Currency
|
||||
from apps.dca.models import DCAStrategy
|
||||
from apps.rules.models import TransactionRule
|
||||
from apps.transactions.models import (
|
||||
TransactionCategory,
|
||||
TransactionEntity,
|
||||
TransactionTag,
|
||||
)
|
||||
|
||||
HTMX = {"HTTP_HX_REQUEST": "true"}
|
||||
|
||||
|
||||
@override_settings(
|
||||
STORAGES={
|
||||
"default": {"BACKEND": "django.core.files.storage.FileSystemStorage"},
|
||||
"staticfiles": {
|
||||
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage"
|
||||
},
|
||||
},
|
||||
WHITENOISE_AUTOREFRESH=True,
|
||||
DEMO=False,
|
||||
)
|
||||
class SharedObjectDeletionTests(TestCase):
|
||||
def setUp(self):
|
||||
User = get_user_model()
|
||||
self.owner = User.objects.create_user(
|
||||
email="owner@test.com", password="testpass123"
|
||||
)
|
||||
self.shared_user = User.objects.create_user(
|
||||
email="shared@test.com", password="testpass123"
|
||||
)
|
||||
self.stranger = User.objects.create_user(
|
||||
email="stranger@test.com", password="testpass123"
|
||||
)
|
||||
self.currency = Currency.objects.create(
|
||||
code="USD", name="US Dollar", decimal_places=2
|
||||
)
|
||||
|
||||
def cases(self):
|
||||
"""(label, model, delete url name, url kwarg, extra create kwargs)."""
|
||||
return [
|
||||
(
|
||||
"account",
|
||||
Account,
|
||||
"account_delete",
|
||||
"pk",
|
||||
{"currency": self.currency},
|
||||
),
|
||||
("account group", AccountGroup, "account_group_delete", "pk", {}),
|
||||
(
|
||||
"category",
|
||||
TransactionCategory,
|
||||
"category_delete",
|
||||
"category_id",
|
||||
{},
|
||||
),
|
||||
("tag", TransactionTag, "tag_delete", "tag_id", {}),
|
||||
("entity", TransactionEntity, "entity_delete", "entity_id", {}),
|
||||
(
|
||||
"rule",
|
||||
TransactionRule,
|
||||
"transaction_rule_delete",
|
||||
"transaction_rule_id",
|
||||
{"trigger": "True"},
|
||||
),
|
||||
(
|
||||
"dca strategy",
|
||||
DCAStrategy,
|
||||
"dca_strategy_delete",
|
||||
"strategy_id",
|
||||
{
|
||||
"target_currency": self.currency,
|
||||
"payment_currency": self.currency,
|
||||
},
|
||||
),
|
||||
]
|
||||
|
||||
def make(self, model, visibility, extra):
|
||||
return model.all_objects.create(
|
||||
name="Target", owner=self.owner, visibility=visibility, **extra
|
||||
)
|
||||
|
||||
def delete(self, url_name, kwarg, obj):
|
||||
return self.client.delete(reverse(url_name, kwargs={kwarg: obj.id}), **HTMX)
|
||||
|
||||
def test_stranger_cannot_delete_a_public_object(self):
|
||||
for label, model, url_name, kwarg, extra in self.cases():
|
||||
with self.subTest(model=label):
|
||||
obj = self.make(model, "public", extra)
|
||||
self.client.force_login(self.stranger)
|
||||
|
||||
response = self.delete(url_name, kwarg, obj)
|
||||
|
||||
self.assertEqual(response.status_code, 403, label)
|
||||
self.assertTrue(
|
||||
model.all_objects.filter(pk=obj.pk).exists(),
|
||||
f"{label} was deleted by a non-owner",
|
||||
)
|
||||
|
||||
def test_shared_user_deleting_only_revokes_their_own_access(self):
|
||||
for label, model, url_name, kwarg, extra in self.cases():
|
||||
with self.subTest(model=label):
|
||||
obj = self.make(model, "private", extra)
|
||||
obj.shared_with.add(self.shared_user)
|
||||
self.client.force_login(self.shared_user)
|
||||
|
||||
response = self.delete(url_name, kwarg, obj)
|
||||
|
||||
self.assertEqual(response.status_code, 204, label)
|
||||
self.assertTrue(
|
||||
model.all_objects.filter(pk=obj.pk).exists(),
|
||||
f"{label} was deleted by a shared user",
|
||||
)
|
||||
self.assertNotIn(self.shared_user, obj.shared_with.all())
|
||||
|
||||
def test_owner_can_delete(self):
|
||||
for label, model, url_name, kwarg, extra in self.cases():
|
||||
with self.subTest(model=label):
|
||||
obj = self.make(model, "private", extra)
|
||||
self.client.force_login(self.owner)
|
||||
|
||||
response = self.delete(url_name, kwarg, obj)
|
||||
|
||||
self.assertEqual(response.status_code, 204, label)
|
||||
self.assertFalse(
|
||||
model.all_objects.filter(pk=obj.pk).exists(),
|
||||
f"{label} was not deleted by its owner",
|
||||
)
|
||||
|
||||
def test_unowned_objects_stay_deletable(self):
|
||||
"""Legacy objects with no owner are editable by everyone by design."""
|
||||
for label, model, url_name, kwarg, extra in self.cases():
|
||||
with self.subTest(model=label):
|
||||
obj = model.all_objects.create(
|
||||
name="Legacy", owner=None, visibility="private", **extra
|
||||
)
|
||||
self.client.force_login(self.stranger)
|
||||
|
||||
response = self.delete(url_name, kwarg, obj)
|
||||
|
||||
self.assertEqual(response.status_code, 204, label)
|
||||
self.assertFalse(model.all_objects.filter(pk=obj.pk).exists(), label)
|
||||
@@ -1,3 +0,0 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
@@ -0,0 +1,248 @@
|
||||
"""Object-level authorization tests for the DCA views.
|
||||
|
||||
DCAEntry has an unscoped default manager, so filtering an entry by
|
||||
``strategy__id`` alone reached entries belonging to strategies the caller could
|
||||
not see at all -- a strictly wider hole than the one reported for rules in
|
||||
GHSA-83g9-vjqf-2j5q, since it needs no public or shared strategy.
|
||||
"""
|
||||
|
||||
from datetime import date
|
||||
from decimal import Decimal
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.test import TestCase, override_settings
|
||||
from django.urls import reverse
|
||||
|
||||
from apps.currencies.models import Currency
|
||||
from apps.dca.models import DCAEntry, DCAStrategy
|
||||
|
||||
HTMX = {"HTTP_HX_REQUEST": "true"}
|
||||
|
||||
|
||||
@override_settings(
|
||||
STORAGES={
|
||||
"default": {"BACKEND": "django.core.files.storage.FileSystemStorage"},
|
||||
"staticfiles": {
|
||||
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage"
|
||||
},
|
||||
},
|
||||
WHITENOISE_AUTOREFRESH=True,
|
||||
DEMO=False,
|
||||
)
|
||||
class DCAObjectPermissionTests(TestCase):
|
||||
def setUp(self):
|
||||
User = get_user_model()
|
||||
self.owner = User.objects.create_user(
|
||||
email="owner@test.com", password="testpass123"
|
||||
)
|
||||
self.shared_user = User.objects.create_user(
|
||||
email="shared@test.com", password="testpass123"
|
||||
)
|
||||
self.stranger = User.objects.create_user(
|
||||
email="stranger@test.com", password="testpass123"
|
||||
)
|
||||
self.currency = Currency.objects.create(
|
||||
code="USD", name="US Dollar", decimal_places=2
|
||||
)
|
||||
|
||||
self.private_strategy = self._strategy("Private", visibility="private")
|
||||
self.public_strategy = self._strategy("Public", visibility="public")
|
||||
self.shared_strategy = self._strategy("Shared", visibility="private")
|
||||
self.shared_strategy.shared_with.add(self.shared_user)
|
||||
|
||||
self.private_entry = self._entry(self.private_strategy)
|
||||
self.public_entry = self._entry(self.public_strategy)
|
||||
self.shared_entry = self._entry(self.shared_strategy)
|
||||
|
||||
def _strategy(self, name, visibility):
|
||||
return DCAStrategy.all_objects.create(
|
||||
name=name,
|
||||
owner=self.owner,
|
||||
visibility=visibility,
|
||||
target_currency=self.currency,
|
||||
payment_currency=self.currency,
|
||||
)
|
||||
|
||||
def _entry(self, strategy):
|
||||
return DCAEntry.objects.create(
|
||||
strategy=strategy,
|
||||
date=date(2025, 1, 1),
|
||||
amount_paid=Decimal("100"),
|
||||
amount_received=Decimal("1"),
|
||||
)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# entries on an invisible strategy: must not even confirm they exist
|
||||
# ------------------------------------------------------------------
|
||||
def test_stranger_cannot_delete_entry_on_private_strategy(self):
|
||||
self.client.force_login(self.stranger)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"dca_entry_delete",
|
||||
kwargs={
|
||||
"strategy_id": self.private_strategy.id,
|
||||
"entry_id": self.private_entry.id,
|
||||
},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertTrue(DCAEntry.objects.filter(pk=self.private_entry.pk).exists())
|
||||
|
||||
def test_stranger_cannot_open_entry_edit_form_on_private_strategy(self):
|
||||
self.client.force_login(self.stranger)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"dca_entry_edit",
|
||||
kwargs={
|
||||
"strategy_id": self.private_strategy.id,
|
||||
"entry_id": self.private_entry.id,
|
||||
},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 404)
|
||||
|
||||
def test_stranger_cannot_edit_entry_on_private_strategy(self):
|
||||
self.client.force_login(self.stranger)
|
||||
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
"dca_entry_edit",
|
||||
kwargs={
|
||||
"strategy_id": self.private_strategy.id,
|
||||
"entry_id": self.private_entry.id,
|
||||
},
|
||||
),
|
||||
data={
|
||||
"date": "2030-01-01",
|
||||
"amount_paid": "999",
|
||||
"amount_received": "999",
|
||||
},
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.private_entry.refresh_from_db()
|
||||
self.assertEqual(self.private_entry.amount_paid, Decimal("100"))
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# entries on a visible-but-unowned strategy: 403, not 404
|
||||
# ------------------------------------------------------------------
|
||||
def test_stranger_cannot_delete_entry_on_public_strategy(self):
|
||||
self.client.force_login(self.stranger)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"dca_entry_delete",
|
||||
kwargs={
|
||||
"strategy_id": self.public_strategy.id,
|
||||
"entry_id": self.public_entry.id,
|
||||
},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertTrue(DCAEntry.objects.filter(pk=self.public_entry.pk).exists())
|
||||
|
||||
def test_shared_user_cannot_add_entry_to_shared_strategy(self):
|
||||
self.client.force_login(self.shared_user)
|
||||
|
||||
response = self.client.post(
|
||||
reverse("dca_entry_add", kwargs={"strategy_id": self.shared_strategy.id}),
|
||||
data={
|
||||
"date": "2030-01-01",
|
||||
"amount_paid": "5",
|
||||
"amount_received": "5",
|
||||
},
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertEqual(self.shared_strategy.entries.count(), 1)
|
||||
|
||||
def test_owner_can_still_manage_own_entries(self):
|
||||
self.client.force_login(self.owner)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"dca_entry_delete",
|
||||
kwargs={
|
||||
"strategy_id": self.private_strategy.id,
|
||||
"entry_id": self.private_entry.id,
|
||||
},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 204)
|
||||
self.assertFalse(DCAEntry.objects.filter(pk=self.private_entry.pk).exists())
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# reads stay open to shared users
|
||||
# ------------------------------------------------------------------
|
||||
def test_shared_user_can_still_view_strategy_detail(self):
|
||||
self.client.force_login(self.shared_user)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"dca_strategy_detail", kwargs={"strategy_id": self.shared_strategy.id}
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# strategy delete: the same inversion the rules views had
|
||||
# ------------------------------------------------------------------
|
||||
def test_stranger_cannot_delete_public_strategy(self):
|
||||
self.client.force_login(self.stranger)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"dca_strategy_delete", kwargs={"strategy_id": self.public_strategy.id}
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertTrue(
|
||||
DCAStrategy.all_objects.filter(pk=self.public_strategy.pk).exists()
|
||||
)
|
||||
|
||||
def test_shared_user_deleting_only_revokes_their_own_access(self):
|
||||
self.client.force_login(self.shared_user)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"dca_strategy_delete", kwargs={"strategy_id": self.shared_strategy.id}
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 204)
|
||||
self.assertTrue(
|
||||
DCAStrategy.all_objects.filter(pk=self.shared_strategy.pk).exists()
|
||||
)
|
||||
self.assertNotIn(self.shared_user, self.shared_strategy.shared_with.all())
|
||||
|
||||
def test_owner_can_delete_own_strategy(self):
|
||||
self.client.force_login(self.owner)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"dca_strategy_delete", kwargs={"strategy_id": self.public_strategy.id}
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 204)
|
||||
self.assertFalse(
|
||||
DCAStrategy.all_objects.filter(pk=self.public_strategy.pk).exists()
|
||||
)
|
||||
+49
-36
@@ -1,13 +1,19 @@
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.db.models import Sum, Avg
|
||||
from django.db.models.functions import TruncMonth
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.shortcuts import render
|
||||
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.common.functions.permissions import (
|
||||
EDIT,
|
||||
READ,
|
||||
get_shared_object_or_error,
|
||||
)
|
||||
from apps.dca.forms import DCAEntryForm, DCAStrategyForm
|
||||
from apps.dca.models import DCAStrategy, DCAEntry
|
||||
from apps.common.models import SharedObject
|
||||
@@ -56,17 +62,9 @@ def strategy_add(request):
|
||||
@only_htmx
|
||||
@login_required
|
||||
def strategy_edit(request, strategy_id):
|
||||
dca_strategy = get_object_or_404(DCAStrategy, id=strategy_id)
|
||||
|
||||
if dca_strategy.owner and dca_strategy.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
dca_strategy = get_shared_object_or_error(
|
||||
DCAStrategy, request, id=strategy_id, level=EDIT
|
||||
)
|
||||
|
||||
if request.method == "POST":
|
||||
form = DCAStrategyForm(request.POST, instance=dca_strategy)
|
||||
@@ -94,17 +92,20 @@ def strategy_edit(request, strategy_id):
|
||||
@login_required
|
||||
@require_http_methods(["DELETE"])
|
||||
def strategy_delete(request, strategy_id):
|
||||
dca_strategy = get_object_or_404(DCAStrategy, id=strategy_id)
|
||||
dca_strategy = get_shared_object_or_error(
|
||||
DCAStrategy, request, id=strategy_id, level=READ
|
||||
)
|
||||
|
||||
if (
|
||||
dca_strategy.owner != request.user
|
||||
and request.user in dca_strategy.shared_with.all()
|
||||
):
|
||||
if dca_strategy.is_editable_by(request.user):
|
||||
dca_strategy.delete()
|
||||
messages.success(request, _("DCA strategy deleted successfully"))
|
||||
elif dca_strategy.shared_with.filter(pk=request.user.pk).exists():
|
||||
# Someone else's object shared with us: we can drop our own access
|
||||
# to it, but never delete it.
|
||||
dca_strategy.shared_with.remove(request.user)
|
||||
messages.success(request, _("Item no longer shared with you"))
|
||||
else:
|
||||
dca_strategy.delete()
|
||||
messages.success(request, _("DCA strategy deleted successfully"))
|
||||
raise PermissionDenied
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
@@ -118,7 +119,9 @@ def strategy_delete(request, strategy_id):
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def strategy_take_ownership(request, strategy_id):
|
||||
dca_strategy = get_object_or_404(DCAStrategy, id=strategy_id)
|
||||
dca_strategy = get_shared_object_or_error(
|
||||
DCAStrategy, request, id=strategy_id, level=EDIT
|
||||
)
|
||||
|
||||
if not dca_strategy.owner:
|
||||
dca_strategy.owner = request.user
|
||||
@@ -139,17 +142,7 @@ def strategy_take_ownership(request, strategy_id):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def strategy_share(request, pk):
|
||||
obj = get_object_or_404(DCAStrategy, id=pk)
|
||||
|
||||
if obj.owner and obj.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
obj = get_shared_object_or_error(DCAStrategy, request, id=pk, level=EDIT)
|
||||
|
||||
if request.method == "POST":
|
||||
form = SharedObjectForm(request.POST, instance=obj, user=request.user)
|
||||
@@ -175,7 +168,9 @@ def strategy_share(request, pk):
|
||||
|
||||
@login_required
|
||||
def strategy_detail_index(request, strategy_id):
|
||||
strategy = get_object_or_404(DCAStrategy, id=strategy_id)
|
||||
strategy = get_shared_object_or_error(
|
||||
DCAStrategy, request, id=strategy_id, level=READ
|
||||
)
|
||||
|
||||
return render(
|
||||
request,
|
||||
@@ -187,7 +182,9 @@ def strategy_detail_index(request, strategy_id):
|
||||
@only_htmx
|
||||
@login_required
|
||||
def strategy_detail(request, strategy_id):
|
||||
strategy = get_object_or_404(DCAStrategy, id=strategy_id)
|
||||
strategy = get_shared_object_or_error(
|
||||
DCAStrategy, request, id=strategy_id, level=READ
|
||||
)
|
||||
entries = strategy.entries.all()
|
||||
|
||||
# Calculate monthly aggregates
|
||||
@@ -229,7 +226,9 @@ def strategy_detail(request, strategy_id):
|
||||
@only_htmx
|
||||
@login_required
|
||||
def strategy_entry_add(request, strategy_id):
|
||||
strategy = get_object_or_404(DCAStrategy, id=strategy_id)
|
||||
strategy = get_shared_object_or_error(
|
||||
DCAStrategy, request, id=strategy_id, level=EDIT
|
||||
)
|
||||
if request.method == "POST":
|
||||
form = DCAEntryForm(request.POST, strategy=strategy)
|
||||
if form.is_valid():
|
||||
@@ -255,7 +254,14 @@ def strategy_entry_add(request, strategy_id):
|
||||
@only_htmx
|
||||
@login_required
|
||||
def strategy_entry_edit(request, strategy_id, entry_id):
|
||||
dca_entry = get_object_or_404(DCAEntry, id=entry_id, strategy__id=strategy_id)
|
||||
dca_entry = get_shared_object_or_error(
|
||||
DCAEntry,
|
||||
request,
|
||||
id=entry_id,
|
||||
strategy__id=strategy_id,
|
||||
level=EDIT,
|
||||
via="strategy",
|
||||
)
|
||||
|
||||
if request.method == "POST":
|
||||
form = DCAEntryForm(request.POST, instance=dca_entry)
|
||||
@@ -283,7 +289,14 @@ def strategy_entry_edit(request, strategy_id, entry_id):
|
||||
@login_required
|
||||
@require_http_methods(["DELETE"])
|
||||
def strategy_entry_delete(request, entry_id, strategy_id):
|
||||
dca_entry = get_object_or_404(DCAEntry, id=entry_id, strategy__id=strategy_id)
|
||||
dca_entry = get_shared_object_or_error(
|
||||
DCAEntry,
|
||||
request,
|
||||
id=entry_id,
|
||||
strategy__id=strategy_id,
|
||||
level=EDIT,
|
||||
via="strategy",
|
||||
)
|
||||
|
||||
dca_entry.delete()
|
||||
|
||||
|
||||
@@ -0,0 +1,473 @@
|
||||
"""Object-level authorization tests for the transaction-rule endpoints.
|
||||
|
||||
Regression coverage for GHSA-83g9-vjqf-2j5q: SharedObjectManager scopes rules to
|
||||
what a user may *see*, which included other people's public and shared-with-them
|
||||
rules. Several mutating endpoints treated that visibility as permission to write.
|
||||
"""
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.test import TestCase, override_settings
|
||||
from django.urls import reverse
|
||||
|
||||
from apps.rules.models import (
|
||||
TransactionRule,
|
||||
TransactionRuleAction,
|
||||
UpdateOrCreateTransactionRuleAction,
|
||||
)
|
||||
|
||||
HTMX = {"HTTP_HX_REQUEST": "true"}
|
||||
|
||||
|
||||
@override_settings(
|
||||
STORAGES={
|
||||
"default": {"BACKEND": "django.core.files.storage.FileSystemStorage"},
|
||||
"staticfiles": {
|
||||
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage"
|
||||
},
|
||||
},
|
||||
WHITENOISE_AUTOREFRESH=True,
|
||||
DEMO=False,
|
||||
)
|
||||
class TransactionRuleObjectPermissionTests(TestCase):
|
||||
def setUp(self):
|
||||
User = get_user_model()
|
||||
self.owner = User.objects.create_user(
|
||||
email="owner@test.com", password="testpass123"
|
||||
)
|
||||
self.shared_user = User.objects.create_user(
|
||||
email="shared@test.com", password="testpass123"
|
||||
)
|
||||
self.stranger = User.objects.create_user(
|
||||
email="stranger@test.com", password="testpass123"
|
||||
)
|
||||
|
||||
# Public: visible to everyone through SharedObjectManager.
|
||||
self.public_rule = TransactionRule.all_objects.create(
|
||||
name="Public rule",
|
||||
trigger="True",
|
||||
owner=self.owner,
|
||||
visibility="public",
|
||||
active=True,
|
||||
)
|
||||
# Private but shared with shared_user: visible to them, not to stranger.
|
||||
self.shared_rule = TransactionRule.all_objects.create(
|
||||
name="Shared rule",
|
||||
trigger="True",
|
||||
owner=self.owner,
|
||||
visibility="private",
|
||||
active=True,
|
||||
)
|
||||
self.shared_rule.shared_with.add(self.shared_user)
|
||||
# Private and unshared: invisible to everyone but the owner.
|
||||
self.private_rule = TransactionRule.all_objects.create(
|
||||
name="Private rule",
|
||||
trigger="True",
|
||||
owner=self.owner,
|
||||
visibility="private",
|
||||
active=True,
|
||||
)
|
||||
|
||||
self.public_action = TransactionRuleAction.objects.create(
|
||||
rule=self.public_rule, field="notes", value="owned by owner"
|
||||
)
|
||||
self.private_action = TransactionRuleAction.objects.create(
|
||||
rule=self.private_rule, field="notes", value="owned by owner"
|
||||
)
|
||||
self.public_linked_action = UpdateOrCreateTransactionRuleAction.objects.create(
|
||||
rule=self.public_rule
|
||||
)
|
||||
self.private_linked_action = UpdateOrCreateTransactionRuleAction.objects.create(
|
||||
rule=self.private_rule
|
||||
)
|
||||
|
||||
def login(self, user):
|
||||
self.client.force_login(user)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# toggle-active
|
||||
# ------------------------------------------------------------------
|
||||
def test_stranger_cannot_toggle_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"transaction_rule_toggle_activity",
|
||||
kwargs={"transaction_rule_id": self.public_rule.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.public_rule.refresh_from_db()
|
||||
self.assertTrue(self.public_rule.active)
|
||||
|
||||
def test_shared_user_cannot_toggle_shared_rule(self):
|
||||
self.login(self.shared_user)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"transaction_rule_toggle_activity",
|
||||
kwargs={"transaction_rule_id": self.shared_rule.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.shared_rule.refresh_from_db()
|
||||
self.assertTrue(self.shared_rule.active)
|
||||
|
||||
def test_owner_can_toggle_own_rule(self):
|
||||
self.login(self.owner)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"transaction_rule_toggle_activity",
|
||||
kwargs={"transaction_rule_id": self.public_rule.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 204)
|
||||
self.public_rule.refresh_from_db()
|
||||
self.assertFalse(self.public_rule.active)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# rule actions
|
||||
# ------------------------------------------------------------------
|
||||
def test_stranger_cannot_add_action_to_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
"transaction_rule_action_add",
|
||||
kwargs={"transaction_rule_id": self.public_rule.id},
|
||||
),
|
||||
data={"field": "notes", "value": "injected", "order": 0},
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertFalse(
|
||||
TransactionRuleAction.objects.filter(value="injected").exists()
|
||||
)
|
||||
|
||||
def test_stranger_cannot_edit_action_on_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
"transaction_rule_action_edit",
|
||||
kwargs={"transaction_rule_action_id": self.public_action.id},
|
||||
),
|
||||
data={"field": "notes", "value": "rewritten", "order": 0},
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.public_action.refresh_from_db()
|
||||
self.assertEqual(self.public_action.value, "owned by owner")
|
||||
|
||||
def test_stranger_cannot_delete_action_on_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"transaction_rule_action_delete",
|
||||
kwargs={"transaction_rule_action_id": self.public_action.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertTrue(
|
||||
TransactionRuleAction.objects.filter(pk=self.public_action.pk).exists()
|
||||
)
|
||||
|
||||
def test_stranger_cannot_delete_action_on_invisible_rule(self):
|
||||
"""The child manager is unscoped, so the id is reachable by guessing.
|
||||
|
||||
The parent rule is invisible to the stranger, so the response must be a
|
||||
404 rather than a 403 that confirms the action exists.
|
||||
"""
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"transaction_rule_action_delete",
|
||||
kwargs={"transaction_rule_action_id": self.private_action.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertTrue(
|
||||
TransactionRuleAction.objects.filter(pk=self.private_action.pk).exists()
|
||||
)
|
||||
|
||||
def test_owner_can_delete_own_action(self):
|
||||
self.login(self.owner)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"transaction_rule_action_delete",
|
||||
kwargs={"transaction_rule_action_id": self.public_action.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 204)
|
||||
self.assertFalse(
|
||||
TransactionRuleAction.objects.filter(pk=self.public_action.pk).exists()
|
||||
)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# update-or-create rule actions
|
||||
# ------------------------------------------------------------------
|
||||
def test_stranger_cannot_add_linked_action_to_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
"update_or_create_transaction_rule_action_add",
|
||||
kwargs={"transaction_rule_id": self.public_rule.id},
|
||||
),
|
||||
data={},
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertEqual(
|
||||
UpdateOrCreateTransactionRuleAction.objects.filter(
|
||||
rule=self.public_rule
|
||||
).count(),
|
||||
1,
|
||||
)
|
||||
|
||||
def test_stranger_cannot_edit_linked_action_on_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
"update_or_create_transaction_rule_action_edit",
|
||||
kwargs={"pk": self.public_linked_action.id},
|
||||
),
|
||||
data={"filter": "injected"},
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.public_linked_action.refresh_from_db()
|
||||
self.assertEqual(self.public_linked_action.filter, "")
|
||||
|
||||
def test_stranger_cannot_delete_linked_action_on_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"update_or_create_transaction_rule_action_delete",
|
||||
kwargs={"pk": self.public_linked_action.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertTrue(
|
||||
UpdateOrCreateTransactionRuleAction.objects.filter(
|
||||
pk=self.public_linked_action.pk
|
||||
).exists()
|
||||
)
|
||||
|
||||
def test_stranger_cannot_delete_linked_action_on_invisible_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"update_or_create_transaction_rule_action_delete",
|
||||
kwargs={"pk": self.private_linked_action.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertTrue(
|
||||
UpdateOrCreateTransactionRuleAction.objects.filter(
|
||||
pk=self.private_linked_action.pk
|
||||
).exists()
|
||||
)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# edit / share / dry-run
|
||||
# ------------------------------------------------------------------
|
||||
def test_stranger_cannot_edit_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
"transaction_rule_edit",
|
||||
kwargs={"transaction_rule_id": self.public_rule.id},
|
||||
),
|
||||
data={"name": "hijacked", "trigger": "True", "order": 0},
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.public_rule.refresh_from_db()
|
||||
self.assertEqual(self.public_rule.name, "Public rule")
|
||||
|
||||
def test_stranger_cannot_change_sharing_of_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
"transaction_rule_share_settings", kwargs={"pk": self.public_rule.id}
|
||||
),
|
||||
data={"visibility": "private"},
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.public_rule.refresh_from_db()
|
||||
self.assertEqual(self.public_rule.visibility, "public")
|
||||
|
||||
def test_stranger_cannot_dry_run_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"transaction_rule_dry_run_created", kwargs={"pk": self.public_rule.id}
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# delete: sharing may be revoked, ownership may not be overridden
|
||||
# ------------------------------------------------------------------
|
||||
def test_stranger_cannot_delete_public_rule(self):
|
||||
"""The original condition fell through to delete() for public rules."""
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"transaction_rule_delete",
|
||||
kwargs={"transaction_rule_id": self.public_rule.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertTrue(
|
||||
TransactionRule.all_objects.filter(pk=self.public_rule.pk).exists()
|
||||
)
|
||||
|
||||
def test_shared_user_deleting_only_revokes_their_own_access(self):
|
||||
self.login(self.shared_user)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"transaction_rule_delete",
|
||||
kwargs={"transaction_rule_id": self.shared_rule.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 204)
|
||||
self.assertTrue(
|
||||
TransactionRule.all_objects.filter(pk=self.shared_rule.pk).exists()
|
||||
)
|
||||
self.assertNotIn(self.shared_user, self.shared_rule.shared_with.all())
|
||||
|
||||
def test_owner_can_delete_own_rule(self):
|
||||
self.login(self.owner)
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
"transaction_rule_delete",
|
||||
kwargs={"transaction_rule_id": self.public_rule.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 204)
|
||||
self.assertFalse(
|
||||
TransactionRule.all_objects.filter(pk=self.public_rule.pk).exists()
|
||||
)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# reads must keep working for shared users
|
||||
# ------------------------------------------------------------------
|
||||
def test_shared_user_can_still_view_shared_rule(self):
|
||||
self.login(self.shared_user)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"transaction_rule_view",
|
||||
kwargs={"transaction_rule_id": self.shared_rule.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_stranger_can_view_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"transaction_rule_view",
|
||||
kwargs={"transaction_rule_id": self.public_rule.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_stranger_cannot_view_private_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"transaction_rule_view",
|
||||
kwargs={"transaction_rule_id": self.private_rule.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 404)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# take ownership stays available for unowned rules only
|
||||
# ------------------------------------------------------------------
|
||||
def test_take_ownership_of_unowned_rule_still_works(self):
|
||||
unowned = TransactionRule.all_objects.create(
|
||||
name="Legacy rule", trigger="True", owner=None, visibility="private"
|
||||
)
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"transaction_rule_take_ownership",
|
||||
kwargs={"transaction_rule_id": unowned.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 204)
|
||||
unowned.refresh_from_db()
|
||||
self.assertEqual(unowned.owner, self.stranger)
|
||||
|
||||
def test_cannot_take_ownership_of_someone_elses_public_rule(self):
|
||||
self.login(self.stranger)
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
"transaction_rule_take_ownership",
|
||||
kwargs={"transaction_rule_id": self.public_rule.id},
|
||||
),
|
||||
**HTMX,
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.public_rule.refresh_from_db()
|
||||
self.assertEqual(self.public_rule.owner, self.owner)
|
||||
+58
-47
@@ -4,13 +4,19 @@ from copy import deepcopy
|
||||
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.db import transaction
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import render, get_object_or_404, redirect
|
||||
from django.shortcuts import render, redirect
|
||||
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.common.functions.permissions import (
|
||||
EDIT,
|
||||
READ,
|
||||
get_shared_object_or_error,
|
||||
)
|
||||
from apps.rules.forms import (
|
||||
TransactionRuleForm,
|
||||
TransactionRuleActionForm,
|
||||
@@ -62,7 +68,9 @@ def rules_list(request):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def transaction_rule_toggle_activity(request, transaction_rule_id, **kwargs):
|
||||
transaction_rule = get_object_or_404(TransactionRule, id=transaction_rule_id)
|
||||
transaction_rule = get_shared_object_or_error(
|
||||
TransactionRule, request, id=transaction_rule_id, level=EDIT
|
||||
)
|
||||
current_active = transaction_rule.active
|
||||
transaction_rule.active = not current_active
|
||||
transaction_rule.save(update_fields=["active"])
|
||||
@@ -112,17 +120,9 @@ def transaction_rule_add(request, **kwargs):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def transaction_rule_edit(request, transaction_rule_id):
|
||||
transaction_rule = get_object_or_404(TransactionRule, id=transaction_rule_id)
|
||||
|
||||
if transaction_rule.owner and transaction_rule.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
transaction_rule = get_shared_object_or_error(
|
||||
TransactionRule, request, id=transaction_rule_id, level=EDIT
|
||||
)
|
||||
|
||||
if request.method == "POST":
|
||||
form = TransactionRuleForm(request.POST, instance=transaction_rule)
|
||||
@@ -151,7 +151,9 @@ def transaction_rule_edit(request, transaction_rule_id):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def transaction_rule_view(request, transaction_rule_id):
|
||||
transaction_rule = get_object_or_404(TransactionRule, id=transaction_rule_id)
|
||||
transaction_rule = get_shared_object_or_error(
|
||||
TransactionRule, request, id=transaction_rule_id, level=READ
|
||||
)
|
||||
|
||||
edit_actions = transaction_rule.transaction_actions.all()
|
||||
update_or_create_actions = (
|
||||
@@ -175,17 +177,20 @@ def transaction_rule_view(request, transaction_rule_id):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["DELETE"])
|
||||
def transaction_rule_delete(request, transaction_rule_id):
|
||||
transaction_rule = get_object_or_404(TransactionRule, id=transaction_rule_id)
|
||||
transaction_rule = get_shared_object_or_error(
|
||||
TransactionRule, request, id=transaction_rule_id, level=READ
|
||||
)
|
||||
|
||||
if (
|
||||
transaction_rule.owner != request.user
|
||||
and request.user in transaction_rule.shared_with.all()
|
||||
):
|
||||
if transaction_rule.is_editable_by(request.user):
|
||||
transaction_rule.delete()
|
||||
messages.success(request, _("Rule deleted successfully"))
|
||||
elif transaction_rule.shared_with.filter(pk=request.user.pk).exists():
|
||||
# Someone else's rule shared with us: we can drop our own access to it,
|
||||
# but never delete it.
|
||||
transaction_rule.shared_with.remove(request.user)
|
||||
messages.success(request, _("Item no longer shared with you"))
|
||||
else:
|
||||
transaction_rule.delete()
|
||||
messages.success(request, _("Rule deleted successfully"))
|
||||
raise PermissionDenied
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
@@ -200,7 +205,9 @@ def transaction_rule_delete(request, transaction_rule_id):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET"])
|
||||
def transaction_rule_take_ownership(request, transaction_rule_id):
|
||||
transaction_rule = get_object_or_404(TransactionRule, id=transaction_rule_id)
|
||||
transaction_rule = get_shared_object_or_error(
|
||||
TransactionRule, request, id=transaction_rule_id, level=EDIT
|
||||
)
|
||||
|
||||
if not transaction_rule.owner:
|
||||
transaction_rule.owner = request.user
|
||||
@@ -222,17 +229,7 @@ def transaction_rule_take_ownership(request, transaction_rule_id):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def transaction_rule_share(request, pk):
|
||||
obj = get_object_or_404(TransactionRule, id=pk)
|
||||
|
||||
if obj.owner and obj.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
obj = get_shared_object_or_error(TransactionRule, request, id=pk, level=EDIT)
|
||||
|
||||
if request.method == "POST":
|
||||
form = SharedObjectForm(request.POST, instance=obj, user=request.user)
|
||||
@@ -261,7 +258,9 @@ def transaction_rule_share(request, pk):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def transaction_rule_action_add(request, transaction_rule_id):
|
||||
transaction_rule = get_object_or_404(TransactionRule, id=transaction_rule_id)
|
||||
transaction_rule = get_shared_object_or_error(
|
||||
TransactionRule, request, id=transaction_rule_id, level=EDIT
|
||||
)
|
||||
|
||||
if request.method == "POST":
|
||||
form = TransactionRuleActionForm(request.POST, rule=transaction_rule)
|
||||
@@ -289,12 +288,14 @@ def transaction_rule_action_add(request, transaction_rule_id):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def transaction_rule_action_edit(request, transaction_rule_action_id):
|
||||
transaction_rule_action = get_object_or_404(
|
||||
TransactionRuleAction, id=transaction_rule_action_id
|
||||
)
|
||||
transaction_rule = get_object_or_404(
|
||||
TransactionRule, id=transaction_rule_action.rule.id
|
||||
transaction_rule_action = get_shared_object_or_error(
|
||||
TransactionRuleAction,
|
||||
request,
|
||||
id=transaction_rule_action_id,
|
||||
level=EDIT,
|
||||
via="rule",
|
||||
)
|
||||
transaction_rule = transaction_rule_action.rule
|
||||
|
||||
if request.method == "POST":
|
||||
form = TransactionRuleActionForm(
|
||||
@@ -327,8 +328,12 @@ def transaction_rule_action_edit(request, transaction_rule_action_id):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["DELETE"])
|
||||
def transaction_rule_action_delete(request, transaction_rule_action_id):
|
||||
transaction_rule_action = get_object_or_404(
|
||||
TransactionRuleAction, id=transaction_rule_action_id
|
||||
transaction_rule_action = get_shared_object_or_error(
|
||||
TransactionRuleAction,
|
||||
request,
|
||||
id=transaction_rule_action_id,
|
||||
level=EDIT,
|
||||
via="rule",
|
||||
)
|
||||
|
||||
transaction_rule_action.delete()
|
||||
@@ -348,7 +353,9 @@ def transaction_rule_action_delete(request, transaction_rule_action_id):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def update_or_create_transaction_rule_action_add(request, transaction_rule_id):
|
||||
transaction_rule = get_object_or_404(TransactionRule, id=transaction_rule_id)
|
||||
transaction_rule = get_shared_object_or_error(
|
||||
TransactionRule, request, id=transaction_rule_id, level=EDIT
|
||||
)
|
||||
|
||||
if request.method == "POST":
|
||||
form = UpdateOrCreateTransactionRuleActionForm(
|
||||
@@ -380,7 +387,9 @@ def update_or_create_transaction_rule_action_add(request, transaction_rule_id):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def update_or_create_transaction_rule_action_edit(request, pk):
|
||||
linked_action = get_object_or_404(UpdateOrCreateTransactionRuleAction, id=pk)
|
||||
linked_action = get_shared_object_or_error(
|
||||
UpdateOrCreateTransactionRuleAction, request, id=pk, level=EDIT, via="rule"
|
||||
)
|
||||
transaction_rule = linked_action.rule
|
||||
|
||||
if request.method == "POST":
|
||||
@@ -415,7 +424,9 @@ def update_or_create_transaction_rule_action_edit(request, pk):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["DELETE"])
|
||||
def update_or_create_transaction_rule_action_delete(request, pk):
|
||||
linked_action = get_object_or_404(UpdateOrCreateTransactionRuleAction, id=pk)
|
||||
linked_action = get_shared_object_or_error(
|
||||
UpdateOrCreateTransactionRuleAction, request, id=pk, level=EDIT, via="rule"
|
||||
)
|
||||
|
||||
linked_action.delete()
|
||||
|
||||
@@ -436,7 +447,7 @@ def update_or_create_transaction_rule_action_delete(request, pk):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def dry_run_rule_created(request, pk):
|
||||
rule = get_object_or_404(TransactionRule, id=pk)
|
||||
rule = get_shared_object_or_error(TransactionRule, request, id=pk, level=EDIT)
|
||||
logs = None
|
||||
results = None
|
||||
|
||||
@@ -481,7 +492,7 @@ def dry_run_rule_created(request, pk):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def dry_run_rule_deleted(request, pk):
|
||||
rule = get_object_or_404(TransactionRule, id=pk)
|
||||
rule = get_shared_object_or_error(TransactionRule, request, id=pk, level=EDIT)
|
||||
logs = None
|
||||
results = None
|
||||
|
||||
@@ -526,7 +537,7 @@ def dry_run_rule_deleted(request, pk):
|
||||
@disabled_on_demo
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def dry_run_rule_updated(request, pk):
|
||||
rule = get_object_or_404(TransactionRule, id=pk)
|
||||
rule = get_shared_object_or_error(TransactionRule, request, id=pk, level=EDIT)
|
||||
logs = None
|
||||
results = None
|
||||
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.shortcuts import render
|
||||
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.common.functions.permissions import (
|
||||
EDIT,
|
||||
READ,
|
||||
get_shared_object_or_error,
|
||||
)
|
||||
from apps.transactions.forms import TransactionCategoryForm
|
||||
from apps.transactions.models import TransactionCategory
|
||||
from apps.common.models import SharedObject
|
||||
@@ -85,17 +91,9 @@ def category_add(request, **kwargs):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def category_edit(request, category_id):
|
||||
category = get_object_or_404(TransactionCategory, id=category_id)
|
||||
|
||||
if category.owner and category.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
category = get_shared_object_or_error(
|
||||
TransactionCategory, request, id=category_id, level=EDIT
|
||||
)
|
||||
|
||||
if request.method == "POST":
|
||||
form = TransactionCategoryForm(request.POST, instance=category)
|
||||
@@ -123,17 +121,7 @@ def category_edit(request, category_id):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def category_share(request, pk):
|
||||
obj = get_object_or_404(TransactionCategory, id=pk)
|
||||
|
||||
if obj.owner and obj.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
obj = get_shared_object_or_error(TransactionCategory, request, id=pk, level=EDIT)
|
||||
|
||||
if request.method == "POST":
|
||||
form = SharedObjectForm(request.POST, instance=obj, user=request.user)
|
||||
@@ -161,14 +149,20 @@ def category_share(request, pk):
|
||||
@login_required
|
||||
@require_http_methods(["DELETE"])
|
||||
def category_delete(request, category_id):
|
||||
category = get_object_or_404(TransactionCategory, id=category_id)
|
||||
category = get_shared_object_or_error(
|
||||
TransactionCategory, request, id=category_id, level=READ
|
||||
)
|
||||
|
||||
if category.owner != request.user and request.user in category.shared_with.all():
|
||||
if category.is_editable_by(request.user):
|
||||
category.delete()
|
||||
messages.success(request, _("Category deleted successfully"))
|
||||
elif category.shared_with.filter(pk=request.user.pk).exists():
|
||||
# Someone else's object shared with us: we can drop our own access
|
||||
# to it, but never delete it.
|
||||
category.shared_with.remove(request.user)
|
||||
messages.success(request, _("Item no longer shared with you"))
|
||||
else:
|
||||
category.delete()
|
||||
messages.success(request, _("Category deleted successfully"))
|
||||
raise PermissionDenied
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
@@ -182,7 +176,9 @@ def category_delete(request, category_id):
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def category_take_ownership(request, category_id):
|
||||
category = get_object_or_404(TransactionCategory, id=category_id)
|
||||
category = get_shared_object_or_error(
|
||||
TransactionCategory, request, id=category_id, level=EDIT
|
||||
)
|
||||
|
||||
if not category.owner:
|
||||
category.owner = request.user
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.shortcuts import render
|
||||
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.common.functions.permissions import (
|
||||
EDIT,
|
||||
READ,
|
||||
get_shared_object_or_error,
|
||||
)
|
||||
from apps.transactions.forms import TransactionEntityForm
|
||||
from apps.transactions.models import TransactionEntity
|
||||
from apps.common.models import SharedObject
|
||||
@@ -85,17 +91,9 @@ def entity_add(request, **kwargs):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def entity_edit(request, entity_id):
|
||||
entity = get_object_or_404(TransactionEntity, id=entity_id)
|
||||
|
||||
if entity.owner and entity.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
entity = get_shared_object_or_error(
|
||||
TransactionEntity, request, id=entity_id, level=EDIT
|
||||
)
|
||||
|
||||
if request.method == "POST":
|
||||
form = TransactionEntityForm(request.POST, instance=entity)
|
||||
@@ -123,14 +121,20 @@ def entity_edit(request, entity_id):
|
||||
@login_required
|
||||
@require_http_methods(["DELETE"])
|
||||
def entity_delete(request, entity_id):
|
||||
entity = get_object_or_404(TransactionEntity, id=entity_id)
|
||||
entity = get_shared_object_or_error(
|
||||
TransactionEntity, request, id=entity_id, level=READ
|
||||
)
|
||||
|
||||
if entity.owner != request.user and request.user in entity.shared_with.all():
|
||||
if entity.is_editable_by(request.user):
|
||||
entity.delete()
|
||||
messages.success(request, _("Entity deleted successfully"))
|
||||
elif entity.shared_with.filter(pk=request.user.pk).exists():
|
||||
# Someone else's object shared with us: we can drop our own access
|
||||
# to it, but never delete it.
|
||||
entity.shared_with.remove(request.user)
|
||||
messages.success(request, _("Item no longer shared with you"))
|
||||
else:
|
||||
entity.delete()
|
||||
messages.success(request, _("Entity deleted successfully"))
|
||||
raise PermissionDenied
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
@@ -144,7 +148,9 @@ def entity_delete(request, entity_id):
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def entity_take_ownership(request, entity_id):
|
||||
entity = get_object_or_404(TransactionEntity, id=entity_id)
|
||||
entity = get_shared_object_or_error(
|
||||
TransactionEntity, request, id=entity_id, level=EDIT
|
||||
)
|
||||
|
||||
if not entity.owner:
|
||||
entity.owner = request.user
|
||||
@@ -165,17 +171,7 @@ def entity_take_ownership(request, entity_id):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def entity_share(request, pk):
|
||||
obj = get_object_or_404(TransactionEntity, id=pk)
|
||||
|
||||
if obj.owner and obj.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
obj = get_shared_object_or_error(TransactionEntity, request, id=pk, level=EDIT)
|
||||
|
||||
if request.method == "POST":
|
||||
form = SharedObjectForm(request.POST, instance=obj, user=request.user)
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.shortcuts import render
|
||||
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.common.functions.permissions import (
|
||||
EDIT,
|
||||
READ,
|
||||
get_shared_object_or_error,
|
||||
)
|
||||
from apps.transactions.forms import TransactionTagForm
|
||||
from apps.transactions.models import TransactionTag
|
||||
from apps.common.models import SharedObject
|
||||
@@ -85,17 +91,7 @@ def tag_add(request, **kwargs):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def tag_edit(request, tag_id):
|
||||
tag = get_object_or_404(TransactionTag, id=tag_id)
|
||||
|
||||
if tag.owner and tag.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
tag = get_shared_object_or_error(TransactionTag, request, id=tag_id, level=EDIT)
|
||||
|
||||
if request.method == "POST":
|
||||
form = TransactionTagForm(request.POST, instance=tag)
|
||||
@@ -123,14 +119,18 @@ def tag_edit(request, tag_id):
|
||||
@login_required
|
||||
@require_http_methods(["DELETE"])
|
||||
def tag_delete(request, tag_id):
|
||||
tag = get_object_or_404(TransactionTag, id=tag_id)
|
||||
tag = get_shared_object_or_error(TransactionTag, request, id=tag_id, level=READ)
|
||||
|
||||
if tag.owner != request.user and request.user in tag.shared_with.all():
|
||||
if tag.is_editable_by(request.user):
|
||||
tag.delete()
|
||||
messages.success(request, _("Tag deleted successfully"))
|
||||
elif tag.shared_with.filter(pk=request.user.pk).exists():
|
||||
# Someone else's object shared with us: we can drop our own access
|
||||
# to it, but never delete it.
|
||||
tag.shared_with.remove(request.user)
|
||||
messages.success(request, _("Item no longer shared with you"))
|
||||
else:
|
||||
tag.delete()
|
||||
messages.success(request, _("Tag deleted successfully"))
|
||||
raise PermissionDenied
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
@@ -144,7 +144,7 @@ def tag_delete(request, tag_id):
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def tag_take_ownership(request, tag_id):
|
||||
tag = get_object_or_404(TransactionTag, id=tag_id)
|
||||
tag = get_shared_object_or_error(TransactionTag, request, id=tag_id, level=EDIT)
|
||||
|
||||
if not tag.owner:
|
||||
tag.owner = request.user
|
||||
@@ -165,17 +165,7 @@ def tag_take_ownership(request, tag_id):
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def tag_share(request, pk):
|
||||
obj = get_object_or_404(TransactionTag, id=pk)
|
||||
|
||||
if obj.owner and obj.owner != request.user:
|
||||
messages.error(request, _("Only the owner can edit this"))
|
||||
|
||||
return HttpResponse(
|
||||
status=204,
|
||||
headers={
|
||||
"HX-Trigger": "updated, hide_offcanvas",
|
||||
},
|
||||
)
|
||||
obj = get_shared_object_or_error(TransactionTag, request, id=pk, level=EDIT)
|
||||
|
||||
if request.method == "POST":
|
||||
form = SharedObjectForm(request.POST, instance=obj, user=request.user)
|
||||
|
||||
+223
-185
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2026-08-10 12:57+0000\n"
|
||||
"Last-Translator: GitEbu <ebu@buol.ch>\n"
|
||||
"Language-Team: German <https://translations.herculino.com/projects/wygiwyh/"
|
||||
@@ -66,9 +66,9 @@ msgstr "Neuer Saldo"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -79,13 +79,13 @@ msgstr "Kategorie"
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -97,8 +97,8 @@ msgstr "Tags"
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -169,9 +169,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -180,7 +180,7 @@ msgid "Account"
|
||||
msgstr "Konto"
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -195,68 +195,56 @@ msgstr ""
|
||||
"Die Umrechnungs-Währung darf nicht mit der Haupt-Währung des Kontos "
|
||||
"übereinstimmen."
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr "Kontengruppe erfolgreich hinzugefügt"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr "Nur der Besitzer kann dies bearbeiten"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr "Kontengruppe erfolgreich aktualisiert"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Einheit wird nicht länger mit dir geteilt"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr "Kontengruppe erfolgreich gelöscht"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Einheit wird nicht länger mit dir geteilt"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr "Besitzeigenschaft erfolgreich übernommen"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr "Konfiguration erfolgreich gespeichert"
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr "Konto erfolgreich hinzugefügt"
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr "Konto erfolgreich aktualisiert"
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr "Konto erfolgreich gelöscht"
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr "Konto wird verfolgt"
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr "Konto wird nicht mehr gefolgt"
|
||||
|
||||
@@ -357,6 +345,7 @@ msgstr ""
|
||||
"Sichtbar für alle Nutzer. Nur bearbeitbar durch Besitzer."
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
@@ -471,10 +460,9 @@ msgstr "Löschen"
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr "Zurücksetzen"
|
||||
|
||||
@@ -493,7 +481,7 @@ msgstr "Suffix"
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -513,7 +501,7 @@ msgid "Decimal Places"
|
||||
msgstr "Dezimalstellen"
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -579,8 +567,8 @@ msgid "Service Type"
|
||||
msgstr "Diensttyp"
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -771,8 +759,8 @@ msgstr "Startwährung"
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr "Notizen"
|
||||
|
||||
@@ -804,27 +792,27 @@ msgstr "DCA-Eintrag"
|
||||
msgid "DCA Entries"
|
||||
msgstr "DCA-Einträge"
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr "DCA-Strategie erfolgreich hinzugefügt"
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr "DCA-Strategie erfolgreich aktualisiert"
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr "DCA-Strategie erfolgreich gelöscht"
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr "Eintrag erfolgreich hinzugefügt"
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr "Eintrag erfolgreich aktualisiert"
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr "Eintrag erfolgreich gelöscht"
|
||||
|
||||
@@ -835,7 +823,7 @@ msgid "Users"
|
||||
msgstr "Nutzer"
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -844,7 +832,7 @@ msgid "Transactions"
|
||||
msgstr "Transaktionen"
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -855,12 +843,12 @@ msgstr "Kategorien"
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -872,14 +860,14 @@ msgid "Entities"
|
||||
msgstr "Entitäten"
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr "Wiederkehrende Transaktionen"
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1033,7 +1021,7 @@ msgid "Run deleted successfully"
|
||||
msgstr "Vorgang erfolgreich gelöscht"
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1131,15 +1119,15 @@ msgstr "Bediener"
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1149,15 +1137,15 @@ msgstr "Bezahlt"
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr "Referenzdatum"
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1168,27 +1156,27 @@ msgstr "Betrag"
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr "Interne Notiz"
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr "Interne ID"
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr "Stummschalten"
|
||||
|
||||
@@ -1201,7 +1189,7 @@ msgid "Set Values"
|
||||
msgstr "Wert setzen"
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr "Transaktion"
|
||||
|
||||
@@ -1301,15 +1289,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr "Transaktions-Aktion aktualisieren oder erstellen"
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr "Regel erfolgreich deaktiviert"
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr "Regel erfolgreich aktiviert"
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr "Regel erfolgreich hinzugefügt"
|
||||
|
||||
@@ -1317,31 +1305,31 @@ msgstr "Regel erfolgreich hinzugefügt"
|
||||
msgid "Rule updated successfully"
|
||||
msgstr "Regel erfolgreich aktualisiert"
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr "Regel erfolgreich gelöscht"
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr "Aktion erfolgreich aktualisiert"
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr "Aktion erfolgreich gelöscht"
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr ""
|
||||
"\"Transaktions-Aktualisierung oder -Erstellung\"-Aktion erfolgreich "
|
||||
"hinzugefügt"
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr ""
|
||||
"\"Transaktions-Aktualisierung oder -Erstellung\"-Aktion erfolgreich "
|
||||
"aktualisiert"
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr ""
|
||||
"\"Transaktions-Aktualisierung oder -Erstellung\"-Aktion erfolgreich gelöscht"
|
||||
@@ -1359,58 +1347,58 @@ msgstr "Erwartet"
|
||||
msgid "Muted"
|
||||
msgstr "Ausgeblendet"
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr "Inhalt"
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr "Transaktionstyp"
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr "Stummschalten"
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr "Datum von"
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr "Bis"
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr "Referenzdatum von"
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr "Betrag Minimum"
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr "Betrag Maximum"
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr "Kategorisiert"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr "Markiert"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr "Unmarkiert"
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr "Jegliche Entität"
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1490,7 +1478,7 @@ msgstr "künftige Transaktionen"
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "Enddatum sollte hinter dem Startdatum liegen"
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1498,26 +1486,26 @@ msgstr ""
|
||||
"Ausgeblendete Kategorien können bei der Erstellung neuer Transaktionen nicht "
|
||||
"ausgewählt werden"
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr "Transaktionskategorie"
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr "Transaktionskategorien"
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
"Deaktivierte Tags können bei der Erstellung neuer Transaktionen nicht "
|
||||
"ausgewählt werden"
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr "Tranksaktionstags"
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1525,13 +1513,13 @@ msgstr ""
|
||||
"Deaktivierte Entitäten können bei der Erstellung neuer Transaktionen nicht "
|
||||
"ausgewählt werden"
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr "Entität"
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1543,7 +1531,7 @@ msgstr "Entität"
|
||||
msgid "Income"
|
||||
msgstr "Einnahme"
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1554,166 +1542,166 @@ msgstr "Einnahme"
|
||||
msgid "Expense"
|
||||
msgstr "Ausgabe"
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr "Ratenzahlungs-Plan"
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr "Wiederkehrende Transaktion"
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr "Gelöscht"
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr "Gelöscht am"
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr "Keine Tags"
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr "Keine Kategorie"
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr "Keine Beschreibung"
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
#, fuzzy
|
||||
#| msgid "ZIP File"
|
||||
msgid "File"
|
||||
msgstr "ZIP-Datei"
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
#, fuzzy
|
||||
#| msgid "Content"
|
||||
msgid "Content Type"
|
||||
msgstr "Inhalt"
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
#, fuzzy
|
||||
#| msgid "Transactions on"
|
||||
msgid "Transaction Attachment"
|
||||
msgstr "Transaktionen am"
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
#, fuzzy
|
||||
#| msgid "Transaction Tags"
|
||||
msgid "Transaction Attachments"
|
||||
msgstr "Tranksaktionstags"
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr "Jährlich"
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr "Monatlich"
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr "Wöchentlich"
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr "Täglich"
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr "Anzahl von Ratenzahlungen"
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr "Start der Ratenzahlung"
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr ""
|
||||
"Die Zahl mit der bei der Zählung der Ratenzahlungen begonnen werden soll"
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr "Startdatum"
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr "Enddatum"
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr "Regelmäßigkeit"
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr "Ratenzahlungs-Wert"
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr "Beschreibung zu Transaktionen hinzufügen"
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr "Notizen zu Transaktionen hinzufügen"
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr "Tag(e)"
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr "Woche(n)"
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr "Monat(e)"
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr "Jahr(e)"
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr "Pausiert"
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr "Regelmäßigkeit"
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr "Wiederholungsintervall"
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr "Höchtens"
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr "Letztes generiertes Datum"
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr "Letztes generiertes Referenzdatum"
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1722,7 +1710,7 @@ msgstr "Letztes generiertes Referenzdatum"
|
||||
msgid "Quick Transaction"
|
||||
msgstr "Schnelle Transaktion"
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1773,27 +1761,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] "%(count)s Transaktion erfolgreich dupliziert"
|
||||
msgstr[1] "%(count)s Transaktionen erfolgreich dupliziert"
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr "Kategorie erfolgreich hinzugefügt"
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr "Kategorie erfolgreich aktualisiert"
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr "Kategorie erfolgreich gelöscht"
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr "Entität erfolgreich hinzugefügt"
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr "Entität erfolgreich aktualisiert"
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr "Entität erfolgreich gelöscht"
|
||||
|
||||
@@ -1856,15 +1844,15 @@ msgstr "Wiederkehrende Transaktion erfolgreich abgeschlossen"
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr "Wiederkehrende Transaktion erfolgreich gelöscht"
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr "Tag erfolgreich hinzugefügt"
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr "Tag erfolgreich aktualisiert"
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Tag erfolgreich gelöscht"
|
||||
|
||||
@@ -1950,9 +1938,9 @@ msgstr "Dieses Konto ist deaktiviert"
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr "Standard"
|
||||
|
||||
@@ -2304,6 +2292,7 @@ msgstr "Teilen"
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
@@ -2795,19 +2784,19 @@ msgstr "Aktueller Preis"
|
||||
msgid "Amount Bought"
|
||||
msgstr "Anzahl gekauft"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr "Einstiegspreis zu Aktuellem Preis"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr "Tage zwischen Investitionen"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr "Investitions-Häufigkeit"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
"Je gerader die blaue Linie, desto gleichmäßiger ist deine DCA-Strategie."
|
||||
@@ -3050,6 +3039,7 @@ msgid "Reload"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
@@ -3491,16 +3481,16 @@ msgid "Summary"
|
||||
msgstr "Zusammenfassung"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr "Älteste zuerst"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr "Neueste zuerst"
|
||||
|
||||
@@ -3509,8 +3499,8 @@ msgstr "Neueste zuerst"
|
||||
msgid "Filter transactions"
|
||||
msgstr "Transaktionen filtern"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr "Sortieren nach"
|
||||
|
||||
@@ -3624,15 +3614,21 @@ msgstr "Keine wiederkehrenden Transaktionen"
|
||||
msgid "View"
|
||||
msgstr "Ansicht"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr "Deaktivieren"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr "Aktivieren"
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Only the owner can edit this"
|
||||
msgid "Only the owner can change this"
|
||||
msgstr "Nur der Besitzer kann dies bearbeiten"
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr "Keine Regeln"
|
||||
|
||||
@@ -3785,6 +3781,48 @@ msgstr "Bearbeitung"
|
||||
msgid "transactions"
|
||||
msgstr "Transaktionen"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
#, fuzzy
|
||||
#| msgid "File name"
|
||||
msgid "Preset name"
|
||||
msgstr "Dateiname"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
#, fuzzy
|
||||
#| msgid "From preset"
|
||||
msgid "Save preset"
|
||||
msgstr "Von Vorlage"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
#, fuzzy
|
||||
#| msgid "From preset"
|
||||
msgid "Filter presets"
|
||||
msgstr "Von Vorlage"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
#, fuzzy
|
||||
#| msgid "No presets yet"
|
||||
msgid "No saved presets"
|
||||
msgstr "Keine Vorlagen bisher"
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr "Keine Transaktionen gefunden"
|
||||
|
||||
+213
-185
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -65,9 +65,9 @@ msgstr ""
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -78,13 +78,13 @@ msgstr ""
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -96,8 +96,8 @@ msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -165,9 +165,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -176,7 +176,7 @@ msgid "Account"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -189,68 +189,56 @@ msgstr ""
|
||||
msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr ""
|
||||
|
||||
@@ -345,6 +333,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
@@ -459,10 +448,9 @@ msgstr ""
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
@@ -481,7 +469,7 @@ msgstr ""
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -501,7 +489,7 @@ msgid "Decimal Places"
|
||||
msgstr ""
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -567,8 +555,8 @@ msgid "Service Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -747,8 +735,8 @@ msgstr ""
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
@@ -780,27 +768,27 @@ msgstr ""
|
||||
msgid "DCA Entries"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -811,7 +799,7 @@ msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -820,7 +808,7 @@ msgid "Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -831,12 +819,12 @@ msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -848,14 +836,14 @@ msgid "Entities"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1007,7 +995,7 @@ msgid "Run deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1105,15 +1093,15 @@ msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1123,15 +1111,15 @@ msgstr ""
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1142,27 +1130,27 @@ msgstr ""
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr ""
|
||||
|
||||
@@ -1175,7 +1163,7 @@ msgid "Set Values"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr ""
|
||||
|
||||
@@ -1269,15 +1257,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1285,27 +1273,27 @@ msgstr ""
|
||||
msgid "Rule updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1322,58 +1310,58 @@ msgstr ""
|
||||
msgid "Muted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1448,42 +1436,42 @@ msgstr ""
|
||||
msgid "End date should be after the start date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1495,7 +1483,7 @@ msgstr ""
|
||||
msgid "Income"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1506,157 +1494,157 @@ msgstr ""
|
||||
msgid "Expense"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
msgid "Content Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
msgid "Transaction Attachment"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
msgid "Transaction Attachments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1665,7 +1653,7 @@ msgstr ""
|
||||
msgid "Quick Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1716,27 +1704,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1799,15 +1787,15 @@ msgstr ""
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1889,9 +1877,9 @@ msgstr ""
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
@@ -2212,6 +2200,7 @@ msgstr ""
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
@@ -2697,19 +2686,19 @@ msgstr ""
|
||||
msgid "Amount Bought"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
|
||||
@@ -2946,6 +2935,7 @@ msgid "Reload"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
@@ -3360,16 +3350,16 @@ msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr ""
|
||||
|
||||
@@ -3378,8 +3368,8 @@ msgstr ""
|
||||
msgid "Filter transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr ""
|
||||
|
||||
@@ -3485,15 +3475,19 @@ msgstr ""
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
msgid "Only the owner can change this"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr ""
|
||||
|
||||
@@ -3636,6 +3630,40 @@ msgstr ""
|
||||
msgid "transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
msgid "Preset name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
msgid "Save preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
msgid "Filter presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
msgid "No saved presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr ""
|
||||
|
||||
+223
-185
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2026-07-10 04:57+0000\n"
|
||||
"Last-Translator: Juan David Afanador <juanafanador07@gmail.com>\n"
|
||||
"Language-Team: Spanish <https://translations.herculino.com/projects/wygiwyh/"
|
||||
@@ -66,9 +66,9 @@ msgstr "Nuevo balance"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -79,13 +79,13 @@ msgstr "Categoría"
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -97,8 +97,8 @@ msgstr "Etiquetas"
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -167,9 +167,9 @@ msgstr "Las cuentas archivadas no aparecen ni cuentan para su patrimonio neto"
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -178,7 +178,7 @@ msgid "Account"
|
||||
msgstr "Cuenta"
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -193,68 +193,56 @@ msgstr ""
|
||||
"La moneda de cambio no puede ser la misma que la moneda principal de la "
|
||||
"cuenta."
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr "Grupo de Cuenta añadido exitosamente"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr "Solo el dueño puede editar esto"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr "Grupo de Cuenta actualizado exitosamente"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "El artículo que ya no se comparte contigo"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr "Grupo de Cuenta eliminado exitosamente"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "El artículo que ya no se comparte contigo"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr "Propiedad tomada exitosamete"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr "Configuración guardada exitosamente"
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr "Cuenta agregada exitosamente"
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr "Cuenta actualizada exitosamente"
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr "Cuenta borrada exitosamente"
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr "La cuenta ahora está siendo seguida"
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr "La cuenta ya no está siendo seguida"
|
||||
|
||||
@@ -354,6 +342,7 @@ msgstr ""
|
||||
"todos los usuarios. Solo el propietario puede editarlo."
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
@@ -468,10 +457,9 @@ msgstr "Remover"
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr "Limpiar"
|
||||
|
||||
@@ -490,7 +478,7 @@ msgstr "Sufijo"
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -510,7 +498,7 @@ msgid "Decimal Places"
|
||||
msgstr "Cantidad de decimales"
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -576,8 +564,8 @@ msgid "Service Type"
|
||||
msgstr "Tipo de Servicio"
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -768,8 +756,8 @@ msgstr "Moneda de pago"
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr "Notas"
|
||||
|
||||
@@ -801,27 +789,27 @@ msgstr "Entrada DCA"
|
||||
msgid "DCA Entries"
|
||||
msgstr "Entradas DCA"
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr "Estrategia DCA agregada con éxito"
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr "Estrategia DCA actualizada con éxito"
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr "Estrategia DCA eliminada con éxito"
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr "Entrada agregada con éxito"
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr "Entrada actualizada con éxito"
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr "Entrada eliminada con éxito"
|
||||
|
||||
@@ -832,7 +820,7 @@ msgid "Users"
|
||||
msgstr "Usuarios"
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -841,7 +829,7 @@ msgid "Transactions"
|
||||
msgstr "Transacciones"
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -852,12 +840,12 @@ msgstr "Categorías"
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -869,14 +857,14 @@ msgid "Entities"
|
||||
msgstr "Entidades"
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr "Transacciones Recurrentes"
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1029,7 +1017,7 @@ msgid "Run deleted successfully"
|
||||
msgstr "Tarea de importación eliminada con éxito"
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1127,15 +1115,15 @@ msgstr "Operador"
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1145,15 +1133,15 @@ msgstr "Pagado"
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr "Fecha de Referencia"
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1164,27 +1152,27 @@ msgstr "Monto"
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr "Nota Interna"
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr "ID Interno"
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr "Silenciar"
|
||||
|
||||
@@ -1197,7 +1185,7 @@ msgid "Set Values"
|
||||
msgstr "Establecer Valores"
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr "Transacción"
|
||||
|
||||
@@ -1293,15 +1281,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr "Actualizar o crear acción de transacción"
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr "Regla desactivada con éxito"
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr "Regla activada con éxito"
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr "Regla agregada con éxito"
|
||||
|
||||
@@ -1309,27 +1297,27 @@ msgstr "Regla agregada con éxito"
|
||||
msgid "Rule updated successfully"
|
||||
msgstr "Regla actualizada con éxito"
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr "Regla eliminada con éxito"
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr "Acción actualizada con éxito"
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr "Acción eliminada con éxito"
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr "Acción de Actualizar o Crear Transacción agregada con éxito"
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr "Acción de Actualizar o Crear Transacción actualizada con éxito"
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr "Acción de Actualizar o Crear Transacción eliminada con éxito"
|
||||
|
||||
@@ -1346,58 +1334,58 @@ msgstr "Proyectado"
|
||||
msgid "Muted"
|
||||
msgstr "Silenciado"
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr "Contenido"
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr "Tipo de Transacción"
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr "Silenciada"
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr "Desde la fecha"
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr "Hasta"
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr "Desde la fecha de referencia"
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr "Monto mínimo"
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr "Monto máximo"
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr "Con Categoría"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr "Etiquetado"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr "Sin etiqueta"
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr "Cualquier entidad"
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1476,7 +1464,7 @@ msgstr "transacciones futuras"
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "La fecha de fin debe ser posterior a la fecha de inicio"
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1484,26 +1472,26 @@ msgstr ""
|
||||
"Las categorías desactivadas no podrán seleccionarse al crear nuevas "
|
||||
"transacciones"
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr "Categoría de Transacción"
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr "Categorías de Transacción"
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
"Las etiquetas desactivadas no podrán seleccionarse al crear nuevas "
|
||||
"transacciones"
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr "Etiquetas de Transacción"
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1511,13 +1499,13 @@ msgstr ""
|
||||
"Las entidades desactivadas no podrán seleccionarse al crear nuevas "
|
||||
"transacciones"
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr "Entidad"
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1529,7 +1517,7 @@ msgstr "Entidad"
|
||||
msgid "Income"
|
||||
msgstr "Ingreso"
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1540,157 +1528,157 @@ msgstr "Ingreso"
|
||||
msgid "Expense"
|
||||
msgstr "Gasto"
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr "Plan de Cuotas"
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr "Transacción Recurrente"
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr "Eliminado"
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr "Eliminado en"
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr "Sin etiquetas"
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr "Sin categoría"
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr "Sin descripción"
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
msgid "File"
|
||||
msgstr "Archivo"
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr "Nombre Original"
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
msgid "Content Type"
|
||||
msgstr "Tipo de Contenido"
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr "Tamaño"
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr "Subido por"
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
msgid "Transaction Attachment"
|
||||
msgstr "Archivos Adjunto"
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
msgid "Transaction Attachments"
|
||||
msgstr "Archivos Adjuntos"
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr "Anual"
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr "Mensual"
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr "Semanal"
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr "Diario"
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr "Cantidad de cuotas"
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr "Cuota de Inicio"
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr "El número de la cuota desde la cual comenzar a contar"
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr "Fecha de Inicio"
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr "Fecha de Fin"
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr "Recurrencia"
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr "Monto de la Cuota"
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr "Agregar descripción a las transacciones"
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr "Agregar notas a las transacciones"
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr "día(s)"
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr "semana(s)"
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr "mes(es)"
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr "año(s)"
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr "Pausado"
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr "Tipo de Recurrencia"
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr "Intervalo de Recurrencia"
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr "Mantener como máximo"
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr "Última Fecha Generada"
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr "Última Fecha de Referencia Generada"
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1699,7 +1687,7 @@ msgstr "Última Fecha de Referencia Generada"
|
||||
msgid "Quick Transaction"
|
||||
msgstr "Transacción Rápida"
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1750,27 +1738,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] "%(count)s transacción duplicada con éxito"
|
||||
msgstr[1] "%(count)s transacciones duplicadas con éxito"
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr "Categoría agregada con éxito"
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr "Categoría actualizada con éxito"
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr "Categoría eliminada con éxito"
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr "Entidad agregada con éxito"
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr "Entidad actualizada con éxito"
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr "Entidad eliminada con éxito"
|
||||
|
||||
@@ -1833,15 +1821,15 @@ msgstr "Transacción Recurrente terminada exitosamente"
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr "Transacción Recurrente borrada exitosamente"
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr "Etiqueta agregada con éxito"
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr "Etiqueta actualizada con éxito"
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Etiqueta eliminada con éxito"
|
||||
|
||||
@@ -1923,9 +1911,9 @@ msgstr "Esta cuenta está desactivada"
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr "Por Defecto"
|
||||
|
||||
@@ -2274,6 +2262,7 @@ msgstr "Compartir"
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr "Borrar"
|
||||
@@ -2759,19 +2748,19 @@ msgstr "Precio Actual"
|
||||
msgid "Amount Bought"
|
||||
msgstr "Cantidad Comprada"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr "Precio de Entrada vs Precio Actual"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr "Días entre Inversiones"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr "Frecuencia de Inversión"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
"Cuanto más recta sea la línea azul, más consistente será tu estrategia DCA."
|
||||
@@ -3012,6 +3001,7 @@ msgid "Reload"
|
||||
msgstr "Refrescar"
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@@ -3430,16 +3420,16 @@ msgid "Summary"
|
||||
msgstr "Resumen"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr "Lo más antiguo primero"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr "Lo más nuevo primero"
|
||||
|
||||
@@ -3448,8 +3438,8 @@ msgstr "Lo más nuevo primero"
|
||||
msgid "Filter transactions"
|
||||
msgstr "Filtrar transacciones"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr "Ordenar por"
|
||||
|
||||
@@ -3559,15 +3549,21 @@ msgstr "Sin transacciones recurrentes"
|
||||
msgid "View"
|
||||
msgstr "Ver"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr "Desactivar"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr "Activar"
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Only the owner can edit this"
|
||||
msgid "Only the owner can change this"
|
||||
msgstr "Solo el dueño puede editar esto"
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr "Sin reglas"
|
||||
|
||||
@@ -3714,6 +3710,48 @@ msgstr "Edición"
|
||||
msgid "transactions"
|
||||
msgstr "transacciones"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
#, fuzzy
|
||||
#| msgid "File name"
|
||||
msgid "Preset name"
|
||||
msgstr "Nombre de archivo"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
#, fuzzy
|
||||
#| msgid "From preset"
|
||||
msgid "Save preset"
|
||||
msgstr "Desde plantilla"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
#, fuzzy
|
||||
#| msgid "From preset"
|
||||
msgid "Filter presets"
|
||||
msgstr "Desde plantilla"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
#, fuzzy
|
||||
#| msgid "No presets yet"
|
||||
msgid "No saved presets"
|
||||
msgstr "Aún no hay plantillas"
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr "No se encontraron transacciones"
|
||||
|
||||
+288
-263
File diff suppressed because it is too large
Load Diff
+219
-185
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2026-01-10 03:09+0000\n"
|
||||
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
|
||||
"Language-Team: Hungarian <https://translations.herculino.com/projects/"
|
||||
@@ -66,9 +66,9 @@ msgstr "Új egyenleg"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -79,13 +79,13 @@ msgstr "Kategória"
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -97,8 +97,8 @@ msgstr "Címkék"
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -170,9 +170,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -181,7 +181,7 @@ msgid "Account"
|
||||
msgstr "Számla"
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -194,68 +194,56 @@ msgstr "Számlák"
|
||||
msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr "A váltási pénznem nem lehet azonos a számla fő pénznemével."
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr "Számlacsoport sikeresen hozzáadva"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr "Csak a tulajdonos szerkesztheti ezt"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr "A számlacsoport sikeresen módosítva lett"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "A tétel már nincs megosztva veled"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr "A számlacsoport sikeresen törlésre került"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "A tétel már nincs megosztva veled"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr "A tulajdonjog sikeresen átvéve"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr "A beállítás mentésre került"
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr "A számla hozzáadásra került"
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr "A számla módosítása sikeres volt"
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr "A számla törlésre került"
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr "A számla mostantól követve van"
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr "A számla mostantól nincs követve"
|
||||
|
||||
@@ -351,6 +339,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr "Mentés"
|
||||
|
||||
@@ -465,10 +454,9 @@ msgstr "Eltávolítás"
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr "Törlés"
|
||||
|
||||
@@ -487,7 +475,7 @@ msgstr "Utótag"
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -507,7 +495,7 @@ msgid "Decimal Places"
|
||||
msgstr "Tizedesek"
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -573,8 +561,8 @@ msgid "Service Type"
|
||||
msgstr "Szolgáltatás típusa"
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -753,8 +741,8 @@ msgstr ""
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr "Megjegyzések"
|
||||
|
||||
@@ -786,27 +774,27 @@ msgstr ""
|
||||
msgid "DCA Entries"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -817,7 +805,7 @@ msgid "Users"
|
||||
msgstr "Felhasználók"
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -826,7 +814,7 @@ msgid "Transactions"
|
||||
msgstr "Tranzakciók"
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -837,12 +825,12 @@ msgstr "Kategóriák"
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -854,14 +842,14 @@ msgid "Entities"
|
||||
msgstr "Entitások"
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr "Ismétlődő tranzakciók"
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1013,7 +1001,7 @@ msgid "Run deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1111,15 +1099,15 @@ msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1129,15 +1117,15 @@ msgstr ""
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1148,27 +1136,27 @@ msgstr ""
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr ""
|
||||
|
||||
@@ -1181,7 +1169,7 @@ msgid "Set Values"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr ""
|
||||
|
||||
@@ -1275,15 +1263,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1291,27 +1279,27 @@ msgstr ""
|
||||
msgid "Rule updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1328,58 +1316,58 @@ msgstr "Várható"
|
||||
msgid "Muted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1454,42 +1442,42 @@ msgstr ""
|
||||
msgid "End date should be after the start date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1501,7 +1489,7 @@ msgstr ""
|
||||
msgid "Income"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1512,165 +1500,165 @@ msgstr ""
|
||||
msgid "Expense"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr "Nincs leírás"
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
#, fuzzy
|
||||
#| msgid "ZIP File"
|
||||
msgid "File"
|
||||
msgstr "ZIP fájl"
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
#, fuzzy
|
||||
#| msgid "Interval Type"
|
||||
msgid "Content Type"
|
||||
msgstr "Intervallum típusa"
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
#, fuzzy
|
||||
#| msgid "Transaction rules"
|
||||
msgid "Transaction Attachment"
|
||||
msgstr "Tranzakciós szabályok"
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
#, fuzzy
|
||||
#| msgid "Transaction rules"
|
||||
msgid "Transaction Attachments"
|
||||
msgstr "Tranzakciós szabályok"
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr "Éves"
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr "Havi"
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr "Heti"
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr "Napi"
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr "nap"
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr "hét"
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr "hónap"
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr "év"
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr "Szüneteltetve"
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1679,7 +1667,7 @@ msgstr ""
|
||||
msgid "Quick Transaction"
|
||||
msgstr "Gyors tranzakció"
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1730,27 +1718,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1813,15 +1801,15 @@ msgstr ""
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1907,9 +1895,9 @@ msgstr ""
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
@@ -2248,6 +2236,7 @@ msgstr ""
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
@@ -2733,19 +2722,19 @@ msgstr ""
|
||||
msgid "Amount Bought"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
|
||||
@@ -2982,6 +2971,7 @@ msgid "Reload"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
@@ -3398,16 +3388,16 @@ msgid "Summary"
|
||||
msgstr "Összegzés"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr "Régiek elől"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr "Újjak elől"
|
||||
|
||||
@@ -3416,8 +3406,8 @@ msgstr "Újjak elől"
|
||||
msgid "Filter transactions"
|
||||
msgstr "Tranzakciók szűrése"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr "Rendezés"
|
||||
|
||||
@@ -3523,15 +3513,21 @@ msgstr ""
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Only the owner can edit this"
|
||||
msgid "Only the owner can change this"
|
||||
msgstr "Csak a tulajdonos szerkesztheti ezt"
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr ""
|
||||
|
||||
@@ -3676,6 +3672,44 @@ msgstr ""
|
||||
msgid "transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
#, fuzzy
|
||||
#| msgid "File name"
|
||||
msgid "Preset name"
|
||||
msgstr "Fájlnév"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
msgid "Save preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
#, fuzzy
|
||||
#| msgid "Filter transactions"
|
||||
msgid "Filter presets"
|
||||
msgstr "Tranzakciók szűrése"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
msgid "No saved presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr ""
|
||||
|
||||
+213
-185
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
@@ -64,9 +64,9 @@ msgstr ""
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -77,13 +77,13 @@ msgstr ""
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -95,8 +95,8 @@ msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -164,9 +164,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -175,7 +175,7 @@ msgid "Account"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -188,68 +188,56 @@ msgstr ""
|
||||
msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr ""
|
||||
|
||||
@@ -344,6 +332,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
@@ -458,10 +447,9 @@ msgstr ""
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
@@ -480,7 +468,7 @@ msgstr ""
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -500,7 +488,7 @@ msgid "Decimal Places"
|
||||
msgstr ""
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -566,8 +554,8 @@ msgid "Service Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -746,8 +734,8 @@ msgstr ""
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
@@ -779,27 +767,27 @@ msgstr ""
|
||||
msgid "DCA Entries"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -810,7 +798,7 @@ msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -819,7 +807,7 @@ msgid "Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -830,12 +818,12 @@ msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -847,14 +835,14 @@ msgid "Entities"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1006,7 +994,7 @@ msgid "Run deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1104,15 +1092,15 @@ msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1122,15 +1110,15 @@ msgstr ""
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1141,27 +1129,27 @@ msgstr ""
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr ""
|
||||
|
||||
@@ -1174,7 +1162,7 @@ msgid "Set Values"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr ""
|
||||
|
||||
@@ -1268,15 +1256,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1284,27 +1272,27 @@ msgstr ""
|
||||
msgid "Rule updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1321,58 +1309,58 @@ msgstr ""
|
||||
msgid "Muted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1447,42 +1435,42 @@ msgstr ""
|
||||
msgid "End date should be after the start date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1494,7 +1482,7 @@ msgstr ""
|
||||
msgid "Income"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1505,157 +1493,157 @@ msgstr ""
|
||||
msgid "Expense"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
msgid "Content Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
msgid "Transaction Attachment"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
msgid "Transaction Attachments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1664,7 +1652,7 @@ msgstr ""
|
||||
msgid "Quick Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1715,27 +1703,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1798,15 +1786,15 @@ msgstr ""
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1888,9 +1876,9 @@ msgstr ""
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
@@ -2211,6 +2199,7 @@ msgstr ""
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
@@ -2696,19 +2685,19 @@ msgstr ""
|
||||
msgid "Amount Bought"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
|
||||
@@ -2944,6 +2933,7 @@ msgid "Reload"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
@@ -3358,16 +3348,16 @@ msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr ""
|
||||
|
||||
@@ -3376,8 +3366,8 @@ msgstr ""
|
||||
msgid "Filter transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr ""
|
||||
|
||||
@@ -3483,15 +3473,19 @@ msgstr ""
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
msgid "Only the owner can change this"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr ""
|
||||
|
||||
@@ -3634,6 +3628,40 @@ msgstr ""
|
||||
msgid "transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
msgid "Preset name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
msgid "Save preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
msgid "Filter presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
msgid "No saved presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr ""
|
||||
|
||||
+223
-185
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2025-12-28 22:24+0000\n"
|
||||
"Last-Translator: icovada <federico.tabbo@networktocode.com>\n"
|
||||
"Language-Team: Italian <https://translations.herculino.com/projects/wygiwyh/"
|
||||
@@ -66,9 +66,9 @@ msgstr "Nuovo saldo"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -79,13 +79,13 @@ msgstr "Categoria"
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -97,8 +97,8 @@ msgstr "Tag"
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -169,9 +169,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -180,7 +180,7 @@ msgid "Account"
|
||||
msgstr "Conto"
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -195,68 +195,56 @@ msgstr ""
|
||||
"La valuta di cambio non può essere la stessa della valuta principale del "
|
||||
"conto."
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr "Gruppo conti aggiunto con successo"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr "Solo il proprietario può modificare questo elemento"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr "Gruppo conti aggiornato con successo"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "L’elemento non è più condiviso con te"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr "Gruppo conti eliminato con successo"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "L’elemento non è più condiviso con te"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr "Titolarità acquisita con successo"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr "Configurazione salvata con successo"
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr "Conto aggiunto con successo"
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr "Conto aggiornato con successo"
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr "Conto eliminato con successo"
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr "Il conto è ora tracciato"
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr "Il conto non è più tracciato"
|
||||
|
||||
@@ -356,6 +344,7 @@ msgstr ""
|
||||
"utenti. Modificabile solo dal proprietario."
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr "Salva"
|
||||
|
||||
@@ -470,10 +459,9 @@ msgstr "Rimuovi"
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr "Reset"
|
||||
|
||||
@@ -492,7 +480,7 @@ msgstr "Suffisso"
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -512,7 +500,7 @@ msgid "Decimal Places"
|
||||
msgstr "Cifre decimali"
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -578,8 +566,8 @@ msgid "Service Type"
|
||||
msgstr "Tipo di servizio"
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -769,8 +757,8 @@ msgstr "Valuta di pagamento"
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr "Note"
|
||||
|
||||
@@ -802,27 +790,27 @@ msgstr "Rata del PAC"
|
||||
msgid "DCA Entries"
|
||||
msgstr "Rate del PAC"
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr "Piano d'Accumulo aggiunto con successo"
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr "Piano d'Accumulo aggiornato con successo"
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr "Piano d'Accumulo eliminato con successo"
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr "Voce aggiunta con successo"
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr "Voce aggiornata con successo"
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr "Voce eliminata con successo"
|
||||
|
||||
@@ -833,7 +821,7 @@ msgid "Users"
|
||||
msgstr "Utenti"
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -842,7 +830,7 @@ msgid "Transactions"
|
||||
msgstr "Transazioni"
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -853,12 +841,12 @@ msgstr "Categorie"
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -870,14 +858,14 @@ msgid "Entities"
|
||||
msgstr "Beneficiari"
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr "Pagamenti ricorrenti"
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1031,7 +1019,7 @@ msgid "Run deleted successfully"
|
||||
msgstr "Esecuzione eliminata con successo"
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1130,15 +1118,15 @@ msgstr "Operatore"
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1148,15 +1136,15 @@ msgstr "Pagato"
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr "Data di riferimento"
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1167,27 +1155,27 @@ msgstr "Importo"
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr "Descrizione"
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr "Note interne"
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr "ID Interno"
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr "Silenzia"
|
||||
|
||||
@@ -1200,7 +1188,7 @@ msgid "Set Values"
|
||||
msgstr "Imposta Valori"
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr "Transazione"
|
||||
|
||||
@@ -1296,15 +1284,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr "Aggiorna o crea un'azione di transazione"
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr "Regola disattivata con successo"
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr "Regola attivata con successo"
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr "Regola aggiunta con successo"
|
||||
|
||||
@@ -1312,27 +1300,27 @@ msgstr "Regola aggiunta con successo"
|
||||
msgid "Rule updated successfully"
|
||||
msgstr "Regola aggiornata con successo"
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr "Regola eliminata con successo"
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr "Azione aggiornata con successo"
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr "Azione eliminata con successo"
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr "Azione Aggiornamento o Creazione transazione aggiunta correttamente"
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr "Azione Aggiornamento o Creazione transazione aggiornata correttamente"
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr "Azione Aggiornamento o Creazione transazione eliminata correttamente"
|
||||
|
||||
@@ -1349,60 +1337,60 @@ msgstr "Previsto"
|
||||
msgid "Muted"
|
||||
msgstr "Silenziato"
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr "Contenuto"
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr "Tipo di transazione"
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
#, fuzzy
|
||||
#| msgid "Status"
|
||||
msgid "Mute Status"
|
||||
msgstr "Stato"
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr "Data da"
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr "Fino a"
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr "Data di riferimento da"
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr "Importo minimo"
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr "Importo massimo"
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr "Categorizzato"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr "Taggato"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr "Senza tag"
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr "Qualsiasi beneficiario"
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1481,7 +1469,7 @@ msgstr "transazioni future"
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "La data di fine deve essere dopo la data d'inizio"
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1489,26 +1477,26 @@ msgstr ""
|
||||
"Le categorie disattivate non potranno essere selezionate durante la "
|
||||
"creazione di nuove transazioni"
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr "Categoria transazione"
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr "Categorie transazione"
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
"I tag disattivati non potranno essere selezionati durante la creazione di "
|
||||
"nuove transazioni"
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr "Tag di transazione"
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1516,13 +1504,13 @@ msgstr ""
|
||||
"I beneficiari disattivati non potranno essere selezionati durante la "
|
||||
"creazione di nuove transazioni"
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr "Beneficiari"
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1534,7 +1522,7 @@ msgstr "Beneficiari"
|
||||
msgid "Income"
|
||||
msgstr "Entrate"
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1545,165 +1533,165 @@ msgstr "Entrate"
|
||||
msgid "Expense"
|
||||
msgstr "Spesa"
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr "Piano di rateizzazione"
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr "Transazione ricorrente"
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr "Eliminato"
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr "Eliminato alle"
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr "Nessun tag"
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr "Nessuna categoria"
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr "Nessuna descrizione"
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
#, fuzzy
|
||||
#| msgid "ZIP File"
|
||||
msgid "File"
|
||||
msgstr "File ZIP"
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
#, fuzzy
|
||||
#| msgid "Content"
|
||||
msgid "Content Type"
|
||||
msgstr "Contenuto"
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
#, fuzzy
|
||||
#| msgid "Transactions on"
|
||||
msgid "Transaction Attachment"
|
||||
msgstr "Transazioni del"
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
#, fuzzy
|
||||
#| msgid "Transaction Tags"
|
||||
msgid "Transaction Attachments"
|
||||
msgstr "Tag di transazione"
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr "Annuale"
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr "Mensile"
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr "Settimanale"
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr "Quotidiana"
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr "Numero di rate"
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr "Inizio rata"
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr "Il numero di rata da cui iniziare il conteggio"
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr "Data di inizio"
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr "Data di fine"
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr "Ricorrenza"
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr "Importo della rata"
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr "Aggiungi una descrizione alle transazioni"
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr "Aggiungi note alle transazioni"
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr "giorno/i"
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr "settimana/e"
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr "mese/i"
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr "anno/i"
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr "In pausa"
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr "Tipo di ricorrenza"
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr "Frequenza"
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr "Tieni al massimo"
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr "Data dell'ultima generazione"
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr "Data dell'ultimo riferimento generato"
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1712,7 +1700,7 @@ msgstr "Data dell'ultimo riferimento generato"
|
||||
msgid "Quick Transaction"
|
||||
msgstr "Transazione rapida"
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1763,27 +1751,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] "%(count)s transazione duplicata con successo"
|
||||
msgstr[1] "%(count)s transazioni duplicate con successo"
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr "Categoria aggiunta con successo"
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr "Categoria aggiornata con successo"
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr "Categoria eliminata con successo"
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr "Beneficiario aggiunto con successo"
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr "Beneficiario aggiornato con successo"
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr "Beneficiario eliminato con successo"
|
||||
|
||||
@@ -1846,15 +1834,15 @@ msgstr "Transazione ricorrente completata con successo"
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr "Transazione ricorrente eliminata correttamente"
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr "Tag aggiunto con successo"
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr "Tag aggiornato con successo"
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Tag rimosso con successo"
|
||||
|
||||
@@ -1940,9 +1928,9 @@ msgstr "Questo account è disattivato"
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr "Predefinito"
|
||||
|
||||
@@ -2303,6 +2291,7 @@ msgstr "Condividi"
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr "Elimina"
|
||||
@@ -2790,19 +2779,19 @@ msgstr "Prezzo attuale"
|
||||
msgid "Amount Bought"
|
||||
msgstr "Importo acquistato"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr "Prezzo di ingresso vs prezzo corrente"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr "Giorni tra gli investimenti"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr "Frequenza di investimento"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr "Più dritta è la linea blu, più coerente è la tua strategia DCA."
|
||||
|
||||
@@ -3045,6 +3034,7 @@ msgid "Reload"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
@@ -3481,16 +3471,16 @@ msgid "Summary"
|
||||
msgstr "Riepilogo"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr "Prima le più vecchie"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr "Prima le più recenti"
|
||||
|
||||
@@ -3499,8 +3489,8 @@ msgstr "Prima le più recenti"
|
||||
msgid "Filter transactions"
|
||||
msgstr "Filtra transazioni"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr "Ordina per"
|
||||
|
||||
@@ -3611,15 +3601,21 @@ msgstr "Nessuna transazione ricorrente"
|
||||
msgid "View"
|
||||
msgstr "Vista"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr "Disattiva"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr "Attiva"
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Only the owner can edit this"
|
||||
msgid "Only the owner can change this"
|
||||
msgstr "Solo il proprietario può modificare questo elemento"
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr "Nessuna regola"
|
||||
|
||||
@@ -3766,6 +3762,48 @@ msgstr "Modifica"
|
||||
msgid "transactions"
|
||||
msgstr "transazioni"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
#, fuzzy
|
||||
#| msgid "File name"
|
||||
msgid "Preset name"
|
||||
msgstr "Nome file"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
#, fuzzy
|
||||
#| msgid "From preset"
|
||||
msgid "Save preset"
|
||||
msgstr "Da preset"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
#, fuzzy
|
||||
#| msgid "From preset"
|
||||
msgid "Filter presets"
|
||||
msgstr "Da preset"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
#, fuzzy
|
||||
#| msgid "No presets yet"
|
||||
msgid "No saved presets"
|
||||
msgstr "Ancora nessun preset"
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr "Nessuna transazione trovata"
|
||||
|
||||
+218
-188
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"PO-Revision-Date: 2026-07-05 15:57+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2026-08-17 15:57+0000\n"
|
||||
"Last-Translator: Dimitri Decrock <dj.flashpower@gmail.com>\n"
|
||||
"Language-Team: Dutch <https://translations.herculino.com/projects/wygiwyh/"
|
||||
"app/nl/>\n"
|
||||
@@ -17,7 +17,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 2026.6.1\n"
|
||||
"X-Generator: Weblate 2026.8.1\n"
|
||||
|
||||
#: apps/accounts/forms.py:24
|
||||
msgid "Group name"
|
||||
@@ -66,9 +66,9 @@ msgstr "Nieuw saldo"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -79,13 +79,13 @@ msgstr "Categorie"
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -97,8 +97,8 @@ msgstr "Labels"
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -170,9 +170,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -181,7 +181,7 @@ msgid "Account"
|
||||
msgstr "Rekening"
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -195,68 +195,56 @@ msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr ""
|
||||
"Eenheid wisselgeld kan niet dezelfde zijn als de munteenheid van de rekening."
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr "Rekeninggroep succesvol toegevoegd"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr "Alleen de eigenaar kan dit bewerken"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr "Rekeninggroep succesvol bijgewerkt"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Item is niet langer met jouw gedeeld"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr "Rekeninggroep succesvol verwijderd"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Item is niet langer met jouw gedeeld"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr "Eigendom succesvol genomen"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr "Configuratie succesvol opgeslagen"
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr "Rekening succesvol toegevoegd"
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr "Rekening succesvol bijgewerkt"
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr "Rekening succesvol verwijderd"
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr "Account wordt nu bijgehouden"
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr "Account wordt nu niet meer bijgehouden"
|
||||
|
||||
@@ -356,6 +344,7 @@ msgstr ""
|
||||
"Alleen bewerkbaar door de eigenaar."
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr "Opslaan"
|
||||
|
||||
@@ -470,10 +459,9 @@ msgstr "Verwijder"
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr "Leegmaken"
|
||||
|
||||
@@ -492,7 +480,7 @@ msgstr "Achtervoegsel"
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -512,7 +500,7 @@ msgid "Decimal Places"
|
||||
msgstr "Cijfers na de komma"
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -578,8 +566,8 @@ msgid "Service Type"
|
||||
msgstr "Soort Dienst"
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -770,8 +758,8 @@ msgstr "Betaal Munteenheid"
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr "Opmerkingen"
|
||||
|
||||
@@ -803,27 +791,27 @@ msgstr "DCA Instap"
|
||||
msgid "DCA Entries"
|
||||
msgstr "DCA Idems"
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr "Strategie voor DCA succesvol toegevoegd"
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr "Strategie voor DCA succesvol bijgewerkt"
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr "Strategie voor DCA succesvol verwijderd"
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr "Item succesvol toegevoegd"
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr "Invoer succesvol bijgewerkt"
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr "Invoer succesvol verwijderd"
|
||||
|
||||
@@ -834,7 +822,7 @@ msgid "Users"
|
||||
msgstr "Gebruikers"
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -843,7 +831,7 @@ msgid "Transactions"
|
||||
msgstr "Verrichtingen"
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -854,12 +842,12 @@ msgstr "Categorieën"
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -871,14 +859,14 @@ msgid "Entities"
|
||||
msgstr "Bedrijven"
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr "Terugkerende Verrichtingen"
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1032,7 +1020,7 @@ msgid "Run deleted successfully"
|
||||
msgstr "Run met succes verwijderd"
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1130,15 +1118,15 @@ msgstr "Operator"
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr "Soort"
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1148,15 +1136,15 @@ msgstr "Betaald"
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr "Referentiedatum"
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1167,27 +1155,27 @@ msgstr "Bedrag"
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr "Beschrijving"
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr "Interne opmerking"
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr "Interne ID"
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr "Dempen"
|
||||
|
||||
@@ -1200,7 +1188,7 @@ msgid "Set Values"
|
||||
msgstr "Waarden Instellen"
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr "Verrichting"
|
||||
|
||||
@@ -1296,15 +1284,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr "Bewerk of maak verrichtingsregel actie"
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr "Regel succesvol uitgeschakeld"
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr "Regel succesvol ingeschakeld"
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr "Regel succesvol toegevoegd"
|
||||
|
||||
@@ -1312,27 +1300,27 @@ msgstr "Regel succesvol toegevoegd"
|
||||
msgid "Rule updated successfully"
|
||||
msgstr "Regel succesvol bijgewerkt"
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr "Regel succesvol verwijderd"
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr "Actie succesvol bijgewerkt"
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr "Actie succesvol verwijderd"
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr "Verrichting Bijwerken Of Maken succesvol toegevoegd"
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr "Verrichting Bijwerken Of Maken succesvol bijgewerkt"
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr "Verrichting Bijwerken Of Maken succesvol verwijderd"
|
||||
|
||||
@@ -1349,58 +1337,58 @@ msgstr "Ingepland"
|
||||
msgid "Muted"
|
||||
msgstr "Gedempt"
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr "Inhoud"
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr "Soort transactie"
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr "Demp Status"
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr "Datum vanaf"
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr "Tot"
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr "Referentiedatum vanaf"
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr "Minimum bedrag"
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr "Maximaal bedrag"
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr "Gecategoriseerd"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr "Gelabeld"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr "Niet gelabeld"
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr "Elk bedrijf"
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1477,7 +1465,7 @@ msgstr "toekomstige verrichtingen"
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "De einddatum moet na de begindatum vallen"
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1485,26 +1473,26 @@ msgstr ""
|
||||
"Gedeactiveerde categorieën kunnen niet worden geselecteerd bij het maken van "
|
||||
"nieuwe transacties"
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr "Transactie categorie"
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr "Transactie categorieën"
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
"Gedeactiveerde labels kunnen niet worden geselecteerd bij het maken van "
|
||||
"nieuwe verrichtingen"
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr "Verrichting Labels"
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1512,13 +1500,13 @@ msgstr ""
|
||||
"Gedeactiveerde bedrijven kunnen niet worden geselecteerd bij het maken van "
|
||||
"nieuwe verrichtingen"
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr "Bedrijf"
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1530,7 +1518,7 @@ msgstr "Bedrijf"
|
||||
msgid "Income"
|
||||
msgstr "Ontvangsten Transactie"
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1541,157 +1529,157 @@ msgstr "Ontvangsten Transactie"
|
||||
msgid "Expense"
|
||||
msgstr "Uitgave"
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr "Afbetalingsplan"
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr "Terugkerende verrichting"
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr "Verwijderd"
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr "Verwijderd Op"
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr "Geen labels"
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr "Geen categorie"
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr "Geen Beschrijving"
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
msgid "File"
|
||||
msgstr "Bestand"
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr "Originele Naam"
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
msgid "Content Type"
|
||||
msgstr "Inhoudstype"
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr "Grootte"
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr "Geüpload Door"
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
msgid "Transaction Attachment"
|
||||
msgstr "Transactiebijlage"
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
msgid "Transaction Attachments"
|
||||
msgstr "Transactiebijlages"
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr "Jaarlijks"
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr "Maandelijks"
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr "Wekelijks"
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr "Dagelijks"
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr "Aantal aflossingen"
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr "Begin afbetaling"
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr "Het nummer van de aflevering om mee te beginnen"
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr "Startdatum"
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr "Einddatum"
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr "Terugkeerpatroon"
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr "Termijnbedrag"
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr "Beschrijving toevoegen aan verrichting"
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr "Notities toevoegen aan verrichting"
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr "dag(en)"
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr "we(e)k(en)"
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr "maand(en)"
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr "ja(a)r(en)"
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr "Gepauzeerd"
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr "Type Terugkeerpatroon"
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr "Terugkeer Interval"
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr "Bewaar maximaal"
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr "Laatste Gegenereerde Datum"
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr "Laatste Gegenereerde Referentiedatum"
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1700,7 +1688,7 @@ msgstr "Laatste Gegenereerde Referentiedatum"
|
||||
msgid "Quick Transaction"
|
||||
msgstr "Snelle verrichting"
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1751,27 +1739,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] "%(count)s verrichting succesvol gedupliceerd"
|
||||
msgstr[1] "%(count)s verrichtingen succesvol gedupliceerd"
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr "Categorie succesvol toegevoegd"
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr "Categorie succesvol bijgewerkt"
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr "Categorie succesvol verwijderd"
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr "Bedrijf succesvol toegevoegd"
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr "Bedrijf succesvol bijgewerkt"
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr "Bedrijf succesvol verwijderd"
|
||||
|
||||
@@ -1834,15 +1822,15 @@ msgstr "Terugkerende Verrichting succesvol voltooid"
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr "Terugkerende Verrichting succesvol verwijderd"
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr "Label succesvol toegevoegd"
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr "Label succesvol bijgewerkt"
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Label succesvol verwijderd"
|
||||
|
||||
@@ -1924,9 +1912,9 @@ msgstr "Deze gebruiker is gedeactiveerd"
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr "Standaard"
|
||||
|
||||
@@ -2256,6 +2244,7 @@ msgstr "Deel"
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr "Verwijderen"
|
||||
@@ -2741,19 +2730,19 @@ msgstr "Actuele Prijs"
|
||||
msgid "Amount Bought"
|
||||
msgstr "Gekocht Bedrag"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr "Instapprijs vs Huidige Prijs"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr "Dagen Tussen Investeringen"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr "Investeringsfrequentie"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr "Hoe rechter de blauwe lijn, hoe consistenter je DCA-strategie is."
|
||||
|
||||
@@ -2889,7 +2878,7 @@ msgstr "Geen importprofielen"
|
||||
|
||||
#: templates/import_app/fragments/profiles/list_presets.html:5
|
||||
msgid "Import Presets"
|
||||
msgstr "Presets importeren"
|
||||
msgstr "Voorinstellingen importeren"
|
||||
|
||||
#: templates/import_app/fragments/profiles/list_presets.html:33
|
||||
msgid "By"
|
||||
@@ -2995,6 +2984,7 @@ msgid "Reload"
|
||||
msgstr "Herlaad"
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleer"
|
||||
|
||||
@@ -3414,16 +3404,16 @@ msgid "Summary"
|
||||
msgstr "Samenvatting"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr "Oudste eerst"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr "Nieuwste eerst"
|
||||
|
||||
@@ -3432,8 +3422,8 @@ msgstr "Nieuwste eerst"
|
||||
msgid "Filter transactions"
|
||||
msgstr "Filter verrichtingen"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr "Sorteer op"
|
||||
|
||||
@@ -3545,15 +3535,21 @@ msgstr "Geen terugkerende verrichtingen"
|
||||
msgid "View"
|
||||
msgstr "Toon"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr "Uitschakelen"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr "Inschakelen"
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Only the owner can edit this"
|
||||
msgid "Only the owner can change this"
|
||||
msgstr "Alleen de eigenaar kan dit bewerken"
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr "Geen regels"
|
||||
|
||||
@@ -3696,6 +3692,40 @@ msgstr "Bewerking"
|
||||
msgid "transactions"
|
||||
msgstr "verrichtingen"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr "Instellingen filter opslaan"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
msgid "Preset name"
|
||||
msgstr "Preset snaam"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
msgid "Save preset"
|
||||
msgstr "Opslaan voorinstelling"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
msgid "Filter presets"
|
||||
msgstr "Filter voorinstelling"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr "Verwijder %(name)s"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr "Voorinstelling filter verwijderen?"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr "Verwijder “%(name)s”?"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
msgid "No saved presets"
|
||||
msgstr "Geen opgeslagen voorinstellingen"
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr "Geen Verrichtingen gevonden"
|
||||
|
||||
+219
-185
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2026-06-08 07:57+0000\n"
|
||||
"Last-Translator: Pawel Augustyn <pawelaugustyn15@gmail.com>\n"
|
||||
"Language-Team: Polish <https://translations.herculino.com/projects/wygiwyh/"
|
||||
@@ -67,9 +67,9 @@ msgstr "Nowe saldo"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -80,13 +80,13 @@ msgstr "Kategoria"
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -98,8 +98,8 @@ msgstr "Tagi"
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -171,9 +171,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -182,7 +182,7 @@ msgid "Account"
|
||||
msgstr "Konto"
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -195,68 +195,56 @@ msgstr "Konta"
|
||||
msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr "Waluta do wymiany nie może być taka sama jak waluta konta."
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr "Grupa kont dodana pomyślnie"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr "Tylko właściciel może to edytować"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr "Zaktualizowano grupę kont"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Ten wpis nie jest już dostępny dla Ciebie"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr "Usunięto grupę kont"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Ten wpis nie jest już dostępny dla Ciebie"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr "Własność przejęta pomyślnie"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr "Pomyślnie zapisano konfigurację"
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr "Konto dodane pomyślnie"
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr "Konto zaktualizowane"
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr "Usunięto konto"
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr "Konto jest teraz śledzone"
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr "Przestano śledzić konto"
|
||||
|
||||
@@ -360,6 +348,7 @@ msgstr ""
|
||||
"Widoczne dla wszystkich. Tylko właściciel może dokonywać zmian."
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr "Zapisz"
|
||||
|
||||
@@ -480,10 +469,9 @@ msgstr "Usuń"
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr "Wyczyść"
|
||||
|
||||
@@ -502,7 +490,7 @@ msgstr "Suffix"
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -522,7 +510,7 @@ msgid "Decimal Places"
|
||||
msgstr "Liczba miejsc po przecinku"
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -588,8 +576,8 @@ msgid "Service Type"
|
||||
msgstr "Typ serwisu"
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -774,8 +762,8 @@ msgstr "Waluta dla płatności"
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr "Notatki"
|
||||
|
||||
@@ -807,27 +795,27 @@ msgstr ""
|
||||
msgid "DCA Entries"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr "Pomyślnie dodano wpis"
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr "Pomyślnie zaktualizowano wpis"
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr "Pomyślnie usunięto wpis"
|
||||
|
||||
@@ -838,7 +826,7 @@ msgid "Users"
|
||||
msgstr "Użytkownicy"
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -847,7 +835,7 @@ msgid "Transactions"
|
||||
msgstr "Transakcje"
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -858,12 +846,12 @@ msgstr "Kategorie"
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -875,14 +863,14 @@ msgid "Entities"
|
||||
msgstr "Encje"
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr "Zlecenia stałe"
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1036,7 +1024,7 @@ msgid "Run deleted successfully"
|
||||
msgstr "Usunięto import"
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1134,15 +1122,15 @@ msgstr "Operator"
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1152,15 +1140,15 @@ msgstr "Zapłacono"
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr "Data referencyjna"
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1171,27 +1159,27 @@ msgstr "Kwota"
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr "Opis"
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr "Notatka"
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr "Wewnętrzne ID"
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr "Wycisz"
|
||||
|
||||
@@ -1204,7 +1192,7 @@ msgid "Set Values"
|
||||
msgstr "Ustaw wartości"
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr "Transakcja"
|
||||
|
||||
@@ -1300,15 +1288,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr "Zaktualizuj lub utwórz akcję transakcji"
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr "Reguła zdezaktywowana"
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr "Reguła aktywowana"
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr "Dodano regułę"
|
||||
|
||||
@@ -1316,27 +1304,27 @@ msgstr "Dodano regułę"
|
||||
msgid "Rule updated successfully"
|
||||
msgstr "Zaktualizowano regułę"
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr "Usunięto regułę"
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr "Zaktualizowano akcję"
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr "Usunięto akcję"
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr "Akcja stworzenia lub aktualizacji transakcji dodana pomyślnie"
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr "Akcja stworzenia lub aktualizacji transakcji zmodyfikowana"
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr "Usunięto akcję stworzenia lub aktualizacji transakcji"
|
||||
|
||||
@@ -1353,58 +1341,58 @@ msgstr "Przewidywane"
|
||||
msgid "Muted"
|
||||
msgstr "Wyciszone"
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr "Zawartość"
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr "Typ transakcji"
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr "Wycisz status"
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr "Data od"
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr "Data do"
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr "Data referencyjna od"
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr "Kwota od"
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr "Kwota do"
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr "Skategoryzowane"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr "Otagowane"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr "Nieotagowane"
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr "Dowolna encja"
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1481,7 +1469,7 @@ msgstr "przyszłe transakcje"
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "Data końcowa powinna być po dacie startowej"
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1489,26 +1477,26 @@ msgstr ""
|
||||
"Zdezaktywowanych kategorii nie da się wykorzystać przy tworzeniu nowych "
|
||||
"transakcji"
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr "Kategoria transakcji"
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr "Kategorie transakcji"
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
"Zdezaktywowanych tagów nie da się wykorzystać przy tworzeniu nowych "
|
||||
"transakcji"
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr "Tagi transakcji"
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1516,13 +1504,13 @@ msgstr ""
|
||||
"Zdezaktywowanych encji nie da się wykorzystać przy tworzeniu nowych "
|
||||
"transakcji"
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr "Encja"
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1534,7 +1522,7 @@ msgstr "Encja"
|
||||
msgid "Income"
|
||||
msgstr "Przychody"
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1545,161 +1533,161 @@ msgstr "Przychody"
|
||||
msgid "Expense"
|
||||
msgstr "Wydatek"
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr "Zlecenie stałe"
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr "Usunięte"
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr "Brak tagów"
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr "Brak kategorii"
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr "Brak opisu"
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
#, fuzzy
|
||||
#| msgid "ZIP File"
|
||||
msgid "File"
|
||||
msgstr "Plik ZIP"
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
#, fuzzy
|
||||
#| msgid "Content"
|
||||
msgid "Content Type"
|
||||
msgstr "Zawartość"
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
msgid "Transaction Attachment"
|
||||
msgstr "Załącznik transakcji"
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
msgid "Transaction Attachments"
|
||||
msgstr "Załączniki transakcji"
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr "Rocznie"
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr "Miesięcznie"
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr "Tygodniowo"
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr "Dziennie"
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr "Data startowa"
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr "Data końcowa"
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr "Zlecenie stałe"
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr "Dodaj opis dla transakcji"
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr "Dodaj notatki do transakcji"
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr "dni"
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr "tygodni"
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr "miesięcy"
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr "lat"
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr "Zapauzowane"
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr "Typ powtarzania"
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr "Co ile powtarzać"
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr "Zachowuj co najwyżej"
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1708,7 +1696,7 @@ msgstr ""
|
||||
msgid "Quick Transaction"
|
||||
msgstr "Szablon transakcji"
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1764,27 +1752,27 @@ msgstr[0] "Zduplikowano %(count)s transakcję"
|
||||
msgstr[1] "Zduplikowano %(count)s transakcje"
|
||||
msgstr[2] "Zduplikowano %(count)s transakcji"
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr "Dodano kategorię"
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr "Zaktualizowano kategorię"
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr "Usunięto kategorię"
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr "Dodano encję"
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr "Zaktualizowano encję"
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr "Usunięto encję"
|
||||
|
||||
@@ -1847,15 +1835,15 @@ msgstr "Zakończono zlecenie stałe"
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr "Usunięto zlecenie stałe"
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr "Dodano tag"
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr "Zaktualizowano tag"
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Usunięto tag"
|
||||
|
||||
@@ -1938,9 +1926,9 @@ msgstr "To konto jest nieaktywne"
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr "Domyślne"
|
||||
|
||||
@@ -2287,6 +2275,7 @@ msgstr "Udostępnij"
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr "Usuń"
|
||||
@@ -2772,19 +2761,19 @@ msgstr ""
|
||||
msgid "Amount Bought"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
|
||||
@@ -3025,6 +3014,7 @@ msgid "Reload"
|
||||
msgstr "Odśwież"
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
@@ -3439,16 +3429,16 @@ msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr ""
|
||||
|
||||
@@ -3457,8 +3447,8 @@ msgstr ""
|
||||
msgid "Filter transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr ""
|
||||
|
||||
@@ -3566,15 +3556,21 @@ msgstr "Brak zleceń stałych"
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Only the owner can edit this"
|
||||
msgid "Only the owner can change this"
|
||||
msgstr "Tylko właściciel może to edytować"
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr ""
|
||||
|
||||
@@ -3717,6 +3713,44 @@ msgstr ""
|
||||
msgid "transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
#, fuzzy
|
||||
#| msgid "File name"
|
||||
msgid "Preset name"
|
||||
msgstr "Nazwa pliku"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
msgid "Save preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
#, fuzzy
|
||||
#| msgid "Filter"
|
||||
msgid "Filter presets"
|
||||
msgstr "Filtr"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
msgid "No saved presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr ""
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"PO-Revision-Date: 2026-07-05 23:34+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2026-08-16 22:03+0000\n"
|
||||
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
|
||||
"Language-Team: Portuguese (Brazil) <https://translations.herculino.com/"
|
||||
"projects/wygiwyh/app/pt_BR/>\n"
|
||||
@@ -17,7 +17,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 2026.6.1\n"
|
||||
"X-Generator: Weblate 2026.8.1\n"
|
||||
|
||||
#: apps/accounts/forms.py:24
|
||||
msgid "Group name"
|
||||
@@ -66,9 +66,9 @@ msgstr "Novo saldo"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -79,13 +79,13 @@ msgstr "Categoria"
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -97,8 +97,8 @@ msgstr "Tags"
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -169,9 +169,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -180,7 +180,7 @@ msgid "Account"
|
||||
msgstr "Conta"
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -193,68 +193,56 @@ msgstr "Contas"
|
||||
msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr "A moeda de câmbio não pode ser a mesma que a moeda principal da conta."
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr "Grupo de Conta adicionado com sucesso"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr "Somente o proprietário pode editar isso"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr "Grupo de Conta atualizado com sucesso"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Item não está mais compartilhado com você"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr "Grupo de Conta apagado com sucesso"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Item não está mais compartilhado com você"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr "Propriedade assumida com sucesso"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr "Configuração salva com sucesso"
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr "Conta adicionado com sucesso"
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr "Conta atualizada com sucesso"
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr "Conta apagada com sucesso"
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr "A conta agora está sendo acompanhada"
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr "A conta agora não está mais sendo acompanhada"
|
||||
|
||||
@@ -354,6 +342,7 @@ msgstr ""
|
||||
"usuários. Somente editável pelo proprietário."
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr "Salvar"
|
||||
|
||||
@@ -468,10 +457,9 @@ msgstr "Remover"
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr "Limpar"
|
||||
|
||||
@@ -490,7 +478,7 @@ msgstr "Sufixo"
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -510,7 +498,7 @@ msgid "Decimal Places"
|
||||
msgstr "Casas Decimais"
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -576,8 +564,8 @@ msgid "Service Type"
|
||||
msgstr "Tipo de Serviço"
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -768,8 +756,8 @@ msgstr "Moeda de pagamento"
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr "Notas"
|
||||
|
||||
@@ -801,27 +789,27 @@ msgstr "Entrada CMP"
|
||||
msgid "DCA Entries"
|
||||
msgstr "Entradas CMP"
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr "Estratégia CMP adicionada com sucesso"
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr "Estratégia CMP atualizada com sucesso"
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr "Estratégia CMP apagada com sucesso"
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr "Entrada adicionada com sucesso"
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr "Entrada atualizada com sucesso"
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr "Entrada apagada com sucesso"
|
||||
|
||||
@@ -832,7 +820,7 @@ msgid "Users"
|
||||
msgstr "Usuários"
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -841,7 +829,7 @@ msgid "Transactions"
|
||||
msgstr "Transações"
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -852,12 +840,12 @@ msgstr "Categorias"
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -869,14 +857,14 @@ msgid "Entities"
|
||||
msgstr "Entidades"
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr "Transações Recorrentes"
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1030,7 +1018,7 @@ msgid "Run deleted successfully"
|
||||
msgstr "Importação apagada com sucesso"
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1128,15 +1116,15 @@ msgstr "Operador"
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1146,15 +1134,15 @@ msgstr "Pago"
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr "Data de Referência"
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1165,27 +1153,27 @@ msgstr "Quantia"
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr "Descrição"
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr "Nota Interna"
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr "ID Interna"
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr "Silenciada"
|
||||
|
||||
@@ -1198,7 +1186,7 @@ msgid "Set Values"
|
||||
msgstr "Definir valores"
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr "Transação"
|
||||
|
||||
@@ -1294,15 +1282,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr "Ação de atualizar ou criar transação"
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr "Regra desativada com sucesso"
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr "Regra ativada com sucesso"
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr "Regra adicionada com sucesso"
|
||||
|
||||
@@ -1310,27 +1298,27 @@ msgstr "Regra adicionada com sucesso"
|
||||
msgid "Rule updated successfully"
|
||||
msgstr "Regra atualizada com sucesso"
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr "Regra apagada com sucesso"
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr "Ação atualizada com sucesso"
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr "Ação apagada com sucesso"
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr "Ação Atualizar ou Criar Transação adicionada com sucesso"
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr "Ação Atualizar ou Criar Transação atualizada com sucesso"
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr "Ação Atualizar ou Criar Transação apagada com sucesso"
|
||||
|
||||
@@ -1347,58 +1335,58 @@ msgstr "Previsto"
|
||||
msgid "Muted"
|
||||
msgstr "Silenciada"
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr "Conteúdo"
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr "Tipo de Transação"
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr "Status de silenciamento"
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr "Data de"
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr "Até"
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr "Data de Referência de"
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr "Quantia miníma"
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr "Quantia máxima"
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr "Categorizada"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr "Com tag"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr "Sem tag"
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr "Qualquer entidade"
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1475,7 +1463,7 @@ msgstr "transações futuras"
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "Data final deve ser após data inicial"
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1483,25 +1471,25 @@ msgstr ""
|
||||
"As categorias desativadas não poderão ser selecionadas ao criar novas "
|
||||
"transações"
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr "Categoria da Transação"
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr "Categorias da Trasanção"
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
"As tags desativadas não poderão ser selecionadas ao criar novas transações"
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr "Tags da Transação"
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
@@ -1509,13 +1497,13 @@ msgstr ""
|
||||
"As entidades desativadas não poderão ser selecionadas ao criar novas "
|
||||
"transações"
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr "Entidade"
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1527,7 +1515,7 @@ msgstr "Entidade"
|
||||
msgid "Income"
|
||||
msgstr "Renda"
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1538,157 +1526,157 @@ msgstr "Renda"
|
||||
msgid "Expense"
|
||||
msgstr "Despesa"
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr "Parcelamento"
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr "Transação Recorrente"
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr "Apagado"
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr "Apagado Em"
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr "Nenhuma tag"
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr "Sem categoria"
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr "Sem descrição"
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
msgid "File"
|
||||
msgstr "Arquivo"
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr "Nome Original"
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
msgid "Content Type"
|
||||
msgstr "Tipo de Conteúdo"
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr "Tamanho"
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr "Enviado por"
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
msgid "Transaction Attachment"
|
||||
msgstr "Anexo de transação"
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
msgid "Transaction Attachments"
|
||||
msgstr "Anexo de transações"
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr "Anual"
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr "Mensal"
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr "Semanal"
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr "Diária"
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr "Número de Parcelas"
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr "Parcela inicial"
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr "O número da parcela a partir do qual se inicia a contagem"
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr "Data de Início"
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr "Data Final"
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr "Recorrência"
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr "Valor da Parcela"
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr "Adicionar descrição às transações"
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr "Adicionar notas às transações"
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr "dia(s)"
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr "semana(s)"
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr "mês(es)"
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr "ano(s)"
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr "Pausado"
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr "Tipo de recorrência"
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr "Intervalo de recorrência"
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr "Manter no máximo"
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr "Última data gerada"
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr "Última data de referência gerada"
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1697,7 +1685,7 @@ msgstr "Última data de referência gerada"
|
||||
msgid "Quick Transaction"
|
||||
msgstr "Transação Rápida"
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1748,27 +1736,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] "%(count)s transação duplicada com sucesso"
|
||||
msgstr[1] "%(count)s transações duplicadas com sucesso"
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr "Categoria adicionada com sucesso"
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr "Categoria atualizada com sucesso"
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr "Categoria apagada com sucesso"
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr "Entidade adicionada com sucesso"
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr "Entidade atualizada com sucesso"
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr "Entidade apagada com sucesso"
|
||||
|
||||
@@ -1831,15 +1819,15 @@ msgstr "Transação Recorrente finalizada com sucesso"
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr "Transação Recorrente apagada com sucesso"
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr "Tag adicionada com sucesso"
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr "Tag atualizada com sucesso"
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Tag apagada com sucesso"
|
||||
|
||||
@@ -1921,9 +1909,9 @@ msgstr "Essa conta está desativada"
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr "Padrão"
|
||||
|
||||
@@ -2253,6 +2241,7 @@ msgstr "Compartilhar"
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr "Apagar"
|
||||
@@ -2738,19 +2727,19 @@ msgstr "Preço atual"
|
||||
msgid "Amount Bought"
|
||||
msgstr "Quantia comprada"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr "Preço de Entrada vs Preço Atual"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr "Dias entre investimentos"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr "Frequência de Investimento"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
"Quanto mais reta for a linha azul, mais consistente é sua estratégia de CMP."
|
||||
@@ -2992,6 +2981,7 @@ msgid "Reload"
|
||||
msgstr "Recarregar"
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@@ -3411,16 +3401,16 @@ msgid "Summary"
|
||||
msgstr "Resumo"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr "Mais antigas primeiro"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr "Mais novas primeiro"
|
||||
|
||||
@@ -3429,8 +3419,8 @@ msgstr "Mais novas primeiro"
|
||||
msgid "Filter transactions"
|
||||
msgstr "Filtrar transações"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr "Ordernar por"
|
||||
|
||||
@@ -3539,15 +3529,21 @@ msgstr "Nenhuma transação recorrente"
|
||||
msgid "View"
|
||||
msgstr "Visualizar"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr "Desativar"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr "Ativar"
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Only the owner can edit this"
|
||||
msgid "Only the owner can change this"
|
||||
msgstr "Somente o proprietário pode editar isso"
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr "Nenhuma regra"
|
||||
|
||||
@@ -3690,6 +3686,40 @@ msgstr "Editando"
|
||||
msgid "transactions"
|
||||
msgstr "transações"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr "Salvar predefinição de filtro"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
msgid "Preset name"
|
||||
msgstr "Nome da predefinição"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
msgid "Save preset"
|
||||
msgstr "Salvar predefinição"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
msgid "Filter presets"
|
||||
msgstr "Predefinições de filtro"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr "Apagar %(name)s"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr "Apagar predefinição de filtro?"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr "Apagar \"%(name)s\"?"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
msgid "No saved presets"
|
||||
msgstr "Não há predefinições salvas"
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr "Nenhuma transação encontrada"
|
||||
|
||||
+219
-185
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2026-05-01 07:24+0000\n"
|
||||
"Last-Translator: masttera <mail.masttera@gmail.com>\n"
|
||||
"Language-Team: Russian <https://translations.herculino.com/projects/wygiwyh/"
|
||||
@@ -67,9 +67,9 @@ msgstr "Новый баланс"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -80,13 +80,13 @@ msgstr "Категория"
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -98,8 +98,8 @@ msgstr "Тэг"
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -171,9 +171,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -182,7 +182,7 @@ msgid "Account"
|
||||
msgstr "Счет"
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -195,68 +195,56 @@ msgstr "Счета"
|
||||
msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr "Обменная валюта не может совпадать с основной валютой счета."
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr "Группа счетов успешно добавлена"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr "Редактировать это может только владелец"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr "Группа счетов успешно обновлена"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Информация больше не предоставляется вам"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr "Группа счетов успешно удалена"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Информация больше не предоставляется вам"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr "Владелец успешно присвоен"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr "Настройки успешно сохранены"
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr "Счет успешно добавлен"
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr "Счет успешно обновлен"
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr "Счет успешно удален"
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr "Счет теперь отслеживается"
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr "Счет теперь не отслеживается"
|
||||
|
||||
@@ -358,6 +346,7 @@ msgstr ""
|
||||
"пользователей. Может быть изменено только владельцем."
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr "Сохранить"
|
||||
|
||||
@@ -478,10 +467,9 @@ msgstr "Снять"
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr "Очистить"
|
||||
|
||||
@@ -500,7 +488,7 @@ msgstr "Суффикс"
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -520,7 +508,7 @@ msgid "Decimal Places"
|
||||
msgstr "Десятичные знаки"
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -586,8 +574,8 @@ msgid "Service Type"
|
||||
msgstr "Тип услуги"
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -778,8 +766,8 @@ msgstr "Валюта платежа"
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr "Заметки"
|
||||
|
||||
@@ -811,27 +799,27 @@ msgstr ""
|
||||
msgid "DCA Entries"
|
||||
msgstr "Записи DCA"
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr "Стратегия DCA успешно добавлена"
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr "Стратегия DCA успешно обновлена"
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr "Стратегия DCA успешно удалена"
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr "Запись успешно добавлена"
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr "Запись успешно обновлена"
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr "Запись успешно удалена"
|
||||
|
||||
@@ -842,7 +830,7 @@ msgid "Users"
|
||||
msgstr "Пользователи"
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -851,7 +839,7 @@ msgid "Transactions"
|
||||
msgstr "Транзакции"
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -862,12 +850,12 @@ msgstr "Категории"
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -879,14 +867,14 @@ msgid "Entities"
|
||||
msgstr "Объекты"
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr "Повторяющиеся транзакции"
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1040,7 +1028,7 @@ msgid "Run deleted successfully"
|
||||
msgstr "Запуск успешно удален"
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1138,15 +1126,15 @@ msgstr "Оператор"
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1156,15 +1144,15 @@ msgstr "Оплаченный"
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr "Дата ссылки"
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1175,27 +1163,27 @@ msgstr ""
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr ""
|
||||
|
||||
@@ -1208,7 +1196,7 @@ msgid "Set Values"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr "Транзакция"
|
||||
|
||||
@@ -1302,15 +1290,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr "Операция обновления или создания транзакции"
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr "Правило успешно деактивировано"
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr "Правило успешно активировано"
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr "Правило успешно добавлено"
|
||||
|
||||
@@ -1318,27 +1306,27 @@ msgstr "Правило успешно добавлено"
|
||||
msgid "Rule updated successfully"
|
||||
msgstr "Правило успешно обновлено"
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr "Правило успешно удалено"
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr "Действие успешно обновлено"
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr "Действие успешно удалено"
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr "Действие «Обновить или создать транзакцию» успешно добавлено"
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr "Операция обновления или создания транзакции успешно завершена"
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr "Операция обновления или создания транзакции успешно удалена"
|
||||
|
||||
@@ -1355,58 +1343,58 @@ msgstr "Прогнозируемый"
|
||||
msgid "Muted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr "Тип транзакции"
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr "Дата с"
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr "Дата отсчета с"
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1485,45 +1473,45 @@ msgstr "будущие транзакции"
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "Дата окончания должна быть после даты начала"
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
"Деактивированные категории нельзя будет выбрать при создании новых транзакций"
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr "Категория транзакции"
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr "Категории транзакций"
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
"Деактивированные теги нельзя будет выбрать при создании новых транзакций"
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr "Теги транзакций"
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
"Деактивированные объекты нельзя будет выбрать при создании новых транзакций"
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1535,7 +1523,7 @@ msgstr ""
|
||||
msgid "Income"
|
||||
msgstr "Доход"
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1546,165 +1534,165 @@ msgstr "Доход"
|
||||
msgid "Expense"
|
||||
msgstr "Расход"
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr "План рассрочки"
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr "Повторяющаяся транзакция"
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr "Удалено"
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr "Нет тегов"
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr "Нет категории"
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr "Нет описания"
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
#, fuzzy
|
||||
#| msgid "ZIP File"
|
||||
msgid "File"
|
||||
msgstr "ZIP File"
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
#, fuzzy
|
||||
#| msgid "Interval Type"
|
||||
msgid "Content Type"
|
||||
msgstr "Тип интервала"
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
#, fuzzy
|
||||
#| msgid "Transaction rule"
|
||||
msgid "Transaction Attachment"
|
||||
msgstr "Правило транзакции"
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
#, fuzzy
|
||||
#| msgid "Transaction Tags"
|
||||
msgid "Transaction Attachments"
|
||||
msgstr "Теги транзакций"
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr "Ежегодно"
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr "Ежемесячно"
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr "Еженедельно"
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr "Ежедневно"
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr "Количество платежей"
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr "Начало выплаты рассрочки"
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr "Номер платежа, с которого начинается отсчет"
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr "Дата начала"
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr "Дата окончания"
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr "Сумма рассрочки"
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr "Добавить описание к транзакциям"
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr "Добавить примечания к транзакциям"
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr "день"
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr "неделя"
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr "месяц"
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr "год"
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr "Приостановлено"
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr "Хранить максимум"
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1713,7 +1701,7 @@ msgstr ""
|
||||
msgid "Quick Transaction"
|
||||
msgstr "Быстрая сделка"
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1764,27 +1752,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr "Категория успешно добавлена"
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr "Категория успешно обновлена"
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr "Категория успешно удалена"
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr "Объект успешно добавлен"
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr "Объект обновлен успешно"
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr "Объект успешно удален"
|
||||
|
||||
@@ -1847,15 +1835,15 @@ msgstr "Повторяющаяся транзакция успешно заве
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr "Повторяющаяся транзакция успешно удалена"
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr "Тег успешно добавлен"
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr "Тег успешно обновлен"
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "Тег успешно удален"
|
||||
|
||||
@@ -1941,9 +1929,9 @@ msgstr "Этот аккаунт деактивирован"
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr "По умолчанию"
|
||||
|
||||
@@ -2287,6 +2275,7 @@ msgstr "Поделиться"
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
@@ -2772,19 +2761,19 @@ msgstr ""
|
||||
msgid "Amount Bought"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
|
||||
@@ -3021,6 +3010,7 @@ msgid "Reload"
|
||||
msgstr "Перезагрузка"
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
@@ -3435,16 +3425,16 @@ msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr ""
|
||||
|
||||
@@ -3453,8 +3443,8 @@ msgstr ""
|
||||
msgid "Filter transactions"
|
||||
msgstr "Фильтр транзакций"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr "Сортировать по"
|
||||
|
||||
@@ -3564,15 +3554,21 @@ msgstr "Нет повторяющихся транзакций"
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr "Отключить"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr "включить"
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Only the owner can edit this"
|
||||
msgid "Only the owner can change this"
|
||||
msgstr "Редактировать это может только владелец"
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr "Нет правил"
|
||||
|
||||
@@ -3717,6 +3713,44 @@ msgstr "Редактирование"
|
||||
msgid "transactions"
|
||||
msgstr "транзакции"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
#, fuzzy
|
||||
#| msgid "File name"
|
||||
msgid "Preset name"
|
||||
msgstr "Имя файла"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
msgid "Save preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
#, fuzzy
|
||||
#| msgid "Filter transactions"
|
||||
msgid "Filter presets"
|
||||
msgstr "Фильтр транзакций"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
msgid "No saved presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr "Транзакций не найдено"
|
||||
|
||||
+213
-185
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2025-04-14 06:16+0000\n"
|
||||
"Last-Translator: Emil <emil.bjorkroth@gmail.com>\n"
|
||||
"Language-Team: Swedish <https://translations.herculino.com/projects/wygiwyh/"
|
||||
@@ -66,9 +66,9 @@ msgstr ""
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -79,13 +79,13 @@ msgstr ""
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -97,8 +97,8 @@ msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -166,9 +166,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -177,7 +177,7 @@ msgid "Account"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -190,68 +190,56 @@ msgstr ""
|
||||
msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr ""
|
||||
|
||||
@@ -346,6 +334,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
@@ -460,10 +449,9 @@ msgstr ""
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
@@ -482,7 +470,7 @@ msgstr ""
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -502,7 +490,7 @@ msgid "Decimal Places"
|
||||
msgstr ""
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -568,8 +556,8 @@ msgid "Service Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -748,8 +736,8 @@ msgstr ""
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
@@ -781,27 +769,27 @@ msgstr ""
|
||||
msgid "DCA Entries"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -812,7 +800,7 @@ msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -821,7 +809,7 @@ msgid "Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -832,12 +820,12 @@ msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -849,14 +837,14 @@ msgid "Entities"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1008,7 +996,7 @@ msgid "Run deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1106,15 +1094,15 @@ msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1124,15 +1112,15 @@ msgstr ""
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1143,27 +1131,27 @@ msgstr ""
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr ""
|
||||
|
||||
@@ -1176,7 +1164,7 @@ msgid "Set Values"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr ""
|
||||
|
||||
@@ -1270,15 +1258,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1286,27 +1274,27 @@ msgstr ""
|
||||
msgid "Rule updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1323,58 +1311,58 @@ msgstr ""
|
||||
msgid "Muted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1449,42 +1437,42 @@ msgstr ""
|
||||
msgid "End date should be after the start date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1496,7 +1484,7 @@ msgstr ""
|
||||
msgid "Income"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1507,157 +1495,157 @@ msgstr ""
|
||||
msgid "Expense"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
msgid "Content Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
msgid "Transaction Attachment"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
msgid "Transaction Attachments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1666,7 +1654,7 @@ msgstr ""
|
||||
msgid "Quick Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1717,27 +1705,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1800,15 +1788,15 @@ msgstr ""
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1890,9 +1878,9 @@ msgstr ""
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
@@ -2215,6 +2203,7 @@ msgstr ""
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
@@ -2700,19 +2689,19 @@ msgstr ""
|
||||
msgid "Amount Bought"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
|
||||
@@ -2949,6 +2938,7 @@ msgid "Reload"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
@@ -3363,16 +3353,16 @@ msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr ""
|
||||
|
||||
@@ -3381,8 +3371,8 @@ msgstr ""
|
||||
msgid "Filter transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr ""
|
||||
|
||||
@@ -3488,15 +3478,19 @@ msgstr ""
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
msgid "Only the owner can change this"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr ""
|
||||
|
||||
@@ -3639,6 +3633,40 @@ msgstr ""
|
||||
msgid "transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
msgid "Preset name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
msgid "Save preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
msgid "Filter presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
msgid "No saved presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr ""
|
||||
|
||||
+213
-185
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2026-01-18 19:24+0000\n"
|
||||
"Last-Translator: Ebrahim Tayabali <ebrahimhakimuddin@gmail.com>\n"
|
||||
"Language-Team: Swahili <https://translations.herculino.com/projects/wygiwyh/"
|
||||
@@ -67,9 +67,9 @@ msgstr "Salio Mpya"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -80,13 +80,13 @@ msgstr ""
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -98,8 +98,8 @@ msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -170,9 +170,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -181,7 +181,7 @@ msgid "Account"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -194,68 +194,56 @@ msgstr ""
|
||||
msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr ""
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr ""
|
||||
|
||||
@@ -350,6 +338,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
@@ -464,10 +453,9 @@ msgstr ""
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
@@ -486,7 +474,7 @@ msgstr ""
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -506,7 +494,7 @@ msgid "Decimal Places"
|
||||
msgstr ""
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -572,8 +560,8 @@ msgid "Service Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -752,8 +740,8 @@ msgstr ""
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
@@ -785,27 +773,27 @@ msgstr ""
|
||||
msgid "DCA Entries"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -816,7 +804,7 @@ msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -825,7 +813,7 @@ msgid "Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -836,12 +824,12 @@ msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -853,14 +841,14 @@ msgid "Entities"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1012,7 +1000,7 @@ msgid "Run deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1110,15 +1098,15 @@ msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1128,15 +1116,15 @@ msgstr ""
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1147,27 +1135,27 @@ msgstr ""
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr ""
|
||||
|
||||
@@ -1180,7 +1168,7 @@ msgid "Set Values"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr ""
|
||||
|
||||
@@ -1274,15 +1262,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1290,27 +1278,27 @@ msgstr ""
|
||||
msgid "Rule updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1327,58 +1315,58 @@ msgstr ""
|
||||
msgid "Muted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1453,42 +1441,42 @@ msgstr ""
|
||||
msgid "End date should be after the start date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1500,7 +1488,7 @@ msgstr ""
|
||||
msgid "Income"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1511,157 +1499,157 @@ msgstr ""
|
||||
msgid "Expense"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
msgid "Content Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
msgid "Transaction Attachment"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
msgid "Transaction Attachments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1670,7 +1658,7 @@ msgstr ""
|
||||
msgid "Quick Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1721,27 +1709,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1804,15 +1792,15 @@ msgstr ""
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1894,9 +1882,9 @@ msgstr ""
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
@@ -2223,6 +2211,7 @@ msgstr ""
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
@@ -2708,19 +2697,19 @@ msgstr ""
|
||||
msgid "Amount Bought"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
|
||||
@@ -2957,6 +2946,7 @@ msgid "Reload"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
@@ -3371,16 +3361,16 @@ msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr ""
|
||||
|
||||
@@ -3389,8 +3379,8 @@ msgstr ""
|
||||
msgid "Filter transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr ""
|
||||
|
||||
@@ -3496,15 +3486,19 @@ msgstr ""
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
msgid "Only the owner can change this"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr ""
|
||||
|
||||
@@ -3647,6 +3641,40 @@ msgstr ""
|
||||
msgid "transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
msgid "Preset name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
msgid "Save preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
msgid "Filter presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
msgid "No saved presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr ""
|
||||
|
||||
+215
-185
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2025-11-01 01:17+0000\n"
|
||||
"Last-Translator: mlystopad <mlystopadt@gmail.com>\n"
|
||||
"Language-Team: Ukrainian <https://translations.herculino.com/projects/"
|
||||
@@ -67,9 +67,9 @@ msgstr "Новий баланс"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -80,13 +80,13 @@ msgstr "Категорія"
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -98,8 +98,8 @@ msgstr "Мітки"
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -171,9 +171,9 @@ msgstr ""
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -182,7 +182,7 @@ msgid "Account"
|
||||
msgstr "Рахунок"
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -195,68 +195,56 @@ msgstr "Рахунки"
|
||||
msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr "Валюта обміну не може збігатися з основною валютою рахунку."
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr "Групу рахунків успішно додано"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr "Тільки власник може редагувати його"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr "Групу рахунків успішно оновлено"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Елемент більше не доступний для вас"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr "Групу рахунків успішно видалено"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "Елемент більше не доступний для вас"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr "Успішно прийнято право власності"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr "Конфігурацію успішно збережено"
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr "Рахунок додано успішно"
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr "Рахунок успішно оновлено"
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr "Рахунок успішно видалено"
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr "Рахунок теперь відстежується"
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr "Рахунок більше не відстежується"
|
||||
|
||||
@@ -358,6 +346,7 @@ msgstr ""
|
||||
"користувачів. Редагувати може лише власник."
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr "Зберегти"
|
||||
|
||||
@@ -478,10 +467,9 @@ msgstr "Видалити"
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr "Чисто"
|
||||
|
||||
@@ -500,7 +488,7 @@ msgstr "Суфікс"
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -520,7 +508,7 @@ msgid "Decimal Places"
|
||||
msgstr "Десяткові знаки"
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -586,8 +574,8 @@ msgid "Service Type"
|
||||
msgstr "Тип сервісу"
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -778,8 +766,8 @@ msgstr "Валюта платежу"
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr "Примітки"
|
||||
|
||||
@@ -811,27 +799,27 @@ msgstr ""
|
||||
msgid "DCA Entries"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr "Запис успішно додано"
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr "Запис успішно оновлено"
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr "Запис успішно видалено"
|
||||
|
||||
@@ -842,7 +830,7 @@ msgid "Users"
|
||||
msgstr "Користувачі"
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -851,7 +839,7 @@ msgid "Transactions"
|
||||
msgstr "Транзакції"
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -862,12 +850,12 @@ msgstr "Категорії"
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -879,14 +867,14 @@ msgid "Entities"
|
||||
msgstr ""
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr "Регулярні транзакції"
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1040,7 +1028,7 @@ msgid "Run deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1138,15 +1126,15 @@ msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1156,15 +1144,15 @@ msgstr ""
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1175,27 +1163,27 @@ msgstr ""
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr ""
|
||||
|
||||
@@ -1208,7 +1196,7 @@ msgid "Set Values"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr ""
|
||||
|
||||
@@ -1302,15 +1290,15 @@ msgstr ""
|
||||
msgid "Update or create transaction action"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1318,27 +1306,27 @@ msgstr ""
|
||||
msgid "Rule updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1355,60 +1343,60 @@ msgstr ""
|
||||
msgid "Muted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
msgid "Mute Status"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
#, fuzzy
|
||||
#| msgid "Category"
|
||||
msgid "Categorized"
|
||||
msgstr "Категорія"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1483,42 +1471,42 @@ msgstr ""
|
||||
msgid "End date should be after the start date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1530,7 +1518,7 @@ msgstr ""
|
||||
msgid "Income"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1541,165 +1529,165 @@ msgstr ""
|
||||
msgid "Expense"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
#, fuzzy
|
||||
#| msgid "ZIP File"
|
||||
msgid "File"
|
||||
msgstr "ZIP-Файл"
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
#, fuzzy
|
||||
#| msgid "Interval Type"
|
||||
msgid "Content Type"
|
||||
msgstr "Тип інтервалу"
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
#, fuzzy
|
||||
#| msgid "Transaction rules"
|
||||
msgid "Transaction Attachment"
|
||||
msgstr "Правила транзакцій"
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
#, fuzzy
|
||||
#| msgid "Transaction rules"
|
||||
msgid "Transaction Attachments"
|
||||
msgstr "Правила транзакцій"
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1708,7 +1696,7 @@ msgstr ""
|
||||
msgid "Quick Transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1759,27 +1747,27 @@ msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1844,15 +1832,15 @@ msgstr ""
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1938,9 +1926,9 @@ msgstr ""
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
@@ -2282,6 +2270,7 @@ msgstr ""
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
@@ -2767,19 +2756,19 @@ msgstr ""
|
||||
msgid "Amount Bought"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr ""
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr ""
|
||||
|
||||
@@ -3017,6 +3006,7 @@ msgid "Reload"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
@@ -3439,16 +3429,16 @@ msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr ""
|
||||
|
||||
@@ -3457,8 +3447,8 @@ msgstr ""
|
||||
msgid "Filter transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr ""
|
||||
|
||||
@@ -3564,15 +3554,21 @@ msgstr ""
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Only the owner can edit this"
|
||||
msgid "Only the owner can change this"
|
||||
msgstr "Тільки власник може редагувати його"
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr ""
|
||||
|
||||
@@ -3717,6 +3713,40 @@ msgstr ""
|
||||
msgid "transactions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
msgid "Preset name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
msgid "Save preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
msgid "Filter presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
msgid "No saved presets"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr ""
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-15 17:43+0000\n"
|
||||
"POT-Creation-Date: 2026-09-06 19:42+0000\n"
|
||||
"PO-Revision-Date: 2025-10-08 16:17+0000\n"
|
||||
"Last-Translator: doody <doodykimo@gmail.com>\n"
|
||||
"Language-Team: Chinese (Traditional Han script) <https://translations."
|
||||
@@ -66,9 +66,9 @@ msgstr "新的餘額"
|
||||
#: apps/transactions/forms.py:61 apps/transactions/forms.py:307
|
||||
#: apps/transactions/forms.py:475 apps/transactions/forms.py:572
|
||||
#: apps/transactions/forms.py:579 apps/transactions/forms.py:763
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:331
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:841
|
||||
#: apps/transactions/models.py:1093
|
||||
#: apps/transactions/forms.py:1007 apps/transactions/models.py:346
|
||||
#: apps/transactions/models.py:658 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:1110
|
||||
#: templates/insights/fragments/category_overview/index.html:86
|
||||
#: templates/insights/fragments/category_overview/index.html:542
|
||||
#: templates/insights/fragments/month_by_month.html:84
|
||||
@@ -79,13 +79,13 @@ msgstr "分類"
|
||||
#: apps/accounts/forms.py:132 apps/dca/forms.py:95 apps/dca/forms.py:103
|
||||
#: apps/export_app/forms.py:43 apps/export_app/forms.py:132
|
||||
#: apps/rules/forms.py:184 apps/rules/forms.py:194 apps/rules/models.py:45
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:73
|
||||
#: apps/rules/models.py:315 apps/transactions/filters.py:79
|
||||
#: apps/transactions/forms.py:69 apps/transactions/forms.py:315
|
||||
#: apps/transactions/forms.py:483 apps/transactions/forms.py:588
|
||||
#: apps/transactions/forms.py:596 apps/transactions/forms.py:756
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:337
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:845
|
||||
#: apps/transactions/models.py:1099 templates/includes/sidebar.html:150
|
||||
#: apps/transactions/forms.py:1000 apps/transactions/models.py:352
|
||||
#: apps/transactions/models.py:660 apps/transactions/models.py:862
|
||||
#: apps/transactions/models.py:1116 templates/includes/sidebar.html:150
|
||||
#: templates/insights/fragments/category_overview/index.html:40
|
||||
#: templates/insights/fragments/month_by_month.html:29
|
||||
#: templates/insights/fragments/month_by_month.html:32
|
||||
@@ -97,8 +97,8 @@ msgstr "標籤"
|
||||
|
||||
#: apps/accounts/models.py:12 apps/accounts/models.py:29 apps/dca/models.py:13
|
||||
#: apps/import_app/models.py:14 apps/rules/models.py:13
|
||||
#: apps/transactions/models.py:223 apps/transactions/models.py:248
|
||||
#: apps/transactions/models.py:272 apps/transactions/models.py:1061
|
||||
#: apps/transactions/models.py:238 apps/transactions/models.py:263
|
||||
#: apps/transactions/models.py:287 apps/transactions/models.py:1078
|
||||
#: apps/users/models.py:572 templates/account_groups/fragments/list.html:22
|
||||
#: templates/accounts/fragments/list.html:22
|
||||
#: templates/categories/fragments/table.html:17
|
||||
@@ -166,9 +166,9 @@ msgstr "封存的帳戶不會在淨資產中被計算或顯示"
|
||||
#: apps/rules/models.py:35 apps/rules/models.py:267
|
||||
#: apps/transactions/forms.py:81 apps/transactions/forms.py:327
|
||||
#: apps/transactions/forms.py:442 apps/transactions/forms.py:748
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:303
|
||||
#: apps/transactions/models.py:601 apps/transactions/models.py:823
|
||||
#: apps/transactions/models.py:1067
|
||||
#: apps/transactions/forms.py:992 apps/transactions/models.py:318
|
||||
#: apps/transactions/models.py:618 apps/transactions/models.py:840
|
||||
#: apps/transactions/models.py:1084
|
||||
#: templates/installment_plans/fragments/table.html:17
|
||||
#: templates/quick_transactions/fragments/list.html:14
|
||||
#: templates/recurring_transactions/fragments/table.html:19
|
||||
@@ -177,7 +177,7 @@ msgid "Account"
|
||||
msgstr "帳戶"
|
||||
|
||||
#: apps/accounts/models.py:76 apps/export_app/forms.py:19
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:57
|
||||
#: apps/export_app/forms.py:129 apps/transactions/filters.py:63
|
||||
#: templates/accounts/fragments/list.html:9
|
||||
#: templates/accounts/pages/index.html:4 templates/includes/sidebar.html:162
|
||||
#: templates/includes/sidebar.html:164
|
||||
@@ -190,68 +190,56 @@ msgstr "帳戶"
|
||||
msgid "Exchange currency cannot be the same as the account's main currency."
|
||||
msgstr "目標貨幣不能跟原始貨幣相同。"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:44
|
||||
#: apps/accounts/views/account_groups.py:50
|
||||
msgid "Account Group added successfully"
|
||||
msgstr "成功新增帳戶組"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:69
|
||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:62
|
||||
#: apps/dca/views.py:145 apps/rules/views.py:118 apps/rules/views.py:228
|
||||
#: apps/transactions/views/categories.py:91
|
||||
#: apps/transactions/views/categories.py:129
|
||||
#: apps/transactions/views/entities.py:91
|
||||
#: apps/transactions/views/entities.py:171 apps/transactions/views/tags.py:91
|
||||
#: apps/transactions/views/tags.py:171
|
||||
msgid "Only the owner can edit this"
|
||||
msgstr "只有擁有者可以編輯這個項目"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:82
|
||||
#: apps/accounts/views/account_groups.py:78
|
||||
msgid "Account Group updated successfully"
|
||||
msgstr "成功更新帳戶組"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:111
|
||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:104
|
||||
#: apps/rules/views.py:185 apps/transactions/views/categories.py:168
|
||||
#: apps/transactions/views/entities.py:130 apps/transactions/views/tags.py:130
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "這個項目不再與你分享"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:114
|
||||
#: apps/accounts/views/account_groups.py:104
|
||||
msgid "Account Group deleted successfully"
|
||||
msgstr "成功刪除帳戶組"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:135
|
||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:128
|
||||
#: apps/rules/views.py:210 apps/transactions/views/categories.py:192
|
||||
#: apps/transactions/views/entities.py:154 apps/transactions/views/tags.py:154
|
||||
#: apps/accounts/views/account_groups.py:109
|
||||
#: apps/accounts/views/accounts.py:137 apps/dca/views.py:106
|
||||
#: apps/rules/views.py:191 apps/transactions/views/categories.py:163
|
||||
#: apps/transactions/views/entities.py:135 apps/transactions/views/tags.py:131
|
||||
msgid "Item no longer shared with you"
|
||||
msgstr "這個項目不再與你分享"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:132
|
||||
#: apps/accounts/views/accounts.py:182 apps/dca/views.py:131
|
||||
#: apps/rules/views.py:217 apps/transactions/views/categories.py:188
|
||||
#: apps/transactions/views/entities.py:160 apps/transactions/views/tags.py:154
|
||||
msgid "Ownership taken successfully"
|
||||
msgstr "成功取得所有權"
|
||||
|
||||
#: apps/accounts/views/account_groups.py:165
|
||||
#: apps/accounts/views/accounts.py:119 apps/dca/views.py:158
|
||||
#: apps/rules/views.py:241 apps/transactions/views/categories.py:142
|
||||
#: apps/transactions/views/entities.py:184 apps/transactions/views/tags.py:184
|
||||
#: apps/accounts/views/account_groups.py:152
|
||||
#: apps/accounts/views/accounts.py:106 apps/dca/views.py:151
|
||||
#: apps/rules/views.py:238 apps/transactions/views/categories.py:130
|
||||
#: apps/transactions/views/entities.py:180 apps/transactions/views/tags.py:174
|
||||
msgid "Configuration saved successfully"
|
||||
msgstr "成功儲存設定"
|
||||
|
||||
#: apps/accounts/views/accounts.py:44
|
||||
#: apps/accounts/views/accounts.py:50
|
||||
msgid "Account added successfully"
|
||||
msgstr "成功新增帳戶"
|
||||
|
||||
#: apps/accounts/views/accounts.py:81
|
||||
#: apps/accounts/views/accounts.py:78
|
||||
msgid "Account updated successfully"
|
||||
msgstr "成功更新帳戶"
|
||||
|
||||
#: apps/accounts/views/accounts.py:148
|
||||
#: apps/accounts/views/accounts.py:132
|
||||
msgid "Account deleted successfully"
|
||||
msgstr "成功刪除帳戶"
|
||||
|
||||
#: apps/accounts/views/accounts.py:165
|
||||
#: apps/accounts/views/accounts.py:158
|
||||
msgid "Account is now tracked"
|
||||
msgstr "帳戶已追蹤"
|
||||
|
||||
#: apps/accounts/views/accounts.py:168
|
||||
#: apps/accounts/views/accounts.py:161
|
||||
msgid "Account is now untracked"
|
||||
msgstr "取消追蹤帳戶"
|
||||
|
||||
@@ -350,6 +338,7 @@ msgstr ""
|
||||
"開:所有使用者都可以看到。只有擁有者可以編輯這個選項。"
|
||||
|
||||
#: apps/common/forms.py:76 apps/users/forms.py:172
|
||||
#: templates/transactions/fragments/filter_actions.html:5
|
||||
msgid "Save"
|
||||
msgstr "儲存"
|
||||
|
||||
@@ -458,10 +447,9 @@ msgstr "移除"
|
||||
|
||||
#: apps/common/widgets/tom_select.py:15
|
||||
#: templates/mini_tools/unit_price_calculator.html:180
|
||||
#: templates/monthly_overview/pages/overview.html:275
|
||||
#: templates/monthly_overview/pages/overview.html:287
|
||||
#: templates/transactions/pages/transactions.html:225
|
||||
#: templates/transactions/pages/transactions.html:237
|
||||
#: templates/monthly_overview/pages/overview.html:284
|
||||
#: templates/transactions/fragments/filter_actions.html:48
|
||||
#: templates/transactions/pages/transactions.html:233
|
||||
msgid "Clear"
|
||||
msgstr "清除"
|
||||
|
||||
@@ -480,7 +468,7 @@ msgstr "後綴"
|
||||
#: apps/currencies/forms.py:66 apps/dca/models.py:158 apps/rules/forms.py:176
|
||||
#: apps/rules/forms.py:190 apps/rules/models.py:38 apps/rules/models.py:279
|
||||
#: apps/transactions/forms.py:85 apps/transactions/forms.py:447
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:313
|
||||
#: apps/transactions/forms.py:600 apps/transactions/models.py:328
|
||||
#: templates/dca/fragments/strategy/details.html:49
|
||||
#: templates/exchange_rates/fragments/table.html:10
|
||||
#: templates/exchange_rates_services/fragments/table.html:11
|
||||
@@ -500,7 +488,7 @@ msgid "Decimal Places"
|
||||
msgstr "小數點後位數"
|
||||
|
||||
#: apps/currencies/models.py:45 apps/export_app/forms.py:25
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:64
|
||||
#: apps/export_app/forms.py:130 apps/transactions/filters.py:70
|
||||
#: templates/currencies/fragments/list.html:9
|
||||
#: templates/currencies/pages/index.html:4 templates/includes/sidebar.html:176
|
||||
#: templates/includes/sidebar.html:178
|
||||
@@ -566,8 +554,8 @@ msgid "Service Type"
|
||||
msgstr "服務類型"
|
||||
|
||||
#: apps/currencies/models.py:119 apps/transactions/filters.py:27
|
||||
#: apps/transactions/models.py:227 apps/transactions/models.py:251
|
||||
#: apps/transactions/models.py:275 templates/categories/fragments/list.html:16
|
||||
#: apps/transactions/models.py:242 apps/transactions/models.py:266
|
||||
#: apps/transactions/models.py:290 templates/categories/fragments/list.html:16
|
||||
#: templates/entities/fragments/list.html:16
|
||||
#: templates/installment_plans/fragments/list.html:16
|
||||
#: templates/recurring_transactions/fragments/list.html:16
|
||||
@@ -748,8 +736,8 @@ msgstr "交易貨幣"
|
||||
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:180
|
||||
#: apps/rules/forms.py:196 apps/rules/models.py:43 apps/rules/models.py:295
|
||||
#: apps/transactions/forms.py:469 apps/transactions/forms.py:616
|
||||
#: apps/transactions/models.py:327 apps/transactions/models.py:650
|
||||
#: apps/transactions/models.py:851 apps/transactions/models.py:1089
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:667
|
||||
#: apps/transactions/models.py:868 apps/transactions/models.py:1106
|
||||
msgid "Notes"
|
||||
msgstr "備註"
|
||||
|
||||
@@ -781,27 +769,27 @@ msgstr "定期定額投入"
|
||||
msgid "DCA Entries"
|
||||
msgstr "定期定額投入"
|
||||
|
||||
#: apps/dca/views.py:38
|
||||
#: apps/dca/views.py:44
|
||||
msgid "DCA Strategy added successfully"
|
||||
msgstr "成功新增定期定額策略"
|
||||
|
||||
#: apps/dca/views.py:75
|
||||
#: apps/dca/views.py:73
|
||||
msgid "DCA Strategy updated successfully"
|
||||
msgstr "成功更新定期定額策略"
|
||||
|
||||
#: apps/dca/views.py:107
|
||||
#: apps/dca/views.py:101
|
||||
msgid "DCA strategy deleted successfully"
|
||||
msgstr "成功刪除定期定額策略"
|
||||
|
||||
#: apps/dca/views.py:237
|
||||
#: apps/dca/views.py:236
|
||||
msgid "Entry added successfully"
|
||||
msgstr "成功新增投入"
|
||||
|
||||
#: apps/dca/views.py:264
|
||||
#: apps/dca/views.py:270
|
||||
msgid "Entry updated successfully"
|
||||
msgstr "成功更新投入"
|
||||
|
||||
#: apps/dca/views.py:290
|
||||
#: apps/dca/views.py:303
|
||||
msgid "Entry deleted successfully"
|
||||
msgstr "成功刪除投入"
|
||||
|
||||
@@ -812,7 +800,7 @@ msgid "Users"
|
||||
msgstr "使用者"
|
||||
|
||||
#: apps/export_app/forms.py:31 apps/export_app/forms.py:134
|
||||
#: apps/transactions/models.py:388 templates/includes/sidebar.html:81
|
||||
#: apps/transactions/models.py:403 templates/includes/sidebar.html:81
|
||||
#: templates/includes/sidebar.html:142
|
||||
#: templates/recurring_transactions/fragments/list_transactions.html:5
|
||||
#: templates/recurring_transactions/fragments/table.html:37
|
||||
@@ -821,7 +809,7 @@ msgid "Transactions"
|
||||
msgstr "交易"
|
||||
|
||||
#: apps/export_app/forms.py:37 apps/export_app/forms.py:131
|
||||
#: apps/transactions/filters.py:68 templates/categories/fragments/list.html:9
|
||||
#: apps/transactions/filters.py:74 templates/categories/fragments/list.html:9
|
||||
#: templates/categories/pages/index.html:4 templates/includes/sidebar.html:144
|
||||
#: templates/insights/fragments/month_by_month.html:18
|
||||
#: templates/insights/fragments/month_by_month.html:21
|
||||
@@ -832,12 +820,12 @@ msgstr "類別"
|
||||
|
||||
#: apps/export_app/forms.py:49 apps/export_app/forms.py:133
|
||||
#: apps/rules/forms.py:185 apps/rules/forms.py:195 apps/rules/models.py:46
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:78
|
||||
#: apps/rules/models.py:307 apps/transactions/filters.py:84
|
||||
#: apps/transactions/forms.py:77 apps/transactions/forms.py:323
|
||||
#: apps/transactions/forms.py:491 apps/transactions/forms.py:771
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:286
|
||||
#: apps/transactions/models.py:342 apps/transactions/models.py:646
|
||||
#: apps/transactions/models.py:848 apps/transactions/models.py:1104
|
||||
#: apps/transactions/forms.py:1015 apps/transactions/models.py:301
|
||||
#: apps/transactions/models.py:357 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:865 apps/transactions/models.py:1121
|
||||
#: templates/entities/fragments/list.html:9
|
||||
#: templates/entities/pages/index.html:4 templates/includes/sidebar.html:156
|
||||
#: templates/insights/fragments/category_overview/index.html:54
|
||||
@@ -849,14 +837,14 @@ msgid "Entities"
|
||||
msgstr "實體"
|
||||
|
||||
#: apps/export_app/forms.py:55 apps/export_app/forms.py:137
|
||||
#: apps/transactions/models.py:888 templates/includes/sidebar.html:110
|
||||
#: apps/transactions/models.py:905 templates/includes/sidebar.html:110
|
||||
#: templates/recurring_transactions/fragments/list.html:9
|
||||
#: templates/recurring_transactions/pages/index.html:4
|
||||
msgid "Recurring Transactions"
|
||||
msgstr "定期扣款交易"
|
||||
|
||||
#: apps/export_app/forms.py:61 apps/export_app/forms.py:135
|
||||
#: apps/transactions/models.py:664 templates/includes/sidebar.html:104
|
||||
#: apps/transactions/models.py:681 templates/includes/sidebar.html:104
|
||||
#: templates/installment_plans/fragments/list.html:9
|
||||
#: templates/installment_plans/pages/index.html:4
|
||||
msgid "Installment Plans"
|
||||
@@ -1008,7 +996,7 @@ msgid "Run deleted successfully"
|
||||
msgstr "成功刪除匯入任務"
|
||||
|
||||
#: apps/insights/forms.py:118 apps/insights/utils/sankey.py:36
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:203
|
||||
#: apps/insights/utils/sankey.py:167 apps/transactions/filters.py:209
|
||||
#: templates/insights/fragments/category_overview/index.html:96
|
||||
#: templates/insights/fragments/category_overview/index.html:407
|
||||
#: templates/insights/fragments/category_overview/index.html:436
|
||||
@@ -1106,15 +1094,15 @@ msgstr "運算子"
|
||||
|
||||
#: apps/rules/forms.py:174 apps/rules/forms.py:188 apps/rules/models.py:36
|
||||
#: apps/rules/models.py:271 apps/transactions/forms.py:433
|
||||
#: apps/transactions/models.py:310 apps/transactions/models.py:606
|
||||
#: apps/transactions/models.py:829 apps/transactions/models.py:1074
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:623
|
||||
#: apps/transactions/models.py:846 apps/transactions/models.py:1091
|
||||
msgid "Type"
|
||||
msgstr "種類"
|
||||
|
||||
#: apps/rules/forms.py:175 apps/rules/forms.py:189 apps/rules/models.py:37
|
||||
#: apps/rules/models.py:275 apps/transactions/filters.py:22
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:312
|
||||
#: apps/transactions/models.py:1076 templates/cotton/transaction/item.html:20
|
||||
#: apps/transactions/forms.py:437 apps/transactions/models.py:327
|
||||
#: apps/transactions/models.py:1093 templates/cotton/transaction/item.html:20
|
||||
#: templates/cotton/transaction/item.html:31
|
||||
#: templates/transactions/widgets/paid_toggle_button.html:10
|
||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:13
|
||||
@@ -1124,15 +1112,15 @@ msgstr "已支付"
|
||||
#: apps/rules/forms.py:177 apps/rules/forms.py:191 apps/rules/models.py:39
|
||||
#: apps/rules/models.py:283 apps/transactions/forms.py:89
|
||||
#: apps/transactions/forms.py:453 apps/transactions/forms.py:603
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:314
|
||||
#: apps/transactions/models.py:624 apps/transactions/models.py:853
|
||||
#: apps/transactions/forms.py:777 apps/transactions/models.py:329
|
||||
#: apps/transactions/models.py:641 apps/transactions/models.py:870
|
||||
msgid "Reference Date"
|
||||
msgstr "起算日"
|
||||
|
||||
#: apps/rules/forms.py:178 apps/rules/forms.py:192 apps/rules/models.py:41
|
||||
#: apps/rules/models.py:287 apps/transactions/forms.py:460
|
||||
#: apps/transactions/models.py:320 apps/transactions/models.py:834
|
||||
#: apps/transactions/models.py:1082
|
||||
#: apps/transactions/models.py:335 apps/transactions/models.py:851
|
||||
#: apps/transactions/models.py:1099
|
||||
#: templates/insights/fragments/sankey.html:102
|
||||
#: templates/installment_plans/fragments/table.html:18
|
||||
#: templates/quick_transactions/fragments/list.html:15
|
||||
@@ -1143,27 +1131,27 @@ msgstr "金額"
|
||||
#: apps/rules/forms.py:179 apps/rules/forms.py:193 apps/rules/models.py:14
|
||||
#: apps/rules/models.py:42 apps/rules/models.py:291
|
||||
#: apps/transactions/forms.py:464 apps/transactions/forms.py:607
|
||||
#: apps/transactions/models.py:325 apps/transactions/models.py:608
|
||||
#: apps/transactions/models.py:837 apps/transactions/models.py:1087
|
||||
#: apps/transactions/models.py:340 apps/transactions/models.py:625
|
||||
#: apps/transactions/models.py:854 apps/transactions/models.py:1104
|
||||
msgid "Description"
|
||||
msgstr "描述"
|
||||
|
||||
#: apps/rules/forms.py:182 apps/rules/forms.py:198 apps/rules/models.py:47
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:364
|
||||
#: apps/transactions/models.py:1109
|
||||
#: apps/rules/models.py:299 apps/transactions/models.py:379
|
||||
#: apps/transactions/models.py:1126
|
||||
msgid "Internal Note"
|
||||
msgstr "內部註記"
|
||||
|
||||
#: apps/rules/forms.py:183 apps/rules/forms.py:199 apps/rules/models.py:48
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:366
|
||||
#: apps/transactions/models.py:1111
|
||||
#: apps/rules/models.py:303 apps/transactions/models.py:381
|
||||
#: apps/transactions/models.py:1128
|
||||
msgid "Internal ID"
|
||||
msgstr "內部ID"
|
||||
|
||||
#: apps/rules/forms.py:186 apps/rules/forms.py:200 apps/rules/models.py:40
|
||||
#: apps/rules/models.py:319 apps/transactions/forms.py:620
|
||||
#: apps/transactions/models.py:224 apps/transactions/models.py:315
|
||||
#: apps/transactions/models.py:1077
|
||||
#: apps/transactions/models.py:239 apps/transactions/models.py:330
|
||||
#: apps/transactions/models.py:1094
|
||||
msgid "Mute"
|
||||
msgstr "靜音"
|
||||
|
||||
@@ -1176,7 +1164,7 @@ msgid "Set Values"
|
||||
msgstr "設定值"
|
||||
|
||||
#: apps/rules/forms.py:407 apps/rules/forms.py:442 apps/rules/forms.py:477
|
||||
#: apps/transactions/models.py:387 apps/transactions/models.py:544
|
||||
#: apps/transactions/models.py:402 apps/transactions/models.py:560
|
||||
msgid "Transaction"
|
||||
msgstr "交易"
|
||||
|
||||
@@ -1270,15 +1258,15 @@ msgstr "決定是否啟用或停用規則執行的通用表達式,結果應該
|
||||
msgid "Update or create transaction action"
|
||||
msgstr "更新或建立交易行為"
|
||||
|
||||
#: apps/rules/views.py:71
|
||||
#: apps/rules/views.py:79
|
||||
msgid "Rule deactivated successfully"
|
||||
msgstr "成功停用規則"
|
||||
|
||||
#: apps/rules/views.py:73
|
||||
#: apps/rules/views.py:81
|
||||
msgid "Rule activated successfully"
|
||||
msgstr "成功啟用規則"
|
||||
|
||||
#: apps/rules/views.py:92
|
||||
#: apps/rules/views.py:100
|
||||
msgid "Rule added successfully"
|
||||
msgstr "成功新增規則"
|
||||
|
||||
@@ -1286,27 +1274,27 @@ msgstr "成功新增規則"
|
||||
msgid "Rule updated successfully"
|
||||
msgstr "成功更新規則"
|
||||
|
||||
#: apps/rules/views.py:188
|
||||
#: apps/rules/views.py:186
|
||||
msgid "Rule deleted successfully"
|
||||
msgstr "成功刪除規則"
|
||||
|
||||
#: apps/rules/views.py:305
|
||||
#: apps/rules/views.py:306
|
||||
msgid "Action updated successfully"
|
||||
msgstr "成功更新行為"
|
||||
|
||||
#: apps/rules/views.py:336
|
||||
#: apps/rules/views.py:341
|
||||
msgid "Action deleted successfully"
|
||||
msgstr "成功刪除行為"
|
||||
|
||||
#: apps/rules/views.py:360
|
||||
#: apps/rules/views.py:367
|
||||
msgid "Update or Create Transaction action added successfully"
|
||||
msgstr "成功新增「更新或建立交易行為」"
|
||||
|
||||
#: apps/rules/views.py:393
|
||||
#: apps/rules/views.py:402
|
||||
msgid "Update or Create Transaction action updated successfully"
|
||||
msgstr "成功更新「更新或建立交易行為」"
|
||||
|
||||
#: apps/rules/views.py:423
|
||||
#: apps/rules/views.py:434
|
||||
msgid "Update or Create Transaction action deleted successfully"
|
||||
msgstr "成功刪除「更新或建立交易行為」"
|
||||
|
||||
@@ -1323,60 +1311,60 @@ msgstr "預期"
|
||||
msgid "Muted"
|
||||
msgstr "已靜音"
|
||||
|
||||
#: apps/transactions/filters.py:45
|
||||
#: apps/transactions/filters.py:51
|
||||
msgid "Content"
|
||||
msgstr "內容"
|
||||
|
||||
#: apps/transactions/filters.py:51
|
||||
#: apps/transactions/filters.py:57
|
||||
msgid "Transaction Type"
|
||||
msgstr "交易種類"
|
||||
|
||||
#: apps/transactions/filters.py:89
|
||||
#: apps/transactions/filters.py:95
|
||||
#, fuzzy
|
||||
#| msgid "Status"
|
||||
msgid "Mute Status"
|
||||
msgstr "狀態"
|
||||
|
||||
#: apps/transactions/filters.py:94
|
||||
#: apps/transactions/filters.py:100
|
||||
msgid "Date from"
|
||||
msgstr "起始日期"
|
||||
|
||||
#: apps/transactions/filters.py:99 apps/transactions/filters.py:109
|
||||
#: apps/transactions/filters.py:105 apps/transactions/filters.py:115
|
||||
msgid "Until"
|
||||
msgstr "直到"
|
||||
|
||||
#: apps/transactions/filters.py:104
|
||||
#: apps/transactions/filters.py:110
|
||||
msgid "Reference date from"
|
||||
msgstr "起算日日期"
|
||||
|
||||
#: apps/transactions/filters.py:114
|
||||
#: apps/transactions/filters.py:120
|
||||
msgid "Amount min"
|
||||
msgstr "最小金額"
|
||||
|
||||
#: apps/transactions/filters.py:119
|
||||
#: apps/transactions/filters.py:125
|
||||
msgid "Amount max"
|
||||
msgstr "最大金額"
|
||||
|
||||
#: apps/transactions/filters.py:202
|
||||
#: apps/transactions/filters.py:208
|
||||
msgid "Categorized"
|
||||
msgstr "已分類"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
msgid "Tagged"
|
||||
msgstr "已標籤"
|
||||
|
||||
#: apps/transactions/filters.py:209
|
||||
#: apps/transactions/filters.py:215
|
||||
#: templates/insights/fragments/category_overview/index.html:189
|
||||
#: templates/insights/fragments/month_by_month.html:121
|
||||
#: templates/insights/fragments/year_by_year.html:75
|
||||
msgid "Untagged"
|
||||
msgstr "未標籤"
|
||||
|
||||
#: apps/transactions/filters.py:215
|
||||
#: apps/transactions/filters.py:221
|
||||
msgid "Any entity"
|
||||
msgstr "任何實體"
|
||||
|
||||
#: apps/transactions/filters.py:216
|
||||
#: apps/transactions/filters.py:222
|
||||
#: templates/insights/fragments/category_overview/index.html:282
|
||||
#: templates/insights/fragments/month_by_month.html:123
|
||||
#: templates/insights/fragments/year_by_year.html:77
|
||||
@@ -1453,42 +1441,42 @@ msgstr "未來的交易"
|
||||
msgid "End date should be after the start date"
|
||||
msgstr "結束日期應該大於起始日期"
|
||||
|
||||
#: apps/transactions/models.py:229
|
||||
#: apps/transactions/models.py:244
|
||||
msgid ""
|
||||
"Deactivated categories won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr "新增交易的時候無法選擇停用的分類"
|
||||
|
||||
#: apps/transactions/models.py:237
|
||||
#: apps/transactions/models.py:252
|
||||
msgid "Transaction Category"
|
||||
msgstr "交易分類"
|
||||
|
||||
#: apps/transactions/models.py:238
|
||||
#: apps/transactions/models.py:253
|
||||
msgid "Transaction Categories"
|
||||
msgstr "交易分類"
|
||||
|
||||
#: apps/transactions/models.py:253
|
||||
#: apps/transactions/models.py:268
|
||||
msgid ""
|
||||
"Deactivated tags won't be able to be selected when creating new transactions"
|
||||
msgstr "新增交易的時候無法選擇停用的標籤"
|
||||
|
||||
#: apps/transactions/models.py:261 apps/transactions/models.py:262
|
||||
#: apps/transactions/models.py:276 apps/transactions/models.py:277
|
||||
msgid "Transaction Tags"
|
||||
msgstr "交易標籤"
|
||||
|
||||
#: apps/transactions/models.py:277
|
||||
#: apps/transactions/models.py:292
|
||||
msgid ""
|
||||
"Deactivated entities won't be able to be selected when creating new "
|
||||
"transactions"
|
||||
msgstr "新增交易的時候無法選擇停用的實體"
|
||||
|
||||
#: apps/transactions/models.py:285
|
||||
#: apps/transactions/models.py:300
|
||||
#: templates/insights/fragments/month_by_month.html:88
|
||||
#: templates/insights/fragments/year_by_year.html:56
|
||||
msgid "Entity"
|
||||
msgstr "實體"
|
||||
|
||||
#: apps/transactions/models.py:297 apps/transactions/models.py:1054
|
||||
#: apps/transactions/models.py:312 apps/transactions/models.py:1071
|
||||
#: templates/calendar_view/fragments/list.html:42
|
||||
#: templates/calendar_view/fragments/list.html:44
|
||||
#: templates/calendar_view/fragments/list.html:52
|
||||
@@ -1500,7 +1488,7 @@ msgstr "實體"
|
||||
msgid "Income"
|
||||
msgstr "收入"
|
||||
|
||||
#: apps/transactions/models.py:298 apps/transactions/models.py:1055
|
||||
#: apps/transactions/models.py:313 apps/transactions/models.py:1072
|
||||
#: templates/calendar_view/fragments/list.html:46
|
||||
#: templates/calendar_view/fragments/list.html:48
|
||||
#: templates/calendar_view/fragments/list.html:56
|
||||
@@ -1511,165 +1499,165 @@ msgstr "收入"
|
||||
msgid "Expense"
|
||||
msgstr "支出"
|
||||
|
||||
#: apps/transactions/models.py:353 apps/transactions/models.py:663
|
||||
#: apps/transactions/models.py:368 apps/transactions/models.py:680
|
||||
msgid "Installment Plan"
|
||||
msgstr "分期付款計劃"
|
||||
|
||||
#: apps/transactions/models.py:362 apps/transactions/models.py:887
|
||||
#: apps/transactions/models.py:377 apps/transactions/models.py:904
|
||||
msgid "Recurring Transaction"
|
||||
msgstr "定期扣款交易"
|
||||
|
||||
#: apps/transactions/models.py:370
|
||||
#: apps/transactions/models.py:385
|
||||
msgid "Deleted"
|
||||
msgstr "已刪除"
|
||||
|
||||
#: apps/transactions/models.py:375
|
||||
#: apps/transactions/models.py:390
|
||||
msgid "Deleted At"
|
||||
msgstr "刪除時間"
|
||||
|
||||
#: apps/transactions/models.py:489 templates/tags/fragments/table.html:69
|
||||
#: apps/transactions/models.py:504 templates/tags/fragments/table.html:69
|
||||
msgid "No tags"
|
||||
msgstr "沒有標籤"
|
||||
|
||||
#: apps/transactions/models.py:491
|
||||
#: apps/transactions/models.py:506
|
||||
msgid "No category"
|
||||
msgstr "沒有分類"
|
||||
|
||||
#: apps/transactions/models.py:493
|
||||
#: apps/transactions/models.py:508
|
||||
msgid "No description"
|
||||
msgstr "沒有描述"
|
||||
|
||||
#: apps/transactions/models.py:549
|
||||
#: apps/transactions/models.py:565
|
||||
#, fuzzy
|
||||
#| msgid "ZIP File"
|
||||
msgid "File"
|
||||
msgstr "ZIP檔"
|
||||
|
||||
#: apps/transactions/models.py:551
|
||||
#: apps/transactions/models.py:567
|
||||
msgid "Original Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:553
|
||||
#: apps/transactions/models.py:569
|
||||
#, fuzzy
|
||||
#| msgid "Content"
|
||||
msgid "Content Type"
|
||||
msgstr "內容"
|
||||
|
||||
#: apps/transactions/models.py:555
|
||||
#: apps/transactions/models.py:571
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:560
|
||||
#: apps/transactions/models.py:576
|
||||
msgid "Uploaded By"
|
||||
msgstr ""
|
||||
|
||||
#: apps/transactions/models.py:565
|
||||
#: apps/transactions/models.py:581
|
||||
#, fuzzy
|
||||
#| msgid "Transactions on"
|
||||
msgid "Transaction Attachment"
|
||||
msgstr "交易時間"
|
||||
|
||||
#: apps/transactions/models.py:566
|
||||
#: apps/transactions/models.py:582
|
||||
#, fuzzy
|
||||
#| msgid "Transaction Tags"
|
||||
msgid "Transaction Attachments"
|
||||
msgstr "交易標籤"
|
||||
|
||||
#: apps/transactions/models.py:595 templates/includes/sidebar.html:57
|
||||
#: apps/transactions/models.py:612 templates/includes/sidebar.html:57
|
||||
msgid "Yearly"
|
||||
msgstr "年"
|
||||
|
||||
#: apps/transactions/models.py:596 apps/users/models.py:469
|
||||
#: apps/transactions/models.py:613 apps/users/models.py:469
|
||||
#: templates/includes/sidebar.html:51
|
||||
msgid "Monthly"
|
||||
msgstr "月"
|
||||
|
||||
#: apps/transactions/models.py:597
|
||||
#: apps/transactions/models.py:614
|
||||
msgid "Weekly"
|
||||
msgstr "週"
|
||||
|
||||
#: apps/transactions/models.py:598
|
||||
#: apps/transactions/models.py:615
|
||||
msgid "Daily"
|
||||
msgstr "日"
|
||||
|
||||
#: apps/transactions/models.py:611
|
||||
#: apps/transactions/models.py:628
|
||||
msgid "Number of Installments"
|
||||
msgstr "期數"
|
||||
|
||||
#: apps/transactions/models.py:616
|
||||
#: apps/transactions/models.py:633
|
||||
msgid "Installment Start"
|
||||
msgstr "分期付款起始日"
|
||||
|
||||
#: apps/transactions/models.py:617
|
||||
#: apps/transactions/models.py:634
|
||||
msgid "The installment number to start counting from"
|
||||
msgstr "開始計算的期數"
|
||||
|
||||
#: apps/transactions/models.py:622 apps/transactions/models.py:857
|
||||
#: apps/transactions/models.py:639 apps/transactions/models.py:874
|
||||
msgid "Start Date"
|
||||
msgstr "起始日期"
|
||||
|
||||
#: apps/transactions/models.py:626 apps/transactions/models.py:858
|
||||
#: apps/transactions/models.py:643 apps/transactions/models.py:875
|
||||
msgid "End Date"
|
||||
msgstr "結束日期"
|
||||
|
||||
#: apps/transactions/models.py:631
|
||||
#: apps/transactions/models.py:648
|
||||
msgid "Recurrence"
|
||||
msgstr "頻率"
|
||||
|
||||
#: apps/transactions/models.py:634
|
||||
#: apps/transactions/models.py:651
|
||||
msgid "Installment Amount"
|
||||
msgstr "分期付款金額"
|
||||
|
||||
#: apps/transactions/models.py:653 apps/transactions/models.py:877
|
||||
#: apps/transactions/models.py:670 apps/transactions/models.py:894
|
||||
msgid "Add description to transactions"
|
||||
msgstr "為交易增加描述"
|
||||
|
||||
#: apps/transactions/models.py:656 apps/transactions/models.py:880
|
||||
#: apps/transactions/models.py:673 apps/transactions/models.py:897
|
||||
msgid "Add notes to transactions"
|
||||
msgstr "為交易新增註記"
|
||||
|
||||
#: apps/transactions/models.py:816
|
||||
#: apps/transactions/models.py:833
|
||||
msgid "day(s)"
|
||||
msgstr "天"
|
||||
|
||||
#: apps/transactions/models.py:817
|
||||
#: apps/transactions/models.py:834
|
||||
msgid "week(s)"
|
||||
msgstr "週"
|
||||
|
||||
#: apps/transactions/models.py:818
|
||||
#: apps/transactions/models.py:835
|
||||
msgid "month(s)"
|
||||
msgstr "月"
|
||||
|
||||
#: apps/transactions/models.py:819
|
||||
#: apps/transactions/models.py:836
|
||||
msgid "year(s)"
|
||||
msgstr "年"
|
||||
|
||||
#: apps/transactions/models.py:821
|
||||
#: apps/transactions/models.py:838
|
||||
#: templates/recurring_transactions/fragments/list.html:18
|
||||
msgid "Paused"
|
||||
msgstr "已暫停"
|
||||
|
||||
#: apps/transactions/models.py:860
|
||||
#: apps/transactions/models.py:877
|
||||
msgid "Recurrence Type"
|
||||
msgstr "頻率"
|
||||
|
||||
#: apps/transactions/models.py:863
|
||||
#: apps/transactions/models.py:880
|
||||
msgid "Recurrence Interval"
|
||||
msgstr "頻率間隔"
|
||||
|
||||
#: apps/transactions/models.py:866
|
||||
#: apps/transactions/models.py:883
|
||||
msgid "Keep at most"
|
||||
msgstr "持續最多"
|
||||
|
||||
#: apps/transactions/models.py:870
|
||||
#: apps/transactions/models.py:887
|
||||
msgid "Last Generated Date"
|
||||
msgstr "最後產生的日期"
|
||||
|
||||
#: apps/transactions/models.py:873
|
||||
#: apps/transactions/models.py:890
|
||||
msgid "Last Generated Reference Date"
|
||||
msgstr "最後產生的起算日"
|
||||
|
||||
#: apps/transactions/models.py:1121
|
||||
#: apps/transactions/models.py:1138
|
||||
#: apps/transactions/views/quick_transactions.py:178
|
||||
#: apps/transactions/views/quick_transactions.py:187
|
||||
#: apps/transactions/views/quick_transactions.py:189
|
||||
@@ -1678,7 +1666,7 @@ msgstr "最後產生的起算日"
|
||||
msgid "Quick Transaction"
|
||||
msgstr "快速交易"
|
||||
|
||||
#: apps/transactions/models.py:1122 templates/includes/sidebar.html:98
|
||||
#: apps/transactions/models.py:1139 templates/includes/sidebar.html:98
|
||||
#: templates/quick_transactions/pages/index.html:5
|
||||
#: templates/quick_transactions/pages/index.html:15
|
||||
msgid "Quick Transactions"
|
||||
@@ -1724,27 +1712,27 @@ msgid "%(count)s transaction duplicated successfully"
|
||||
msgid_plural "%(count)s transactions duplicated successfully"
|
||||
msgstr[0] "成功複製%(count)s筆交易"
|
||||
|
||||
#: apps/transactions/views/categories.py:66
|
||||
#: apps/transactions/views/categories.py:72
|
||||
msgid "Category added successfully"
|
||||
msgstr "成功新增分類"
|
||||
|
||||
#: apps/transactions/views/categories.py:104
|
||||
#: apps/transactions/views/categories.py:102
|
||||
msgid "Category updated successfully"
|
||||
msgstr "成功更新分類"
|
||||
|
||||
#: apps/transactions/views/categories.py:171
|
||||
#: apps/transactions/views/categories.py:158
|
||||
msgid "Category deleted successfully"
|
||||
msgstr "成功刪除分類"
|
||||
|
||||
#: apps/transactions/views/entities.py:66
|
||||
#: apps/transactions/views/entities.py:72
|
||||
msgid "Entity added successfully"
|
||||
msgstr "成功新增實體"
|
||||
|
||||
#: apps/transactions/views/entities.py:104
|
||||
#: apps/transactions/views/entities.py:102
|
||||
msgid "Entity updated successfully"
|
||||
msgstr "成功更新實體"
|
||||
|
||||
#: apps/transactions/views/entities.py:133
|
||||
#: apps/transactions/views/entities.py:130
|
||||
msgid "Entity deleted successfully"
|
||||
msgstr "成功刪除實體"
|
||||
|
||||
@@ -1807,15 +1795,15 @@ msgstr "成功完成定期扣款"
|
||||
msgid "Recurring Transaction deleted successfully"
|
||||
msgstr "成功刪除定期扣款"
|
||||
|
||||
#: apps/transactions/views/tags.py:66
|
||||
#: apps/transactions/views/tags.py:72
|
||||
msgid "Tag added successfully"
|
||||
msgstr "成功新增標籤"
|
||||
|
||||
#: apps/transactions/views/tags.py:104
|
||||
#: apps/transactions/views/tags.py:100
|
||||
msgid "Tag updated successfully"
|
||||
msgstr "成功更新標籤"
|
||||
|
||||
#: apps/transactions/views/tags.py:133
|
||||
#: apps/transactions/views/tags.py:126
|
||||
msgid "Tag deleted successfully"
|
||||
msgstr "成功刪除標籤"
|
||||
|
||||
@@ -1900,9 +1888,9 @@ msgstr "這個帳號已經被停用"
|
||||
|
||||
#: apps/users/forms.py:68 apps/users/forms.py:81 apps/users/forms.py:103
|
||||
#: templates/monthly_overview/pages/overview.html:98
|
||||
#: templates/monthly_overview/pages/overview.html:245
|
||||
#: templates/monthly_overview/pages/overview.html:247
|
||||
#: templates/transactions/pages/transactions.html:47
|
||||
#: templates/transactions/pages/transactions.html:195
|
||||
#: templates/transactions/pages/transactions.html:196
|
||||
msgid "Default"
|
||||
msgstr "預設"
|
||||
|
||||
@@ -2253,6 +2241,7 @@ msgstr "分享"
|
||||
#: templates/rules/fragments/transaction_rule/view.html:92
|
||||
#: templates/rules/fragments/transaction_rule/view.html:133
|
||||
#: templates/tags/fragments/table.html:51
|
||||
#: templates/transactions/fragments/filter_presets.html:28
|
||||
#: templates/users/fragments/api_tokens.html:93
|
||||
msgid "Delete"
|
||||
msgstr "刪除"
|
||||
@@ -2744,19 +2733,19 @@ msgstr "當前價格"
|
||||
msgid "Amount Bought"
|
||||
msgstr "購買數量"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:384
|
||||
#: templates/dca/fragments/strategy/details.html:409
|
||||
msgid "Entry Price vs Current Price"
|
||||
msgstr "投入金額對比當前金額"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:398
|
||||
#: templates/dca/fragments/strategy/details.html:423
|
||||
msgid "Days Between Investments"
|
||||
msgstr "兩次投資之間的天數"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:444
|
||||
#: templates/dca/fragments/strategy/details.html:469
|
||||
msgid "Investment Frequency"
|
||||
msgstr "投資頻率"
|
||||
|
||||
#: templates/dca/fragments/strategy/details.html:446
|
||||
#: templates/dca/fragments/strategy/details.html:471
|
||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||
msgstr "藍線越直代表您定期定額的策略越一致。"
|
||||
|
||||
@@ -2992,6 +2981,7 @@ msgid "Reload"
|
||||
msgstr ""
|
||||
|
||||
#: templates/includes/scripts/hyperscript/swal.html:13
|
||||
#: templates/transactions/fragments/filter_actions.html:4
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
@@ -3424,16 +3414,16 @@ msgid "Summary"
|
||||
msgstr "總結"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:99
|
||||
#: templates/monthly_overview/pages/overview.html:254
|
||||
#: templates/monthly_overview/pages/overview.html:256
|
||||
#: templates/transactions/pages/transactions.html:48
|
||||
#: templates/transactions/pages/transactions.html:204
|
||||
#: templates/transactions/pages/transactions.html:205
|
||||
msgid "Oldest first"
|
||||
msgstr "最舊的優先"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:100
|
||||
#: templates/monthly_overview/pages/overview.html:263
|
||||
#: templates/monthly_overview/pages/overview.html:265
|
||||
#: templates/transactions/pages/transactions.html:49
|
||||
#: templates/transactions/pages/transactions.html:213
|
||||
#: templates/transactions/pages/transactions.html:214
|
||||
msgid "Newest first"
|
||||
msgstr "新的優先"
|
||||
|
||||
@@ -3442,8 +3432,8 @@ msgstr "新的優先"
|
||||
msgid "Filter transactions"
|
||||
msgstr "過濾交易"
|
||||
|
||||
#: templates/monthly_overview/pages/overview.html:235
|
||||
#: templates/transactions/pages/transactions.html:185
|
||||
#: templates/monthly_overview/pages/overview.html:237
|
||||
#: templates/transactions/pages/transactions.html:186
|
||||
msgid "Order by"
|
||||
msgstr "排序方式"
|
||||
|
||||
@@ -3549,15 +3539,21 @@ msgstr "沒有定期扣款交易"
|
||||
msgid "View"
|
||||
msgstr "檢視"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Deactivate"
|
||||
msgstr "停用"
|
||||
|
||||
#: templates/rules/fragments/list.html:70
|
||||
#: templates/rules/fragments/list.html:71
|
||||
msgid "Activate"
|
||||
msgstr "啟用"
|
||||
|
||||
#: templates/rules/fragments/list.html:89
|
||||
#: templates/rules/fragments/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Only the owner can edit this"
|
||||
msgid "Only the owner can change this"
|
||||
msgstr "只有擁有者可以編輯這個項目"
|
||||
|
||||
#: templates/rules/fragments/list.html:96
|
||||
msgid "No rules"
|
||||
msgstr "沒有規則"
|
||||
|
||||
@@ -3706,6 +3702,48 @@ msgstr "編輯"
|
||||
msgid "transactions"
|
||||
msgstr "交易"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:2
|
||||
msgid "Save filter preset"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:3
|
||||
#, fuzzy
|
||||
#| msgid "File name"
|
||||
msgid "Preset name"
|
||||
msgstr "檔案名稱"
|
||||
|
||||
#: templates/transactions/fragments/filter_actions.html:40
|
||||
#, fuzzy
|
||||
#| msgid "From preset"
|
||||
msgid "Save preset"
|
||||
msgstr "從設定組"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:6
|
||||
#, fuzzy
|
||||
#| msgid "From preset"
|
||||
msgid "Filter presets"
|
||||
msgstr "從設定組"
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:21
|
||||
#, python-format
|
||||
msgid "Delete %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:26
|
||||
msgid "Delete filter preset?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:27
|
||||
#, python-format
|
||||
msgid "Delete “%(name)s”?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/transactions/fragments/filter_presets.html:34
|
||||
#, fuzzy
|
||||
#| msgid "No presets yet"
|
||||
msgid "No saved presets"
|
||||
msgstr "尚未設定任何設定組"
|
||||
|
||||
#: templates/transactions/fragments/list_all.html:58
|
||||
msgid "No transactions found"
|
||||
msgstr "沒有發現交易"
|
||||
|
||||
@@ -64,14 +64,21 @@
|
||||
</div>
|
||||
</td>
|
||||
<td class="table-col-auto">
|
||||
<a class="no-underline cursor-pointer"
|
||||
role="button"
|
||||
data-tippy-content="
|
||||
{% if rule.active %}{% translate "Deactivate" %}{% else %}{% translate "Activate" %}{% endif %}"
|
||||
hx-get="{% url 'transaction_rule_toggle_activity' transaction_rule_id=rule.id %}">
|
||||
{% if rule.active %}<i class="fa-solid fa-toggle-on text-success"></i>{% else %}
|
||||
<i class="fa-solid fa-toggle-off text-error"></i>{% endif %}
|
||||
</a>
|
||||
{% if not rule.owner or user == rule.owner %}
|
||||
<a class="no-underline cursor-pointer"
|
||||
role="button"
|
||||
data-tippy-content="
|
||||
{% if rule.active %}{% translate "Deactivate" %}{% else %}{% translate "Activate" %}{% endif %}"
|
||||
hx-get="{% url 'transaction_rule_toggle_activity' transaction_rule_id=rule.id %}">
|
||||
{% if rule.active %}<i class="fa-solid fa-toggle-on text-success"></i>{% else %}
|
||||
<i class="fa-solid fa-toggle-off text-error"></i>{% endif %}
|
||||
</a>
|
||||
{% else %}
|
||||
<span data-tippy-content="{% translate "Only the owner can change this" %}">
|
||||
{% if rule.active %}<i class="fa-solid fa-toggle-on text-success opacity-50"></i>{% else %}
|
||||
<i class="fa-solid fa-toggle-off text-error opacity-50"></i>{% endif %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="table-col-auto text-center">
|
||||
<div>{{ rule.order }}</div>
|
||||
|
||||
Generated
+23
-23
@@ -1157,9 +1157,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/baseline-browser-mapping": {
|
||||
"version": "2.10.34",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.34.tgz",
|
||||
"integrity": "sha512-IMDedajPifLnHNY0X9n8hKxRTQ6/eTHwr5bDo04WnuqxyKw6LYtQywCuuqPZwhl3aBXMvQpJov42GLCwRRdQzw==",
|
||||
"version": "2.11.20",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.20.tgz",
|
||||
"integrity": "sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==",
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
"baseline-browser-mapping": "dist/cli.cjs"
|
||||
@@ -1188,9 +1188,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.28.2",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz",
|
||||
"integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==",
|
||||
"version": "4.28.8",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz",
|
||||
"integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@@ -1207,11 +1207,11 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"baseline-browser-mapping": "^2.10.12",
|
||||
"caniuse-lite": "^1.0.30001782",
|
||||
"electron-to-chromium": "^1.5.328",
|
||||
"node-releases": "^2.0.36",
|
||||
"update-browserslist-db": "^1.2.3"
|
||||
"baseline-browser-mapping": "^2.11.12",
|
||||
"caniuse-lite": "^1.0.30001809",
|
||||
"electron-to-chromium": "^1.5.402",
|
||||
"node-releases": "^2.0.53",
|
||||
"update-browserslist-db": "^1.3.0"
|
||||
},
|
||||
"bin": {
|
||||
"browserslist": "cli.js"
|
||||
@@ -1221,9 +1221,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001797",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001797.tgz",
|
||||
"integrity": "sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w==",
|
||||
"version": "1.0.30001810",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz",
|
||||
"integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@@ -1339,9 +1339,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.5.368",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.368.tgz",
|
||||
"integrity": "sha512-7RckJJK4uESJF9PxvfMWd3TGqIiieUTG4HxnKaKuIpGbcr+r2ZEB3g2gAhCP3Fqm42vJSzLfgab9eva/C4/XVw==",
|
||||
"version": "1.5.420",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.420.tgz",
|
||||
"integrity": "sha512-2yD6XreGusOfNV+dUcvipJEXc3n/n7fgr7996aszTG+YY5E4mqM4tOq/3uhP129cazL9YHbVWSpc79ePotWtPA==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/enhanced-resolve": {
|
||||
@@ -1812,9 +1812,9 @@
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/node-releases": {
|
||||
"version": "2.0.47",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz",
|
||||
"integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==",
|
||||
"version": "2.0.54",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.54.tgz",
|
||||
"integrity": "sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
@@ -2069,9 +2069,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
|
||||
"integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.2.tgz",
|
||||
"integrity": "sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
|
||||
@@ -580,14 +580,14 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "djangorestframework"
|
||||
version = "3.17.1"
|
||||
version = "3.17.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "django" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/ca/d7/c016e69fac19ff8afdc89db9d31d9ae43ae031e4d1993b20aca179b8301a/djangorestframework-3.17.1.tar.gz", hash = "sha256:a6def5f447fe78ff853bff1d47a3c59bf38f5434b031780b351b0c73a62db1a5", size = 905742, upload-time = "2026-03-24T16:58:33.705Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/3b/35/c96055e700fdff25da3a7b7756cfd1d4dc54f38b9bc6d6c5e19e3a0fdc20/djangorestframework-3.17.2.tar.gz", hash = "sha256:89ed713b6dc83e1539f214b7d10808ae19bb8511004beba886225da6d5c9dafa", size = 906683, upload-time = "2026-08-05T07:47:22.5Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/5a/e1/2c516bdc83652b1a60c6119366ac2c0607b479ed05cd6093f916ca8928f8/djangorestframework-3.17.1-py3-none-any.whl", hash = "sha256:c3c74dd3e83a5a3efc37b3c18d92bd6f86a6791c7b7d4dff62bb068500e76457", size = 898844, upload-time = "2026-03-24T16:58:31.845Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/a2/46/c14108e400b208c394325eb63fbae06c81341b6447fa1a6f9da718b17fe7/djangorestframework-3.17.2-py3-none-any.whl", hash = "sha256:cb0546a7415d5b46c04e0f4fe0a54b2109f4fdd5e83ca773c8c6183a6493d042", size = 899109, upload-time = "2026-08-05T07:47:20.853Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -709,11 +709,11 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "mistune"
|
||||
version = "3.3.0"
|
||||
version = "3.3.3"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/84/9c/1939635275ec7258e2b43b00dafabc36d89ad11aa7838d375dc1b0e561cb/mistune-3.3.0.tar.gz", hash = "sha256:3074ec4c61b384abe725128e4dcbb483f5a09cc4632012505cdee655d3a113b9", size = 110936, upload-time = "2026-06-21T13:11:39.458Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/7b/a5/2dab368d6950e6808904dec98f54c7e726ee7be4a0c6afe00e6e011bd52d/mistune-3.3.3.tar.gz", hash = "sha256:c4c6c0c840b8637a2e9b8b6d607eb7c8f00888bf14c754409bcd339e848c2477", size = 115363, upload-time = "2026-07-09T06:18:05.268Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/b7/76/b90f9d48d43fbd80a79a20d3eab2e5109859c7a56dc663b23187385898f3/mistune-3.3.0-py3-none-any.whl", hash = "sha256:a758e578acda49d8195f9a860b132dae2cf7bf409381393b1c4e6e489a65397b", size = 61250, upload-time = "2026-06-21T13:11:37.938Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/89/70/b1e4737b84163db5bb1dfde6f216dbfbf32783330a9989c965e121172830/mistune-3.3.3-py3-none-any.whl", hash = "sha256:99de1585e42dcbd826faa9e11a202727a5e202e4e4722a4c69ac1ff615793dd7", size = 63569, upload-time = "2026-07-09T06:18:03.839Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1532,11 +1532,11 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "sqlparse"
|
||||
version = "0.5.5"
|
||||
version = "0.6.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/90/76/437d71068094df0726366574cf3432a4ed754217b436eb7429415cf2d480/sqlparse-0.5.5.tar.gz", hash = "sha256:e20d4a9b0b8585fdf63b10d30066c7c94c5d7a7ec47c889a2d83a3caa93ff28e", size = 120815, upload-time = "2025-12-19T07:17:45.073Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/5f/d3/3f06a1006f2261d1342aefb3c71eed02f5d4ca5bdbecd86ebc12ad38306e/sqlparse-0.6.0.tar.gz", hash = "sha256:113c35c75365ab9cc9c7231d68c6428fb11c085fc8e9eb1ad659b7ddbf6cd2b9", size = 178477, upload-time = "2026-08-13T19:16:06.396Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/49/4b/359f28a903c13438ef59ebeee215fb25da53066db67b305c125f1c6d2a25/sqlparse-0.5.5-py3-none-any.whl", hash = "sha256:12a08b3bf3eec877c519589833aed092e2444e68240a3577e8e26148acc7b1ba", size = 46138, upload-time = "2025-12-19T07:17:46.573Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/d9/50/f00935da0ec7cbf325f8dc4f772ae46fbc7b672dd62876e73f0a94adda57/sqlparse-0.6.0-py3-none-any.whl", hash = "sha256:b861c0288ce2fa56209a9a6412d2e066ac664b3873b89c26c9d8415e8e32996f", size = 50070, upload-time = "2026-08-13T19:16:04.062Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
Reference in New Issue
Block a user