From f13dd18b6f6407aa0fd1a6e4ce3a87008018adbe Mon Sep 17 00:00:00 2001 From: James Cole Date: Mon, 6 Jun 2022 17:39:50 +0200 Subject: [PATCH] Update boxes. --- app/Api/V2/Controllers/NetWorthController.php | 64 +++++++++ app/Helpers/Report/NetWorth.php | 60 ++++++++- app/Helpers/Report/NetWorthInterface.php | 13 +- frontend/src/api/v2/net-worth/index.js | 29 ++++ .../components/dashboard/BillInsightBox.vue | 56 ++++---- .../dashboard/NetWorthInsightBox.vue | 125 ++++++++++++++++++ .../components/dashboard/SpendInsightBox.vue | 58 ++++---- frontend/src/i18n/bg_BG/index.js | 6 +- frontend/src/i18n/cs_CZ/index.js | 6 +- frontend/src/i18n/de_DE/index.js | 6 +- frontend/src/i18n/el_GR/index.js | 6 +- frontend/src/i18n/en_GB/index.js | 6 +- frontend/src/i18n/en_US/index.js | 6 +- frontend/src/i18n/es_ES/index.js | 6 +- frontend/src/i18n/fi_FI/index.js | 6 +- frontend/src/i18n/fr_FR/index.js | 6 +- frontend/src/i18n/hu_HU/index.js | 6 +- frontend/src/i18n/it_IT/index.js | 6 +- frontend/src/i18n/ja_JP/index.js | 6 +- frontend/src/i18n/nb_NO/index.js | 6 +- frontend/src/i18n/nl_NL/index.js | 6 +- frontend/src/i18n/pl_PL/index.js | 6 +- frontend/src/i18n/pt_BR/index.js | 6 +- frontend/src/i18n/pt_PT/index.js | 6 +- frontend/src/i18n/ro_RO/index.js | 6 +- frontend/src/i18n/ru_RU/index.js | 6 +- frontend/src/i18n/sk_SK/index.js | 6 +- frontend/src/i18n/sv_SE/index.js | 6 +- frontend/src/i18n/vi_VN/index.js | 6 +- frontend/src/i18n/zh_CN/index.js | 6 +- frontend/src/i18n/zh_TW/index.js | 6 +- frontend/src/pages/dashboard/Dashboard.vue | 4 +- routes/api.php | 13 ++ 33 files changed, 479 insertions(+), 87 deletions(-) create mode 100644 app/Api/V2/Controllers/NetWorthController.php create mode 100644 frontend/src/api/v2/net-worth/index.js create mode 100644 frontend/src/components/dashboard/NetWorthInsightBox.vue diff --git a/app/Api/V2/Controllers/NetWorthController.php b/app/Api/V2/Controllers/NetWorthController.php new file mode 100644 index 0000000000..e1f25159e4 --- /dev/null +++ b/app/Api/V2/Controllers/NetWorthController.php @@ -0,0 +1,64 @@ +. + */ + +namespace FireflyIII\Api\V2\Controllers; + +use FireflyIII\Api\V2\Request\Generic\SingleDateRequest; +use FireflyIII\Helpers\Report\NetWorthInterface; +use FireflyIII\Repositories\Account\AccountRepositoryInterface; +use FireflyIII\Support\Http\Api\ConvertsExchangeRates; +use Illuminate\Http\JsonResponse; + +/** + * Class NetWorthController + */ +class NetWorthController extends Controller +{ + use ConvertsExchangeRates; + + private NetWorthInterface $netWorth; + private AccountRepositoryInterface $repository; + + /** + * + */ + public function __construct() + { + $this->middleware( + function ($request, $next) { + $this->repository = app(AccountRepositoryInterface::class); + $this->netWorth = app(NetWorthInterface::class); + $this->netWorth->setUser(auth()->user()); + return $next($request); + } + ); + } + + public function get(SingleDateRequest $request): JsonResponse + { + $date = $request->getDate(); + $result = $this->netWorth->sumNetWorthByCurrency($date); + $converted = $this->cerSum($result); + + return response()->json($converted); + } + +} diff --git a/app/Helpers/Report/NetWorth.php b/app/Helpers/Report/NetWorth.php index 451b56ad08..df695cda2a 100644 --- a/app/Helpers/Report/NetWorth.php +++ b/app/Helpers/Report/NetWorth.php @@ -24,7 +24,9 @@ declare(strict_types=1); namespace FireflyIII\Helpers\Report; use Carbon\Carbon; +use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Account; +use FireflyIII\Models\AccountType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Support\CacheProperties; @@ -38,9 +40,7 @@ use JsonException; */ class NetWorth implements NetWorthInterface { - - /** @var AccountRepositoryInterface */ - private $accountRepository; + private AccountRepositoryInterface $accountRepository; /** @var CurrencyRepositoryInterface */ private $currencyRepos; @@ -63,11 +63,10 @@ class NetWorth implements NetWorthInterface * * @return array * @throws JsonException - * @throws \FireflyIII\Exceptions\FireflyException + * @throws FireflyException */ public function getNetWorthByCurrency(Collection $accounts, Carbon $date): array { - // start in the past, end in the future? use $date $cache = new CacheProperties; $cache->addProperty($date); @@ -144,4 +143,55 @@ class NetWorth implements NetWorthInterface $this->currencyRepos = app(CurrencyRepositoryInterface::class); $this->currencyRepos->setUser($this->user); } + + /** + * @inheritDoc + */ + public function sumNetWorthByCurrency(Carbon $date): array + { + /** + * Collect accounts + */ + $accounts = $this->getAccounts(); + $return = []; + $balances = app('steam')->balancesByAccounts($accounts, $date); + foreach ($accounts as $account) { + $currency = $this->accountRepository->getAccountCurrency($account); + $balance = $balances[$account->id] ?? '0'; + + // always subtract virtual balance. + $virtualBalance = (string) $account->virtual_balance; + if ('' !== $virtualBalance) { + $balance = bcsub($balance, $virtualBalance); + } + + $return[$currency->id] = $return[$currency->id] ?? [ + 'id' => (string) $currency->id, + 'name' => $currency->name, + 'symbol' => $currency->symbol, + 'code' => $currency->code, + 'decimal_places' => $currency->decimal_places, + 'sum' => '0', + ]; + $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], $balance); + } + + return $return; + } + + /** + * @return Collection + */ + private function getAccounts(): Collection + { + $accounts = $this->accountRepository->getAccountsByType([AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE, AccountType::DEFAULT, AccountType::CREDITCARD]); + $filtered = new Collection; + /** @var Account $account */ + foreach ($accounts as $account) { + if (1 === (int) $this->accountRepository->getMetaValue($account, 'include_net_worth')) { + $filtered->push($account); + } + } + return $filtered; + } } diff --git a/app/Helpers/Report/NetWorthInterface.php b/app/Helpers/Report/NetWorthInterface.php index 0cb371b2c5..c4bd89c199 100644 --- a/app/Helpers/Report/NetWorthInterface.php +++ b/app/Helpers/Report/NetWorthInterface.php @@ -46,8 +46,8 @@ interface NetWorthInterface * * @param Collection $accounts * @param Carbon $date - * * @return array + * @deprecated */ public function getNetWorthByCurrency(Collection $accounts, Carbon $date): array; @@ -56,4 +56,15 @@ interface NetWorthInterface */ public function setUser(User $user): void; + /** + * TODO move to repository + * + * Same as above but cleaner function with less dependencies. + * + * @param Carbon $date + * + * @return array + */ + public function sumNetWorthByCurrency(Carbon $date): array; + } diff --git a/frontend/src/api/v2/net-worth/index.js b/frontend/src/api/v2/net-worth/index.js new file mode 100644 index 0000000000..6037ee45a2 --- /dev/null +++ b/frontend/src/api/v2/net-worth/index.js @@ -0,0 +1,29 @@ +/* + * basic.js + * Copyright (c) 2021 james@firefly-iii.org + * + * This file is part of Firefly III (https://github.com/firefly-iii). + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import {api} from "boot/axios"; +import {format} from "date-fns"; + +export default class NetWorth { + get(date) { + let dateStr = format(date, 'y-MM-dd'); + return api.get('/api/v2/net-worth', {params: {date: dateStr}}); + } +} diff --git a/frontend/src/components/dashboard/BillInsightBox.vue b/frontend/src/components/dashboard/BillInsightBox.vue index 942cc04bb6..69192c6083 100644 --- a/frontend/src/components/dashboard/BillInsightBox.vue +++ b/frontend/src/components/dashboard/BillInsightBox.vue @@ -36,25 +36,28 @@ :value="percentage" size="50px" :thickness="0.22" - color="green" - track-color="grey-3" + color="positive" + track-color="negative" /> - You have no bills + {{ $t('firefly.no_bill') }} {{ $t('firefly.bills_to_pay') }}: - - ({{ formatAmount(bill.code, bill.sum) }}), + + + + {{ formatAmount(item.code, item.sum) }} + +
- {{ $t('firefly.bills_paid') }}: - ({{ - formatAmount(bill.code, bill.sum) - }}), + {{ $t('firefly.bills_paid') }}: + + + {{formatAmount(item.code, item.sum) }} + + +
@@ -74,10 +77,6 @@ export default { currency: 'EUR', unpaidAmount: 0.0, paidAmount: 0.0, - range: { - start: null, - end: null, - }, } }, name: "BillInsightBox", @@ -99,19 +98,16 @@ export default { mounted() { this.store = useFireflyIIIStore(); // TODO this code snippet is recycled a lot. - if (null === this.range.start || null === this.range.end) { - // subscribe, then update: - this.store.$onAction( - ({name, $store, args, after, onError,}) => { - after((result) => { - if (name === 'setRange') { - this.range = result; - this.triggerUpdate(); - } - }) - } - ) - } + // subscribe, then update: + this.store.$onAction( + ({name, $store, args, after, onError,}) => { + after((result) => { + if (name === 'setRange') { + this.triggerUpdate(); + } + }) + } + ) this.triggerUpdate(); }, methods: { @@ -139,6 +135,8 @@ export default { { sum: current.sum, code: current.code, + native_sum: current.native_sum, + native_code: current.native_code, native: hasNative, } ); @@ -157,6 +155,8 @@ export default { { sum: current.sum, code: current.code, + native_sum: current.native_sum, + native_code: current.native_code, native: hasNative, } ); diff --git a/frontend/src/components/dashboard/NetWorthInsightBox.vue b/frontend/src/components/dashboard/NetWorthInsightBox.vue new file mode 100644 index 0000000000..6f5d9048cb --- /dev/null +++ b/frontend/src/components/dashboard/NetWorthInsightBox.vue @@ -0,0 +1,125 @@ + + + + + + + diff --git a/frontend/src/components/dashboard/SpendInsightBox.vue b/frontend/src/components/dashboard/SpendInsightBox.vue index 76b80a5127..94b76b897a 100644 --- a/frontend/src/components/dashboard/SpendInsightBox.vue +++ b/frontend/src/components/dashboard/SpendInsightBox.vue @@ -26,7 +26,7 @@ - To spend and left + {{ $t('firefly.left_to_spend') }} @@ -36,22 +36,27 @@ :value="percentage" size="50px" :thickness="0.22" - color="green" - track-color="grey-3" + color="negative" + track-color="positive" /> - You have no budgets set + {{ $t('firefly.no_budget') }} - Budgeted: - ({{ formatAmount(budget.code, budget.sum) }}), -
- Spent: - ({{ formatAmount(budget.code, budget.sum) }}), + {{ $t('firefly.budgeted') }}: + + + {{ formatAmount(item.code, item.sum) }} + + + +
+ {{ $t('firefly.spent') }}: + + + {{ formatAmount(item.code, item.sum) }} + +
@@ -72,10 +77,6 @@ export default { //percentage: 0, budgetedAmount: 0.0, spentAmount: 0.0, - range: { - start: null, - end: null, - }, } }, name: "SpendInsightBox", @@ -98,19 +99,16 @@ export default { this.store = useFireflyIIIStore(); // TODO this code snippet is recycled a lot. - if (null === this.range.start || null === this.range.end) { - // subscribe, then update: - this.store.$onAction( - ({name, $store, args, after, onError,}) => { - after((result) => { - if (name === 'setRange') { - this.range = result; - this.triggerUpdate(); - } - }) - } - ) - } + // subscribe, then update: + this.store.$onAction( + ({name, $store, args, after, onError,}) => { + after((result) => { + if (name === 'setRange') { + this.triggerUpdate(); + } + }) + } + ) this.triggerUpdate(); }, methods: { @@ -138,6 +136,8 @@ export default { { sum: current.sum, code: current.code, + native_sum: current.native_sum, + native_code: current.native_code, native: hasNative } ); @@ -156,6 +156,8 @@ export default { { sum: current.sum, code: current.code, + native_sum: current.native_sum, + native_code: current.native_code, native: hasNative } ); diff --git a/frontend/src/i18n/bg_BG/index.js b/frontend/src/i18n/bg_BG/index.js index e47a6baf43..8612ac7f86 100644 --- a/frontend/src/i18n/bg_BG/index.js +++ b/frontend/src/i18n/bg_BG/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "\u041d\u043e\u0432 \u0434\u0435\u043f\u043e\u0437\u0438\u0442", "newWithdrawal": "\u041d\u043e\u0432 \u0440\u0430\u0437\u0445\u043e\u0434", "bills_paid": "\u041f\u043b\u0430\u0442\u0435\u043d\u0438 \u0441\u043c\u0435\u0442\u043a\u0438", + "left_to_spend": "\u041e\u0441\u0442\u0430\u043d\u0430\u043b\u0438 \u0437\u0430 \u0445\u0430\u0440\u0447\u0435\u043d\u0435", + "no_budget": "(\u0431\u0435\u0437 \u0431\u044e\u0434\u0436\u0435\u0442)", + "budgeted": "\u0411\u044e\u0434\u0436\u0435\u0442\u0438\u0440\u0430\u043d\u0438", + "spent": "\u041f\u043e\u0445\u0430\u0440\u0447\u0435\u043d\u0438", + "no_bill": "(\u043d\u044f\u043c\u0430 \u0441\u043c\u0435\u0442\u043a\u0430)", "rule_trigger_source_account_starts_choice": "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u0437\u0430\u043f\u043e\u0447\u0432\u0430 \u0441..", "rule_trigger_source_account_ends_choice": "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u0437\u0430\u0432\u044a\u0440\u0448\u0432\u0430 \u0441..", "rule_trigger_source_account_is_choice": "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u0435..", @@ -187,7 +192,6 @@ export default { "subscriptions": "\u0410\u0431\u043e\u043d\u0430\u043c\u0435\u043d\u0442\u0438", "welcome_back": "\u041a\u0430\u043a\u0432\u043e \u0441\u0435 \u0441\u043b\u0443\u0447\u0432\u0430?", "bills_to_pay": "\u0421\u043c\u0435\u0442\u043a\u0438 \u0437\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0435", - "left_to_spend": "\u041e\u0441\u0442\u0430\u043d\u0430\u043b\u0438 \u0437\u0430 \u0445\u0430\u0440\u0447\u0435\u043d\u0435", "net_worth": "\u041d\u0435\u0442\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442", "pref_last365": "Last year", "pref_last90": "Last 90 days", diff --git a/frontend/src/i18n/cs_CZ/index.js b/frontend/src/i18n/cs_CZ/index.js index a89760eebb..8d9cdc2dbb 100644 --- a/frontend/src/i18n/cs_CZ/index.js +++ b/frontend/src/i18n/cs_CZ/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Nov\u00fd vklad", "newWithdrawal": "Nov\u00fd v\u00fddaj", "bills_paid": "Zaplacen\u00e9 \u00fa\u010dty", + "left_to_spend": "Zb\u00fdv\u00e1 k utracen\u00ed", + "no_budget": "(\u017e\u00e1dn\u00fd rozpo\u010det)", + "budgeted": "Rozpo\u010det", + "spent": "Utraceno", + "no_bill": "(no bill)", "rule_trigger_source_account_starts_choice": "Source account name starts with..", "rule_trigger_source_account_ends_choice": "Source account name ends with..", "rule_trigger_source_account_is_choice": "Source account name is..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "Jak to jde?", "bills_to_pay": "Faktury k zaplacen\u00ed", - "left_to_spend": "Zb\u00fdv\u00e1 k utracen\u00ed", "net_worth": "\u010cist\u00e9 jm\u011bn\u00ed", "pref_last365": "Last year", "pref_last90": "Last 90 days", diff --git a/frontend/src/i18n/de_DE/index.js b/frontend/src/i18n/de_DE/index.js index 99af0c881a..f3c82617ff 100644 --- a/frontend/src/i18n/de_DE/index.js +++ b/frontend/src/i18n/de_DE/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Neue Einnahme", "newWithdrawal": "Neue Ausgabe", "bills_paid": "Rechnungen bezahlt", + "left_to_spend": "Verbleibend zum Ausgeben", + "no_budget": "(kein Budget)", + "budgeted": "Vorgesehen", + "spent": "Ausgegeben", + "no_bill": "(keine Belege)", "rule_trigger_source_account_starts_choice": "Name des Quellkontos beginnt mit..", "rule_trigger_source_account_ends_choice": "Quellkonto-Name endet mit..", "rule_trigger_source_account_is_choice": "Quellkonto-Name lautet..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Abonnements", "welcome_back": "\u00dcberblick", "bills_to_pay": "Unbezahlte Rechnungen", - "left_to_spend": "Verbleibend zum Ausgeben", "net_worth": "Eigenkapital", "pref_last365": "Letztes Jahr", "pref_last90": "Letzte 90 Tage", diff --git a/frontend/src/i18n/el_GR/index.js b/frontend/src/i18n/el_GR/index.js index e52e641612..092a07f9e2 100644 --- a/frontend/src/i18n/el_GR/index.js +++ b/frontend/src/i18n/el_GR/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "\u039d\u03ad\u03b1 \u03ba\u03b1\u03c4\u03ac\u03b8\u03b5\u03c3\u03b7", "newWithdrawal": "\u039d\u03ad\u03b1 \u03b4\u03b1\u03c0\u03ac\u03bd\u03b7", "bills_paid": "\u03a0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ad\u03bd\u03b1 \u03c0\u03ac\u03b3\u03b9\u03b1 \u03ad\u03be\u03bf\u03b4\u03b1", + "left_to_spend": "\u0394\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03b1 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03ce\u03bd", + "no_budget": "(\u03c7\u03c9\u03c1\u03af\u03c2 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03cc)", + "budgeted": "\u03a0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf", + "spent": "\u0394\u03b1\u03c0\u03b1\u03bd\u03ae\u03b8\u03b7\u03ba\u03b1\u03bd", + "no_bill": "(\u03c7\u03c9\u03c1\u03af\u03c2 \u03c0\u03ac\u03b3\u03b9\u03bf \u03ad\u03be\u03bf\u03b4\u03bf)", "rule_trigger_source_account_starts_choice": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03bf\u03cd \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2 \u03b1\u03c1\u03c7\u03af\u03b6\u03b5\u03b9 \u03bc\u03b5..", "rule_trigger_source_account_ends_choice": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03bf\u03cd \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2 \u03c4\u03b5\u03bb\u03b5\u03b9\u03ce\u03bd\u03b5\u03b9 \u03bc\u03b5..", "rule_trigger_source_account_is_choice": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03bf\u03cd \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9..", @@ -187,7 +192,6 @@ export default { "subscriptions": "\u03a3\u03c5\u03bd\u03b4\u03c1\u03bf\u03bc\u03ad\u03c2", "welcome_back": "\u03a4\u03b9 \u03c0\u03b1\u03af\u03b6\u03b5\u03b9;", "bills_to_pay": "\u03a0\u03ac\u03b3\u03b9\u03b1 \u03ad\u03be\u03bf\u03b4\u03b1 \u03c0\u03c1\u03bf\u03c2 \u03c0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ae", - "left_to_spend": "\u0394\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03b1 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03ce\u03bd", "net_worth": "\u039a\u03b1\u03b8\u03b1\u03c1\u03ae \u03b1\u03be\u03af\u03b1", "pref_last365": "\u03a0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03ad\u03c4\u03bf\u03c2", "pref_last90": "\u03a4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03b5\u03c2 90 \u03b7\u03bc\u03ad\u03c1\u03b5\u03c2", diff --git a/frontend/src/i18n/en_GB/index.js b/frontend/src/i18n/en_GB/index.js index f6760449d1..b0e49372d5 100644 --- a/frontend/src/i18n/en_GB/index.js +++ b/frontend/src/i18n/en_GB/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "New deposit", "newWithdrawal": "New expense", "bills_paid": "Bills paid", + "left_to_spend": "Left to spend", + "no_budget": "(no budget)", + "budgeted": "Budgeted", + "spent": "Spent", + "no_bill": "(no bill)", "rule_trigger_source_account_starts_choice": "Source account name starts with..", "rule_trigger_source_account_ends_choice": "Source account name ends with..", "rule_trigger_source_account_is_choice": "Source account name is..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "What's playing?", "bills_to_pay": "Bills to pay", - "left_to_spend": "Left to spend", "net_worth": "Net worth", "pref_last365": "Last year", "pref_last90": "Last 90 days", diff --git a/frontend/src/i18n/en_US/index.js b/frontend/src/i18n/en_US/index.js index 58c512cc7a..0d4e92d4d1 100644 --- a/frontend/src/i18n/en_US/index.js +++ b/frontend/src/i18n/en_US/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "New deposit", "newWithdrawal": "New expense", "bills_paid": "Bills paid", + "left_to_spend": "Left to spend", + "no_budget": "(no budget)", + "budgeted": "Budgeted", + "spent": "Spent", + "no_bill": "(no bill)", "rule_trigger_source_account_starts_choice": "Source account name starts with..", "rule_trigger_source_account_ends_choice": "Source account name ends with..", "rule_trigger_source_account_is_choice": "Source account name is..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "What's playing?", "bills_to_pay": "Bills to pay", - "left_to_spend": "Left to spend", "net_worth": "Net worth", "pref_last365": "Last year", "pref_last90": "Last 90 days", diff --git a/frontend/src/i18n/es_ES/index.js b/frontend/src/i18n/es_ES/index.js index c3614d11b4..03bdb04f82 100644 --- a/frontend/src/i18n/es_ES/index.js +++ b/frontend/src/i18n/es_ES/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Nuevo deposito", "newWithdrawal": "Nuevo gasto", "bills_paid": "Facturas pagadas", + "left_to_spend": "Disponible para gastar", + "no_budget": "(sin presupuesto)", + "budgeted": "Presupuestado", + "spent": "Gastado", + "no_bill": "(sin factura)", "rule_trigger_source_account_starts_choice": "El nombre de la cuenta de origen comienza con..", "rule_trigger_source_account_ends_choice": "El nombre de la cuenta de origen termina con..", "rule_trigger_source_account_is_choice": "El nombre de la cuenta origen es..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Suscripciones", "welcome_back": "\u00bfQu\u00e9 est\u00e1 pasando?", "bills_to_pay": "Facturas por pagar", - "left_to_spend": "Disponible para gastar", "net_worth": "Valor Neto", "pref_last365": "A\u00f1o pasado", "pref_last90": "\u00daltimos 90 d\u00edas", diff --git a/frontend/src/i18n/fi_FI/index.js b/frontend/src/i18n/fi_FI/index.js index 568c50e37b..38f0f46ea3 100644 --- a/frontend/src/i18n/fi_FI/index.js +++ b/frontend/src/i18n/fi_FI/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Uusi talletus", "newWithdrawal": "Uusi kustannus", "bills_paid": "Maksetut laskut", + "left_to_spend": "K\u00e4ytett\u00e4viss\u00e4", + "no_budget": "(ei budjettia)", + "budgeted": "Budjetoitu", + "spent": "K\u00e4ytetty", + "no_bill": "(ei laskua)", "rule_trigger_source_account_starts_choice": "L\u00e4hdetilin nimi alkaa ...", "rule_trigger_source_account_ends_choice": "L\u00e4hdetilin nimi p\u00e4\u00e4ttyy..", "rule_trigger_source_account_is_choice": "L\u00e4hdetilin nimi on..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Tilaukset", "welcome_back": "Mit\u00e4 kuuluu?", "bills_to_pay": "Laskuja maksettavana", - "left_to_spend": "K\u00e4ytett\u00e4viss\u00e4", "net_worth": "Varallisuus", "pref_last365": "Edellinen vuosi", "pref_last90": "Viimeiset 90 p\u00e4iv\u00e4\u00e4", diff --git a/frontend/src/i18n/fr_FR/index.js b/frontend/src/i18n/fr_FR/index.js index 8f2488c3b7..b6ec9c6a95 100644 --- a/frontend/src/i18n/fr_FR/index.js +++ b/frontend/src/i18n/fr_FR/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Nouveau d\u00e9p\u00f4t", "newWithdrawal": "Nouvelle d\u00e9pense", "bills_paid": "Factures pay\u00e9es", + "left_to_spend": "Reste \u00e0 d\u00e9penser", + "no_budget": "(pas de budget)", + "budgeted": "Budg\u00e9tis\u00e9", + "spent": "D\u00e9pens\u00e9", + "no_bill": "(aucune facture)", "rule_trigger_source_account_starts_choice": "Le nom du compte source commence par..", "rule_trigger_source_account_ends_choice": "Le nom du compte source se termine par..", "rule_trigger_source_account_is_choice": "Le nom du compte source est..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Abonnements", "welcome_back": "Quoi de neuf ?", "bills_to_pay": "Factures \u00e0 payer", - "left_to_spend": "Reste \u00e0 d\u00e9penser", "net_worth": "Avoir net", "pref_last365": "L'ann\u00e9e derni\u00e8re", "pref_last90": "Les 90 derniers jours", diff --git a/frontend/src/i18n/hu_HU/index.js b/frontend/src/i18n/hu_HU/index.js index 1b97d74491..0962bcb5d4 100644 --- a/frontend/src/i18n/hu_HU/index.js +++ b/frontend/src/i18n/hu_HU/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "\u00daj bev\u00e9tel", "newWithdrawal": "\u00daj k\u00f6lts\u00e9g", "bills_paid": "Befizetett sz\u00e1ml\u00e1k", + "left_to_spend": "Elk\u00f6lthet\u0151", + "no_budget": "(nincs k\u00f6lts\u00e9gkeret)", + "budgeted": "Betervezett", + "spent": "Elk\u00f6lt\u00f6tt", + "no_bill": "(no bill)", "rule_trigger_source_account_starts_choice": "Forr\u00e1ssz\u00e1mla nev\u00e9nek eleje..", "rule_trigger_source_account_ends_choice": "Forr\u00e1ssz\u00e1mla nev\u00e9nek v\u00e9ge..", "rule_trigger_source_account_is_choice": "A forr\u00e1ssz\u00e1mla neve..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "Mi a helyzet?", "bills_to_pay": "Fizetend\u0151 sz\u00e1ml\u00e1k", - "left_to_spend": "Elk\u00f6lthet\u0151", "net_worth": "Nett\u00f3 \u00e9rt\u00e9k", "pref_last365": "Last year", "pref_last90": "Last 90 days", diff --git a/frontend/src/i18n/it_IT/index.js b/frontend/src/i18n/it_IT/index.js index 18ea46b221..3d1b2a1f02 100644 --- a/frontend/src/i18n/it_IT/index.js +++ b/frontend/src/i18n/it_IT/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Nuova entrata", "newWithdrawal": "Nuova uscita", "bills_paid": "Bollette pagate", + "left_to_spend": "Altro da spendere", + "no_budget": "(nessun budget)", + "budgeted": "Preventivato", + "spent": "Speso", + "no_bill": "(nessuna bolletta)", "rule_trigger_source_account_starts_choice": "Il nome del conto di origine inizia con..", "rule_trigger_source_account_ends_choice": "Il nome del conto di origine termina con..", "rule_trigger_source_account_is_choice": "Il nome del conto di origine \u00e8..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Abbonamenti", "welcome_back": "La tua situazione finanziaria", "bills_to_pay": "Bollette da pagare", - "left_to_spend": "Altro da spendere", "net_worth": "Patrimonio", "pref_last365": "Anno scorso", "pref_last90": "Ultimi 90 giorni", diff --git a/frontend/src/i18n/ja_JP/index.js b/frontend/src/i18n/ja_JP/index.js index 4a48c5e7fd..d7a2646a7f 100644 --- a/frontend/src/i18n/ja_JP/index.js +++ b/frontend/src/i18n/ja_JP/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "\u65b0\u3057\u3044\u5165\u91d1", "newWithdrawal": "\u65b0\u3057\u3044\u652f\u51fa", "bills_paid": "\u652f\u6255\u3044\u6e08\u307f\u8acb\u6c42", + "left_to_spend": "\u652f\u51fa\u3067\u304d\u308b\u6b8b\u308a", + "no_budget": "(\u4e88\u7b97\u306a\u3057)", + "budgeted": "\u8a08\u4e0a\u4e88\u7b97", + "spent": "\u652f\u51fa", + "no_bill": "(\u8acb\u6c42\u306a\u3057)", "rule_trigger_source_account_starts_choice": "\u51fa\u91d1\u5143\u53e3\u5ea7\u540d\u304c...\u3067\u59cb\u307e\u308b", "rule_trigger_source_account_ends_choice": "\u51fa\u91d1\u5143\u53e3\u5ea7\u540d\u304c\u2026\u3067\u7d42\u308f\u308b", "rule_trigger_source_account_is_choice": "\u51fa\u91d1\u5143\u53e3\u5ea7\u540d\u304c...", @@ -187,7 +192,6 @@ export default { "subscriptions": "\u8b1b\u8aad", "welcome_back": "\u6982\u8981", "bills_to_pay": "\u8acb\u6c42\u66f8", - "left_to_spend": "\u652f\u51fa\u3067\u304d\u308b\u6b8b\u308a", "net_worth": "\u7d14\u8cc7\u7523", "pref_last365": "\u6628\u5e74", "pref_last90": "\u904e\u53bb 90 \u65e5\u9593", diff --git a/frontend/src/i18n/nb_NO/index.js b/frontend/src/i18n/nb_NO/index.js index 542d1c6977..7dec4d05fe 100644 --- a/frontend/src/i18n/nb_NO/index.js +++ b/frontend/src/i18n/nb_NO/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Nytt innskudd", "newWithdrawal": "Ny utgift", "bills_paid": "Regninger betalt", + "left_to_spend": "Igjen \u00e5 bruke", + "no_budget": "(ingen budsjett)", + "budgeted": "Budsjettert", + "spent": "Brukt", + "no_bill": "(no bill)", "rule_trigger_source_account_starts_choice": "Source account name starts with..", "rule_trigger_source_account_ends_choice": "Source account name ends with..", "rule_trigger_source_account_is_choice": "Source account name is..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "What's playing?", "bills_to_pay": "Regninger \u00e5 betale", - "left_to_spend": "Igjen \u00e5 bruke", "net_worth": "Formue", "pref_last365": "Last year", "pref_last90": "Last 90 days", diff --git a/frontend/src/i18n/nl_NL/index.js b/frontend/src/i18n/nl_NL/index.js index 60cdb1ffed..74ecc48933 100644 --- a/frontend/src/i18n/nl_NL/index.js +++ b/frontend/src/i18n/nl_NL/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Nieuwe inkomsten", "newWithdrawal": "Nieuwe uitgave", "bills_paid": "Betaalde contracten", + "left_to_spend": "Over om uit te geven", + "no_budget": "(geen budget)", + "budgeted": "Gebudgetteerd", + "spent": "Uitgegeven", + "no_bill": "(geen contract)", "rule_trigger_source_account_starts_choice": "Bronrekeningnaam begint met..", "rule_trigger_source_account_ends_choice": "Bronrekeningnaam eindigt op..", "rule_trigger_source_account_is_choice": "Bronrekeningnaam is..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Abonnementen", "welcome_back": "Hoe staat het er voor?", "bills_to_pay": "Openstaande contracten", - "left_to_spend": "Over om uit te geven", "net_worth": "Kapitaal", "pref_last365": "Afgelopen jaar", "pref_last90": "Afgelopen 90 dagen", diff --git a/frontend/src/i18n/pl_PL/index.js b/frontend/src/i18n/pl_PL/index.js index 380433d92e..7e6dd51158 100644 --- a/frontend/src/i18n/pl_PL/index.js +++ b/frontend/src/i18n/pl_PL/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Nowa wp\u0142ata", "newWithdrawal": "Nowy wydatek", "bills_paid": "Zap\u0142acone rachunki", + "left_to_spend": "Pozosta\u0142o do wydania", + "no_budget": "(brak bud\u017cetu)", + "budgeted": "Zabud\u017cetowano", + "spent": "Wydano", + "no_bill": "(brak rachunku)", "rule_trigger_source_account_starts_choice": "Konto \u017ar\u00f3d\u0142owe si\u0119 zaczyna od..", "rule_trigger_source_account_ends_choice": "Konto \u017ar\u00f3d\u0142owe ko\u0144czy si\u0119 na..", "rule_trigger_source_account_is_choice": "Kontem \u017ar\u00f3d\u0142owym jest..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subskrypcje", "welcome_back": "Co jest grane?", "bills_to_pay": "Rachunki do zap\u0142acenia", - "left_to_spend": "Pozosta\u0142o do wydania", "net_worth": "Warto\u015b\u0107 netto", "pref_last365": "Ostatni rok", "pref_last90": "Ostatnie 90 dni", diff --git a/frontend/src/i18n/pt_BR/index.js b/frontend/src/i18n/pt_BR/index.js index 1977feea80..0959c09144 100644 --- a/frontend/src/i18n/pt_BR/index.js +++ b/frontend/src/i18n/pt_BR/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Novo dep\u00f3sito", "newWithdrawal": "Nova despesa", "bills_paid": "Contas pagas", + "left_to_spend": "Restante para gastar", + "no_budget": "(sem or\u00e7amento)", + "budgeted": "Or\u00e7ado", + "spent": "Gasto", + "no_bill": "(sem conta)", "rule_trigger_source_account_starts_choice": "Nome da conta de origem come\u00e7a com..", "rule_trigger_source_account_ends_choice": "O nome da conta de origem termina com..", "rule_trigger_source_account_is_choice": "Nome da conta de origem \u00e9..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Assinaturas", "welcome_back": "O que est\u00e1 acontecendo?", "bills_to_pay": "Contas a pagar", - "left_to_spend": "Restante para gastar", "net_worth": "Valor L\u00edquido", "pref_last365": "Ano passado", "pref_last90": "\u00daltimos 90 dias", diff --git a/frontend/src/i18n/pt_PT/index.js b/frontend/src/i18n/pt_PT/index.js index e093468c53..a44e961444 100644 --- a/frontend/src/i18n/pt_PT/index.js +++ b/frontend/src/i18n/pt_PT/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Novo dep\u00f3sito", "newWithdrawal": "Nova despesa", "bills_paid": "Fatura pagas", + "left_to_spend": "Restante para gastar", + "no_budget": "(sem or\u00e7amento)", + "budgeted": "Or\u00e7amentado", + "spent": "Gasto", + "no_bill": "(sem fatura)", "rule_trigger_source_account_starts_choice": "O nome da conta de origem come\u00e7a com..", "rule_trigger_source_account_ends_choice": "O nome da conta de origem acaba com..", "rule_trigger_source_account_is_choice": "O nome da conta de origem \u00e9..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscri\u00e7\u00f5es", "welcome_back": "Tudo bem?", "bills_to_pay": "Faturas a pagar", - "left_to_spend": "Restante para gastar", "net_worth": "Patrim\u00f3nio liquido", "pref_last365": "Last year", "pref_last90": "\u00daltimos 90 dias", diff --git a/frontend/src/i18n/ro_RO/index.js b/frontend/src/i18n/ro_RO/index.js index c3b214cff8..62fe6268df 100644 --- a/frontend/src/i18n/ro_RO/index.js +++ b/frontend/src/i18n/ro_RO/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Depozit nou", "newWithdrawal": "Cheltuieli noi", "bills_paid": "Facturile pl\u0103tite", + "left_to_spend": "Ramas de cheltuit", + "no_budget": "(nici un buget)", + "budgeted": "Bugetat", + "spent": "Cheltuit", + "no_bill": "(f\u0103r\u0103 factur\u0103)", "rule_trigger_source_account_starts_choice": "Numele contului surs\u0103 \u00eencepe cu..", "rule_trigger_source_account_ends_choice": "Numele contului surs\u0103 se termin\u0103 cu..", "rule_trigger_source_account_is_choice": "Numele contului surs\u0103 este..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "Ce se red\u0103?", "bills_to_pay": "Facturile de plat\u0103", - "left_to_spend": "Ramas de cheltuit", "net_worth": "Valoarea net\u0103", "pref_last365": "Last year", "pref_last90": "Last 90 days", diff --git a/frontend/src/i18n/ru_RU/index.js b/frontend/src/i18n/ru_RU/index.js index 53898e4f21..ca053a15aa 100644 --- a/frontend/src/i18n/ru_RU/index.js +++ b/frontend/src/i18n/ru_RU/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "\u041d\u043e\u0432\u044b\u0439 \u0434\u043e\u0445\u043e\u0434", "newWithdrawal": "\u041d\u043e\u0432\u044b\u0439 \u0440\u0430\u0441\u0445\u043e\u0434", "bills_paid": "\u041e\u043f\u043b\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u0441\u0447\u0435\u0442\u0430", + "left_to_spend": "\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c", + "no_budget": "(\u0432\u043d\u0435 \u0431\u044e\u0434\u0436\u0435\u0442\u0430)", + "budgeted": "\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 \u0431\u044e\u0434\u0436\u0435\u0442\u0435", + "spent": "\u0420\u0430\u0441\u0445\u043e\u0434", + "no_bill": "(\u043d\u0435\u0442 \u0441\u0447\u0451\u0442\u0430 \u043d\u0430 \u043e\u043f\u043b\u0430\u0442\u0443)", "rule_trigger_source_account_starts_choice": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0451\u0442\u0430-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441..", "rule_trigger_source_account_ends_choice": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0451\u0442\u0430-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430..", "rule_trigger_source_account_is_choice": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0451\u0442\u0430-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043c\u043e\u0438\u043c\u0438 \u0444\u0438\u043d\u0430\u043d\u0441\u0430\u043c\u0438?", "bills_to_pay": "\u0421\u0447\u0435\u0442\u0430 \u043a \u043e\u043f\u043b\u0430\u0442\u0435", - "left_to_spend": "\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c", "net_worth": "\u041c\u043e\u0438 \u0441\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u0438\u044f", "pref_last365": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0433\u043e\u0434", "pref_last90": "Last 90 days", diff --git a/frontend/src/i18n/sk_SK/index.js b/frontend/src/i18n/sk_SK/index.js index e353d0b24e..29355ea3fd 100644 --- a/frontend/src/i18n/sk_SK/index.js +++ b/frontend/src/i18n/sk_SK/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Nov\u00fd vklad", "newWithdrawal": "Nov\u00fd v\u00fddavok", "bills_paid": "Zaplaten\u00e9 \u00fa\u010dty", + "left_to_spend": "Zost\u00e1va k \u00fatrate", + "no_budget": "(\u017eiadny rozpo\u010det)", + "budgeted": "Rozpo\u010dtovan\u00e9", + "spent": "Utraten\u00e9", + "no_bill": "(\u017eiadny \u00fa\u010det)", "rule_trigger_source_account_starts_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu za\u010d\u00edna..", "rule_trigger_source_account_ends_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu kon\u010d\u00ed..", "rule_trigger_source_account_is_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu je..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "Ako to ide?", "bills_to_pay": "\u00da\u010dty na \u00fahradu", - "left_to_spend": "Zost\u00e1va k \u00fatrate", "net_worth": "\u010cist\u00e9 imanie", "pref_last365": "Last year", "pref_last90": "Last 90 days", diff --git a/frontend/src/i18n/sv_SE/index.js b/frontend/src/i18n/sv_SE/index.js index b23ffdc4aa..b847bcf12f 100644 --- a/frontend/src/i18n/sv_SE/index.js +++ b/frontend/src/i18n/sv_SE/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Ny ins\u00e4ttning", "newWithdrawal": "Ny utgift", "bills_paid": "Notor betalda", + "left_to_spend": "\u00c5terst\u00e5r att spendera", + "no_budget": "(ingen budget)", + "budgeted": "Budgeterat", + "spent": "Spenderat", + "no_bill": "(ingen r\u00e4kning)", "rule_trigger_source_account_starts_choice": "K\u00e4llkontonamn b\u00f6rjar med..", "rule_trigger_source_account_ends_choice": "K\u00e4llkontonamn slutar med..", "rule_trigger_source_account_is_choice": "K\u00e4llkontonamn \u00e4r..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Prenumerationer", "welcome_back": "Vad spelas?", "bills_to_pay": "Notor att betala", - "left_to_spend": "\u00c5terst\u00e5r att spendera", "net_worth": "Nettof\u00f6rm\u00f6genhet", "pref_last365": "F\u00f6reg\u00e5ende \u00e5r", "pref_last90": "Senaste 90 dagarna", diff --git a/frontend/src/i18n/vi_VN/index.js b/frontend/src/i18n/vi_VN/index.js index d7afd66d9c..eb364ed71f 100644 --- a/frontend/src/i18n/vi_VN/index.js +++ b/frontend/src/i18n/vi_VN/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "Ti\u1ec1n g\u1eedi m\u1edbi", "newWithdrawal": "Chi ph\u00ed m\u1edbi", "bills_paid": "H\u00f3a \u0111\u01a1n thanh to\u00e1n", + "left_to_spend": "C\u00f2n l\u1ea1i \u0111\u1ec3 chi ti\u00eau", + "no_budget": "(kh\u00f4ng c\u00f3 ng\u00e2n s\u00e1ch)", + "budgeted": "Ng\u00e2n s\u00e1ch", + "spent": "\u0110\u00e3 chi", + "no_bill": "(no bill)", "rule_trigger_source_account_starts_choice": "Source account name starts with..", "rule_trigger_source_account_ends_choice": "Source account name ends with..", "rule_trigger_source_account_is_choice": "Source account name is..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "Ch\u00e0o m\u1eebng tr\u1edf l\u1ea1i?", "bills_to_pay": "H\u00f3a \u0111\u01a1n ph\u1ea3i tr\u1ea3", - "left_to_spend": "C\u00f2n l\u1ea1i \u0111\u1ec3 chi ti\u00eau", "net_worth": "T\u00e0i s\u1ea3n th\u1ef1c", "pref_last365": "N\u0103m tr\u01b0\u1edbc", "pref_last90": "90 ng\u00e0y cu\u1ed1i", diff --git a/frontend/src/i18n/zh_CN/index.js b/frontend/src/i18n/zh_CN/index.js index 7f3c1332b1..fc85f844b9 100644 --- a/frontend/src/i18n/zh_CN/index.js +++ b/frontend/src/i18n/zh_CN/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "\u65b0\u6536\u5165", "newWithdrawal": "\u65b0\u652f\u51fa", "bills_paid": "\u5df2\u4ed8\u8d26\u5355", + "left_to_spend": "\u5269\u4f59\u652f\u51fa", + "no_budget": "(\u65e0\u9884\u7b97)", + "budgeted": "\u9884\u7b97\u4e0a\u9650", + "spent": "\u652f\u51fa", + "no_bill": "(\u65e0\u8d26\u5355)", "rule_trigger_source_account_starts_choice": "\u6765\u6e90\u8d26\u6237\u540d\u79f0\u5f00\u5934\u4e3a...", "rule_trigger_source_account_ends_choice": "\u6765\u6e90\u8d26\u6237\u7ed3\u5c3e\u4e3a\u2026", "rule_trigger_source_account_is_choice": "\u6765\u6e90\u8d26\u6237\u540d\u79f0\u4e3a...", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "\u4eca\u5929\u7406\u8d22\u4e86\u5417\uff1f", "bills_to_pay": "\u5f85\u4ed8\u8d26\u5355", - "left_to_spend": "\u5269\u4f59\u652f\u51fa", "net_worth": "\u51c0\u8d44\u4ea7", "pref_last365": "\u6700\u8fd1\u4e00\u5e74", "pref_last90": "\u6700\u8fd190\u5929", diff --git a/frontend/src/i18n/zh_TW/index.js b/frontend/src/i18n/zh_TW/index.js index 9b3ca30d1b..130d976bd0 100644 --- a/frontend/src/i18n/zh_TW/index.js +++ b/frontend/src/i18n/zh_TW/index.js @@ -52,6 +52,11 @@ export default { "newDeposit": "\u65b0\u5b58\u6b3e", "newWithdrawal": "\u65b0\u652f\u51fa", "bills_paid": "\u5df2\u7e73\u5e33\u55ae", + "left_to_spend": "\u5269\u9918\u53ef\u82b1\u8cbb", + "no_budget": "(\u7121\u9810\u7b97)", + "budgeted": "\u5df2\u5217\u5165\u9810\u7b97", + "spent": "\u652f\u51fa", + "no_bill": "(no bill)", "rule_trigger_source_account_starts_choice": "Source account name starts with..", "rule_trigger_source_account_ends_choice": "Source account name ends with..", "rule_trigger_source_account_is_choice": "Source account name is..", @@ -187,7 +192,6 @@ export default { "subscriptions": "Subscriptions", "welcome_back": "What's playing?", "bills_to_pay": "\u5f85\u4ed8\u5e33\u55ae", - "left_to_spend": "\u5269\u9918\u53ef\u82b1\u8cbb", "net_worth": "\u6de8\u503c", "pref_last365": "Last year", "pref_last90": "Last 90 days", diff --git a/frontend/src/pages/dashboard/Dashboard.vue b/frontend/src/pages/dashboard/Dashboard.vue index 28b89956a2..4835e58ec3 100644 --- a/frontend/src/pages/dashboard/Dashboard.vue +++ b/frontend/src/pages/dashboard/Dashboard.vue @@ -30,7 +30,7 @@
- TODO net worth insight +
@@ -89,10 +89,12 @@