Merge remote-tracking branch 'origin/feat/replace-webpack+bootstrap' into feat/replace-webpack+bootstrap

This commit is contained in:
Herculino Trotta
2025-11-23 23:20:48 -03:00
13 changed files with 11103 additions and 1216 deletions

3
.gitignore vendored
View File

@@ -163,4 +163,5 @@ cython_debug/
.idea/ .idea/
node_modules/ node_modules/
postgres_data/ postgres_data/
.prod.env

View File

@@ -13,6 +13,7 @@
<a href="#key-features">Features</a> • <a href="#key-features">Features</a> •
<a href="#how-to-use">Usage</a> • <a href="#how-to-use">Usage</a> •
<a href="#how-it-works">How</a> • <a href="#how-it-works">How</a> •
<a href="#mcp-server">MCP Server</a> •
<a href="#help-us-translate-wygiwyh">Translate</a> • <a href="#help-us-translate-wygiwyh">Translate</a> •
<a href="#caveats-and-warnings">Caveats and Warnings</a> • <a href="#caveats-and-warnings">Caveats and Warnings</a> •
<a href="#built-with">Built with</a> <a href="#built-with">Built with</a>
@@ -126,6 +127,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 |
@@ -182,6 +184,10 @@ Check out our [Wiki](https://github.com/eitchtee/WYGIWYH/wiki) for more informat
> [!NOTE] > [!NOTE]
> Login with your github account > Login with your github account
# MCP Server
[IZIme07](https://github.com/IZIme07) has kindly created an MCP Server for WYGIWYH that you can self-host. [Check it out at MCP-WYGIWYH](https://github.com/ReNewator/MCP-WYGIWYH)!
# Caveats and Warnings # Caveats and Warnings
- I'm not an accountant, some terms and even calculations might be wrong. Make sure to open an issue if you see anything that could be improved. - I'm not an accountant, some terms and even calculations might be wrong. Make sure to open an issue if you see anything that could be improved.

View File

@@ -8,8 +8,8 @@ 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-20 14:08+0000\n"
"PO-Revision-Date: 2025-07-22 06:17+0000\n" "PO-Revision-Date: 2025-11-01 01:17+0000\n"
"Last-Translator: seraphblade2010 <marc.butenhoff@web.de>\n" "Last-Translator: mlystopad <mlystopadt@gmail.com>\n"
"Language-Team: German <https://translations.herculino.com/projects/wygiwyh/" "Language-Team: German <https://translations.herculino.com/projects/wygiwyh/"
"app/de/>\n" "app/de/>\n"
"Language: de\n" "Language: de\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.12.2\n" "X-Generator: Weblate 5.14\n"
#: apps/accounts/forms.py:26 #: apps/accounts/forms.py:26
msgid "Group name" msgid "Group name"
@@ -1197,7 +1197,7 @@ msgstr "Interne ID"
#: apps/transactions/models.py:216 apps/transactions/models.py:307 #: apps/transactions/models.py:216 apps/transactions/models.py:307
#: apps/transactions/models.py:994 #: apps/transactions/models.py:994
msgid "Mute" msgid "Mute"
msgstr "Deaktivieren" msgstr "Stummschalten"
#: apps/rules/forms.py:219 #: apps/rules/forms.py:219
msgid "Search Criteria" msgid "Search Criteria"
@@ -2881,7 +2881,7 @@ msgstr "Nur benutzen, wenn du weißt was du tust"
#: templates/includes/navbar.html:158 templates/includes/sidebar.html:261 #: templates/includes/navbar.html:158 templates/includes/sidebar.html:261
msgid "Django Admin" msgid "Django Admin"
msgstr "Django Admin" msgstr "Django AdministratorIn"
#: templates/includes/navbar.html:169 templates/includes/sidebar.html:276 #: templates/includes/navbar.html:169 templates/includes/sidebar.html:276
msgid "is available" msgid "is available"
@@ -3275,10 +3275,8 @@ msgid "Edit quick transaction"
msgstr "Transaktion bearbeiten" msgstr "Transaktion bearbeiten"
#: templates/quick_transactions/fragments/list.html:40 #: templates/quick_transactions/fragments/list.html:40
#, fuzzy
#| msgid "Yes, delete them!"
msgid "This will delete this item" msgid "This will delete this item"
msgstr "Ja, löschen!" msgstr "Dieser Artikel wird gelöscht"
#: templates/recurring_transactions/fragments/add.html:5 #: templates/recurring_transactions/fragments/add.html:5
msgid "Add recurring transaction" msgid "Add recurring transaction"

File diff suppressed because it is too large Load Diff

View File

@@ -8,8 +8,8 @@ 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-20 14:08+0000\n"
"PO-Revision-Date: 2025-09-23 06:17+0000\n" "PO-Revision-Date: 2025-10-07 20:17+0000\n"
"Last-Translator: sorcierwax <freakywax@gmail.com>\n" "Last-Translator: Erwan Colin <zephone@protonmail.com>\n"
"Language-Team: French <https://translations.herculino.com/projects/wygiwyh/" "Language-Team: French <https://translations.herculino.com/projects/wygiwyh/"
"app/fr/>\n" "app/fr/>\n"
"Language: fr\n" "Language: fr\n"
@@ -1066,7 +1066,7 @@ msgstr "Revenus à date"
#: templates/insights/fragments/category_explorer/charts/account.html:66 #: templates/insights/fragments/category_explorer/charts/account.html:66
#: templates/insights/fragments/category_explorer/charts/currency.html:66 #: templates/insights/fragments/category_explorer/charts/currency.html:66
msgid "Current Expenses" msgid "Current Expenses"
msgstr "Dépenses à date" msgstr "Dépenses actuelles"
#: apps/insights/utils/category_explorer.py:74 #: apps/insights/utils/category_explorer.py:74
#: apps/insights/utils/category_explorer.py:153 #: apps/insights/utils/category_explorer.py:153
@@ -1226,7 +1226,7 @@ msgstr "Déclencheur"
#: apps/rules/models.py:17 #: apps/rules/models.py:17
msgid "Sequenced" msgid "Sequenced"
msgstr "Récurrence" msgstr "Classé"
#: apps/rules/models.py:26 #: apps/rules/models.py:26
msgid "Transaction rule" msgid "Transaction rule"
@@ -2391,7 +2391,7 @@ msgstr "Revenu à date"
#: templates/cotton/ui/account_card.html:120 #: templates/cotton/ui/account_card.html:120
#: templates/cotton/ui/currency_card.html:114 #: templates/cotton/ui/currency_card.html:114
msgid "current expenses" msgid "current expenses"
msgstr "Dépenses à date" msgstr "dépenses actuelles"
#: templates/cotton/ui/account_card.html:146 #: templates/cotton/ui/account_card.html:146
#: templates/cotton/ui/currency_card.html:140 #: templates/cotton/ui/currency_card.html:140
@@ -2974,7 +2974,7 @@ msgstr "Total"
#: templates/insights/fragments/category_overview/index.html:517 #: templates/insights/fragments/category_overview/index.html:517
msgid "Final Total" msgid "Final Total"
msgstr "Total final" msgstr "Total Final"
#: templates/insights/fragments/emergency_fund.html:15 #: templates/insights/fragments/emergency_fund.html:15
msgid "You've spent an average of" msgid "You've spent an average of"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,8 +8,8 @@ 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-20 14:08+0000\n"
"PO-Revision-Date: 2025-05-12 14:16+0000\n" "PO-Revision-Date: 2025-11-01 01:17+0000\n"
"Last-Translator: Felix <xnovaua@gmail.com>\n" "Last-Translator: mlystopad <mlystopadt@gmail.com>\n"
"Language-Team: Ukrainian <https://translations.herculino.com/projects/" "Language-Team: Ukrainian <https://translations.herculino.com/projects/"
"wygiwyh/app/uk/>\n" "wygiwyh/app/uk/>\n"
"Language: uk\n" "Language: uk\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.11.3\n" "X-Generator: Weblate 5.14\n"
#: apps/accounts/forms.py:26 #: apps/accounts/forms.py:26
msgid "Group name" msgid "Group name"
@@ -154,8 +154,9 @@ msgid "Default currency for exchange calculations"
msgstr "Валюта за замовчуванням для обмінних розрахунків" msgstr "Валюта за замовчуванням для обмінних розрахунків"
#: apps/accounts/models.py:55 #: apps/accounts/models.py:55
#, fuzzy
msgid "Asset account" msgid "Asset account"
msgstr "Рахунок активів" msgstr "Рахунок активу"
#: apps/accounts/models.py:57 #: apps/accounts/models.py:57
msgid "" msgid ""
@@ -268,11 +269,11 @@ msgstr "Рахунок успішно видалено"
#: apps/accounts/views/accounts.py:165 #: apps/accounts/views/accounts.py:165
msgid "Account is now tracked" msgid "Account is now tracked"
msgstr "" msgstr "Рахунок теперь відстежується"
#: apps/accounts/views/accounts.py:168 #: apps/accounts/views/accounts.py:168
msgid "Account is now untracked" msgid "Account is now untracked"
msgstr "" msgstr "Рахунок більше не відстежується"
#: apps/accounts/views/balance.py:77 #: apps/accounts/views/balance.py:77
msgid "Balance reconciliation" msgid "Balance reconciliation"
@@ -312,7 +313,7 @@ msgstr "Необхідно вказати або 'date', або 'reference_date'
#: apps/common/admin.py:5 #: apps/common/admin.py:5
msgid "Make public" msgid "Make public"
msgstr "" msgstr "Зробити публічним"
#: apps/common/admin.py:10 #: apps/common/admin.py:10
#, fuzzy #, fuzzy
@@ -436,23 +437,25 @@ msgstr[2] "%(weeks)s тижнів тому"
#, python-format #, python-format
msgid "in %(years)s year" msgid "in %(years)s year"
msgid_plural "in %(years)s years" msgid_plural "in %(years)s years"
msgstr[0] "" msgstr[0] "через %(years)s рік"
msgstr[1] "" msgstr[1] "через %(years)s роки"
msgstr[2] "" msgstr[2] "через %(years)s років"
#: apps/common/templatetags/natural.py:51 #: apps/common/templatetags/natural.py:51
#, python-format #, python-format
msgid "in %(months)s month" msgid "in %(months)s month"
msgid_plural "in %(months)s months" msgid_plural "in %(months)s months"
msgstr[0] "" msgstr[0] "через %(months)s місяць"
msgstr[1] "" msgstr[1] "через %(months)s місяці"
msgstr[2] "через %(months)s місяців"
#: apps/common/templatetags/natural.py:56 #: apps/common/templatetags/natural.py:56
#, python-format #, python-format
msgid "in %(weeks)s week" msgid "in %(weeks)s week"
msgid_plural "in %(weeks)s weeks" msgid_plural "in %(weeks)s weeks"
msgstr[0] "" msgstr[0] "через %(weeks)s тиждень"
msgstr[1] "" msgstr[1] "через %(weeks)s тижні"
msgstr[2] "через %(weeks)s тижнів"
#: apps/common/templatetags/toast_bg.py:34 #: apps/common/templatetags/toast_bg.py:34
msgid "Success" msgid "Success"
@@ -566,7 +569,7 @@ msgstr "Дата і час"
#: apps/currencies/models.py:78 apps/users/models.py:12 #: apps/currencies/models.py:78 apps/users/models.py:12
#: apps/users/models.py:497 #: apps/users/models.py:497
msgid "Auto" msgid "Auto"
msgstr "" msgstr "Авто"
#: apps/currencies/models.py:82 apps/export_app/forms.py:68 #: apps/currencies/models.py:82 apps/export_app/forms.py:68
#: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6 #: apps/export_app/forms.py:145 templates/exchange_rates/fragments/list.html:6
@@ -630,23 +633,27 @@ msgstr "Остання успішна вибірка"
#: apps/currencies/models.py:141 #: apps/currencies/models.py:141
msgid "Target Currencies" msgid "Target Currencies"
msgstr "" msgstr "Цільові валюти"
#: apps/currencies/models.py:143 #: apps/currencies/models.py:143
msgid "" msgid ""
"Select currencies to fetch exchange rates for. Rates will be fetched for " "Select currencies to fetch exchange rates for. Rates will be fetched for "
"each currency against their set exchange currency." "each currency against their set exchange currency."
msgstr "" msgstr ""
"Оберіть валюти для завантаження курсів обміну. Курси будуть завантажені для "
"кожної валюти відносно встановленої валюти обміну."
#: apps/currencies/models.py:151 #: apps/currencies/models.py:151
msgid "Target Accounts" msgid "Target Accounts"
msgstr "" msgstr "Цільові Рахунки"
#: apps/currencies/models.py:153 #: apps/currencies/models.py:153
msgid "" msgid ""
"Select accounts to fetch exchange rates for. Rates will be fetched for each " "Select accounts to fetch exchange rates for. Rates will be fetched for each "
"account's currency against their set exchange currency." "account's currency against their set exchange currency."
msgstr "" msgstr ""
"Оберіть рахунки для завантаження курсів обміну. Курси будуть завантажені для "
"валюти кожного рахунку відносно встановленої валюти обміну."
#: apps/currencies/models.py:160 #: apps/currencies/models.py:160
#, fuzzy #, fuzzy
@@ -657,111 +664,117 @@ msgstr "Обмінний курс"
#: 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 ""
"Створіть один курс обміну та оновлюйте його постійно. Це запобігає "
"засміченню бази даних."
#: apps/currencies/models.py:168 #: apps/currencies/models.py:168
msgid "Exchange Rate Service" msgid "Exchange Rate Service"
msgstr "" msgstr "Сервіс Курсів Обміну"
#: apps/currencies/models.py:169 #: apps/currencies/models.py:169
msgid "Exchange Rate Services" msgid "Exchange Rate Services"
msgstr "" msgstr "Сервіси Курсів Обміну"
#: apps/currencies/models.py:221 #: apps/currencies/models.py:221
msgid "'Every X hours' interval type requires a positive integer." msgid "'Every X hours' interval type requires a positive integer."
msgstr "" msgstr "Інтервал типу «Кожні X годин» потребує додатнього цілого числа."
#: apps/currencies/models.py:230 #: apps/currencies/models.py:230
msgid "'Every X hours' interval must be between 1 and 24." msgid "'Every X hours' interval must be between 1 and 24."
msgstr "" msgstr "Інтервал типу «Кожні X годин» повинен бути між 1 та 24."
#: apps/currencies/models.py:244 #: apps/currencies/models.py:244
msgid "" msgid ""
"Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., " "Invalid hour format. Use comma-separated hours (0-23) and/or ranges (e.g., "
"'1-5,8,10-12')." "'1-5,8,10-12')."
msgstr "" msgstr ""
"Неправильний формат годин. Використовуйте години, розділені комами (023) та/"
"або діапазони (наприклад, '1-5,8,10-12')."
#: apps/currencies/models.py:255 #: apps/currencies/models.py:255
msgid "" msgid ""
"Invalid format. Please check the requirements for your selected interval " "Invalid format. Please check the requirements for your selected interval "
"type." "type."
msgstr "" msgstr ""
"Неправильний формат. Будь ласка, перевірте вимоги для обраного типу "
"інтервалу."
#: apps/currencies/views/currencies.py:42 #: apps/currencies/views/currencies.py:42
msgid "Currency added successfully" msgid "Currency added successfully"
msgstr "" msgstr "Валюту успішно додано"
#: apps/currencies/views/currencies.py:70 #: apps/currencies/views/currencies.py:70
msgid "Currency updated successfully" msgid "Currency updated successfully"
msgstr "" msgstr "Валюту успішно оновлено"
#: apps/currencies/views/currencies.py:96 #: apps/currencies/views/currencies.py:96
msgid "Currency deleted successfully" msgid "Currency deleted successfully"
msgstr "" msgstr "Валюту успішно видалено"
#: 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 "" msgstr "Курс обміну успішно додано"
#: 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 "" msgstr "Курс обміну успішно оновлено"
#: 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 "" msgstr "Курс обміну успішно видалено"
#: apps/currencies/views/exchange_rates_services.py:50 #: apps/currencies/views/exchange_rates_services.py:50
msgid "Service added successfully" msgid "Service added successfully"
msgstr "" msgstr "Сервіс успішно додано"
#: apps/currencies/views/exchange_rates_services.py:79 #: apps/currencies/views/exchange_rates_services.py:79
msgid "Service updated successfully" msgid "Service updated successfully"
msgstr "" msgstr "Сервіс успішно оновлено"
#: apps/currencies/views/exchange_rates_services.py:106 #: apps/currencies/views/exchange_rates_services.py:106
msgid "Service deleted successfully" msgid "Service deleted successfully"
msgstr "" msgstr "Сервіс успішно видалено"
#: apps/currencies/views/exchange_rates_services.py:122 #: apps/currencies/views/exchange_rates_services.py:122
msgid "Services queued successfully" msgid "Services queued successfully"
msgstr "" msgstr "Сервіси успішно поставлено в чергу"
#: apps/dca/forms.py:65 apps/dca/forms.py:164 #: apps/dca/forms.py:65 apps/dca/forms.py:164
msgid "Create transaction" msgid "Create transaction"
msgstr "" msgstr "Створити транзакцію"
#: apps/dca/forms.py:70 apps/transactions/forms.py:515 #: apps/dca/forms.py:70 apps/transactions/forms.py:515
msgid "From Account" msgid "From Account"
msgstr "" msgstr "З Рахунку"
#: apps/dca/forms.py:76 apps/transactions/forms.py:520 #: apps/dca/forms.py:76 apps/transactions/forms.py:520
msgid "To Account" msgid "To Account"
msgstr "" msgstr "На рахунок"
#: apps/dca/forms.py:116 apps/dca/models.py:171 #: apps/dca/forms.py:116 apps/dca/models.py:171
msgid "Expense Transaction" msgid "Expense Transaction"
msgstr "" msgstr "Витратна транзакція"
#: apps/dca/forms.py:120 apps/dca/forms.py:130 #: apps/dca/forms.py:120 apps/dca/forms.py:130
msgid "Type to search for a transaction to link to this entry" msgid "Type to search for a transaction to link to this entry"
msgstr "" msgstr "Введіть для пошуку транзакції, щоб пов’язати її з цим записом"
#: apps/dca/forms.py:126 apps/dca/models.py:179 #: apps/dca/forms.py:126 apps/dca/models.py:179
msgid "Income Transaction" msgid "Income Transaction"
msgstr "" msgstr "Дохідна транзакція"
#: apps/dca/forms.py:210 #: apps/dca/forms.py:210
msgid "Link transaction" msgid "Link transaction"
msgstr "" msgstr "Пов’язати транзакцію"
#: apps/dca/forms.py:297 apps/dca/forms.py:298 apps/dca/forms.py:303 #: apps/dca/forms.py:297 apps/dca/forms.py:298 apps/dca/forms.py:303
#: apps/dca/forms.py:307 #: apps/dca/forms.py:307
msgid "You must provide an account." msgid "You must provide an account."
msgstr "" msgstr "Необхідно вказати рахунок."
#: apps/dca/forms.py:312 apps/transactions/forms.py:690 #: apps/dca/forms.py:312 apps/transactions/forms.py:690
msgid "From and To accounts must be different." msgid "From and To accounts must be different."
msgstr "" msgstr "Рахунки «З» та «На» повинні бути різними."
#: apps/dca/forms.py:326 #: apps/dca/forms.py:326
#, python-format #, python-format
@@ -770,11 +783,11 @@ msgstr ""
#: apps/dca/models.py:16 #: apps/dca/models.py:16
msgid "Target Currency" msgid "Target Currency"
msgstr "" msgstr "Цільова валюта"
#: apps/dca/models.py:22 #: apps/dca/models.py:22
msgid "Payment Currency" msgid "Payment Currency"
msgstr "" msgstr "Валюта платежу"
#: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:184 #: apps/dca/models.py:26 apps/dca/models.py:181 apps/rules/forms.py:184
#: apps/rules/forms.py:200 apps/rules/models.py:43 apps/rules/models.py:295 #: apps/rules/forms.py:200 apps/rules/models.py:43 apps/rules/models.py:295
@@ -782,7 +795,7 @@ msgstr ""
#: apps/transactions/models.py:319 apps/transactions/models.py:569 #: apps/transactions/models.py:319 apps/transactions/models.py:569
#: apps/transactions/models.py:770 apps/transactions/models.py:1006 #: apps/transactions/models.py:770 apps/transactions/models.py:1006
msgid "Notes" msgid "Notes"
msgstr "" msgstr "Примітки"
#: apps/dca/models.py:34 #: apps/dca/models.py:34
msgid "DCA Strategy" msgid "DCA Strategy"
@@ -794,15 +807,15 @@ msgstr ""
#: apps/dca/models.py:156 #: apps/dca/models.py:156
msgid "Strategy" msgid "Strategy"
msgstr "" msgstr "Стратегія"
#: apps/dca/models.py:160 templates/dca/fragments/strategy/details.html:54 #: apps/dca/models.py:160 templates/dca/fragments/strategy/details.html:54
msgid "Amount Paid" msgid "Amount Paid"
msgstr "" msgstr "Сплачена Сума"
#: apps/dca/models.py:163 templates/dca/fragments/strategy/details.html:53 #: apps/dca/models.py:163 templates/dca/fragments/strategy/details.html:53
msgid "Amount Received" msgid "Amount Received"
msgstr "" msgstr "Отримана Сума"
#: apps/dca/models.py:186 #: apps/dca/models.py:186
msgid "DCA Entry" msgid "DCA Entry"
@@ -826,21 +839,21 @@ msgstr ""
#: apps/dca/views.py:238 #: apps/dca/views.py:238
msgid "Entry added successfully" msgid "Entry added successfully"
msgstr "" msgstr "Запис успішно додано"
#: apps/dca/views.py:265 #: apps/dca/views.py:265
msgid "Entry updated successfully" msgid "Entry updated successfully"
msgstr "" msgstr "Запис успішно оновлено"
#: apps/dca/views.py:291 #: apps/dca/views.py:291
msgid "Entry deleted successfully" msgid "Entry deleted successfully"
msgstr "" msgstr "Запис успішно видалено"
#: apps/export_app/forms.py:14 apps/export_app/forms.py:131 #: apps/export_app/forms.py:14 apps/export_app/forms.py:131
#: templates/includes/navbar.html:150 templates/includes/sidebar.html:255 #: templates/includes/navbar.html:150 templates/includes/sidebar.html:255
#: templates/users/fragments/list.html:6 templates/users/pages/index.html:4 #: templates/users/fragments/list.html:6 templates/users/pages/index.html:4
msgid "Users" msgid "Users"
msgstr "" msgstr "Користувачі"
#: apps/export_app/forms.py:32 apps/export_app/forms.py:137 #: apps/export_app/forms.py:32 apps/export_app/forms.py:137
#: apps/transactions/models.py:380 templates/includes/navbar.html:58 #: apps/transactions/models.py:380 templates/includes/navbar.html:58
@@ -850,14 +863,14 @@ msgstr ""
#: templates/recurring_transactions/fragments/table.html:39 #: templates/recurring_transactions/fragments/table.html:39
#: templates/transactions/pages/transactions.html:5 #: templates/transactions/pages/transactions.html:5
msgid "Transactions" msgid "Transactions"
msgstr "" msgstr "Транзакції"
#: apps/export_app/forms.py:38 apps/export_app/forms.py:134 #: apps/export_app/forms.py:38 apps/export_app/forms.py:134
#: apps/transactions/filters.py:64 templates/categories/fragments/list.html:5 #: apps/transactions/filters.py:64 templates/categories/fragments/list.html:5
#: templates/categories/pages/index.html:4 templates/includes/navbar.html:109 #: templates/categories/pages/index.html:4 templates/includes/navbar.html:109
#: templates/includes/sidebar.html:178 #: templates/includes/sidebar.html:178
msgid "Categories" msgid "Categories"
msgstr "" msgstr "Категорії"
#: apps/export_app/forms.py:50 apps/export_app/forms.py:136 #: apps/export_app/forms.py:50 apps/export_app/forms.py:136
#: apps/rules/forms.py:189 apps/rules/forms.py:199 apps/rules/models.py:46 #: apps/rules/forms.py:189 apps/rules/forms.py:199 apps/rules/models.py:46
@@ -880,7 +893,7 @@ msgstr ""
#: 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 "" msgstr "Регулярні транзакції"
#: 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
@@ -888,20 +901,20 @@ msgstr ""
#: templates/installment_plans/fragments/list.html:5 #: templates/installment_plans/fragments/list.html:5
#: templates/installment_plans/pages/index.html:4 #: templates/installment_plans/pages/index.html:4
msgid "Installment Plans" msgid "Installment Plans"
msgstr "" msgstr "Плани Розстрочки"
#: apps/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 "" msgstr "Автоматичні Курси Обміну"
#: 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
#: templates/rules/pages/index.html:4 #: templates/rules/pages/index.html:4
msgid "Rules" msgid "Rules"
msgstr "" msgstr "Правила"
#: apps/export_app/forms.py:86 templates/cotton/transaction/item.html:58 #: apps/export_app/forms.py:86 templates/cotton/transaction/item.html:58
msgid "DCA" msgid "DCA"
@@ -911,24 +924,24 @@ msgstr ""
#: templates/import_app/fragments/profiles/list.html:5 #: templates/import_app/fragments/profiles/list.html:5
#: templates/import_app/pages/profiles_index.html:4 #: templates/import_app/pages/profiles_index.html:4
msgid "Import Profiles" msgid "Import Profiles"
msgstr "" msgstr "Імпортувати Профілі"
#: apps/export_app/forms.py:119 templates/export_app/fragments/export.html:5 #: apps/export_app/forms.py:119 templates/export_app/fragments/export.html:5
#: templates/export_app/pages/index.html:15 #: templates/export_app/pages/index.html:15
msgid "Export" msgid "Export"
msgstr "" msgstr "Експортувати"
#: apps/export_app/forms.py:128 #: apps/export_app/forms.py:128
msgid "Import a ZIP file exported from WYGIWYH" msgid "Import a ZIP file exported from WYGIWYH"
msgstr "" msgstr "Імпортувати ZIP-файл, експортований із WYGIWYH"
#: apps/export_app/forms.py:129 #: apps/export_app/forms.py:129
msgid "ZIP File" msgid "ZIP File"
msgstr "" msgstr "ZIP-Файл"
#: apps/export_app/forms.py:146 apps/rules/models.py:27 #: apps/export_app/forms.py:146 apps/rules/models.py:27
msgid "Transaction rules" msgid "Transaction rules"
msgstr "" msgstr "Правила транзакцій"
#: apps/export_app/forms.py:148 apps/rules/models.py:68 #: apps/export_app/forms.py:148 apps/rules/models.py:68
msgid "Edit transaction action" msgid "Edit transaction action"
@@ -943,52 +956,54 @@ msgstr ""
#: templates/export_app/fragments/restore.html:5 #: templates/export_app/fragments/restore.html:5
#: templates/export_app/pages/index.html:24 #: templates/export_app/pages/index.html:24
msgid "Restore" msgid "Restore"
msgstr "" msgstr "Відновити"
#: apps/export_app/forms.py:196 #: apps/export_app/forms.py:196
msgid "Please upload either a ZIP file or at least one CSV file" msgid "Please upload either a ZIP file or at least one CSV file"
msgstr "" msgstr "Будь ласка, завантажте або ZIP-файл, або принаймні один CSV-файл"
#: apps/export_app/views.py:177 #: apps/export_app/views.py:177
msgid "You have to select at least one export" msgid "You have to select at least one export"
msgstr "" msgstr "Ви повинні обрати принаймні один експорт"
#: apps/export_app/views.py:197 #: apps/export_app/views.py:197
msgid "Data restored successfully" msgid "Data restored successfully"
msgstr "" msgstr "Дані успішно відновлено"
#: apps/export_app/views.py:209 #: apps/export_app/views.py:209
msgid "" msgid ""
"There was an error restoring your data. Check the logs for more details." "There was an error restoring your data. Check the logs for more details."
msgstr "" msgstr ""
"Сталася помилка під час відновлення даних. Перевірте логи для отримання "
"додаткової інформації."
#: apps/import_app/forms.py:49 #: apps/import_app/forms.py:49
msgid "Select a file" msgid "Select a file"
msgstr "" msgstr "Оберіть файл"
#: apps/import_app/forms.py:61 #: apps/import_app/forms.py:61
#: templates/import_app/fragments/profiles/list.html:62 #: templates/import_app/fragments/profiles/list.html:62
#: templates/includes/navbar.html:137 templates/includes/sidebar.html:232 #: templates/includes/navbar.html:137 templates/includes/sidebar.html:232
msgid "Import" msgid "Import"
msgstr "" msgstr "Імпортувати"
#: apps/import_app/models.py:15 #: apps/import_app/models.py:15
msgid "YAML Configuration" msgid "YAML Configuration"
msgstr "" msgstr "YAML Конфігурація"
#: apps/import_app/models.py:19 #: apps/import_app/models.py:19
#: templates/import_app/fragments/profiles/list.html:37 #: templates/import_app/fragments/profiles/list.html:37
msgid "Version" msgid "Version"
msgstr "" msgstr "Версія"
#: apps/import_app/models.py:30 #: apps/import_app/models.py:30
#, python-brace-format #, python-brace-format
msgid "Version {number}" msgid "Version {number}"
msgstr "" msgstr "Версія {number}"
#: apps/import_app/models.py:39 #: apps/import_app/models.py:39
msgid "Invalid YAML Configuration: " msgid "Invalid YAML Configuration: "
msgstr "" msgstr "Неправильна YAML Конфігурація: "
#: apps/import_app/models.py:45 #: apps/import_app/models.py:45
msgid "Queued" msgid "Queued"
@@ -3423,15 +3438,15 @@ msgstr ""
#: templates/users/fragments/add.html:5 #: templates/users/fragments/add.html:5
msgid "Add user" msgid "Add user"
msgstr "" msgstr "Додати користувача"
#: templates/users/fragments/edit.html:5 #: templates/users/fragments/edit.html:5
msgid "Edit user" msgid "Edit user"
msgstr "" msgstr "Редагувати користувача"
#: templates/users/fragments/list.html:30 #: templates/users/fragments/list.html:30
msgid "Email" msgid "Email"
msgstr "" msgstr "Email"
#: templates/users/fragments/list.html:31 #: templates/users/fragments/list.html:31
msgid "Superuser" msgid "Superuser"
@@ -3471,7 +3486,7 @@ msgstr ""
#: templates/users/login.html:40 #: templates/users/login.html:40
msgid "Login with" msgid "Login with"
msgstr "" msgstr "Увiйти за допомогою"
#: templates/yearly_overview/pages/overview_by_account.html:7 #: templates/yearly_overview/pages/overview_by_account.html:7
#: templates/yearly_overview/pages/overview_by_currency.html:9 #: templates/yearly_overview/pages/overview_by_currency.html:9

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,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:

View File

@@ -3,7 +3,7 @@ services:
image: eitchtee/wygiwyh:latest image: eitchtee/wygiwyh:latest
container_name: ${SERVER_NAME} container_name: ${SERVER_NAME}
ports: ports:
- "${OUTBOUND_PORT}:8000" - "${OUTBOUND_PORT:-8000}:${INTERNAL_PORT:-8000}"
env_file: env_file:
- .env - .env
depends_on: depends_on:

View File

@@ -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

View File

@@ -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