mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-04-23 09:08:39 +02:00
Compare commits
1 Commits
add-mcp-se
...
internal_p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d7dd622f5 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -160,3 +160,6 @@ cython_debug/
|
|||||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||||
.idea/
|
.idea/
|
||||||
|
|
||||||
|
postgres_data/
|
||||||
|
.prod.env
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
<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>
|
||||||
@@ -127,6 +126,7 @@ To create the first user, open the container's console using Unraid's UI, by cli
|
|||||||
|
|
||||||
| variable | type | default | explanation |
|
| variable | type | default | explanation |
|
||||||
|-------------------------------|-------------|-----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|-------------------------------|-------------|-----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| INTERNAL_PORT | int | 8000 | The port on which the app listens on. Defaults to 8000 if not set. |
|
||||||
| DJANGO_ALLOWED_HOSTS | string | localhost 127.0.0.1 | A list of space separated domains and IPs representing the host/domain names that WYGIWYH site can serve. [Click here](https://docs.djangoproject.com/en/5.1/ref/settings/#allowed-hosts) for more details |
|
| DJANGO_ALLOWED_HOSTS | string | localhost 127.0.0.1 | A list of space separated domains and IPs representing the host/domain names that WYGIWYH site can serve. [Click here](https://docs.djangoproject.com/en/5.1/ref/settings/#allowed-hosts) for more details |
|
||||||
| HTTPS_ENABLED | true\|false | false | Whether to use secure cookies. If this is set to true, the cookie will be marked as “secure”, which means browsers may ensure that the cookie is only sent under an HTTPS connection |
|
| HTTPS_ENABLED | true\|false | false | Whether to use secure cookies. If this is set to true, the cookie will be marked as “secure”, which means browsers may ensure that the cookie is only sent under an HTTPS connection |
|
||||||
| URL | string | http://localhost http://127.0.0.1 | A list of space separated domains and IPs (with the protocol) representing the trusted origins for unsafe requests (e.g. POST). [Click here](https://docs.djangoproject.com/en/5.1/ref/settings/#csrf-trusted-origins ) for more details |
|
| URL | string | http://localhost http://127.0.0.1 | A list of space separated domains and IPs (with the protocol) representing the trusted origins for unsafe requests (e.g. POST). [Click here](https://docs.djangoproject.com/en/5.1/ref/settings/#csrf-trusted-origins ) for more details |
|
||||||
@@ -183,10 +183,6 @@ 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,29 +182,3 @@ 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,7 +8,6 @@ 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 (
|
||||||
@@ -97,38 +96,6 @@ 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
|
||||||
)
|
)
|
||||||
@@ -173,7 +140,6 @@ 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-20 14:08+0000\n"
|
"POT-Creation-Date: 2025-09-14 04:57+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:33
|
#: templates/net_worth/net_worth.html:32
|
||||||
#: 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,8 +2235,6 @@ 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"
|
||||||
|
|
||||||
@@ -2614,19 +2612,19 @@ msgstr "Aktueller Preis"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Anzahl gekauft"
|
msgstr "Anzahl gekauft"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:392
|
#: templates/dca/fragments/strategy/details.html:390
|
||||||
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:408
|
#: templates/dca/fragments/strategy/details.html:406
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Tage zwischen Investitionen"
|
msgstr "Tage zwischen Investitionen"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:453
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Investitions-Häufigkeit"
|
msgstr "Investitions-Häufigkeit"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:457
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
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."
|
||||||
@@ -2829,7 +2827,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:23
|
#: templates/net_worth/net_worth.html:22
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Aktuell"
|
msgstr "Aktuell"
|
||||||
|
|
||||||
@@ -3230,31 +3228,25 @@ msgstr "Transaktionen filtern"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Sortieren nach"
|
msgstr "Sortieren nach"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:42
|
#: templates/net_worth/net_worth.html:40
|
||||||
#: 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:78
|
#: templates/net_worth/net_worth.html:75
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Zusammengefasst"
|
msgstr "Zusammengefasst"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:101
|
#: templates/net_worth/net_worth.html:104
|
||||||
#, 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:236
|
#: templates/net_worth/net_worth.html:211
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Verlauf nach Währung"
|
msgstr "Verlauf nach Währung"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:300
|
#: templates/net_worth/net_worth.html:275
|
||||||
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-20 14:08+0000\n"
|
"POT-Creation-Date: 2025-09-14 04:57+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:33
|
#: templates/net_worth/net_worth.html:32
|
||||||
#: 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,8 +2168,6 @@ 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 ""
|
||||||
|
|
||||||
@@ -2545,19 +2543,19 @@ msgstr ""
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:392
|
#: templates/dca/fragments/strategy/details.html:390
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:408
|
#: templates/dca/fragments/strategy/details.html:406
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:453
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:457
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
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 ""
|
||||||
|
|
||||||
@@ -2757,7 +2755,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:23
|
#: templates/net_worth/net_worth.html:22
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3140,29 +3138,25 @@ msgstr ""
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:42
|
#: templates/net_worth/net_worth.html:40
|
||||||
#: 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:78
|
#: templates/net_worth/net_worth.html:75
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:101
|
#: templates/net_worth/net_worth.html:104
|
||||||
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:236
|
#: templates/net_worth/net_worth.html:211
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:300
|
#: templates/net_worth/net_worth.html:275
|
||||||
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-20 14:08+0000\n"
|
"POT-Creation-Date: 2025-09-14 04:57+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:33
|
#: templates/net_worth/net_worth.html:32
|
||||||
#: 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,8 +2492,6 @@ 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"
|
||||||
@@ -2943,22 +2941,22 @@ msgstr "Current Price"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Amount Bought"
|
msgstr "Amount Bought"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:392
|
#: templates/dca/fragments/strategy/details.html:390
|
||||||
#, 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:408
|
#: templates/dca/fragments/strategy/details.html:406
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Days Between Investments"
|
msgstr "Days Between Investments"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:453
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Investment Frequency"
|
msgstr "Investment Frequency"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:457
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
#, 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 ""
|
||||||
@@ -3205,7 +3203,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:23
|
#: templates/net_worth/net_worth.html:22
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Current"
|
msgstr "Current"
|
||||||
@@ -3659,31 +3657,25 @@ msgstr "Filtrar transacciones"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Ordenar por"
|
msgstr "Ordenar por"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:42
|
#: templates/net_worth/net_worth.html:40
|
||||||
#: 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:78
|
#: templates/net_worth/net_worth.html:75
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Consolidado"
|
msgstr "Consolidado"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:101
|
#: templates/net_worth/net_worth.html:104
|
||||||
#, 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:236
|
#: templates/net_worth/net_worth.html:211
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Evolución por moneda"
|
msgstr "Evolución por moneda"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:300
|
#: templates/net_worth/net_worth.html:275
|
||||||
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-20 14:08+0000\n"
|
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
||||||
"PO-Revision-Date: 2025-09-23 06:17+0000\n"
|
"PO-Revision-Date: 2025-09-08 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.3\n"
|
"X-Generator: Weblate 5.13\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:33
|
#: templates/net_worth/net_worth.html:32
|
||||||
#: 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,8 +2217,6 @@ 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"
|
||||||
|
|
||||||
@@ -2594,19 +2592,19 @@ msgstr "Prix actuel"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Montant acheté"
|
msgstr "Montant acheté"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:392
|
#: templates/dca/fragments/strategy/details.html:390
|
||||||
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:408
|
#: templates/dca/fragments/strategy/details.html:406
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Jours entre les investissements"
|
msgstr "Jours entre les investissements"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:453
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Fréquence d'investissement"
|
msgstr "Fréquence d'investissement"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:457
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
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."
|
||||||
@@ -2809,7 +2807,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:23
|
#: templates/net_worth/net_worth.html:22
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "A date"
|
msgstr "A date"
|
||||||
|
|
||||||
@@ -3205,29 +3203,25 @@ msgstr "Filtrer les transactions"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Trier par"
|
msgstr "Trier par"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:42
|
#: templates/net_worth/net_worth.html:40
|
||||||
#: 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:78
|
#: templates/net_worth/net_worth.html:75
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Consolidé"
|
msgstr "Consolidé"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:101
|
#: templates/net_worth/net_worth.html:104
|
||||||
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:236
|
#: templates/net_worth/net_worth.html:211
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Evolution par devises"
|
msgstr "Evolution par devises"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:300
|
#: templates/net_worth/net_worth.html:275
|
||||||
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-20 14:08+0000\n"
|
"POT-Creation-Date: 2025-09-14 04:57+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:33
|
#: templates/net_worth/net_worth.html:32
|
||||||
#: 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,8 +2167,6 @@ 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 +2542,19 @@ msgstr ""
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:392
|
#: templates/dca/fragments/strategy/details.html:390
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:408
|
#: templates/dca/fragments/strategy/details.html:406
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:453
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:457
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
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 +2754,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:23
|
#: templates/net_worth/net_worth.html:22
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3139,29 +3137,25 @@ msgstr ""
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:42
|
#: templates/net_worth/net_worth.html:40
|
||||||
#: 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:78
|
#: templates/net_worth/net_worth.html:75
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:101
|
#: templates/net_worth/net_worth.html:104
|
||||||
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:236
|
#: templates/net_worth/net_worth.html:211
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:300
|
#: templates/net_worth/net_worth.html:275
|
||||||
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-15 18:17+0000\n"
|
"PO-Revision-Date: 2025-09-11 22: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.3\n"
|
"X-Generator: Weblate 5.13.2\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 conti"
|
msgstr "Gruppi di 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 conti aggiunto con successo"
|
msgstr "Gruppo di 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 conti aggiornato con successo"
|
msgstr "Gruppo di 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 conti eliminato con successo"
|
msgstr "Gruppo di 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 "Il beneficiario con questo ID non esiste."
|
msgstr "L’entità 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 beneficiario non validi. Fornisci un ID o un nome."
|
msgstr "Dati entità 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 "Reset"
|
msgstr "Pulisci"
|
||||||
|
|
||||||
#: 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 "Cambio valuta"
|
msgstr "Tasso di cambio"
|
||||||
|
|
||||||
#: 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 "Cambio valute"
|
msgstr "Tassi di cambio"
|
||||||
|
|
||||||
#: 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 "Cambio unico"
|
msgstr "Tasso di cambio singolo"
|
||||||
|
|
||||||
#: 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 cambio valuta e aggiornalo nel tempo, evitando duplicati nel "
|
"Crea un solo tasso di cambio e lo mantiene aggiornato. Evita ingombri nel "
|
||||||
"database."
|
"database."
|
||||||
|
|
||||||
#: apps/currencies/models.py:168
|
#: apps/currencies/models.py:168
|
||||||
msgid "Exchange Rate Service"
|
msgid "Exchange Rate Service"
|
||||||
msgstr "Servizio cambio valuta"
|
msgstr "Servizio tasso di cambio"
|
||||||
|
|
||||||
#: 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 "Cambio valuta aggiunto con successo"
|
msgstr "Tasso di cambio 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 "Cambio valuta aggiornato con successo"
|
msgstr "Tasso di cambio 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 "Cambio valuta eliminato con successo"
|
msgstr "Tasso di cambio 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 "Beneficiari"
|
msgstr "Entità"
|
||||||
|
|
||||||
#: 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 "Beneficiari"
|
|||||||
#: 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 "Pagamenti ricorrenti"
|
msgstr "Transazioni 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 "Pagamenti 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 "Pagamenti a rate"
|
msgstr "Rate / Piani di rateizzazione"
|
||||||
|
|
||||||
#: 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 "Cambio valuta automatico"
|
msgstr "Tassi di cambio automatici"
|
||||||
|
|
||||||
#: 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:33
|
#: templates/net_worth/net_worth.html:32
|
||||||
#: 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 beneficiario"
|
msgstr "Qualsiasi entità"
|
||||||
|
|
||||||
#: 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 "Nessun beneficiario"
|
msgstr "Nessuna entità"
|
||||||
|
|
||||||
#: 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 beneficiario"
|
msgstr "Nome entità"
|
||||||
|
|
||||||
#: 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 ""
|
||||||
"I beneficiari disattivati non potranno essere selezionati durante la "
|
"Le entità disattivate non potranno essere selezionate durante la creazione "
|
||||||
"creazione di nuove transazioni"
|
"di nuove transazioni"
|
||||||
|
|
||||||
#: apps/transactions/models.py:277
|
#: apps/transactions/models.py:277
|
||||||
msgid "Entity"
|
msgid "Entity"
|
||||||
msgstr "Beneficiari"
|
msgstr "Entità"
|
||||||
|
|
||||||
#: 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 "Beneficiari"
|
|||||||
#: 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 "Entrate"
|
msgstr "Entrata"
|
||||||
|
|
||||||
#: 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 "Frequenza"
|
msgstr "Intervallo di ricorrenza"
|
||||||
|
|
||||||
#: 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 "Beneficiario aggiunto con successo"
|
msgstr "Entità aggiunta con successo"
|
||||||
|
|
||||||
#: apps/transactions/views/entities.py:104
|
#: apps/transactions/views/entities.py:104
|
||||||
msgid "Entity updated successfully"
|
msgid "Entity updated successfully"
|
||||||
msgstr "Beneficiario aggiornato con successo"
|
msgstr "Entità aggiornata con successo"
|
||||||
|
|
||||||
#: apps/transactions/views/entities.py:133
|
#: apps/transactions/views/entities.py:133
|
||||||
msgid "Entity deleted successfully"
|
msgid "Entity deleted successfully"
|
||||||
msgstr "Beneficiario eliminato con successo"
|
msgstr "Entità eliminata 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 ""
|
||||||
"Cambia la lingua (se disponibile) e la modalità di visualizzazione di numeri "
|
"Questo cambia la lingua (se disponibile) e la modalità di visualizzazione di "
|
||||||
"e date.\n"
|
"numeri 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 "Lascia vuoto per mantenere la password attuale."
|
msgstr "Lasciare vuoto per mantenere la password corrente."
|
||||||
|
|
||||||
#: 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 conti"
|
msgstr "Aggiungi gruppo di account"
|
||||||
|
|
||||||
#: 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 conti"
|
msgstr "Modifica gruppo di account"
|
||||||
|
|
||||||
#: 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 conti"
|
msgstr "Nessun gruppo di account"
|
||||||
|
|
||||||
#: 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,8 +2212,6 @@ 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"
|
||||||
|
|
||||||
@@ -2519,7 +2517,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 cambio valuta disponibile"
|
msgstr "Nessun tasso di cambio disponibile"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:33
|
#: templates/dca/fragments/strategy/details.html:33
|
||||||
msgid "Entries"
|
msgid "Entries"
|
||||||
@@ -2589,19 +2587,19 @@ msgstr "Prezzo attuale"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Importo acquistato"
|
msgstr "Importo acquistato"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:392
|
#: templates/dca/fragments/strategy/details.html:390
|
||||||
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:408
|
#: templates/dca/fragments/strategy/details.html:406
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Giorni tra gli investimenti"
|
msgstr "Giorni tra gli investimenti"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:453
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Frequenza di investimento"
|
msgstr "Frequenza di investimento"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:457
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
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."
|
||||||
|
|
||||||
@@ -2612,33 +2610,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 DCA"
|
msgstr "Strategie di costo medio del dollaro"
|
||||||
|
|
||||||
#: 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 "Strategie DCA"
|
msgstr "Strategia del costo medio del dollaro"
|
||||||
|
|
||||||
#: templates/entities/fragments/add.html:5
|
#: templates/entities/fragments/add.html:5
|
||||||
msgid "Add entity"
|
msgid "Add entity"
|
||||||
msgstr "Aggiungi beneficiario"
|
msgstr "Aggiungi entità"
|
||||||
|
|
||||||
#: templates/entities/fragments/edit.html:5
|
#: templates/entities/fragments/edit.html:5
|
||||||
msgid "Edit entity"
|
msgid "Edit entity"
|
||||||
msgstr "Modifica beneficiario"
|
msgstr "Modifica entità"
|
||||||
|
|
||||||
#: templates/entities/fragments/table.html:71
|
#: templates/entities/fragments/table.html:71
|
||||||
msgid "No entities"
|
msgid "No entities"
|
||||||
msgstr "Nessun beneficiario"
|
msgstr "Nessuna entità"
|
||||||
|
|
||||||
#: 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 cambio valuta"
|
msgstr "Aggiungi tasso di cambio"
|
||||||
|
|
||||||
#: 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 cambio valuta"
|
msgstr "Modifica tasso di cambio"
|
||||||
|
|
||||||
#: 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
|
||||||
@@ -2661,7 +2659,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 cambio valuta"
|
msgstr "Nessun tasso di cambio"
|
||||||
|
|
||||||
#: 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
|
||||||
@@ -2803,14 +2801,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:23
|
#: templates/net_worth/net_worth.html:22
|
||||||
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 "Analisi"
|
msgstr "Approfondimenti"
|
||||||
|
|
||||||
#: 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"
|
||||||
@@ -2822,19 +2820,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 "Costo medio del dollaro"
|
msgstr "Tracker del 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 "Prezzo per unità"
|
msgstr "Calcolatore del prezzo unitario"
|
||||||
|
|
||||||
#: 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 "Converti valuta"
|
msgstr "Convertitore di 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
|
||||||
@@ -2938,7 +2936,7 @@ msgstr "Tabella"
|
|||||||
|
|
||||||
#: templates/insights/fragments/category_overview/index.html:24
|
#: templates/insights/fragments/category_overview/index.html:24
|
||||||
msgid "Bars"
|
msgid "Bars"
|
||||||
msgstr "Grafico a barre"
|
msgstr "Barre"
|
||||||
|
|
||||||
#: templates/insights/fragments/category_overview/index.html:39
|
#: templates/insights/fragments/category_overview/index.html:39
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -2953,7 +2951,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 e beneficiari verranno "
|
"Gli importi delle transazioni associati a più tag ed entità 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
|
||||||
@@ -2999,7 +2997,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 sospeso"
|
msgstr "Nessuna transazione in ritardo"
|
||||||
|
|
||||||
#: templates/insights/fragments/latest_transactions.html:14
|
#: templates/insights/fragments/latest_transactions.html:14
|
||||||
msgid "No recent transactions"
|
msgid "No recent transactions"
|
||||||
@@ -3025,35 +3023,35 @@ msgstr "Anno"
|
|||||||
|
|
||||||
#: templates/insights/pages/index.html:45
|
#: templates/insights/pages/index.html:45
|
||||||
msgid "Month Range"
|
msgid "Month Range"
|
||||||
msgstr "Intervallo mesi"
|
msgstr "Intervallo di mesi"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:50
|
#: templates/insights/pages/index.html:50
|
||||||
msgid "Year Range"
|
msgid "Year Range"
|
||||||
msgstr "Intervallo anni"
|
msgstr "Intervallo di anni"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:55
|
#: templates/insights/pages/index.html:55
|
||||||
msgid "Date Range"
|
msgid "Date Range"
|
||||||
msgstr "Intervallo date"
|
msgstr "Intervallo di date"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:83
|
#: templates/insights/pages/index.html:83
|
||||||
msgid "Account Flow"
|
msgid "Account Flow"
|
||||||
msgstr "Flusso conti"
|
msgstr "Flusso del conto"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:90
|
#: templates/insights/pages/index.html:90
|
||||||
msgid "Currency Flow"
|
msgid "Currency Flow"
|
||||||
msgstr "Flusso valute"
|
msgstr "Flusso di valuta"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:97
|
#: templates/insights/pages/index.html:97
|
||||||
msgid "Category Explorer"
|
msgid "Category Explorer"
|
||||||
msgstr "Categorie"
|
msgstr "Esploratore di categorie"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:104
|
#: templates/insights/pages/index.html:104
|
||||||
msgid "Categories Overview"
|
msgid "Categories Overview"
|
||||||
msgstr "Panoramica categorie"
|
msgstr "Panoramica delle categorie"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:111
|
#: templates/insights/pages/index.html:111
|
||||||
msgid "Late Transactions"
|
msgid "Late Transactions"
|
||||||
msgstr "Transazioni in sospeso"
|
msgstr "Transazioni in ritardo"
|
||||||
|
|
||||||
#: templates/insights/pages/index.html:117
|
#: templates/insights/pages/index.html:117
|
||||||
msgid "Latest Transactions"
|
msgid "Latest Transactions"
|
||||||
@@ -3116,7 +3114,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"
|
msgstr "Prezzo dell'elemento"
|
||||||
|
|
||||||
#: 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
|
||||||
@@ -3146,7 +3144,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 "Il totale finale diviso per i giorni del mese rimanenti"
|
msgstr "Questo è il totale finale diviso per i giorni rimanenti del mese"
|
||||||
|
|
||||||
#: 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
|
||||||
@@ -3196,31 +3194,25 @@ msgstr "Filtra transazioni"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Ordina per"
|
msgstr "Ordina per"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:42
|
#: templates/net_worth/net_worth.html:40
|
||||||
#: 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:78
|
#: templates/net_worth/net_worth.html:75
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Consolidate"
|
msgstr "Consolidate"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:101
|
#: templates/net_worth/net_worth.html:104
|
||||||
#, 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:236
|
#: templates/net_worth/net_worth.html:211
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Evoluzione per valuta"
|
msgstr "Evoluzione per valuta"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:300
|
#: templates/net_worth/net_worth.html:275
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr "Evoluzione per conto"
|
msgstr "Evoluzione per conto"
|
||||||
|
|
||||||
@@ -3232,7 +3224,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 "Non c’è nulla da mostrare..."
|
msgstr "Qui non c'è niente da vedere..."
|
||||||
|
|
||||||
#: 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-20 14:08+0000\n"
|
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
||||||
"PO-Revision-Date: 2025-09-21 13:17+0000\n"
|
"PO-Revision-Date: 2025-09-09 18: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.3\n"
|
"X-Generator: Weblate 5.13.2\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:33
|
#: templates/net_worth/net_worth.html:32
|
||||||
#: 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,8 +2208,6 @@ 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"
|
||||||
|
|
||||||
@@ -2585,19 +2583,19 @@ msgstr "Actuele Prijs"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Gekocht Bedrag"
|
msgstr "Gekocht Bedrag"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:392
|
#: templates/dca/fragments/strategy/details.html:390
|
||||||
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:408
|
#: templates/dca/fragments/strategy/details.html:406
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Dagen Tussen Investeringen"
|
msgstr "Dagen Tussen Investeringen"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:453
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Investeringsfrequentie"
|
msgstr "Investeringsfrequentie"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:457
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
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."
|
||||||
|
|
||||||
@@ -2798,7 +2796,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:23
|
#: templates/net_worth/net_worth.html:22
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Huidige"
|
msgstr "Huidige"
|
||||||
|
|
||||||
@@ -3192,29 +3190,25 @@ msgstr "Filter verrichtingen"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Sorteer op"
|
msgstr "Sorteer op"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:42
|
#: templates/net_worth/net_worth.html:40
|
||||||
#: 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:78
|
#: templates/net_worth/net_worth.html:75
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Samengevoegd"
|
msgstr "Samengevoegd"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:101
|
#: templates/net_worth/net_worth.html:104
|
||||||
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:236
|
#: templates/net_worth/net_worth.html:211
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Evolutie per munteenheid"
|
msgstr "Evolutie per munteenheid"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:300
|
#: templates/net_worth/net_worth.html:275
|
||||||
msgid "Evolution by account"
|
msgid "Evolution by account"
|
||||||
msgstr "Evolutie per rekening"
|
msgstr "Evolutie per rekening"
|
||||||
|
|
||||||
|
|||||||
3793
app/locale/pt/LC_MESSAGES/django.po
Normal file
3793
app/locale/pt/LC_MESSAGES/django.po
Normal file
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-20 14:08+0000\n"
|
"POT-Creation-Date: 2025-09-14 04:57+0000\n"
|
||||||
"PO-Revision-Date: 2025-09-20 14:44+0000\n"
|
"PO-Revision-Date: 2025-09-07 14:17+0000\n"
|
||||||
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
|
"Last-Translator: Herculino Trotta <netotrotta@gmail.com>\n"
|
||||||
"Language-Team: Portuguese (Brazil) <https://translations.herculino.com/"
|
"Language-Team: Portuguese (Brazil) <https://translations.herculino.com/"
|
||||||
"projects/wygiwyh/app/pt_BR/>\n"
|
"projects/wygiwyh/app/pt_BR/>\n"
|
||||||
@@ -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.3\n"
|
"X-Generator: Weblate 5.13\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:33
|
#: templates/net_worth/net_worth.html:32
|
||||||
#: 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,8 +2207,6 @@ 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"
|
||||||
|
|
||||||
@@ -2584,19 +2582,19 @@ msgstr "Preço atual"
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr "Quantia comprada"
|
msgstr "Quantia comprada"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:392
|
#: templates/dca/fragments/strategy/details.html:390
|
||||||
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:408
|
#: templates/dca/fragments/strategy/details.html:406
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr "Dias entre investimentos"
|
msgstr "Dias entre investimentos"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:453
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr "Frequência de Investimento"
|
msgstr "Frequência de Investimento"
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:457
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
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."
|
||||||
@@ -2799,7 +2797,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:23
|
#: templates/net_worth/net_worth.html:22
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Atual"
|
msgstr "Atual"
|
||||||
|
|
||||||
@@ -3191,29 +3189,25 @@ msgstr "Filtrar transações"
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr "Ordernar por"
|
msgstr "Ordernar por"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:42
|
#: templates/net_worth/net_worth.html:40
|
||||||
#: 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:78
|
#: templates/net_worth/net_worth.html:75
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr "Consolidado"
|
msgstr "Consolidado"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:101
|
#: templates/net_worth/net_worth.html:104
|
||||||
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:236
|
#: templates/net_worth/net_worth.html:211
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr "Evolução por moeda"
|
msgstr "Evolução por moeda"
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:300
|
#: templates/net_worth/net_worth.html:275
|
||||||
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-20 14:08+0000\n"
|
"POT-Creation-Date: 2025-09-14 04:57+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:33
|
#: templates/net_worth/net_worth.html:32
|
||||||
#: 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,8 +2169,6 @@ 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 ""
|
||||||
|
|
||||||
@@ -2546,19 +2544,19 @@ msgstr ""
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:392
|
#: templates/dca/fragments/strategy/details.html:390
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:408
|
#: templates/dca/fragments/strategy/details.html:406
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:453
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:457
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
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 ""
|
||||||
|
|
||||||
@@ -2758,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:23
|
#: templates/net_worth/net_worth.html:22
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3141,29 +3139,25 @@ msgstr ""
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:42
|
#: templates/net_worth/net_worth.html:40
|
||||||
#: 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:78
|
#: templates/net_worth/net_worth.html:75
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:101
|
#: templates/net_worth/net_worth.html:104
|
||||||
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:236
|
#: templates/net_worth/net_worth.html:211
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:300
|
#: templates/net_worth/net_worth.html:275
|
||||||
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-20 14:08+0000\n"
|
"POT-Creation-Date: 2025-09-14 04:57+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:33
|
#: templates/net_worth/net_worth.html:32
|
||||||
#: 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,8 +2190,6 @@ 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 ""
|
||||||
|
|
||||||
@@ -2567,19 +2565,19 @@ msgstr ""
|
|||||||
msgid "Amount Bought"
|
msgid "Amount Bought"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:392
|
#: templates/dca/fragments/strategy/details.html:390
|
||||||
msgid "Entry Price vs Current Price"
|
msgid "Entry Price vs Current Price"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:408
|
#: templates/dca/fragments/strategy/details.html:406
|
||||||
msgid "Days Between Investments"
|
msgid "Days Between Investments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:455
|
#: templates/dca/fragments/strategy/details.html:453
|
||||||
msgid "Investment Frequency"
|
msgid "Investment Frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/dca/fragments/strategy/details.html:457
|
#: templates/dca/fragments/strategy/details.html:455
|
||||||
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 ""
|
||||||
|
|
||||||
@@ -2779,7 +2777,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:23
|
#: templates/net_worth/net_worth.html:22
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3162,29 +3160,25 @@ msgstr ""
|
|||||||
msgid "Order by"
|
msgid "Order by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:42
|
#: templates/net_worth/net_worth.html:40
|
||||||
#: 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:78
|
#: templates/net_worth/net_worth.html:75
|
||||||
msgid "Consolidated"
|
msgid "Consolidated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:101
|
#: templates/net_worth/net_worth.html:104
|
||||||
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:236
|
#: templates/net_worth/net_worth.html:211
|
||||||
msgid "Evolution by currency"
|
msgid "Evolution by currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/net_worth/net_worth.html:300
|
#: templates/net_worth/net_worth.html:275
|
||||||
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] {{ title_css_classes }}" {{ 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]" {{ 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,7 +354,6 @@
|
|||||||
display: false,
|
display: false,
|
||||||
},
|
},
|
||||||
ticks: {
|
ticks: {
|
||||||
display: false,
|
|
||||||
format: { maximumFractionDigits: 40, minimumFractionDigits: 1 }
|
format: { maximumFractionDigits: 40, minimumFractionDigits: 1 }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -370,7 +369,6 @@
|
|||||||
display: false,
|
display: false,
|
||||||
},
|
},
|
||||||
ticks: {
|
ticks: {
|
||||||
display: false,
|
|
||||||
format: { maximumFractionDigits: 40, minimumFractionDigits: 1 }
|
format: { maximumFractionDigits: 40, minimumFractionDigits: 1 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,422 +9,338 @@
|
|||||||
{% 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=""
|
<div hx-trigger="every 60m, updated from:window" hx-include="#view-type" class="show-loading" hx-get="" hx-target="body">
|
||||||
hx-target="body">
|
<div class="h-100 text-center mb-4 pt-2">
|
||||||
<div class="h-100 text-center mb-4 pt-2">
|
<div class="btn-group gap-3" role="group" id="view-type" _="on change trigger updated">
|
||||||
<div class="btn-group gap-3" role="group" id="view-type" _="on change trigger updated">
|
<input type="radio" class="btn-check"
|
||||||
<input type="radio" class="btn-check"
|
name="view_type"
|
||||||
name="view_type"
|
id="current-view"
|
||||||
id="current-view"
|
autocomplete="off"
|
||||||
autocomplete="off"
|
value="current"
|
||||||
value="current"
|
{% if type == "current" %}checked{% endif %}>
|
||||||
{% if type == "current" %}checked{% endif %}>
|
<label class="btn btn-outline-primary rounded-5" for="current-view"><i
|
||||||
<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>
|
||||||
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 class="container px-md-3 py-3"
|
</div>
|
||||||
_="init call initializeAccountChart() then initializeCurrencyChart() then initializeMonthlyDifferenceChart() end">
|
<div class="container px-md-3 py-3" _="init call initializeAccountChart() then initializeCurrencyChart() 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' %}"
|
||||||
title_css_classes="tw:cursor-pointer"
|
_="on click showAllDatasetsCurrency()">
|
||||||
_="on click showAllDatasetsCurrency()">
|
{% for currency in currency_net_worth.values %}
|
||||||
{% for currency in currency_net_worth.values %}
|
<div class="d-flex justify-content-between mt-2">
|
||||||
<div class="d-flex justify-content-between mt-2">
|
<div class="d-flex align-items-baseline w-100">
|
||||||
<div class="d-flex align-items-baseline w-100">
|
<div class="currency-name text-start font-monospace tw:text-gray-300"
|
||||||
<div class="currency-name text-start font-monospace tw:text-gray-300 tw:cursor-pointer"
|
_="on click showOnlyCurrencyDataset('{{ currency.currency.name }}')">
|
||||||
_="on click showOnlyCurrencyDataset('{{ currency.currency.name }}')">
|
{{ 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>
|
<div class="dotted-line flex-grow-1"></div>
|
||||||
{% if currency.exchanged and currency.exchanged.total_final %}
|
|
||||||
<div>
|
<div>
|
||||||
<c-amount.display
|
<c-amount.display
|
||||||
:amount="currency.exchanged.total_final"
|
:amount="currency.total_final"
|
||||||
:prefix="currency.exchanged.currency.prefix"
|
:prefix="currency.currency.prefix"
|
||||||
:suffix="currency.exchanged.currency.suffix"
|
:suffix="currency.currency.suffix"
|
||||||
:decimal_places="currency.exchanged.currency.decimal_places"
|
:decimal_places="currency.currency.decimal_places"
|
||||||
text-end
|
color="{% if currency.total_final > 0 %}green{% elif currency.total_final < 0 %}red{% endif %}"
|
||||||
color="grey"></c-amount.display>
|
text-end></c-amount.display>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
</div>
|
||||||
{% if currency.consolidated and currency.consolidated.total_final != currency.total_final %}
|
</div>
|
||||||
<div class="d-flex align-items-baseline w-100">
|
{% if currency.exchanged and currency.exchanged.total_final %}
|
||||||
<div class="account-name text-start font-monospace tw:text-gray-300">
|
<div>
|
||||||
<span class="hierarchy-line-icon"></span>{% trans 'Consolidated' %}</div>
|
<c-amount.display
|
||||||
<div class="dotted-line flex-grow-1"></div>
|
:amount="currency.exchanged.total_final"
|
||||||
<div class="">
|
:prefix="currency.exchanged.currency.prefix"
|
||||||
<c-amount.display
|
:suffix="currency.exchanged.currency.suffix"
|
||||||
|
: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>
|
||||||
</div>
|
{% endif %}
|
||||||
{% endif %}
|
{% endfor %}
|
||||||
{% endfor %}
|
</c-ui.info-card>
|
||||||
</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>
|
||||||
<hr>
|
<div class="col-12 col-xl-7">
|
||||||
<div class="row gx-xl-4 gy-3 mt-4">
|
<div class="chart-container position-relative tw:min-h-[40vh] tw:h-full">
|
||||||
<div class="col-12 col-xl-5">
|
<canvas id="currencyBalanceChart"></canvas>
|
||||||
<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' %}"
|
</div>
|
||||||
title_css_classes="tw:cursor-pointer"
|
<hr>
|
||||||
_="on click showAllDatasetsAccount()">
|
<div class="row gx-xl-4 gy-3 mt-4">
|
||||||
{% regroup account_net_worth.values by account.group as account_data %}
|
<div class="col-12 col-xl-5">
|
||||||
{% for data in account_data %}
|
<div class="row row-cols-1 g-4">
|
||||||
{% if data.grouper %}
|
<div class="col">
|
||||||
<div class="d-flex justify-content-between mt-2">
|
<c-ui.info-card color="blue" icon="fa-solid fa-wallet" title="{% trans 'By account' %}"
|
||||||
<div class="d-flex align-items-baseline w-100">
|
_="on click showAllDatasetsAccount()">
|
||||||
<div class="text-start font-monospace tw:text-gray-300"><span class="badge text-bg-primary">
|
{% regroup account_net_worth.values by account.group as account_data %}
|
||||||
{{ data.grouper }}</span></div>
|
{% for data in account_data %}
|
||||||
</div>
|
{% if data.grouper %}
|
||||||
</div>
|
<div class="d-flex justify-content-between mt-2">
|
||||||
{% for account in data.list %}
|
<div class="d-flex align-items-baseline w-100">
|
||||||
<div class="d-flex justify-content-between mt-2">
|
<div class="text-start font-monospace tw:text-gray-300"><span class="badge text-bg-primary">
|
||||||
<div class="d-flex align-items-baseline w-100">
|
{{ data.grouper }}</span></div>
|
||||||
<div class="account-name text-start font-monospace tw:text-gray-300 tw:cursor-pointer"
|
</div>
|
||||||
_="on click showOnlyAccountDataset('{{ account.account.name }}')">
|
</div>
|
||||||
<span class="hierarchy-line-icon"></span>{{ account.account.name }}</div>
|
{% for account in data.list %}
|
||||||
<div class="dotted-line flex-grow-1"></div>
|
<div class="d-flex justify-content-between mt-2">
|
||||||
<div class="">
|
<div class="d-flex align-items-baseline w-100">
|
||||||
<c-amount.display
|
<div class="account-name text-start font-monospace tw:text-gray-300"
|
||||||
:amount="account.total_final"
|
_="on click showOnlyAccountDataset('{{ account.account.name }}')">
|
||||||
:prefix="account.currency.prefix"
|
<span class="hierarchy-line-icon"></span>{{ account.account.name }}</div>
|
||||||
:suffix="account.currency.suffix"
|
<div class="dotted-line flex-grow-1"></div>
|
||||||
:decimal_places="account.currency.decimal_places"
|
<div class="">
|
||||||
color="{% if account.total_final > 0 %}green{% elif account.total_final < 0 %}red{% endif %}"></c-amount.display>
|
<c-amount.display
|
||||||
</div>
|
:amount="account.total_final"
|
||||||
</div>
|
:prefix="account.currency.prefix"
|
||||||
</div>
|
:suffix="account.currency.suffix"
|
||||||
{% if account.exchanged and account.exchanged.total_final %}
|
:decimal_places="account.currency.decimal_places"
|
||||||
<c-amount.display
|
color="{% if account.total_final > 0 %}green{% elif account.total_final < 0 %}red{% endif %}"></c-amount.display>
|
||||||
:amount="account.exchanged.total_final"
|
</div>
|
||||||
:prefix="account.exchanged.currency.prefix"
|
</div>
|
||||||
:suffix="account.exchanged.currency.suffix"
|
</div>
|
||||||
:decimal_places="account.exchanged.currency.decimal_places"
|
{% if account.exchanged and account.exchanged.total_final %}
|
||||||
color="grey"
|
<c-amount.display
|
||||||
text-end></c-amount.display>
|
:amount="account.exchanged.total_final"
|
||||||
{% endif %}
|
:prefix="account.exchanged.currency.prefix"
|
||||||
{% endfor %}
|
:suffix="account.exchanged.currency.suffix"
|
||||||
{% else %}
|
:decimal_places="account.exchanged.currency.decimal_places"
|
||||||
{% for account in data.list %}
|
color="grey"
|
||||||
<div class="d-flex justify-content-between mt-2">
|
text-end></c-amount.display>
|
||||||
<div class="d-flex align-items-baseline w-100">
|
{% endif %}
|
||||||
<div class="account-name text-start font-monospace tw:text-gray-300 tw:cursor-pointer"
|
{% endfor %}
|
||||||
_="on click showOnlyAccountDataset('{{ account.account.name }}')">
|
{% else %}
|
||||||
{{ account.account.name }}
|
{% for account in data.list %}
|
||||||
</div>
|
<div class="d-flex justify-content-between mt-2">
|
||||||
<div class="dotted-line flex-grow-1"></div>
|
<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
|
_="on click showOnlyAccountDataset('{{ account.account.name }}')">
|
||||||
:amount="account.total_final"
|
{{ account.account.name }}
|
||||||
:prefix="account.currency.prefix"
|
</div>
|
||||||
:suffix="account.currency.suffix"
|
<div class="dotted-line flex-grow-1"></div>
|
||||||
:decimal_places="account.currency.decimal_places"
|
<div>
|
||||||
color="{% if account.total_final > 0 %}green{% elif account.total_final < 0 %}red{% endif %}"></c-amount.display>
|
<c-amount.display
|
||||||
</div>
|
:amount="account.total_final"
|
||||||
</div>
|
:prefix="account.currency.prefix"
|
||||||
</div>
|
:suffix="account.currency.suffix"
|
||||||
{% if account.exchanged and account.exchanged.total_final %}
|
:decimal_places="account.currency.decimal_places"
|
||||||
<c-amount.display
|
color="{% if account.total_final > 0 %}green{% elif account.total_final < 0 %}red{% endif %}"></c-amount.display>
|
||||||
:amount="account.exchanged.total_final"
|
</div>
|
||||||
:prefix="account.exchanged.currency.prefix"
|
</div>
|
||||||
:suffix="account.exchanged.currency.suffix"
|
</div>
|
||||||
:decimal_places="account.exchanged.currency.decimal_places"
|
{% if account.exchanged and account.exchanged.total_final %}
|
||||||
color="grey"
|
<c-amount.display
|
||||||
text-end></c-amount.display>
|
:amount="account.exchanged.total_final"
|
||||||
{% endif %}
|
:prefix="account.exchanged.currency.prefix"
|
||||||
{% endfor %}
|
:suffix="account.exchanged.currency.suffix"
|
||||||
{% endif %}
|
:decimal_places="account.exchanged.currency.decimal_places"
|
||||||
{% endfor %}
|
color="grey"
|
||||||
</c-ui.info-card>
|
text-end></c-amount.display>
|
||||||
</div>
|
{% endif %}
|
||||||
</div>
|
{% endfor %}
|
||||||
</div>
|
{% endif %}
|
||||||
<div class="col-12 col-xl-7">
|
{% endfor %}
|
||||||
<div class="chart-container position-relative tw:min-h-[40vh] tw:h-full">
|
</c-ui.info-card>
|
||||||
<canvas id="accountBalanceChart"></canvas>
|
</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>
|
||||||
</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 tw:h-dvh d-flex justify-content-center align-items-center">
|
<div class="row vh-100 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 %}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ services:
|
|||||||
- ./frontend/:/usr/src/frontend:z
|
- ./frontend/:/usr/src/frontend:z
|
||||||
- wygiwyh_temp:/usr/src/app/temp/
|
- wygiwyh_temp:/usr/src/app/temp/
|
||||||
ports:
|
ports:
|
||||||
- "${OUTBOUND_PORT}:8000"
|
- "${OUTBOUND_PORT:-8000}:${INTERNAL_PORT:-8000}"
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
container_name: ${SERVER_NAME}
|
container_name: ${SERVER_NAME}
|
||||||
command: /start-single
|
command: /start-single
|
||||||
ports:
|
ports:
|
||||||
- "${OUTBOUND_PORT}:8000"
|
- "${OUTBOUND_PORT:-8000}:${INTERNAL_PORT:-8000}"
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o nounset
|
set -o nounset
|
||||||
|
|
||||||
|
# Set INTERNAL_PORT with default value of 8000
|
||||||
|
INTERNAL_PORT=${INTERNAL_PORT:-8000}
|
||||||
|
|
||||||
rm -f /tmp/migrations_complete
|
rm -f /tmp/migrations_complete
|
||||||
|
|
||||||
python manage.py migrate
|
python manage.py migrate
|
||||||
@@ -13,4 +16,4 @@ touch /tmp/migrations_complete
|
|||||||
|
|
||||||
python manage.py setup_users
|
python manage.py setup_users
|
||||||
|
|
||||||
exec python manage.py runserver 0.0.0.0:8000
|
exec python manage.py runserver 0.0.0.0:$INTERNAL_PORT
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o nounset
|
set -o nounset
|
||||||
|
|
||||||
|
# Set INTERNAL_PORT with default value of 8000
|
||||||
|
INTERNAL_PORT=${INTERNAL_PORT:-8000}
|
||||||
|
|
||||||
# Remove flag file if it exists from previous run
|
# Remove flag file if it exists from previous run
|
||||||
rm -f /tmp/migrations_complete
|
rm -f /tmp/migrations_complete
|
||||||
|
|
||||||
@@ -15,4 +18,4 @@ touch /tmp/migrations_complete
|
|||||||
|
|
||||||
python manage.py setup_users
|
python manage.py setup_users
|
||||||
|
|
||||||
exec gunicorn WYGIWYH.wsgi:application --bind 0.0.0.0:8000 --timeout 600
|
exec gunicorn WYGIWYH.wsgi:application --bind 0.0.0.0:$INTERNAL_PORT --timeout 600
|
||||||
|
|||||||
Reference in New Issue
Block a user