mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-05-17 05:07:12 +02:00
Compare commits
27 Commits
internal_p
...
add-mcp-se
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9acf1dd8f | ||
|
|
63898aeef0 | ||
|
|
4fdf00d098 | ||
|
|
025cc585d5 | ||
|
|
17018d87cd | ||
|
|
1e5f4f6583 | ||
|
|
a99851cf9b | ||
|
|
9fb1ad4861 | ||
|
|
66c3abfe37 | ||
|
|
8ca64f5820 | ||
|
|
e743821570 | ||
|
|
5c698d8735 | ||
|
|
3e5aa90df0 | ||
|
|
b2add14238 | ||
|
|
a052c00aa8 | ||
|
|
7f343708e0 | ||
|
|
22e95c7f4a | ||
|
|
7645153f77 | ||
|
|
1abfed9abf | ||
|
|
eea0ab009d | ||
|
|
29446def22 | ||
|
|
9dce5e9efe | ||
|
|
695e2cb322 | ||
|
|
b135ec3b15 | ||
|
|
bb3cc5da6c | ||
|
|
ca7fe24a8a | ||
|
|
483ba74010 |
@@ -13,6 +13,7 @@
|
|||||||
<a href="#key-features">Features</a> •
|
<a href="#key-features">Features</a> •
|
||||||
<a href="#how-to-use">Usage</a> •
|
<a href="#how-to-use">Usage</a> •
|
||||||
<a href="#how-it-works">How</a> •
|
<a href="#how-it-works">How</a> •
|
||||||
|
<a href="#mcp-server">MCP Server</a> •
|
||||||
<a href="#help-us-translate-wygiwyh">Translate</a> •
|
<a href="#help-us-translate-wygiwyh">Translate</a> •
|
||||||
<a href="#caveats-and-warnings">Caveats and Warnings</a> •
|
<a href="#caveats-and-warnings">Caveats and Warnings</a> •
|
||||||
<a href="#built-with">Built with</a>
|
<a href="#built-with">Built with</a>
|
||||||
@@ -182,6 +183,10 @@ Check out our [Wiki](https://github.com/eitchtee/WYGIWYH/wiki) for more informat
|
|||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> Login with your github account
|
> Login with your github account
|
||||||
|
|
||||||
|
# MCP Server
|
||||||
|
|
||||||
|
[IZIme07](https://github.com/IZIme07) has kindly created an MCP Server for WYGIWYH that you can self-host. [Check it out at MCP-WYGIWYH](https://github.com/ReNewator/MCP-WYGIWYH)!
|
||||||
|
|
||||||
# Caveats and Warnings
|
# Caveats and Warnings
|
||||||
|
|
||||||
- I'm not an accountant, some terms and even calculations might be wrong. Make sure to open an issue if you see anything that could be improved.
|
- I'm not an accountant, some terms and even calculations might be wrong. Make sure to open an issue if you see anything that could be improved.
|
||||||
|
|||||||
@@ -182,3 +182,29 @@ def calculate_historical_account_balance(queryset):
|
|||||||
historical_account_balance[date_filter(end_date, "b Y")] = month_data
|
historical_account_balance[date_filter(end_date, "b Y")] = month_data
|
||||||
|
|
||||||
return historical_account_balance
|
return historical_account_balance
|
||||||
|
|
||||||
|
|
||||||
|
def calculate_monthly_net_worth_difference(historical_net_worth):
|
||||||
|
diff_dict = OrderedDict()
|
||||||
|
if not historical_net_worth:
|
||||||
|
return diff_dict
|
||||||
|
|
||||||
|
# Get all currencies
|
||||||
|
currencies = set()
|
||||||
|
for data in historical_net_worth.values():
|
||||||
|
currencies.update(data.keys())
|
||||||
|
|
||||||
|
# Initialize prev_values for all currencies
|
||||||
|
prev_values = {currency: Decimal("0.00") for currency in currencies}
|
||||||
|
|
||||||
|
for month, values in historical_net_worth.items():
|
||||||
|
diff_values = {}
|
||||||
|
for currency in sorted(list(currencies)):
|
||||||
|
current_val = values.get(currency, Decimal("0.00"))
|
||||||
|
prev_val = prev_values.get(currency, Decimal("0.00"))
|
||||||
|
diff_values[currency] = current_val - prev_val
|
||||||
|
|
||||||
|
diff_dict[month] = diff_values
|
||||||
|
prev_values = values.copy()
|
||||||
|
|
||||||
|
return diff_dict
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ from django.views.decorators.http import require_http_methods
|
|||||||
from apps.net_worth.utils.calculate_net_worth import (
|
from apps.net_worth.utils.calculate_net_worth import (
|
||||||
calculate_historical_currency_net_worth,
|
calculate_historical_currency_net_worth,
|
||||||
calculate_historical_account_balance,
|
calculate_historical_account_balance,
|
||||||
|
calculate_monthly_net_worth_difference,
|
||||||
)
|
)
|
||||||
from apps.transactions.models import Transaction
|
from apps.transactions.models import Transaction
|
||||||
from apps.transactions.utils.calculations import (
|
from apps.transactions.utils.calculations import (
|
||||||
@@ -96,6 +97,38 @@ def net_worth(request):
|
|||||||
|
|
||||||
chart_data_currency_json = json.dumps(chart_data_currency, cls=DjangoJSONEncoder)
|
chart_data_currency_json = json.dumps(chart_data_currency, cls=DjangoJSONEncoder)
|
||||||
|
|
||||||
|
monthly_difference_data = calculate_monthly_net_worth_difference(
|
||||||
|
historical_net_worth=historical_currency_net_worth
|
||||||
|
)
|
||||||
|
|
||||||
|
diff_labels = (
|
||||||
|
list(monthly_difference_data.keys()) if monthly_difference_data else []
|
||||||
|
)
|
||||||
|
diff_currencies = (
|
||||||
|
list(monthly_difference_data[diff_labels[0]].keys())
|
||||||
|
if monthly_difference_data and diff_labels
|
||||||
|
else []
|
||||||
|
)
|
||||||
|
|
||||||
|
diff_datasets = []
|
||||||
|
for i, currency in enumerate(diff_currencies):
|
||||||
|
data = [
|
||||||
|
float(month_data.get(currency, 0))
|
||||||
|
for month_data in monthly_difference_data.values()
|
||||||
|
]
|
||||||
|
diff_datasets.append(
|
||||||
|
{
|
||||||
|
"label": currency,
|
||||||
|
"data": data,
|
||||||
|
"borderWidth": 3,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
chart_data_monthly_difference = {"labels": diff_labels, "datasets": diff_datasets}
|
||||||
|
chart_data_monthly_difference_json = json.dumps(
|
||||||
|
chart_data_monthly_difference, cls=DjangoJSONEncoder
|
||||||
|
)
|
||||||
|
|
||||||
historical_account_balance = calculate_historical_account_balance(
|
historical_account_balance = calculate_historical_account_balance(
|
||||||
queryset=transactions_account_queryset
|
queryset=transactions_account_queryset
|
||||||
)
|
)
|
||||||
@@ -140,6 +173,7 @@ def net_worth(request):
|
|||||||
"chart_data_accounts_json": chart_data_accounts_json,
|
"chart_data_accounts_json": chart_data_accounts_json,
|
||||||
"accounts": accounts,
|
"accounts": accounts,
|
||||||
"type": view_type,
|
"type": view_type,
|
||||||
|
"chart_data_monthly_difference_json": chart_data_monthly_difference_json,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
"POT-Creation-Date: 2025-09-20 14:08+0000\n"
|
||||||
"PO-Revision-Date: 2025-07-22 06:17+0000\n"
|
"PO-Revision-Date: 2025-07-22 06:17+0000\n"
|
||||||
"Last-Translator: seraphblade2010 <marc.butenhoff@web.de>\n"
|
"Last-Translator: seraphblade2010 <marc.butenhoff@web.de>\n"
|
||||||
"Language-Team: German <https://translations.herculino.com/projects/wygiwyh/"
|
"Language-Team: German <https://translations.herculino.com/projects/wygiwyh/"
|
||||||
@@ -1358,7 +1358,7 @@ msgstr ""
|
|||||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||||
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
||||||
#: templates/insights/fragments/category_overview/index.html:61
|
#: templates/insights/fragments/category_overview/index.html:61
|
||||||
#: templates/net_worth/net_worth.html:32
|
#: templates/net_worth/net_worth.html:33
|
||||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||||
msgid "Projected"
|
msgid "Projected"
|
||||||
@@ -2235,6 +2235,8 @@ msgid "Current balance"
|
|||||||
msgstr "Aktueller Saldo"
|
msgstr "Aktueller Saldo"
|
||||||
|
|
||||||
#: templates/accounts/fragments/account_reconciliation.html:39
|
#: templates/accounts/fragments/account_reconciliation.html:39
|
||||||
|
#: templates/net_worth/net_worth.html:105
|
||||||
|
#: templates/net_worth/net_worth.html:362
|
||||||
msgid "Difference"
|
msgid "Difference"
|
||||||
msgstr "Differenz"
|
msgstr "Differenz"
|
||||||
|
|
||||||
@@ -2612,19 +2614,19 @@ msgstr "Aktueller Preis"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Anzahl gekauft"
|
msgstr "Anzahl gekauft"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:390
|
#: templates/dca/fragments/strategy/details.html:392
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr "Einstiegspreis zu Aktuellem Preis"
|
msgstr "Einstiegspreis zu Aktuellem Preis"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:406
|
#: templates/dca/fragments/strategy/details.html:408
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Tage zwischen Investitionen"
|
msgstr "Tage zwischen Investitionen"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:453
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Investitions-Häufigkeit"
|
msgstr "Investitions-Häufigkeit"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:457
|
||||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Je gerader die blaue Linie, desto gleichmäßiger ist deine DCA-Strategie."
|
"Je gerader die blaue Linie, desto gleichmäßiger ist deine DCA-Strategie."
|
||||||
@@ -2827,7 +2829,7 @@ msgstr "Nettovermögen"
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:45
|
#: templates/includes/navbar.html:45
|
||||||
#: templates/insights/fragments/category_overview/index.html:65
|
#: templates/insights/fragments/category_overview/index.html:65
|
||||||
#: templates/net_worth/net_worth.html:22
|
#: templates/net_worth/net_worth.html:23
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Aktuell"
|
msgstr "Aktuell"
|
||||||
|
|
||||||
@@ -3228,25 +3230,31 @@ msgstr "Transaktionen filtern"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Sortieren nach"
|
msgstr "Sortieren nach"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:40
|
#: templates/net_worth/net_worth.html:42
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
msgstr "Nach Währung"
|
msgstr "Nach Währung"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:75
|
#: templates/net_worth/net_worth.html:78
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Zusammengefasst"
|
msgstr "Zusammengefasst"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:104
|
#: templates/net_worth/net_worth.html:101
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Evolution by account"
|
||||||
|
msgid "Evolution"
|
||||||
|
msgstr "Verlauf nach Konto"
|
||||||
|
|
||||||
|
#: templates/net_worth/net_worth.html:128
|
||||||
#: templates/yearly_overview/pages/overview_by_account.html:7
|
#: templates/yearly_overview/pages/overview_by_account.html:7
|
||||||
msgid "By account"
|
msgid "By account"
|
||||||
msgstr "Nach Konto"
|
msgstr "Nach Konto"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:211
|
#: templates/net_worth/net_worth.html:236
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Verlauf nach Währung"
|
msgstr "Verlauf nach Währung"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:275
|
#: templates/net_worth/net_worth.html:300
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr "Verlauf nach Konto"
|
msgstr "Verlauf nach Konto"
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
"POT-Creation-Date: 2025-09-20 14:08+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@@ -1317,7 +1317,7 @@ msgstr ""
|
|||||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||||
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
||||||
#: templates/insights/fragments/category_overview/index.html:61
|
#: templates/insights/fragments/category_overview/index.html:61
|
||||||
#: templates/net_worth/net_worth.html:32
|
#: templates/net_worth/net_worth.html:33
|
||||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||||
msgid "Projected"
|
msgid "Projected"
|
||||||
@@ -2168,6 +2168,8 @@ msgid "Current balance"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/accounts/fragments/account_reconciliation.html:39
|
#: templates/accounts/fragments/account_reconciliation.html:39
|
||||||
|
#: templates/net_worth/net_worth.html:105
|
||||||
|
#: templates/net_worth/net_worth.html:362
|
||||||
msgid "Difference"
|
msgid "Difference"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2543,19 +2545,19 @@ msgstr ""
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:390
|
#: templates/dca/fragments/strategy/details.html:392
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:406
|
#: templates/dca/fragments/strategy/details.html:408
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:453
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:457
|
||||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2755,7 +2757,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:45
|
#: templates/includes/navbar.html:45
|
||||||
#: templates/insights/fragments/category_overview/index.html:65
|
#: templates/insights/fragments/category_overview/index.html:65
|
||||||
#: templates/net_worth/net_worth.html:22
|
#: templates/net_worth/net_worth.html:23
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3138,25 +3140,29 @@ msgstr ""
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:40
|
#: templates/net_worth/net_worth.html:42
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:75
|
#: templates/net_worth/net_worth.html:78
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:104
|
#: templates/net_worth/net_worth.html:101
|
||||||
|
msgid "Evolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/net_worth/net_worth.html:128
|
||||||
#: templates/yearly_overview/pages/overview_by_account.html:7
|
#: templates/yearly_overview/pages/overview_by_account.html:7
|
||||||
msgid "By account"
|
msgid "By account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:211
|
#: templates/net_worth/net_worth.html:236
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:275
|
#: templates/net_worth/net_worth.html:300
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
"POT-Creation-Date: 2025-09-20 14:08+0000\n"
|
||||||
"PO-Revision-Date: 2025-07-21 18:17+0000\n"
|
"PO-Revision-Date: 2025-07-21 18:17+0000\n"
|
||||||
"Last-Translator: afermar <adrian.fm@protonmail.com>\n"
|
"Last-Translator: afermar <adrian.fm@protonmail.com>\n"
|
||||||
"Language-Team: Spanish <https://translations.herculino.com/projects/wygiwyh/"
|
"Language-Team: Spanish <https://translations.herculino.com/projects/wygiwyh/"
|
||||||
@@ -1495,7 +1495,7 @@ msgstr "Update or Create Transaction action deleted successfully"
|
|||||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||||
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
||||||
#: templates/insights/fragments/category_overview/index.html:61
|
#: templates/insights/fragments/category_overview/index.html:61
|
||||||
#: templates/net_worth/net_worth.html:32
|
#: templates/net_worth/net_worth.html:33
|
||||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@@ -2492,6 +2492,8 @@ msgid "Current balance"
|
|||||||
msgstr "Current balance"
|
msgstr "Current balance"
|
||||||
|
|
||||||
#: templates/accounts/fragments/account_reconciliation.html:39
|
#: templates/accounts/fragments/account_reconciliation.html:39
|
||||||
|
#: templates/net_worth/net_worth.html:105
|
||||||
|
#: templates/net_worth/net_worth.html:362
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Difference"
|
msgid "Difference"
|
||||||
msgstr "Difference"
|
msgstr "Difference"
|
||||||
@@ -2941,22 +2943,22 @@ msgstr "Current Price"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Amount Bought"
|
msgstr "Amount Bought"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:390
|
#: templates/dca/fragments/strategy/details.html:392
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr "Entry Price vs Current Price"
|
msgstr "Entry Price vs Current Price"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:406
|
#: templates/dca/fragments/strategy/details.html:408
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Days Between Investments"
|
msgstr "Days Between Investments"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:453
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Investment Frequency"
|
msgstr "Investment Frequency"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:457
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -3203,7 +3205,7 @@ msgstr "Net Worth"
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:45
|
#: templates/includes/navbar.html:45
|
||||||
#: templates/insights/fragments/category_overview/index.html:65
|
#: templates/insights/fragments/category_overview/index.html:65
|
||||||
#: templates/net_worth/net_worth.html:22
|
#: templates/net_worth/net_worth.html:23
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Current"
|
msgstr "Current"
|
||||||
@@ -3657,25 +3659,31 @@ msgstr "Filtrar transacciones"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Ordenar por"
|
msgstr "Ordenar por"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:40
|
#: templates/net_worth/net_worth.html:42
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
msgstr "Por moneda"
|
msgstr "Por moneda"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:75
|
#: templates/net_worth/net_worth.html:78
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Consolidado"
|
msgstr "Consolidado"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:104
|
#: templates/net_worth/net_worth.html:101
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Evolution by account"
|
||||||
|
msgid "Evolution"
|
||||||
|
msgstr "Evolución por cuenta"
|
||||||
|
|
||||||
|
#: templates/net_worth/net_worth.html:128
|
||||||
#: templates/yearly_overview/pages/overview_by_account.html:7
|
#: templates/yearly_overview/pages/overview_by_account.html:7
|
||||||
msgid "By account"
|
msgid "By account"
|
||||||
msgstr "Por cuenta"
|
msgstr "Por cuenta"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:211
|
#: templates/net_worth/net_worth.html:236
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Evolución por moneda"
|
msgstr "Evolución por moneda"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:275
|
#: templates/net_worth/net_worth.html:300
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr "Evolución por cuenta"
|
msgstr "Evolución por cuenta"
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
"POT-Creation-Date: 2025-09-20 14:08+0000\n"
|
||||||
"PO-Revision-Date: 2025-09-08 06:17+0000\n"
|
"PO-Revision-Date: 2025-09-23 06:17+0000\n"
|
||||||
"Last-Translator: sorcierwax <freakywax@gmail.com>\n"
|
"Last-Translator: sorcierwax <freakywax@gmail.com>\n"
|
||||||
"Language-Team: French <https://translations.herculino.com/projects/wygiwyh/"
|
"Language-Team: French <https://translations.herculino.com/projects/wygiwyh/"
|
||||||
"app/fr/>\n"
|
"app/fr/>\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 5.13\n"
|
"X-Generator: Weblate 5.13.3\n"
|
||||||
|
|
||||||
#: apps/accounts/forms.py:26
|
#: apps/accounts/forms.py:26
|
||||||
msgid "Group name"
|
msgid "Group name"
|
||||||
@@ -1345,7 +1345,7 @@ msgstr ""
|
|||||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||||
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
||||||
#: templates/insights/fragments/category_overview/index.html:61
|
#: templates/insights/fragments/category_overview/index.html:61
|
||||||
#: templates/net_worth/net_worth.html:32
|
#: templates/net_worth/net_worth.html:33
|
||||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||||
msgid "Projected"
|
msgid "Projected"
|
||||||
@@ -2217,6 +2217,8 @@ msgid "Current balance"
|
|||||||
msgstr "Balance actuelle"
|
msgstr "Balance actuelle"
|
||||||
|
|
||||||
#: templates/accounts/fragments/account_reconciliation.html:39
|
#: templates/accounts/fragments/account_reconciliation.html:39
|
||||||
|
#: templates/net_worth/net_worth.html:105
|
||||||
|
#: templates/net_worth/net_worth.html:362
|
||||||
msgid "Difference"
|
msgid "Difference"
|
||||||
msgstr "Différence"
|
msgstr "Différence"
|
||||||
|
|
||||||
@@ -2592,19 +2594,19 @@ msgstr "Prix actuel"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Montant acheté"
|
msgstr "Montant acheté"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:390
|
#: templates/dca/fragments/strategy/details.html:392
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr "Prix d'entrée Vs Prix actuel"
|
msgstr "Prix d'entrée Vs Prix actuel"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:406
|
#: templates/dca/fragments/strategy/details.html:408
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Jours entre les investissements"
|
msgstr "Jours entre les investissements"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:453
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Fréquence d'investissement"
|
msgstr "Fréquence d'investissement"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:457
|
||||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Plus la ligne bleue est droite, plus votre stratégie DCA est cohérente."
|
"Plus la ligne bleue est droite, plus votre stratégie DCA est cohérente."
|
||||||
@@ -2807,7 +2809,7 @@ msgstr "Valeur nette"
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:45
|
#: templates/includes/navbar.html:45
|
||||||
#: templates/insights/fragments/category_overview/index.html:65
|
#: templates/insights/fragments/category_overview/index.html:65
|
||||||
#: templates/net_worth/net_worth.html:22
|
#: templates/net_worth/net_worth.html:23
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "A date"
|
msgstr "A date"
|
||||||
|
|
||||||
@@ -3203,25 +3205,29 @@ msgstr "Filtrer les transactions"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Trier par"
|
msgstr "Trier par"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:40
|
#: templates/net_worth/net_worth.html:42
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
msgstr "Par devises"
|
msgstr "Par devises"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:75
|
#: templates/net_worth/net_worth.html:78
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Consolidé"
|
msgstr "Consolidé"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:104
|
#: templates/net_worth/net_worth.html:101
|
||||||
|
msgid "Evolution"
|
||||||
|
msgstr "Evolution"
|
||||||
|
|
||||||
|
#: templates/net_worth/net_worth.html:128
|
||||||
#: templates/yearly_overview/pages/overview_by_account.html:7
|
#: templates/yearly_overview/pages/overview_by_account.html:7
|
||||||
msgid "By account"
|
msgid "By account"
|
||||||
msgstr "Par comptes"
|
msgstr "Par comptes"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:211
|
#: templates/net_worth/net_worth.html:236
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Evolution par devises"
|
msgstr "Evolution par devises"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:275
|
#: templates/net_worth/net_worth.html:300
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr "Evolution par comptes"
|
msgstr "Evolution par comptes"
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
"POT-Creation-Date: 2025-09-20 14:08+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: none\n"
|
||||||
@@ -1316,7 +1316,7 @@ msgstr ""
|
|||||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||||
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
||||||
#: templates/insights/fragments/category_overview/index.html:61
|
#: templates/insights/fragments/category_overview/index.html:61
|
||||||
#: templates/net_worth/net_worth.html:32
|
#: templates/net_worth/net_worth.html:33
|
||||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||||
msgid "Projected"
|
msgid "Projected"
|
||||||
@@ -2167,6 +2167,8 @@ msgid "Current balance"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/accounts/fragments/account_reconciliation.html:39
|
#: templates/accounts/fragments/account_reconciliation.html:39
|
||||||
|
#: templates/net_worth/net_worth.html:105
|
||||||
|
#: templates/net_worth/net_worth.html:362
|
||||||
msgid "Difference"
|
msgid "Difference"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2542,19 +2544,19 @@ msgstr ""
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:390
|
#: templates/dca/fragments/strategy/details.html:392
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:406
|
#: templates/dca/fragments/strategy/details.html:408
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:453
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:457
|
||||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2754,7 +2756,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:45
|
#: templates/includes/navbar.html:45
|
||||||
#: templates/insights/fragments/category_overview/index.html:65
|
#: templates/insights/fragments/category_overview/index.html:65
|
||||||
#: templates/net_worth/net_worth.html:22
|
#: templates/net_worth/net_worth.html:23
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3137,25 +3139,29 @@ msgstr ""
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:40
|
#: templates/net_worth/net_worth.html:42
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:75
|
#: templates/net_worth/net_worth.html:78
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:104
|
#: templates/net_worth/net_worth.html:101
|
||||||
|
msgid "Evolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/net_worth/net_worth.html:128
|
||||||
#: templates/yearly_overview/pages/overview_by_account.html:7
|
#: templates/yearly_overview/pages/overview_by_account.html:7
|
||||||
msgid "By account"
|
msgid "By account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:211
|
#: templates/net_worth/net_worth.html:236
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:275
|
#: templates/net_worth/net_worth.html:300
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
||||||
"PO-Revision-Date: 2025-09-11 22:17+0000\n"
|
"PO-Revision-Date: 2025-09-15 18:17+0000\n"
|
||||||
"Last-Translator: Phillip Maizza <phillipmaizza@gmail.com>\n"
|
"Last-Translator: Phillip Maizza <phillipmaizza@gmail.com>\n"
|
||||||
"Language-Team: Italian <https://translations.herculino.com/projects/wygiwyh/"
|
"Language-Team: Italian <https://translations.herculino.com/projects/wygiwyh/"
|
||||||
"app/it/>\n"
|
"app/it/>\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 5.13.2\n"
|
"X-Generator: Weblate 5.13.3\n"
|
||||||
|
|
||||||
#: apps/accounts/forms.py:26
|
#: apps/accounts/forms.py:26
|
||||||
msgid "Group name"
|
msgid "Group name"
|
||||||
@@ -134,7 +134,7 @@ msgstr "Gruppo conto"
|
|||||||
#: templates/account_groups/pages/index.html:4
|
#: templates/account_groups/pages/index.html:4
|
||||||
#: templates/includes/navbar.html:121 templates/includes/sidebar.html:204
|
#: templates/includes/navbar.html:121 templates/includes/sidebar.html:204
|
||||||
msgid "Account Groups"
|
msgid "Account Groups"
|
||||||
msgstr "Gruppi di conti"
|
msgstr "Gruppi conti"
|
||||||
|
|
||||||
#: apps/accounts/models.py:39 apps/currencies/models.py:44
|
#: apps/accounts/models.py:39 apps/currencies/models.py:44
|
||||||
#: templates/accounts/fragments/list.html:27
|
#: templates/accounts/fragments/list.html:27
|
||||||
@@ -212,7 +212,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: apps/accounts/views/account_groups.py:44
|
#: apps/accounts/views/account_groups.py:44
|
||||||
msgid "Account Group added successfully"
|
msgid "Account Group added successfully"
|
||||||
msgstr "Gruppo di conti aggiunto con successo"
|
msgstr "Gruppo conti aggiunto con successo"
|
||||||
|
|
||||||
#: apps/accounts/views/account_groups.py:69
|
#: apps/accounts/views/account_groups.py:69
|
||||||
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
#: apps/accounts/views/account_groups.py:152 apps/accounts/views/accounts.py:68
|
||||||
@@ -228,7 +228,7 @@ msgstr "Solo il proprietario può modificare questo elemento"
|
|||||||
|
|
||||||
#: apps/accounts/views/account_groups.py:82
|
#: apps/accounts/views/account_groups.py:82
|
||||||
msgid "Account Group updated successfully"
|
msgid "Account Group updated successfully"
|
||||||
msgstr "Gruppo di conti aggiornato con successo"
|
msgstr "Gruppo conti aggiornato con successo"
|
||||||
|
|
||||||
#: apps/accounts/views/account_groups.py:111
|
#: apps/accounts/views/account_groups.py:111
|
||||||
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:105
|
#: apps/accounts/views/accounts.py:145 apps/dca/views.py:105
|
||||||
@@ -239,7 +239,7 @@ msgstr "L’elemento non è più condiviso con te"
|
|||||||
|
|
||||||
#: apps/accounts/views/account_groups.py:114
|
#: apps/accounts/views/account_groups.py:114
|
||||||
msgid "Account Group deleted successfully"
|
msgid "Account Group deleted successfully"
|
||||||
msgstr "Gruppo di conti eliminato con successo"
|
msgstr "Gruppo conti eliminato con successo"
|
||||||
|
|
||||||
#: apps/accounts/views/account_groups.py:135
|
#: apps/accounts/views/account_groups.py:135
|
||||||
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
|
#: apps/accounts/views/accounts.py:189 apps/dca/views.py:129
|
||||||
@@ -301,11 +301,11 @@ msgstr "Dati tag non validi. Fornisci un ID o un nome."
|
|||||||
|
|
||||||
#: apps/api/fields/transactions.py:105
|
#: apps/api/fields/transactions.py:105
|
||||||
msgid "Entity with this ID does not exist."
|
msgid "Entity with this ID does not exist."
|
||||||
msgstr "L’entità con questo ID non esiste."
|
msgstr "Il beneficiario con questo ID non esiste."
|
||||||
|
|
||||||
#: apps/api/fields/transactions.py:115
|
#: apps/api/fields/transactions.py:115
|
||||||
msgid "Invalid entity data. Provide an ID or name."
|
msgid "Invalid entity data. Provide an ID or name."
|
||||||
msgstr "Dati entità non validi. Fornisci un ID o un nome."
|
msgstr "Dati beneficiario non validi. Fornisci un ID o un nome."
|
||||||
|
|
||||||
#: apps/api/serializers/transactions.py:192
|
#: apps/api/serializers/transactions.py:192
|
||||||
msgid "Either 'date' or 'reference_date' must be provided."
|
msgid "Either 'date' or 'reference_date' must be provided."
|
||||||
@@ -490,7 +490,7 @@ msgstr "Rimuovi"
|
|||||||
#: templates/transactions/pages/transactions.html:89
|
#: templates/transactions/pages/transactions.html:89
|
||||||
#: templates/transactions/pages/transactions.html:101
|
#: templates/transactions/pages/transactions.html:101
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Pulisci"
|
msgstr "Reset"
|
||||||
|
|
||||||
#: apps/common/widgets/tom_select.py:16
|
#: apps/common/widgets/tom_select.py:16
|
||||||
msgid "No results..."
|
msgid "No results..."
|
||||||
@@ -552,7 +552,7 @@ msgstr "A valuta"
|
|||||||
|
|
||||||
#: apps/currencies/models.py:74 apps/currencies/models.py:81
|
#: apps/currencies/models.py:74 apps/currencies/models.py:81
|
||||||
msgid "Exchange Rate"
|
msgid "Exchange Rate"
|
||||||
msgstr "Tasso di cambio"
|
msgstr "Cambio valuta"
|
||||||
|
|
||||||
#: apps/currencies/models.py:76
|
#: apps/currencies/models.py:76
|
||||||
msgid "Date and Time"
|
msgid "Date and Time"
|
||||||
@@ -568,7 +568,7 @@ msgstr "Automatico"
|
|||||||
#: templates/exchange_rates/pages/index.html:4
|
#: templates/exchange_rates/pages/index.html:4
|
||||||
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:218
|
#: templates/includes/navbar.html:129 templates/includes/sidebar.html:218
|
||||||
msgid "Exchange Rates"
|
msgid "Exchange Rates"
|
||||||
msgstr "Tassi di cambio"
|
msgstr "Cambio valute"
|
||||||
|
|
||||||
#: apps/currencies/models.py:94
|
#: apps/currencies/models.py:94
|
||||||
msgid "From and To currencies cannot be the same."
|
msgid "From and To currencies cannot be the same."
|
||||||
@@ -650,17 +650,17 @@ msgstr ""
|
|||||||
|
|
||||||
#: apps/currencies/models.py:160
|
#: apps/currencies/models.py:160
|
||||||
msgid "Single exchange rate"
|
msgid "Single exchange rate"
|
||||||
msgstr "Tasso di cambio singolo"
|
msgstr "Cambio unico"
|
||||||
|
|
||||||
#: apps/currencies/models.py:163
|
#: apps/currencies/models.py:163
|
||||||
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
|
msgid "Create one exchange rate and keep updating it. Avoids database clutter."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Crea un solo tasso di cambio e lo mantiene aggiornato. Evita ingombri nel "
|
"Crea un solo cambio valuta e aggiornalo nel tempo, evitando duplicati nel "
|
||||||
"database."
|
"database."
|
||||||
|
|
||||||
#: apps/currencies/models.py:168
|
#: apps/currencies/models.py:168
|
||||||
msgid "Exchange Rate Service"
|
msgid "Exchange Rate Service"
|
||||||
msgstr "Servizio tasso di cambio"
|
msgstr "Servizio cambio valuta"
|
||||||
|
|
||||||
#: apps/currencies/models.py:169
|
#: apps/currencies/models.py:169
|
||||||
msgid "Exchange Rate Services"
|
msgid "Exchange Rate Services"
|
||||||
@@ -704,15 +704,15 @@ msgstr "Valuta eliminata con successo"
|
|||||||
|
|
||||||
#: apps/currencies/views/exchange_rates.py:89
|
#: apps/currencies/views/exchange_rates.py:89
|
||||||
msgid "Exchange rate added successfully"
|
msgid "Exchange rate added successfully"
|
||||||
msgstr "Tasso di cambio aggiunto con successo"
|
msgstr "Cambio valuta aggiunto con successo"
|
||||||
|
|
||||||
#: apps/currencies/views/exchange_rates.py:117
|
#: apps/currencies/views/exchange_rates.py:117
|
||||||
msgid "Exchange rate updated successfully"
|
msgid "Exchange rate updated successfully"
|
||||||
msgstr "Tasso di cambio aggiornato con successo"
|
msgstr "Cambio valuta aggiornato con successo"
|
||||||
|
|
||||||
#: apps/currencies/views/exchange_rates.py:143
|
#: apps/currencies/views/exchange_rates.py:143
|
||||||
msgid "Exchange rate deleted successfully"
|
msgid "Exchange rate deleted successfully"
|
||||||
msgstr "Tasso di cambio eliminato con successo"
|
msgstr "Cambio valuta eliminato con successo"
|
||||||
|
|
||||||
#: apps/currencies/views/exchange_rates_services.py:50
|
#: apps/currencies/views/exchange_rates_services.py:50
|
||||||
msgid "Service added successfully"
|
msgid "Service added successfully"
|
||||||
@@ -876,7 +876,7 @@ msgstr "Categorie"
|
|||||||
#: templates/includes/sidebar.html:190
|
#: templates/includes/sidebar.html:190
|
||||||
#: templates/insights/fragments/category_overview/index.html:49
|
#: templates/insights/fragments/category_overview/index.html:49
|
||||||
msgid "Entities"
|
msgid "Entities"
|
||||||
msgstr "Entità"
|
msgstr "Beneficiari"
|
||||||
|
|
||||||
#: apps/export_app/forms.py:56 apps/export_app/forms.py:140
|
#: apps/export_app/forms.py:56 apps/export_app/forms.py:140
|
||||||
#: apps/transactions/models.py:807 templates/includes/navbar.html:77
|
#: apps/transactions/models.py:807 templates/includes/navbar.html:77
|
||||||
@@ -884,7 +884,7 @@ msgstr "Entità"
|
|||||||
#: templates/recurring_transactions/fragments/list.html:5
|
#: templates/recurring_transactions/fragments/list.html:5
|
||||||
#: templates/recurring_transactions/pages/index.html:4
|
#: templates/recurring_transactions/pages/index.html:4
|
||||||
msgid "Recurring Transactions"
|
msgid "Recurring Transactions"
|
||||||
msgstr "Transazioni ricorrenti"
|
msgstr "Pagamenti ricorrenti"
|
||||||
|
|
||||||
#: apps/export_app/forms.py:62 apps/export_app/forms.py:138
|
#: apps/export_app/forms.py:62 apps/export_app/forms.py:138
|
||||||
#: apps/transactions/models.py:583 templates/includes/navbar.html:75
|
#: apps/transactions/models.py:583 templates/includes/navbar.html:75
|
||||||
@@ -892,14 +892,14 @@ msgstr "Transazioni ricorrenti"
|
|||||||
#: templates/installment_plans/fragments/list.html:5
|
#: templates/installment_plans/fragments/list.html:5
|
||||||
#: templates/installment_plans/pages/index.html:4
|
#: templates/installment_plans/pages/index.html:4
|
||||||
msgid "Installment Plans"
|
msgid "Installment Plans"
|
||||||
msgstr "Rate / Piani di rateizzazione"
|
msgstr "Pagamenti a rate"
|
||||||
|
|
||||||
#: apps/export_app/forms.py:74 apps/export_app/forms.py:143
|
#: apps/export_app/forms.py:74 apps/export_app/forms.py:143
|
||||||
#: templates/exchange_rates_services/fragments/list.html:6
|
#: templates/exchange_rates_services/fragments/list.html:6
|
||||||
#: templates/exchange_rates_services/pages/index.html:4
|
#: templates/exchange_rates_services/pages/index.html:4
|
||||||
#: templates/includes/navbar.html:143 templates/includes/sidebar.html:246
|
#: templates/includes/navbar.html:143 templates/includes/sidebar.html:246
|
||||||
msgid "Automatic Exchange Rates"
|
msgid "Automatic Exchange Rates"
|
||||||
msgstr "Tassi di cambio automatici"
|
msgstr "Cambio valuta automatico"
|
||||||
|
|
||||||
#: apps/export_app/forms.py:80 templates/includes/navbar.html:135
|
#: apps/export_app/forms.py:80 templates/includes/navbar.html:135
|
||||||
#: templates/includes/sidebar.html:226 templates/rules/fragments/list.html:5
|
#: templates/includes/sidebar.html:226 templates/rules/fragments/list.html:5
|
||||||
@@ -1343,7 +1343,7 @@ msgstr "Azione Aggiornamento o Creazione transazione eliminata correttamente"
|
|||||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||||
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
||||||
#: templates/insights/fragments/category_overview/index.html:61
|
#: templates/insights/fragments/category_overview/index.html:61
|
||||||
#: templates/net_worth/net_worth.html:32
|
#: templates/net_worth/net_worth.html:33
|
||||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||||
msgid "Projected"
|
msgid "Projected"
|
||||||
@@ -1392,12 +1392,12 @@ msgstr "Senza tag"
|
|||||||
|
|
||||||
#: apps/transactions/filters.py:201
|
#: apps/transactions/filters.py:201
|
||||||
msgid "Any entity"
|
msgid "Any entity"
|
||||||
msgstr "Qualsiasi entità"
|
msgstr "Qualsiasi beneficiario"
|
||||||
|
|
||||||
#: apps/transactions/filters.py:202
|
#: apps/transactions/filters.py:202
|
||||||
#: templates/insights/fragments/category_overview/index.html:274
|
#: templates/insights/fragments/category_overview/index.html:274
|
||||||
msgid "No entity"
|
msgid "No entity"
|
||||||
msgstr "Nessuna entità"
|
msgstr "Nessun beneficiario"
|
||||||
|
|
||||||
#: apps/transactions/forms.py:175
|
#: apps/transactions/forms.py:175
|
||||||
msgid "More"
|
msgid "More"
|
||||||
@@ -1436,7 +1436,7 @@ msgstr "Nome tag"
|
|||||||
|
|
||||||
#: apps/transactions/forms.py:939
|
#: apps/transactions/forms.py:939
|
||||||
msgid "Entity name"
|
msgid "Entity name"
|
||||||
msgstr "Nome entità"
|
msgstr "Nome beneficiario"
|
||||||
|
|
||||||
#: apps/transactions/forms.py:971
|
#: apps/transactions/forms.py:971
|
||||||
msgid "Category name"
|
msgid "Category name"
|
||||||
@@ -1487,12 +1487,12 @@ msgid ""
|
|||||||
"Deactivated entities won't be able to be selected when creating new "
|
"Deactivated entities won't be able to be selected when creating new "
|
||||||
"transactions"
|
"transactions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Le entità disattivate non potranno essere selezionate durante la creazione "
|
"I beneficiari disattivati non potranno essere selezionati durante la "
|
||||||
"di nuove transazioni"
|
"creazione di nuove transazioni"
|
||||||
|
|
||||||
#: apps/transactions/models.py:277
|
#: apps/transactions/models.py:277
|
||||||
msgid "Entity"
|
msgid "Entity"
|
||||||
msgstr "Entità"
|
msgstr "Beneficiari"
|
||||||
|
|
||||||
#: apps/transactions/models.py:289 apps/transactions/models.py:971
|
#: apps/transactions/models.py:289 apps/transactions/models.py:971
|
||||||
#: templates/calendar_view/fragments/list.html:42
|
#: templates/calendar_view/fragments/list.html:42
|
||||||
@@ -1504,7 +1504,7 @@ msgstr "Entità"
|
|||||||
#: templates/insights/fragments/category_overview/index.html:79
|
#: templates/insights/fragments/category_overview/index.html:79
|
||||||
#: templates/monthly_overview/fragments/monthly_summary.html:39
|
#: templates/monthly_overview/fragments/monthly_summary.html:39
|
||||||
msgid "Income"
|
msgid "Income"
|
||||||
msgstr "Entrata"
|
msgstr "Entrate"
|
||||||
|
|
||||||
#: apps/transactions/models.py:290 apps/transactions/models.py:972
|
#: apps/transactions/models.py:290 apps/transactions/models.py:972
|
||||||
#: templates/calendar_view/fragments/list.html:46
|
#: templates/calendar_view/fragments/list.html:46
|
||||||
@@ -1625,7 +1625,7 @@ msgstr "Tipo di ricorrenza"
|
|||||||
|
|
||||||
#: apps/transactions/models.py:782
|
#: apps/transactions/models.py:782
|
||||||
msgid "Recurrence Interval"
|
msgid "Recurrence Interval"
|
||||||
msgstr "Intervallo di ricorrenza"
|
msgstr "Frequenza"
|
||||||
|
|
||||||
#: apps/transactions/models.py:785
|
#: apps/transactions/models.py:785
|
||||||
msgid "Keep at most"
|
msgid "Keep at most"
|
||||||
@@ -1714,15 +1714,15 @@ msgstr "Categoria eliminata con successo"
|
|||||||
|
|
||||||
#: apps/transactions/views/entities.py:66
|
#: apps/transactions/views/entities.py:66
|
||||||
msgid "Entity added successfully"
|
msgid "Entity added successfully"
|
||||||
msgstr "Entità aggiunta con successo"
|
msgstr "Beneficiario aggiunto con successo"
|
||||||
|
|
||||||
#: apps/transactions/views/entities.py:104
|
#: apps/transactions/views/entities.py:104
|
||||||
msgid "Entity updated successfully"
|
msgid "Entity updated successfully"
|
||||||
msgstr "Entità aggiornata con successo"
|
msgstr "Beneficiario aggiornato con successo"
|
||||||
|
|
||||||
#: apps/transactions/views/entities.py:133
|
#: apps/transactions/views/entities.py:133
|
||||||
msgid "Entity deleted successfully"
|
msgid "Entity deleted successfully"
|
||||||
msgstr "Entità eliminata con successo"
|
msgstr "Beneficiario eliminato con successo"
|
||||||
|
|
||||||
#: apps/transactions/views/installment_plans.py:87
|
#: apps/transactions/views/installment_plans.py:87
|
||||||
msgid "Installment Plan added successfully"
|
msgid "Installment Plan added successfully"
|
||||||
@@ -1886,8 +1886,8 @@ msgid ""
|
|||||||
"displayed\n"
|
"displayed\n"
|
||||||
"Consider helping translate WYGIWYH to your language at %(translation_link)s"
|
"Consider helping translate WYGIWYH to your language at %(translation_link)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Questo cambia la lingua (se disponibile) e la modalità di visualizzazione di "
|
"Cambia la lingua (se disponibile) e la modalità di visualizzazione di numeri "
|
||||||
"numeri e date.\n"
|
"e date.\n"
|
||||||
"Considera la possibilità di contribuire alla traduzione di WYGIWYH nella tua "
|
"Considera la possibilità di contribuire alla traduzione di WYGIWYH nella tua "
|
||||||
"lingua su %(translation_link)s"
|
"lingua su %(translation_link)s"
|
||||||
|
|
||||||
@@ -1897,7 +1897,7 @@ msgstr "Nuova Password"
|
|||||||
|
|
||||||
#: apps/users/forms.py:160
|
#: apps/users/forms.py:160
|
||||||
msgid "Leave blank to keep the current password."
|
msgid "Leave blank to keep the current password."
|
||||||
msgstr "Lasciare vuoto per mantenere la password corrente."
|
msgstr "Lascia vuoto per mantenere la password attuale."
|
||||||
|
|
||||||
#: apps/users/forms.py:163
|
#: apps/users/forms.py:163
|
||||||
msgid "Confirm New Password"
|
msgid "Confirm New Password"
|
||||||
@@ -2016,11 +2016,11 @@ msgstr "Le tue impostazioni sono state aggiornate"
|
|||||||
|
|
||||||
#: templates/account_groups/fragments/add.html:5
|
#: templates/account_groups/fragments/add.html:5
|
||||||
msgid "Add account group"
|
msgid "Add account group"
|
||||||
msgstr "Aggiungi gruppo di account"
|
msgstr "Aggiungi gruppo conti"
|
||||||
|
|
||||||
#: templates/account_groups/fragments/edit.html:5
|
#: templates/account_groups/fragments/edit.html:5
|
||||||
msgid "Edit account group"
|
msgid "Edit account group"
|
||||||
msgstr "Modifica gruppo di account"
|
msgstr "Modifica gruppo conti"
|
||||||
|
|
||||||
#: templates/account_groups/fragments/list.html:32
|
#: templates/account_groups/fragments/list.html:32
|
||||||
#: templates/accounts/fragments/list.html:37
|
#: templates/accounts/fragments/list.html:37
|
||||||
@@ -2192,7 +2192,7 @@ msgstr "Condividi"
|
|||||||
|
|
||||||
#: templates/account_groups/fragments/list.html:77
|
#: templates/account_groups/fragments/list.html:77
|
||||||
msgid "No account groups"
|
msgid "No account groups"
|
||||||
msgstr "Nessun gruppo di account"
|
msgstr "Nessun gruppo conti"
|
||||||
|
|
||||||
#: templates/account_groups/fragments/share.html:5
|
#: templates/account_groups/fragments/share.html:5
|
||||||
#: templates/accounts/fragments/share.html:5
|
#: templates/accounts/fragments/share.html:5
|
||||||
@@ -2212,6 +2212,8 @@ msgid "Current balance"
|
|||||||
msgstr "Saldo corrente"
|
msgstr "Saldo corrente"
|
||||||
|
|
||||||
#: templates/accounts/fragments/account_reconciliation.html:39
|
#: templates/accounts/fragments/account_reconciliation.html:39
|
||||||
|
#: templates/net_worth/net_worth.html:105
|
||||||
|
#: templates/net_worth/net_worth.html:362
|
||||||
msgid "Difference"
|
msgid "Difference"
|
||||||
msgstr "Differenza"
|
msgstr "Differenza"
|
||||||
|
|
||||||
@@ -2517,7 +2519,7 @@ msgstr "Aggiungi strategia DCA"
|
|||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:22
|
#: templates/dca/fragments/strategy/details.html:22
|
||||||
msgid "No exchange rate available"
|
msgid "No exchange rate available"
|
||||||
msgstr "Nessun tasso di cambio disponibile"
|
msgstr "Nessun cambio valuta disponibile"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:33
|
#: templates/dca/fragments/strategy/details.html:33
|
||||||
msgid "Entries"
|
msgid "Entries"
|
||||||
@@ -2587,19 +2589,19 @@ msgstr "Prezzo attuale"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Importo acquistato"
|
msgstr "Importo acquistato"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:390
|
#: templates/dca/fragments/strategy/details.html:392
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr "Prezzo di ingresso vs prezzo corrente"
|
msgstr "Prezzo di ingresso vs prezzo corrente"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:406
|
#: templates/dca/fragments/strategy/details.html:408
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Giorni tra gli investimenti"
|
msgstr "Giorni tra gli investimenti"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:453
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Frequenza di investimento"
|
msgstr "Frequenza di investimento"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:457
|
||||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
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."
|
msgstr "Più dritta è la linea blu, più coerente è la tua strategia DCA."
|
||||||
|
|
||||||
@@ -2610,33 +2612,33 @@ msgstr "Modifica la strategia DCA"
|
|||||||
#: templates/dca/fragments/strategy/list.html:5
|
#: templates/dca/fragments/strategy/list.html:5
|
||||||
#: templates/dca/pages/strategy_index.html:4
|
#: templates/dca/pages/strategy_index.html:4
|
||||||
msgid "Dollar Cost Average Strategies"
|
msgid "Dollar Cost Average Strategies"
|
||||||
msgstr "Strategie di costo medio del dollaro"
|
msgstr "Strategie DCA"
|
||||||
|
|
||||||
#: templates/dca/pages/strategy_detail_index.html:4
|
#: templates/dca/pages/strategy_detail_index.html:4
|
||||||
msgid "Dollar Cost Average Strategy"
|
msgid "Dollar Cost Average Strategy"
|
||||||
msgstr "Strategia del costo medio del dollaro"
|
msgstr "Strategie DCA"
|
||||||
|
|
||||||
#: templates/entities/fragments/add.html:5
|
#: templates/entities/fragments/add.html:5
|
||||||
msgid "Add entity"
|
msgid "Add entity"
|
||||||
msgstr "Aggiungi entità"
|
msgstr "Aggiungi beneficiario"
|
||||||
|
|
||||||
#: templates/entities/fragments/edit.html:5
|
#: templates/entities/fragments/edit.html:5
|
||||||
msgid "Edit entity"
|
msgid "Edit entity"
|
||||||
msgstr "Modifica entità"
|
msgstr "Modifica beneficiario"
|
||||||
|
|
||||||
#: templates/entities/fragments/table.html:71
|
#: templates/entities/fragments/table.html:71
|
||||||
msgid "No entities"
|
msgid "No entities"
|
||||||
msgstr "Nessuna entità"
|
msgstr "Nessun beneficiario"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/add.html:5
|
#: templates/exchange_rates/fragments/add.html:5
|
||||||
#: templates/exchange_rates_services/fragments/add.html:5
|
#: templates/exchange_rates_services/fragments/add.html:5
|
||||||
msgid "Add exchange rate"
|
msgid "Add exchange rate"
|
||||||
msgstr "Aggiungi tasso di cambio"
|
msgstr "Aggiungi cambio valuta"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/edit.html:5
|
#: templates/exchange_rates/fragments/edit.html:5
|
||||||
#: templates/exchange_rates_services/fragments/edit.html:5
|
#: templates/exchange_rates_services/fragments/edit.html:5
|
||||||
msgid "Edit exchange rate"
|
msgid "Edit exchange rate"
|
||||||
msgstr "Modifica tasso di cambio"
|
msgstr "Modifica cambio valuta"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/list.html:25
|
#: templates/exchange_rates/fragments/list.html:25
|
||||||
#: templates/includes/navbar.html:62 templates/includes/sidebar.html:85
|
#: templates/includes/navbar.html:62 templates/includes/sidebar.html:85
|
||||||
@@ -2659,7 +2661,7 @@ msgstr "Tasso"
|
|||||||
#: templates/exchange_rates/fragments/table.html:51
|
#: templates/exchange_rates/fragments/table.html:51
|
||||||
#: templates/exchange_rates_services/fragments/table.html:51
|
#: templates/exchange_rates_services/fragments/table.html:51
|
||||||
msgid "No exchange rates"
|
msgid "No exchange rates"
|
||||||
msgstr "Nessun tasso di cambio"
|
msgstr "Nessun cambio valuta"
|
||||||
|
|
||||||
#: templates/exchange_rates/fragments/table.html:58
|
#: templates/exchange_rates/fragments/table.html:58
|
||||||
#: templates/exchange_rates_services/fragments/table.html:58
|
#: templates/exchange_rates_services/fragments/table.html:58
|
||||||
@@ -2801,14 +2803,14 @@ msgstr "Patrimonio netto"
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:45
|
#: templates/includes/navbar.html:45
|
||||||
#: templates/insights/fragments/category_overview/index.html:65
|
#: templates/insights/fragments/category_overview/index.html:65
|
||||||
#: templates/net_worth/net_worth.html:22
|
#: templates/net_worth/net_worth.html:23
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Attuale"
|
msgstr "Attuale"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:51 templates/includes/sidebar.html:71
|
#: templates/includes/navbar.html:51 templates/includes/sidebar.html:71
|
||||||
#: templates/insights/pages/index.html:5
|
#: templates/insights/pages/index.html:5
|
||||||
msgid "Insights"
|
msgid "Insights"
|
||||||
msgstr "Approfondimenti"
|
msgstr "Analisi"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:67 templates/includes/sidebar.html:93
|
#: templates/includes/navbar.html:67 templates/includes/sidebar.html:93
|
||||||
msgid "Trash Can"
|
msgid "Trash Can"
|
||||||
@@ -2820,19 +2822,19 @@ msgstr "Strumenti"
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:89 templates/includes/sidebar.html:120
|
#: templates/includes/navbar.html:89 templates/includes/sidebar.html:120
|
||||||
msgid "Dollar Cost Average Tracker"
|
msgid "Dollar Cost Average Tracker"
|
||||||
msgstr "Tracker del costo medio del dollaro"
|
msgstr "Costo medio del dollaro"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:92 templates/includes/sidebar.html:126
|
#: templates/includes/navbar.html:92 templates/includes/sidebar.html:126
|
||||||
#: templates/mini_tools/unit_price_calculator.html:5
|
#: templates/mini_tools/unit_price_calculator.html:5
|
||||||
#: templates/mini_tools/unit_price_calculator.html:10
|
#: templates/mini_tools/unit_price_calculator.html:10
|
||||||
msgid "Unit Price Calculator"
|
msgid "Unit Price Calculator"
|
||||||
msgstr "Calcolatore del prezzo unitario"
|
msgstr "Prezzo per unità"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:95 templates/includes/sidebar.html:132
|
#: templates/includes/navbar.html:95 templates/includes/sidebar.html:132
|
||||||
#: templates/mini_tools/currency_converter/currency_converter.html:8
|
#: templates/mini_tools/currency_converter/currency_converter.html:8
|
||||||
#: templates/mini_tools/currency_converter/currency_converter.html:15
|
#: templates/mini_tools/currency_converter/currency_converter.html:15
|
||||||
msgid "Currency Converter"
|
msgid "Currency Converter"
|
||||||
msgstr "Convertitore di valuta"
|
msgstr "Converti valuta"
|
||||||
|
|
||||||
#: templates/includes/navbar.html:104 templates/includes/sidebar.html:150
|
#: templates/includes/navbar.html:104 templates/includes/sidebar.html:150
|
||||||
#: templates/includes/sidebar.html:163
|
#: templates/includes/sidebar.html:163
|
||||||
@@ -2936,7 +2938,7 @@ msgstr "Tabella"
|
|||||||
|
|
||||||
#: templates/insights/fragments/category_overview/index.html:24
|
#: templates/insights/fragments/category_overview/index.html:24
|
||||||
msgid "Bars"
|
msgid "Bars"
|
||||||
msgstr "Barre"
|
msgstr "Grafico a barre"
|
||||||
|
|
||||||
#: templates/insights/fragments/category_overview/index.html:39
|
#: templates/insights/fragments/category_overview/index.html:39
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -2951,7 +2953,7 @@ msgid ""
|
|||||||
"Transaction amounts associated with multiple tags and entities will be "
|
"Transaction amounts associated with multiple tags and entities will be "
|
||||||
"counted once for each tag"
|
"counted once for each tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Gli importi delle transazioni associati a più tag ed entità verranno "
|
"Gli importi delle transazioni associati a più tag e beneficiari verranno "
|
||||||
"conteggiati una volta per ogni tag"
|
"conteggiati una volta per ogni tag"
|
||||||
|
|
||||||
#: templates/insights/fragments/category_overview/index.html:69
|
#: templates/insights/fragments/category_overview/index.html:69
|
||||||
@@ -2997,7 +2999,7 @@ msgstr "Tutto bene!"
|
|||||||
|
|
||||||
#: templates/insights/fragments/late_transactions.html:16
|
#: templates/insights/fragments/late_transactions.html:16
|
||||||
msgid "No late transactions"
|
msgid "No late transactions"
|
||||||
msgstr "Nessuna transazione in ritardo"
|
msgstr "Nessuna transazione in sospeso"
|
||||||
|
|
||||||
#: templates/insights/fragments/latest_transactions.html:14
|
#: templates/insights/fragments/latest_transactions.html:14
|
||||||
msgid "No recent transactions"
|
msgid "No recent transactions"
|
||||||
@@ -3023,35 +3025,35 @@ msgstr "Anno"
|
|||||||
|
|
||||||
#: templates/insights/pages/index.html:45
|
#: templates/insights/pages/index.html:45
|
||||||
msgid "Month Range"
|
msgid "Month Range"
|
||||||
msgstr "Intervallo di mesi"
|
msgstr "Intervallo mesi"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:50
|
#: templates/insights/pages/index.html:50
|
||||||
msgid "Year Range"
|
msgid "Year Range"
|
||||||
msgstr "Intervallo di anni"
|
msgstr "Intervallo anni"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:55
|
#: templates/insights/pages/index.html:55
|
||||||
msgid "Date Range"
|
msgid "Date Range"
|
||||||
msgstr "Intervallo di date"
|
msgstr "Intervallo date"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:83
|
#: templates/insights/pages/index.html:83
|
||||||
msgid "Account Flow"
|
msgid "Account Flow"
|
||||||
msgstr "Flusso del conto"
|
msgstr "Flusso conti"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:90
|
#: templates/insights/pages/index.html:90
|
||||||
msgid "Currency Flow"
|
msgid "Currency Flow"
|
||||||
msgstr "Flusso di valuta"
|
msgstr "Flusso valute"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:97
|
#: templates/insights/pages/index.html:97
|
||||||
msgid "Category Explorer"
|
msgid "Category Explorer"
|
||||||
msgstr "Esploratore di categorie"
|
msgstr "Categorie"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:104
|
#: templates/insights/pages/index.html:104
|
||||||
msgid "Categories Overview"
|
msgid "Categories Overview"
|
||||||
msgstr "Panoramica delle categorie"
|
msgstr "Panoramica categorie"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:111
|
#: templates/insights/pages/index.html:111
|
||||||
msgid "Late Transactions"
|
msgid "Late Transactions"
|
||||||
msgstr "Transazioni in ritardo"
|
msgstr "Transazioni in sospeso"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:117
|
#: templates/insights/pages/index.html:117
|
||||||
msgid "Latest Transactions"
|
msgid "Latest Transactions"
|
||||||
@@ -3114,7 +3116,7 @@ msgstr "Investi"
|
|||||||
#: templates/mini_tools/unit_price_calculator.html:100
|
#: templates/mini_tools/unit_price_calculator.html:100
|
||||||
#: templates/mini_tools/unit_price_calculator.html:125
|
#: templates/mini_tools/unit_price_calculator.html:125
|
||||||
msgid "Item price"
|
msgid "Item price"
|
||||||
msgstr "Prezzo dell'elemento"
|
msgstr "Prezzo"
|
||||||
|
|
||||||
#: templates/mini_tools/unit_price_calculator.html:33
|
#: templates/mini_tools/unit_price_calculator.html:33
|
||||||
#: templates/mini_tools/unit_price_calculator.html:106
|
#: templates/mini_tools/unit_price_calculator.html:106
|
||||||
@@ -3144,7 +3146,7 @@ msgstr "Quota di spesa giornaliera"
|
|||||||
|
|
||||||
#: templates/monthly_overview/fragments/monthly_summary.html:6
|
#: templates/monthly_overview/fragments/monthly_summary.html:6
|
||||||
msgid "This is the final total divided by the remaining days in the month"
|
msgid "This is the final total divided by the remaining days in the month"
|
||||||
msgstr "Questo è il totale finale diviso per i giorni rimanenti del mese"
|
msgstr "Il totale finale diviso per i giorni del mese rimanenti"
|
||||||
|
|
||||||
#: templates/monthly_overview/fragments/monthly_summary.html:42
|
#: templates/monthly_overview/fragments/monthly_summary.html:42
|
||||||
#: templates/monthly_overview/fragments/monthly_summary.html:106
|
#: templates/monthly_overview/fragments/monthly_summary.html:106
|
||||||
@@ -3194,25 +3196,31 @@ msgstr "Filtra transazioni"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Ordina per"
|
msgstr "Ordina per"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:40
|
#: templates/net_worth/net_worth.html:42
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
msgstr "Per valuta"
|
msgstr "Per valuta"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:75
|
#: templates/net_worth/net_worth.html:78
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Consolidate"
|
msgstr "Consolidate"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:104
|
#: templates/net_worth/net_worth.html:101
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Evolution by account"
|
||||||
|
msgid "Evolution"
|
||||||
|
msgstr "Evoluzione per conto"
|
||||||
|
|
||||||
|
#: templates/net_worth/net_worth.html:128
|
||||||
#: templates/yearly_overview/pages/overview_by_account.html:7
|
#: templates/yearly_overview/pages/overview_by_account.html:7
|
||||||
msgid "By account"
|
msgid "By account"
|
||||||
msgstr "Per conto"
|
msgstr "Per conto"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:211
|
#: templates/net_worth/net_worth.html:236
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Evoluzione per valuta"
|
msgstr "Evoluzione per valuta"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:275
|
#: templates/net_worth/net_worth.html:300
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr "Evoluzione per conto"
|
msgstr "Evoluzione per conto"
|
||||||
|
|
||||||
@@ -3224,7 +3232,7 @@ msgstr "Aggiungi transazione rapida"
|
|||||||
#: templates/quick_transactions/fragments/create_menu.html:13
|
#: templates/quick_transactions/fragments/create_menu.html:13
|
||||||
#: templates/quick_transactions/fragments/list.html:68
|
#: templates/quick_transactions/fragments/list.html:68
|
||||||
msgid "Nothing to see here..."
|
msgid "Nothing to see here..."
|
||||||
msgstr "Qui non c'è niente da vedere..."
|
msgstr "Non c’è nulla da mostrare..."
|
||||||
|
|
||||||
#: templates/quick_transactions/fragments/edit.html:5
|
#: templates/quick_transactions/fragments/edit.html:5
|
||||||
msgid "Edit quick transaction"
|
msgid "Edit quick transaction"
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
"POT-Creation-Date: 2025-09-20 14:08+0000\n"
|
||||||
"PO-Revision-Date: 2025-09-09 18:17+0000\n"
|
"PO-Revision-Date: 2025-09-21 13:17+0000\n"
|
||||||
"Last-Translator: Dimitri Decrock <dj.flashpower@gmail.com>\n"
|
"Last-Translator: Dimitri Decrock <dj.flashpower@gmail.com>\n"
|
||||||
"Language-Team: Dutch <https://translations.herculino.com/projects/wygiwyh/"
|
"Language-Team: Dutch <https://translations.herculino.com/projects/wygiwyh/"
|
||||||
"app/nl/>\n"
|
"app/nl/>\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 5.13.2\n"
|
"X-Generator: Weblate 5.13.3\n"
|
||||||
|
|
||||||
#: apps/accounts/forms.py:26
|
#: apps/accounts/forms.py:26
|
||||||
msgid "Group name"
|
msgid "Group name"
|
||||||
@@ -1344,7 +1344,7 @@ msgstr "Verrichting Bijwerken Of Maken succesvol verwijderd"
|
|||||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||||
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
||||||
#: templates/insights/fragments/category_overview/index.html:61
|
#: templates/insights/fragments/category_overview/index.html:61
|
||||||
#: templates/net_worth/net_worth.html:32
|
#: templates/net_worth/net_worth.html:33
|
||||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||||
msgid "Projected"
|
msgid "Projected"
|
||||||
@@ -2208,6 +2208,8 @@ msgid "Current balance"
|
|||||||
msgstr "Huidige saldo"
|
msgstr "Huidige saldo"
|
||||||
|
|
||||||
#: templates/accounts/fragments/account_reconciliation.html:39
|
#: templates/accounts/fragments/account_reconciliation.html:39
|
||||||
|
#: templates/net_worth/net_worth.html:105
|
||||||
|
#: templates/net_worth/net_worth.html:362
|
||||||
msgid "Difference"
|
msgid "Difference"
|
||||||
msgstr "Verschil"
|
msgstr "Verschil"
|
||||||
|
|
||||||
@@ -2583,19 +2585,19 @@ msgstr "Actuele Prijs"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Gekocht Bedrag"
|
msgstr "Gekocht Bedrag"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:390
|
#: templates/dca/fragments/strategy/details.html:392
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr "Instapprijs vs Huidige Prijs"
|
msgstr "Instapprijs vs Huidige Prijs"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:406
|
#: templates/dca/fragments/strategy/details.html:408
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Dagen Tussen Investeringen"
|
msgstr "Dagen Tussen Investeringen"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:453
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Investeringsfrequentie"
|
msgstr "Investeringsfrequentie"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:457
|
||||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
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."
|
msgstr "Hoe rechter de blauwe lijn, hoe consistenter je DCA-strategie is."
|
||||||
|
|
||||||
@@ -2796,7 +2798,7 @@ msgstr "Netto Waarde"
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:45
|
#: templates/includes/navbar.html:45
|
||||||
#: templates/insights/fragments/category_overview/index.html:65
|
#: templates/insights/fragments/category_overview/index.html:65
|
||||||
#: templates/net_worth/net_worth.html:22
|
#: templates/net_worth/net_worth.html:23
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Huidige"
|
msgstr "Huidige"
|
||||||
|
|
||||||
@@ -3190,25 +3192,29 @@ msgstr "Filter verrichtingen"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Sorteer op"
|
msgstr "Sorteer op"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:40
|
#: templates/net_worth/net_worth.html:42
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
msgstr "Op munteenheid"
|
msgstr "Op munteenheid"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:75
|
#: templates/net_worth/net_worth.html:78
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Samengevoegd"
|
msgstr "Samengevoegd"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:104
|
#: templates/net_worth/net_worth.html:101
|
||||||
|
msgid "Evolution"
|
||||||
|
msgstr "Evolutie"
|
||||||
|
|
||||||
|
#: templates/net_worth/net_worth.html:128
|
||||||
#: templates/yearly_overview/pages/overview_by_account.html:7
|
#: templates/yearly_overview/pages/overview_by_account.html:7
|
||||||
msgid "By account"
|
msgid "By account"
|
||||||
msgstr "Op rekening"
|
msgstr "Op rekening"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:211
|
#: templates/net_worth/net_worth.html:236
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Evolutie per munteenheid"
|
msgstr "Evolutie per munteenheid"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:275
|
#: templates/net_worth/net_worth.html:300
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr "Evolutie per rekening"
|
msgstr "Evolutie per rekening"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
"POT-Creation-Date: 2025-09-20 14:08+0000\n"
|
||||||
"PO-Revision-Date: 2025-09-07 14:17+0000\n"
|
"PO-Revision-Date: 2025-09-20 14:44+0000\n"
|
||||||
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
|
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
|
||||||
"Language-Team: Portuguese (Brazil) <https://translations.herculino.com/"
|
"Language-Team: Portuguese (Brazil) <https://translations.herculino.com/"
|
||||||
"projects/wygiwyh/app/pt_BR/>\n"
|
"projects/wygiwyh/app/pt_BR/>\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 5.13\n"
|
"X-Generator: Weblate 5.13.3\n"
|
||||||
|
|
||||||
#: apps/accounts/forms.py:26
|
#: apps/accounts/forms.py:26
|
||||||
msgid "Group name"
|
msgid "Group name"
|
||||||
@@ -1342,7 +1342,7 @@ msgstr "Ação Atualizar ou Criar Transação apagada com sucesso"
|
|||||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||||
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
||||||
#: templates/insights/fragments/category_overview/index.html:61
|
#: templates/insights/fragments/category_overview/index.html:61
|
||||||
#: templates/net_worth/net_worth.html:32
|
#: templates/net_worth/net_worth.html:33
|
||||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||||
msgid "Projected"
|
msgid "Projected"
|
||||||
@@ -2207,6 +2207,8 @@ msgid "Current balance"
|
|||||||
msgstr "Saldo atual"
|
msgstr "Saldo atual"
|
||||||
|
|
||||||
#: templates/accounts/fragments/account_reconciliation.html:39
|
#: templates/accounts/fragments/account_reconciliation.html:39
|
||||||
|
#: templates/net_worth/net_worth.html:105
|
||||||
|
#: templates/net_worth/net_worth.html:362
|
||||||
msgid "Difference"
|
msgid "Difference"
|
||||||
msgstr "Diferença"
|
msgstr "Diferença"
|
||||||
|
|
||||||
@@ -2582,19 +2584,19 @@ msgstr "Preço atual"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Quantia comprada"
|
msgstr "Quantia comprada"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:390
|
#: templates/dca/fragments/strategy/details.html:392
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr "Preço de Entrada vs Preço Atual"
|
msgstr "Preço de Entrada vs Preço Atual"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:406
|
#: templates/dca/fragments/strategy/details.html:408
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Dias entre investimentos"
|
msgstr "Dias entre investimentos"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:453
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Frequência de Investimento"
|
msgstr "Frequência de Investimento"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:457
|
||||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Quanto mais reta for a linha azul, mais consistente é sua estratégia de CMP."
|
"Quanto mais reta for a linha azul, mais consistente é sua estratégia de CMP."
|
||||||
@@ -2797,7 +2799,7 @@ msgstr "Patrimônio"
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:45
|
#: templates/includes/navbar.html:45
|
||||||
#: templates/insights/fragments/category_overview/index.html:65
|
#: templates/insights/fragments/category_overview/index.html:65
|
||||||
#: templates/net_worth/net_worth.html:22
|
#: templates/net_worth/net_worth.html:23
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Atual"
|
msgstr "Atual"
|
||||||
|
|
||||||
@@ -3189,25 +3191,29 @@ msgstr "Filtrar transações"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Ordernar por"
|
msgstr "Ordernar por"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:40
|
#: templates/net_worth/net_worth.html:42
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
msgstr "Por moeda"
|
msgstr "Por moeda"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:75
|
#: templates/net_worth/net_worth.html:78
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Consolidado"
|
msgstr "Consolidado"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:104
|
#: templates/net_worth/net_worth.html:101
|
||||||
|
msgid "Evolution"
|
||||||
|
msgstr "Evolução"
|
||||||
|
|
||||||
|
#: templates/net_worth/net_worth.html:128
|
||||||
#: templates/yearly_overview/pages/overview_by_account.html:7
|
#: templates/yearly_overview/pages/overview_by_account.html:7
|
||||||
msgid "By account"
|
msgid "By account"
|
||||||
msgstr "Por conta"
|
msgstr "Por conta"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:211
|
#: templates/net_worth/net_worth.html:236
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Evolução por moeda"
|
msgstr "Evolução por moeda"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:275
|
#: templates/net_worth/net_worth.html:300
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr "Evolução por conta"
|
msgstr "Evolução por conta"
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
"POT-Creation-Date: 2025-09-20 14:08+0000\n"
|
||||||
"PO-Revision-Date: 2025-04-14 06:16+0000\n"
|
"PO-Revision-Date: 2025-04-14 06:16+0000\n"
|
||||||
"Last-Translator: Emil <emil.bjorkroth@gmail.com>\n"
|
"Last-Translator: Emil <emil.bjorkroth@gmail.com>\n"
|
||||||
"Language-Team: Swedish <https://translations.herculino.com/projects/wygiwyh/"
|
"Language-Team: Swedish <https://translations.herculino.com/projects/wygiwyh/"
|
||||||
@@ -1318,7 +1318,7 @@ msgstr ""
|
|||||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||||
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
||||||
#: templates/insights/fragments/category_overview/index.html:61
|
#: templates/insights/fragments/category_overview/index.html:61
|
||||||
#: templates/net_worth/net_worth.html:32
|
#: templates/net_worth/net_worth.html:33
|
||||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||||
msgid "Projected"
|
msgid "Projected"
|
||||||
@@ -2169,6 +2169,8 @@ msgid "Current balance"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/accounts/fragments/account_reconciliation.html:39
|
#: templates/accounts/fragments/account_reconciliation.html:39
|
||||||
|
#: templates/net_worth/net_worth.html:105
|
||||||
|
#: templates/net_worth/net_worth.html:362
|
||||||
msgid "Difference"
|
msgid "Difference"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2544,19 +2546,19 @@ msgstr ""
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:390
|
#: templates/dca/fragments/strategy/details.html:392
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:406
|
#: templates/dca/fragments/strategy/details.html:408
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:453
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:457
|
||||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2756,7 +2758,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:45
|
#: templates/includes/navbar.html:45
|
||||||
#: templates/insights/fragments/category_overview/index.html:65
|
#: templates/insights/fragments/category_overview/index.html:65
|
||||||
#: templates/net_worth/net_worth.html:22
|
#: templates/net_worth/net_worth.html:23
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3139,25 +3141,29 @@ msgstr ""
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:40
|
#: templates/net_worth/net_worth.html:42
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:75
|
#: templates/net_worth/net_worth.html:78
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:104
|
#: templates/net_worth/net_worth.html:101
|
||||||
|
msgid "Evolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/net_worth/net_worth.html:128
|
||||||
#: templates/yearly_overview/pages/overview_by_account.html:7
|
#: templates/yearly_overview/pages/overview_by_account.html:7
|
||||||
msgid "By account"
|
msgid "By account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:211
|
#: templates/net_worth/net_worth.html:236
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:275
|
#: templates/net_worth/net_worth.html:300
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
"POT-Creation-Date: 2025-09-20 14:08+0000\n"
|
||||||
"PO-Revision-Date: 2025-05-12 14:16+0000\n"
|
"PO-Revision-Date: 2025-05-12 14:16+0000\n"
|
||||||
"Last-Translator: Felix <xnovaua@gmail.com>\n"
|
"Last-Translator: Felix <xnovaua@gmail.com>\n"
|
||||||
"Language-Team: Ukrainian <https://translations.herculino.com/projects/"
|
"Language-Team: Ukrainian <https://translations.herculino.com/projects/"
|
||||||
@@ -1335,7 +1335,7 @@ msgstr ""
|
|||||||
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
#: apps/transactions/filters.py:24 templates/cotton/transaction/item.html:21
|
||||||
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
#: templates/cotton/transaction/item.html:32 templates/includes/navbar.html:47
|
||||||
#: templates/insights/fragments/category_overview/index.html:61
|
#: templates/insights/fragments/category_overview/index.html:61
|
||||||
#: templates/net_worth/net_worth.html:32
|
#: templates/net_worth/net_worth.html:33
|
||||||
#: templates/transactions/widgets/paid_toggle_button.html:8
|
#: templates/transactions/widgets/paid_toggle_button.html:8
|
||||||
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
#: templates/transactions/widgets/unselectable_paid_toggle_button.html:12
|
||||||
msgid "Projected"
|
msgid "Projected"
|
||||||
@@ -2190,6 +2190,8 @@ msgid "Current balance"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/accounts/fragments/account_reconciliation.html:39
|
#: templates/accounts/fragments/account_reconciliation.html:39
|
||||||
|
#: templates/net_worth/net_worth.html:105
|
||||||
|
#: templates/net_worth/net_worth.html:362
|
||||||
msgid "Difference"
|
msgid "Difference"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2565,19 +2567,19 @@ msgstr ""
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:390
|
#: templates/dca/fragments/strategy/details.html:392
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:406
|
#: templates/dca/fragments/strategy/details.html:408
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:453
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:457
|
||||||
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
msgid "The straighter the blue line, the more consistent your DCA strategy is."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2777,7 +2779,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: templates/includes/navbar.html:45
|
#: templates/includes/navbar.html:45
|
||||||
#: templates/insights/fragments/category_overview/index.html:65
|
#: templates/insights/fragments/category_overview/index.html:65
|
||||||
#: templates/net_worth/net_worth.html:22
|
#: templates/net_worth/net_worth.html:23
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3160,25 +3162,29 @@ msgstr ""
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:40
|
#: templates/net_worth/net_worth.html:42
|
||||||
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
#: templates/yearly_overview/pages/overview_by_currency.html:9
|
||||||
msgid "By currency"
|
msgid "By currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:75
|
#: templates/net_worth/net_worth.html:78
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:104
|
#: templates/net_worth/net_worth.html:101
|
||||||
|
msgid "Evolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/net_worth/net_worth.html:128
|
||||||
#: templates/yearly_overview/pages/overview_by_account.html:7
|
#: templates/yearly_overview/pages/overview_by_account.html:7
|
||||||
msgid "By account"
|
msgid "By account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:211
|
#: templates/net_worth/net_worth.html:236
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:275
|
#: templates/net_worth/net_worth.html:300
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
{% if icon %}<i class="{{ icon }}"></i>{% else %}<span class="fw-bold">{{ title.0 }}</span>{% endif %}
|
{% if icon %}<i class="{{ icon }}"></i>{% else %}<span class="fw-bold">{{ title.0 }}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="tw:text-{{ color }}-400 fw-bold tw:mr-[50px]" {{ attrs }}>{{ title }}{% if help_text %}<c-ui.help-icon :content="help_text" icon=""></c-ui.help-icon>{% endif %}</h5>
|
<h5 class="tw:text-{{ color }}-400 fw-bold tw:mr-[50px] {{ title_css_classes }}" {{ attrs }}>{{ title }}{% if help_text %}<c-ui.help-icon :content="help_text" icon=""></c-ui.help-icon>{% endif %}</h5>
|
||||||
{{ slot }}
|
{{ slot }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -354,6 +354,7 @@
|
|||||||
display: false,
|
display: false,
|
||||||
},
|
},
|
||||||
ticks: {
|
ticks: {
|
||||||
|
display: false,
|
||||||
format: { maximumFractionDigits: 40, minimumFractionDigits: 1 }
|
format: { maximumFractionDigits: 40, minimumFractionDigits: 1 }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -369,6 +370,7 @@
|
|||||||
display: false,
|
display: false,
|
||||||
},
|
},
|
||||||
ticks: {
|
ticks: {
|
||||||
|
display: false,
|
||||||
format: { maximumFractionDigits: 40, minimumFractionDigits: 1 }
|
format: { maximumFractionDigits: 40, minimumFractionDigits: 1 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,338 +9,422 @@
|
|||||||
{% block title %}{% if type == "current" %}{% translate 'Current Net Worth' %}{% else %}{% translate 'Projected Net Worth' %}{% endif %}{% endblock %}
|
{% block title %}{% if type == "current" %}{% translate 'Current Net Worth' %}{% else %}{% translate 'Projected Net Worth' %}{% endif %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div hx-trigger="every 60m, updated from:window" hx-include="#view-type" class="show-loading" hx-get="" hx-target="body">
|
<div hx-trigger="every 60m, updated from:window" hx-include="#view-type" class="show-loading" hx-get=""
|
||||||
<div class="h-100 text-center mb-4 pt-2">
|
hx-target="body">
|
||||||
<div class="btn-group gap-3" role="group" id="view-type" _="on change trigger updated">
|
<div class="h-100 text-center mb-4 pt-2">
|
||||||
<input type="radio" class="btn-check"
|
<div class="btn-group gap-3" role="group" id="view-type" _="on change trigger updated">
|
||||||
name="view_type"
|
<input type="radio" class="btn-check"
|
||||||
id="current-view"
|
name="view_type"
|
||||||
autocomplete="off"
|
id="current-view"
|
||||||
value="current"
|
autocomplete="off"
|
||||||
{% if type == "current" %}checked{% endif %}>
|
value="current"
|
||||||
<label class="btn btn-outline-primary rounded-5" for="current-view"><i
|
{% if type == "current" %}checked{% endif %}>
|
||||||
class="fa-solid fa-sack-dollar fa-fw me-2"></i>{% trans 'Current' %}</label>
|
<label class="btn btn-outline-primary rounded-5" for="current-view"><i
|
||||||
|
class="fa-solid fa-sack-dollar fa-fw me-2"></i>{% trans 'Current' %}</label>
|
||||||
|
|
||||||
<input type="radio"
|
<input type="radio"
|
||||||
class="btn-check"
|
class="btn-check"
|
||||||
name="view_type"
|
name="view_type"
|
||||||
id="projected-view"
|
id="projected-view"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
value="projected"
|
value="projected"
|
||||||
{% if type == "projected" %}checked{% endif %}>
|
{% if type == "projected" %}checked{% endif %}>
|
||||||
<label class="btn btn-outline-primary rounded-5" for="projected-view"><i
|
<label class="btn btn-outline-primary rounded-5" for="projected-view"><i
|
||||||
class="fa-solid fa-rocket fa-fw me-2"></i>{% trans 'Projected' %}</label>
|
class="fa-solid fa-rocket fa-fw me-2"></i>{% trans 'Projected' %}</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="container px-md-3 py-3"
|
||||||
<div class="container px-md-3 py-3" _="init call initializeAccountChart() then initializeCurrencyChart() end">
|
_="init call initializeAccountChart() then initializeCurrencyChart() then initializeMonthlyDifferenceChart() end">
|
||||||
<div class="row gx-xl-4 gy-3 mb-4">
|
<div class="row gx-xl-4 gy-3 mb-4">
|
||||||
<div class="col-12 col-xl-5">
|
<div class="col-12 col-xl-5">
|
||||||
<div class="row row-cols-1 g-4">
|
<div class="row row-cols-1 g-4">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<c-ui.info-card color="yellow" icon="fa-solid fa-coins" title="{% trans 'By currency' %}"
|
<c-ui.info-card color="yellow" icon="fa-solid fa-coins" title="{% trans 'By currency' %}"
|
||||||
_="on click showAllDatasetsCurrency()">
|
title_css_classes="tw:cursor-pointer"
|
||||||
{% for currency in currency_net_worth.values %}
|
_="on click showAllDatasetsCurrency()">
|
||||||
<div class="d-flex justify-content-between mt-2">
|
{% for currency in currency_net_worth.values %}
|
||||||
<div class="d-flex align-items-baseline w-100">
|
<div class="d-flex justify-content-between mt-2">
|
||||||
<div class="currency-name text-start font-monospace tw:text-gray-300"
|
<div class="d-flex align-items-baseline w-100">
|
||||||
_="on click showOnlyCurrencyDataset('{{ currency.currency.name }}')">
|
<div class="currency-name text-start font-monospace tw:text-gray-300 tw:cursor-pointer"
|
||||||
{{ currency.currency.name }}
|
_="on click showOnlyCurrencyDataset('{{ currency.currency.name }}')">
|
||||||
|
{{ currency.currency.name }}
|
||||||
|
</div>
|
||||||
|
<div class="dotted-line flex-grow-1"></div>
|
||||||
|
<div>
|
||||||
|
<c-amount.display
|
||||||
|
:amount="currency.total_final"
|
||||||
|
:prefix="currency.currency.prefix"
|
||||||
|
:suffix="currency.currency.suffix"
|
||||||
|
:decimal_places="currency.currency.decimal_places"
|
||||||
|
color="{% if currency.total_final > 0 %}green{% elif currency.total_final < 0 %}red{% endif %}"
|
||||||
|
text-end></c-amount.display>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dotted-line flex-grow-1"></div>
|
</div>
|
||||||
|
{% if currency.exchanged and currency.exchanged.total_final %}
|
||||||
<div>
|
<div>
|
||||||
<c-amount.display
|
<c-amount.display
|
||||||
:amount="currency.total_final"
|
:amount="currency.exchanged.total_final"
|
||||||
:prefix="currency.currency.prefix"
|
:prefix="currency.exchanged.currency.prefix"
|
||||||
:suffix="currency.currency.suffix"
|
:suffix="currency.exchanged.currency.suffix"
|
||||||
:decimal_places="currency.currency.decimal_places"
|
:decimal_places="currency.exchanged.currency.decimal_places"
|
||||||
color="{% if currency.total_final > 0 %}green{% elif currency.total_final < 0 %}red{% endif %}"
|
text-end
|
||||||
text-end></c-amount.display>
|
color="grey"></c-amount.display>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{% endif %}
|
||||||
</div>
|
{% if currency.consolidated and currency.consolidated.total_final != currency.total_final %}
|
||||||
{% if currency.exchanged and currency.exchanged.total_final %}
|
<div class="d-flex align-items-baseline w-100">
|
||||||
<div>
|
<div class="account-name text-start font-monospace tw:text-gray-300">
|
||||||
<c-amount.display
|
<span class="hierarchy-line-icon"></span>{% trans 'Consolidated' %}</div>
|
||||||
:amount="currency.exchanged.total_final"
|
<div class="dotted-line flex-grow-1"></div>
|
||||||
:prefix="currency.exchanged.currency.prefix"
|
<div class="">
|
||||||
:suffix="currency.exchanged.currency.suffix"
|
<c-amount.display
|
||||||
:decimal_places="currency.exchanged.currency.decimal_places"
|
|
||||||
text-end
|
|
||||||
color="grey"></c-amount.display>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{% if currency.consolidated and currency.consolidated.total_final != currency.total_final %}
|
|
||||||
<div class="d-flex align-items-baseline w-100">
|
|
||||||
<div class="account-name text-start font-monospace tw:text-gray-300">
|
|
||||||
<span class="hierarchy-line-icon"></span>{% trans 'Consolidated' %}</div>
|
|
||||||
<div class="dotted-line flex-grow-1"></div>
|
|
||||||
<div class="">
|
|
||||||
<c-amount.display
|
|
||||||
:amount="currency.consolidated.total_final"
|
:amount="currency.consolidated.total_final"
|
||||||
:prefix="currency.consolidated.currency.prefix"
|
:prefix="currency.consolidated.currency.prefix"
|
||||||
:suffix="currency.consolidated.currency.suffix"
|
:suffix="currency.consolidated.currency.suffix"
|
||||||
:decimal_places="currency.consolidated.currency.decimal_places"
|
:decimal_places="currency.consolidated.currency.decimal_places"
|
||||||
color="{% if currency.consolidated.total_final > 0 %}green{% elif currency.consolidated.total_final < 0 %}red{% endif %}"
|
color="{% if currency.consolidated.total_final > 0 %}green{% elif currency.consolidated.total_final < 0 %}red{% endif %}"
|
||||||
text-end></c-amount.display>
|
text-end></c-amount.display>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
</div>
|
||||||
{% endfor %}
|
{% endif %}
|
||||||
</c-ui.info-card>
|
{% endfor %}
|
||||||
|
</c-ui.info-card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-xl-7">
|
||||||
|
<ul class="nav nav-tabs" id="myTab" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link active" id="evolution-tab" data-bs-toggle="tab"
|
||||||
|
data-bs-target="#evolution-tab-pane" type="button" role="tab" aria-controls="evolution-tab-pane"
|
||||||
|
aria-selected="true">{% trans 'Evolution' %}</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link" id="diff-tab" data-bs-toggle="tab" data-bs-target="#diff-tab-pane" type="button"
|
||||||
|
role="tab" aria-controls="diff-tab-pane" aria-selected="false">{% trans 'Difference' %}</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="tab-content" id="myTabContent">
|
||||||
|
<div class="tab-pane fade show active" id="evolution-tab-pane" role="tabpanel"
|
||||||
|
aria-labelledby="evolution-tab" tabindex="0">
|
||||||
|
<div class="chart-container position-relative tw:min-h-[40vh] tw:h-full tw:w-full">
|
||||||
|
<canvas id="currencyBalanceChart"></canvas>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade" id="diff-tab-pane" role="tabpanel" aria-labelledby="diff-tab" tabindex="0">
|
||||||
|
<div class="chart-container position-relative tw:min-h-[40vh] tw:h-full tw:w-full">
|
||||||
|
<canvas id="monthlyDifferenceChart"></canvas>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-xl-7">
|
<hr>
|
||||||
<div class="chart-container position-relative tw:min-h-[40vh] tw:h-full">
|
<div class="row gx-xl-4 gy-3 mt-4">
|
||||||
<canvas id="currencyBalanceChart"></canvas>
|
<div class="col-12 col-xl-5">
|
||||||
</div>
|
<div class="row row-cols-1 g-4">
|
||||||
</div>
|
<div class="col">
|
||||||
</div>
|
<c-ui.info-card color="blue" icon="fa-solid fa-wallet" title="{% trans 'By account' %}"
|
||||||
<hr>
|
title_css_classes="tw:cursor-pointer"
|
||||||
<div class="row gx-xl-4 gy-3 mt-4">
|
_="on click showAllDatasetsAccount()">
|
||||||
<div class="col-12 col-xl-5">
|
{% regroup account_net_worth.values by account.group as account_data %}
|
||||||
<div class="row row-cols-1 g-4">
|
{% for data in account_data %}
|
||||||
<div class="col">
|
{% if data.grouper %}
|
||||||
<c-ui.info-card color="blue" icon="fa-solid fa-wallet" title="{% trans 'By account' %}"
|
<div class="d-flex justify-content-between mt-2">
|
||||||
_="on click showAllDatasetsAccount()">
|
<div class="d-flex align-items-baseline w-100">
|
||||||
{% regroup account_net_worth.values by account.group as account_data %}
|
<div class="text-start font-monospace tw:text-gray-300"><span class="badge text-bg-primary">
|
||||||
{% for data in account_data %}
|
|
||||||
{% if data.grouper %}
|
|
||||||
<div class="d-flex justify-content-between mt-2">
|
|
||||||
<div class="d-flex align-items-baseline w-100">
|
|
||||||
<div class="text-start font-monospace tw:text-gray-300"><span class="badge text-bg-primary">
|
|
||||||
{{ data.grouper }}</span></div>
|
{{ data.grouper }}</span></div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% for account in data.list %}
|
|
||||||
<div class="d-flex justify-content-between mt-2">
|
|
||||||
<div class="d-flex align-items-baseline w-100">
|
|
||||||
<div class="account-name text-start font-monospace tw:text-gray-300"
|
|
||||||
_="on click showOnlyAccountDataset('{{ account.account.name }}')">
|
|
||||||
<span class="hierarchy-line-icon"></span>{{ account.account.name }}</div>
|
|
||||||
<div class="dotted-line flex-grow-1"></div>
|
|
||||||
<div class="">
|
|
||||||
<c-amount.display
|
|
||||||
:amount="account.total_final"
|
|
||||||
:prefix="account.currency.prefix"
|
|
||||||
:suffix="account.currency.suffix"
|
|
||||||
:decimal_places="account.currency.decimal_places"
|
|
||||||
color="{% if account.total_final > 0 %}green{% elif account.total_final < 0 %}red{% endif %}"></c-amount.display>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% if account.exchanged and account.exchanged.total_final %}
|
{% for account in data.list %}
|
||||||
<c-amount.display
|
<div class="d-flex justify-content-between mt-2">
|
||||||
:amount="account.exchanged.total_final"
|
<div class="d-flex align-items-baseline w-100">
|
||||||
:prefix="account.exchanged.currency.prefix"
|
<div class="account-name text-start font-monospace tw:text-gray-300 tw:cursor-pointer"
|
||||||
:suffix="account.exchanged.currency.suffix"
|
_="on click showOnlyAccountDataset('{{ account.account.name }}')">
|
||||||
:decimal_places="account.exchanged.currency.decimal_places"
|
<span class="hierarchy-line-icon"></span>{{ account.account.name }}</div>
|
||||||
color="grey"
|
<div class="dotted-line flex-grow-1"></div>
|
||||||
text-end></c-amount.display>
|
<div class="">
|
||||||
{% endif %}
|
<c-amount.display
|
||||||
{% endfor %}
|
:amount="account.total_final"
|
||||||
{% else %}
|
:prefix="account.currency.prefix"
|
||||||
{% for account in data.list %}
|
:suffix="account.currency.suffix"
|
||||||
<div class="d-flex justify-content-between mt-2">
|
:decimal_places="account.currency.decimal_places"
|
||||||
<div class="d-flex align-items-baseline w-100">
|
color="{% if account.total_final > 0 %}green{% elif account.total_final < 0 %}red{% endif %}"></c-amount.display>
|
||||||
<div class="account-name text-start font-monospace tw:text-gray-300"
|
</div>
|
||||||
_="on click showOnlyAccountDataset('{{ account.account.name }}')">
|
|
||||||
{{ account.account.name }}
|
|
||||||
</div>
|
|
||||||
<div class="dotted-line flex-grow-1"></div>
|
|
||||||
<div>
|
|
||||||
<c-amount.display
|
|
||||||
:amount="account.total_final"
|
|
||||||
:prefix="account.currency.prefix"
|
|
||||||
:suffix="account.currency.suffix"
|
|
||||||
:decimal_places="account.currency.decimal_places"
|
|
||||||
color="{% if account.total_final > 0 %}green{% elif account.total_final < 0 %}red{% endif %}"></c-amount.display>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{% if account.exchanged and account.exchanged.total_final %}
|
||||||
{% if account.exchanged and account.exchanged.total_final %}
|
<c-amount.display
|
||||||
<c-amount.display
|
:amount="account.exchanged.total_final"
|
||||||
:amount="account.exchanged.total_final"
|
:prefix="account.exchanged.currency.prefix"
|
||||||
:prefix="account.exchanged.currency.prefix"
|
:suffix="account.exchanged.currency.suffix"
|
||||||
:suffix="account.exchanged.currency.suffix"
|
:decimal_places="account.exchanged.currency.decimal_places"
|
||||||
:decimal_places="account.exchanged.currency.decimal_places"
|
color="grey"
|
||||||
color="grey"
|
text-end></c-amount.display>
|
||||||
text-end></c-amount.display>
|
{% endif %}
|
||||||
{% endif %}
|
{% endfor %}
|
||||||
{% endfor %}
|
{% else %}
|
||||||
{% endif %}
|
{% for account in data.list %}
|
||||||
{% endfor %}
|
<div class="d-flex justify-content-between mt-2">
|
||||||
</c-ui.info-card>
|
<div class="d-flex align-items-baseline w-100">
|
||||||
|
<div class="account-name text-start font-monospace tw:text-gray-300 tw:cursor-pointer"
|
||||||
|
_="on click showOnlyAccountDataset('{{ account.account.name }}')">
|
||||||
|
{{ account.account.name }}
|
||||||
|
</div>
|
||||||
|
<div class="dotted-line flex-grow-1"></div>
|
||||||
|
<div>
|
||||||
|
<c-amount.display
|
||||||
|
:amount="account.total_final"
|
||||||
|
:prefix="account.currency.prefix"
|
||||||
|
:suffix="account.currency.suffix"
|
||||||
|
:decimal_places="account.currency.decimal_places"
|
||||||
|
color="{% if account.total_final > 0 %}green{% elif account.total_final < 0 %}red{% endif %}"></c-amount.display>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% if account.exchanged and account.exchanged.total_final %}
|
||||||
|
<c-amount.display
|
||||||
|
:amount="account.exchanged.total_final"
|
||||||
|
:prefix="account.exchanged.currency.prefix"
|
||||||
|
:suffix="account.exchanged.currency.suffix"
|
||||||
|
:decimal_places="account.exchanged.currency.decimal_places"
|
||||||
|
color="grey"
|
||||||
|
text-end></c-amount.display>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</c-ui.info-card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-xl-7">
|
||||||
|
<div class="chart-container position-relative tw:min-h-[40vh] tw:h-full">
|
||||||
|
<canvas id="accountBalanceChart"></canvas>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-xl-7">
|
|
||||||
<div class="chart-container position-relative tw:min-h-[40vh] tw:h-full">
|
|
||||||
<canvas id="accountBalanceChart"></canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var currencyChart;
|
||||||
|
|
||||||
|
function initializeCurrencyChart() {
|
||||||
|
// Destroy existing chart if it exists
|
||||||
|
if (currencyChart) {
|
||||||
|
currencyChart.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
var chartData = JSON.parse('{{ chart_data_currency_json|safe }}');
|
||||||
|
var currencies = {{ currencies|safe }};
|
||||||
|
var ctx = document.getElementById('currencyBalanceChart').getContext('2d');
|
||||||
|
|
||||||
|
currencyChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
data: chartData,
|
||||||
|
options: {
|
||||||
|
maintainAspectRatio: false,
|
||||||
|
responsive: true,
|
||||||
|
interaction: {
|
||||||
|
mode: 'index',
|
||||||
|
intersect: false,
|
||||||
|
},
|
||||||
|
plugins: {
|
||||||
|
title: {
|
||||||
|
display: true,
|
||||||
|
text: '{% translate 'Evolution by currency' %}'
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
mode: 'index',
|
||||||
|
intersect: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
x: {
|
||||||
|
display: true,
|
||||||
|
title: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
...Object.fromEntries(currencies.map((currency, i) => [
|
||||||
|
`y${i}`,
|
||||||
|
{
|
||||||
|
type: 'linear',
|
||||||
|
display: true,
|
||||||
|
grid: {
|
||||||
|
drawOnChartArea: i === 0,
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
display: false,
|
||||||
|
format: {maximumFractionDigits: 40, minimumFractionDigits: 0}
|
||||||
|
},
|
||||||
|
border: {
|
||||||
|
display: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script id="accountBalanceChartScript">
|
||||||
|
var accountChart;
|
||||||
|
|
||||||
|
function initializeAccountChart() {
|
||||||
|
// Destroy existing chart if it exists
|
||||||
|
if (accountChart) {
|
||||||
|
accountChart.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
var chartData = JSON.parse('{{ chart_data_accounts_json|safe }}');
|
||||||
|
var accounts = {{ accounts|safe }};
|
||||||
|
var ctx = document.getElementById('accountBalanceChart').getContext('2d');
|
||||||
|
|
||||||
|
accountChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
data: chartData,
|
||||||
|
options: {
|
||||||
|
maintainAspectRatio: false,
|
||||||
|
responsive: true,
|
||||||
|
interaction: {
|
||||||
|
mode: 'index',
|
||||||
|
intersect: false,
|
||||||
|
},
|
||||||
|
stacked: false,
|
||||||
|
plugins: {
|
||||||
|
title: {
|
||||||
|
display: true,
|
||||||
|
text: '{% translate "Evolution by account" %}'
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
mode: 'index',
|
||||||
|
intersect: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
x: {
|
||||||
|
display: true,
|
||||||
|
title: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
...Object.fromEntries(accounts.map((account, i) => [
|
||||||
|
`y-axis-${i}`,
|
||||||
|
{
|
||||||
|
type: 'linear',
|
||||||
|
display: true,
|
||||||
|
position: i % 2 === 0 ? 'left' : 'right',
|
||||||
|
grid: {
|
||||||
|
drawOnChartArea: i === 0,
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
display: false,
|
||||||
|
format: {maximumFractionDigits: 40, minimumFractionDigits: 0}
|
||||||
|
},
|
||||||
|
border: {
|
||||||
|
display: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script id="monthlyDifferenceChartScript">
|
||||||
|
var monthlyDifferenceChart;
|
||||||
|
|
||||||
|
function initializeMonthlyDifferenceChart() {
|
||||||
|
if (monthlyDifferenceChart) {
|
||||||
|
monthlyDifferenceChart.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
var chartData = JSON.parse('{{ chart_data_monthly_difference_json|safe }}');
|
||||||
|
var ctx = document.getElementById('monthlyDifferenceChart').getContext('2d');
|
||||||
|
|
||||||
|
monthlyDifferenceChart = new Chart(ctx, {
|
||||||
|
type: 'bar',
|
||||||
|
data: chartData,
|
||||||
|
options: {
|
||||||
|
maintainAspectRatio: false,
|
||||||
|
responsive: true,
|
||||||
|
interaction: {
|
||||||
|
mode: 'index',
|
||||||
|
intersect: false,
|
||||||
|
},
|
||||||
|
plugins: {
|
||||||
|
title: {
|
||||||
|
display: true,
|
||||||
|
text: '{% translate "Difference" %}'
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
mode: 'index',
|
||||||
|
intersect: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
x: {
|
||||||
|
stacked: true,
|
||||||
|
},
|
||||||
|
y: {
|
||||||
|
stacked: true,
|
||||||
|
ticks: {
|
||||||
|
display: false,
|
||||||
|
format: {maximumFractionDigits: 40, minimumFractionDigits: 0}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/hyperscript">
|
||||||
|
def showOnlyAccountDataset(datasetName)
|
||||||
|
for dataset in accountChart.data.datasets
|
||||||
|
set isMatch to dataset.label is datasetName
|
||||||
|
call accountChart.setDatasetVisibility(accountChart.data.datasets.indexOf(dataset), isMatch)
|
||||||
|
end
|
||||||
|
call accountChart.update()
|
||||||
|
end
|
||||||
|
|
||||||
|
def showOnlyCurrencyDataset(datasetName)
|
||||||
|
for dataset in currencyChart.data.datasets
|
||||||
|
set isMatch to dataset.label is datasetName
|
||||||
|
call currencyChart.setDatasetVisibility(currencyChart.data.datasets.indexOf(dataset), isMatch)
|
||||||
|
end
|
||||||
|
call currencyChart.update()
|
||||||
|
|
||||||
|
for dataset in monthlyDifferenceChart.data.datasets
|
||||||
|
set isMatch to dataset.label is datasetName
|
||||||
|
call monthlyDifferenceChart.setDatasetVisibility(monthlyDifferenceChart.data.datasets.indexOf(dataset), isMatch)
|
||||||
|
end
|
||||||
|
call monthlyDifferenceChart.update()
|
||||||
|
end
|
||||||
|
|
||||||
|
def showAllDatasetsAccount()
|
||||||
|
for dataset in accountChart.data.datasets
|
||||||
|
call accountChart.setDatasetVisibility(accountChart.data.datasets.indexOf(dataset), true)
|
||||||
|
end
|
||||||
|
call accountChart.update()
|
||||||
|
end
|
||||||
|
|
||||||
|
def showAllDatasetsCurrency()
|
||||||
|
for dataset in currencyChart.data.datasets
|
||||||
|
call currencyChart.setDatasetVisibility(currencyChart.data.datasets.indexOf(dataset), true)
|
||||||
|
end
|
||||||
|
call currencyChart.update()
|
||||||
|
|
||||||
|
for dataset in monthlyDifferenceChart.data.datasets
|
||||||
|
call monthlyDifferenceChart.setDatasetVisibility(monthlyDifferenceChart.data.datasets.indexOf(dataset), true)
|
||||||
|
end
|
||||||
|
call monthlyDifferenceChart.update()
|
||||||
|
end
|
||||||
|
</script>
|
||||||
</div>
|
</div>
|
||||||
|
<c-ui.transactions_fab></c-ui.transactions_fab>
|
||||||
<script>
|
|
||||||
var currencyChart;
|
|
||||||
|
|
||||||
function initializeCurrencyChart() {
|
|
||||||
// Destroy existing chart if it exists
|
|
||||||
if (currencyChart) {
|
|
||||||
currencyChart.destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
var chartData = JSON.parse('{{ chart_data_currency_json|safe }}');
|
|
||||||
var currencies = {{ currencies|safe }};
|
|
||||||
var ctx = document.getElementById('currencyBalanceChart').getContext('2d');
|
|
||||||
|
|
||||||
currencyChart = new Chart(ctx, {
|
|
||||||
type: 'line',
|
|
||||||
data: chartData,
|
|
||||||
options: {
|
|
||||||
maintainAspectRatio: false,
|
|
||||||
responsive: true,
|
|
||||||
interaction: {
|
|
||||||
mode: 'index',
|
|
||||||
intersect: false,
|
|
||||||
},
|
|
||||||
plugins: {
|
|
||||||
title: {
|
|
||||||
display: true,
|
|
||||||
text: '{% translate 'Evolution by currency' %}'
|
|
||||||
},
|
|
||||||
tooltip: {
|
|
||||||
mode: 'index',
|
|
||||||
intersect: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
scales: {
|
|
||||||
x: {
|
|
||||||
display: true,
|
|
||||||
title: {
|
|
||||||
display: false,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
...Object.fromEntries(currencies.map((currency, i) => [
|
|
||||||
`y${i}`,
|
|
||||||
{
|
|
||||||
type: 'linear',
|
|
||||||
display: true,
|
|
||||||
grid: {
|
|
||||||
drawOnChartArea: i === 0,
|
|
||||||
},
|
|
||||||
ticks: {
|
|
||||||
display: false,
|
|
||||||
format: {maximumFractionDigits: 40, minimumFractionDigits: 0}
|
|
||||||
},
|
|
||||||
border: {
|
|
||||||
display: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script id="accountBalanceChartScript">
|
|
||||||
var accountChart;
|
|
||||||
|
|
||||||
function initializeAccountChart() {
|
|
||||||
// Destroy existing chart if it exists
|
|
||||||
if (accountChart) {
|
|
||||||
accountChart.destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
var chartData = JSON.parse('{{ chart_data_accounts_json|safe }}');
|
|
||||||
var accounts = {{ accounts|safe }};
|
|
||||||
var ctx = document.getElementById('accountBalanceChart').getContext('2d');
|
|
||||||
|
|
||||||
accountChart = new Chart(ctx, {
|
|
||||||
type: 'line',
|
|
||||||
data: chartData,
|
|
||||||
options: {
|
|
||||||
maintainAspectRatio: false,
|
|
||||||
responsive: true,
|
|
||||||
interaction: {
|
|
||||||
mode: 'index',
|
|
||||||
intersect: false,
|
|
||||||
},
|
|
||||||
stacked: false,
|
|
||||||
plugins: {
|
|
||||||
title: {
|
|
||||||
display: true,
|
|
||||||
text: '{% translate "Evolution by account" %}'
|
|
||||||
},
|
|
||||||
tooltip: {
|
|
||||||
mode: 'index',
|
|
||||||
intersect: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
scales: {
|
|
||||||
x: {
|
|
||||||
display: true,
|
|
||||||
title: {
|
|
||||||
display: false,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
...Object.fromEntries(accounts.map((account, i) => [
|
|
||||||
`y-axis-${i}`,
|
|
||||||
{
|
|
||||||
type: 'linear',
|
|
||||||
display: true,
|
|
||||||
position: i % 2 === 0 ? 'left' : 'right',
|
|
||||||
grid: {
|
|
||||||
drawOnChartArea: i === 0,
|
|
||||||
},
|
|
||||||
ticks: {
|
|
||||||
display: false,
|
|
||||||
format: {maximumFractionDigits: 40, minimumFractionDigits: 0}
|
|
||||||
},
|
|
||||||
border: {
|
|
||||||
display: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script type="text/hyperscript">
|
|
||||||
def showOnlyAccountDataset(datasetName)
|
|
||||||
for dataset in accountChart.data.datasets
|
|
||||||
set isMatch to dataset.label is datasetName
|
|
||||||
call accountChart.setDatasetVisibility(accountChart.data.datasets.indexOf(dataset), isMatch)
|
|
||||||
end
|
|
||||||
call accountChart.update()
|
|
||||||
end
|
|
||||||
|
|
||||||
def showOnlyCurrencyDataset(datasetName)
|
|
||||||
for dataset in currencyChart.data.datasets
|
|
||||||
set isMatch to dataset.label is datasetName
|
|
||||||
call currencyChart.setDatasetVisibility(currencyChart.data.datasets.indexOf(dataset), isMatch)
|
|
||||||
end
|
|
||||||
call currencyChart.update()
|
|
||||||
end
|
|
||||||
|
|
||||||
def showAllDatasetsAccount()
|
|
||||||
for dataset in accountChart.data.datasets
|
|
||||||
call accountChart.setDatasetVisibility(accountChart.data.datasets.indexOf(dataset), true)
|
|
||||||
end
|
|
||||||
call accountChart.update()
|
|
||||||
end
|
|
||||||
|
|
||||||
def showAllDatasetsCurrency()
|
|
||||||
for dataset in currencyChart.data.datasets
|
|
||||||
call currencyChart.setDatasetVisibility(currencyChart.data.datasets.indexOf(dataset), true)
|
|
||||||
end
|
|
||||||
call currencyChart.update()
|
|
||||||
end
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
<c-ui.transactions_fab></c-ui.transactions_fab>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<div>
|
<div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row vh-100 d-flex justify-content-center align-items-center">
|
<div class="row tw:h-dvh d-flex justify-content-center align-items-center">
|
||||||
<div class="col-md-6 col-xl-4 col-12">
|
<div class="col-md-6 col-xl-4 col-12">
|
||||||
{% settings "DEMO" as demo_mode %}
|
{% settings "DEMO" as demo_mode %}
|
||||||
{% if demo_mode %}
|
{% if demo_mode %}
|
||||||
|
|||||||
Reference in New Issue
Block a user