mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-30 10:33:30 +00:00
Update boxes.
This commit is contained in:
64
app/Api/V2/Controllers/NetWorthController.php
Normal file
64
app/Api/V2/Controllers/NetWorthController.php
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* NetWorthController.php
|
||||||
|
* Copyright (c) 2022 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -24,7 +24,9 @@ declare(strict_types=1);
|
|||||||
namespace FireflyIII\Helpers\Report;
|
namespace FireflyIII\Helpers\Report;
|
||||||
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
|
use FireflyIII\Exceptions\FireflyException;
|
||||||
use FireflyIII\Models\Account;
|
use FireflyIII\Models\Account;
|
||||||
|
use FireflyIII\Models\AccountType;
|
||||||
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
||||||
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
|
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
|
||||||
use FireflyIII\Support\CacheProperties;
|
use FireflyIII\Support\CacheProperties;
|
||||||
@@ -38,9 +40,7 @@ use JsonException;
|
|||||||
*/
|
*/
|
||||||
class NetWorth implements NetWorthInterface
|
class NetWorth implements NetWorthInterface
|
||||||
{
|
{
|
||||||
|
private AccountRepositoryInterface $accountRepository;
|
||||||
/** @var AccountRepositoryInterface */
|
|
||||||
private $accountRepository;
|
|
||||||
|
|
||||||
/** @var CurrencyRepositoryInterface */
|
/** @var CurrencyRepositoryInterface */
|
||||||
private $currencyRepos;
|
private $currencyRepos;
|
||||||
@@ -63,11 +63,10 @@ class NetWorth implements NetWorthInterface
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
* @throws JsonException
|
* @throws JsonException
|
||||||
* @throws \FireflyIII\Exceptions\FireflyException
|
* @throws FireflyException
|
||||||
*/
|
*/
|
||||||
public function getNetWorthByCurrency(Collection $accounts, Carbon $date): array
|
public function getNetWorthByCurrency(Collection $accounts, Carbon $date): array
|
||||||
{
|
{
|
||||||
|
|
||||||
// start in the past, end in the future? use $date
|
// start in the past, end in the future? use $date
|
||||||
$cache = new CacheProperties;
|
$cache = new CacheProperties;
|
||||||
$cache->addProperty($date);
|
$cache->addProperty($date);
|
||||||
@@ -144,4 +143,55 @@ class NetWorth implements NetWorthInterface
|
|||||||
$this->currencyRepos = app(CurrencyRepositoryInterface::class);
|
$this->currencyRepos = app(CurrencyRepositoryInterface::class);
|
||||||
$this->currencyRepos->setUser($this->user);
|
$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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -46,8 +46,8 @@ interface NetWorthInterface
|
|||||||
*
|
*
|
||||||
* @param Collection $accounts
|
* @param Collection $accounts
|
||||||
* @param Carbon $date
|
* @param Carbon $date
|
||||||
*
|
|
||||||
* @return array
|
* @return array
|
||||||
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
public function getNetWorthByCurrency(Collection $accounts, Carbon $date): array;
|
public function getNetWorthByCurrency(Collection $accounts, Carbon $date): array;
|
||||||
|
|
||||||
@@ -56,4 +56,15 @@ interface NetWorthInterface
|
|||||||
*/
|
*/
|
||||||
public function setUser(User $user): void;
|
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;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
29
frontend/src/api/v2/net-worth/index.js
vendored
Normal file
29
frontend/src/api/v2/net-worth/index.js
vendored
Normal file
@@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
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}});
|
||||||
|
}
|
||||||
|
}
|
@@ -36,25 +36,28 @@
|
|||||||
:value="percentage"
|
:value="percentage"
|
||||||
size="50px"
|
size="50px"
|
||||||
:thickness="0.22"
|
:thickness="0.22"
|
||||||
color="green"
|
color="positive"
|
||||||
track-color="grey-3"
|
track-color="negative"
|
||||||
/>
|
/>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-separator vertical/>
|
<q-separator vertical/>
|
||||||
<q-card-section v-if="0 === unpaid.length && 0 === paid.length">
|
<q-card-section v-if="0 === unpaid.length && 0 === paid.length">
|
||||||
You have no bills
|
{{ $t('firefly.no_bill') }}
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-section v-if="unpaid.length > 0 || paid.length > 0">
|
<q-card-section v-if="unpaid.length > 0 || paid.length > 0">
|
||||||
<span :title="formatAmount(this.currency, this.unpaidAmount)">{{ $t('firefly.bills_to_pay') }}</span>:
|
<span :title="formatAmount(this.currency, this.unpaidAmount)">{{ $t('firefly.bills_to_pay') }}</span>:
|
||||||
<span v-for="(bill, index) in unpaid">
|
<!-- loop bills to pay -->
|
||||||
<span v-if="bill.native">(</span>{{ formatAmount(bill.code, bill.sum) }}<span
|
<span v-for="(item, index) in unpaid">
|
||||||
v-if="bill.native">)</span><span v-if="index+1 !== unpaid.length">, </span></span>
|
<span :title="formatAmount(item.native_code, item.native_sum)">
|
||||||
|
{{ formatAmount(item.code, item.sum) }}<span v-if="index+1 !== unpaid.length"> + </span></span>
|
||||||
|
</span>
|
||||||
<br/>
|
<br/>
|
||||||
<span :title="formatAmount(this.currency, this.paidAmount)">{{ $t('firefly.bills_paid') }}</span>:
|
<span v-if="paid.length > 0" :title="formatAmount(this.currency, this.paidAmount)">{{ $t('firefly.bills_paid') }}:</span>
|
||||||
<span v-for="(bill, index) in paid"><span v-if="bill.native">(</span>{{
|
<span v-for="(item, index) in paid">
|
||||||
formatAmount(bill.code, bill.sum)
|
<span :title="formatAmount(item.native_code, item.native_sum)">
|
||||||
}}<span v-if="bill.native">)</span><span
|
{{formatAmount(item.code, item.sum) }}
|
||||||
v-if="index+1 !== paid.length">, </span></span>
|
</span>
|
||||||
|
<span v-if="index+1 !== paid.length"> + </span></span>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card>
|
</q-card>
|
||||||
@@ -74,10 +77,6 @@ export default {
|
|||||||
currency: 'EUR',
|
currency: 'EUR',
|
||||||
unpaidAmount: 0.0,
|
unpaidAmount: 0.0,
|
||||||
paidAmount: 0.0,
|
paidAmount: 0.0,
|
||||||
range: {
|
|
||||||
start: null,
|
|
||||||
end: null,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
name: "BillInsightBox",
|
name: "BillInsightBox",
|
||||||
@@ -99,19 +98,16 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.store = useFireflyIIIStore();
|
this.store = useFireflyIIIStore();
|
||||||
// TODO this code snippet is recycled a lot.
|
// TODO this code snippet is recycled a lot.
|
||||||
if (null === this.range.start || null === this.range.end) {
|
// subscribe, then update:
|
||||||
// subscribe, then update:
|
this.store.$onAction(
|
||||||
this.store.$onAction(
|
({name, $store, args, after, onError,}) => {
|
||||||
({name, $store, args, after, onError,}) => {
|
after((result) => {
|
||||||
after((result) => {
|
if (name === 'setRange') {
|
||||||
if (name === 'setRange') {
|
this.triggerUpdate();
|
||||||
this.range = result;
|
}
|
||||||
this.triggerUpdate();
|
})
|
||||||
}
|
}
|
||||||
})
|
)
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
this.triggerUpdate();
|
this.triggerUpdate();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -139,6 +135,8 @@ export default {
|
|||||||
{
|
{
|
||||||
sum: current.sum,
|
sum: current.sum,
|
||||||
code: current.code,
|
code: current.code,
|
||||||
|
native_sum: current.native_sum,
|
||||||
|
native_code: current.native_code,
|
||||||
native: hasNative,
|
native: hasNative,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -157,6 +155,8 @@ export default {
|
|||||||
{
|
{
|
||||||
sum: current.sum,
|
sum: current.sum,
|
||||||
code: current.code,
|
code: current.code,
|
||||||
|
native_sum: current.native_sum,
|
||||||
|
native_code: current.native_code,
|
||||||
native: hasNative,
|
native: hasNative,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
125
frontend/src/components/dashboard/NetWorthInsightBox.vue
Normal file
125
frontend/src/components/dashboard/NetWorthInsightBox.vue
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
<!--
|
||||||
|
- NetWorthInsightBox.vue
|
||||||
|
- Copyright (c) 2022 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 <https://www.gnu.org/licenses/>.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<!-- TODO most left? q-mr-sm -->
|
||||||
|
<!-- TODO middle? dan q-mx-sm -->
|
||||||
|
<!-- TODO right? dan q-ml-sm -->
|
||||||
|
<div class="q-ml-sm">
|
||||||
|
<q-card bordered>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section>
|
||||||
|
<q-item-label><strong>{{ $t('firefly.net_worth') }}</strong></q-item-label>
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
<q-separator/>
|
||||||
|
<q-card-section horizontal>
|
||||||
|
<q-card-section>
|
||||||
|
<q-icon name="fas fa-chart-line" size="50px" :color="primary > 0 ? 'positive' : 'negative'"/>
|
||||||
|
</q-card-section>
|
||||||
|
<q-separator vertical/>
|
||||||
|
<q-card-section>
|
||||||
|
<strong>{{ formatAmount(currency, primary) }}</strong><br/>
|
||||||
|
<small>
|
||||||
|
<span v-for="(item, index) in netWorth">
|
||||||
|
<span :title="formatAmount(item.native_code, item.native_sum)">{{ formatAmount(item.code, item.sum) }}</span>
|
||||||
|
<span v-if="index+1 !== netWorth.length"> + </span></span>
|
||||||
|
</small>
|
||||||
|
</q-card-section>
|
||||||
|
</q-card-section>
|
||||||
|
</q-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {useFireflyIIIStore} from "../../stores/fireflyiii";
|
||||||
|
import NetWorth from "../../api/v2/net-worth";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "NetWorthInsightBox",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
netWorth: [],
|
||||||
|
primary: 0,
|
||||||
|
currency: 'EUR',
|
||||||
|
store: null,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.store = useFireflyIIIStore();
|
||||||
|
// TODO this code snippet is recycled a lot.
|
||||||
|
// subscribe, then update:
|
||||||
|
this.store.$onAction(
|
||||||
|
({name, $store, args, after, onError,}) => {
|
||||||
|
after((result) => {
|
||||||
|
if (name === 'setRange') {
|
||||||
|
this.triggerUpdate();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
)
|
||||||
|
this.triggerUpdate();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
triggerUpdate: function () {
|
||||||
|
if (null !== this.store.getRange.start && null !== this.store.getRange.end) {
|
||||||
|
this.unpaid = [];
|
||||||
|
const start = new Date(this.store.getRange.start);
|
||||||
|
const end = new Date(this.store.getRange.end);
|
||||||
|
const now = new Date;
|
||||||
|
let date = end;
|
||||||
|
if (now >= start && now <= end) {
|
||||||
|
date = now;
|
||||||
|
}
|
||||||
|
this.currency = this.store.getCurrencyCode;
|
||||||
|
(new NetWorth).get(date).then((response) => this.parseResponse(response.data));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
parseResponse(data) {
|
||||||
|
for (let i in data) {
|
||||||
|
if (data.hasOwnProperty(i)) {
|
||||||
|
const current = data[i];
|
||||||
|
const hasNative = current.native_id !== current.id && current.native_sum !== '0';
|
||||||
|
if (hasNative || current.native_id === current.id) {
|
||||||
|
this.primary = this.primary + parseFloat(current.native_sum);
|
||||||
|
}
|
||||||
|
this.netWorth.push(
|
||||||
|
{
|
||||||
|
sum: current.sum,
|
||||||
|
code: current.code,
|
||||||
|
native_sum: current.native_sum,
|
||||||
|
native_code: current.native_code,
|
||||||
|
native: hasNative,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// TODO this method is recycled a lot.
|
||||||
|
formatAmount: function (currencyCode, amount) {
|
||||||
|
return Intl.NumberFormat(this.store?.getLocale ?? 'en-US', {style: 'currency', currency: currencyCode}).format(amount);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
@@ -26,7 +26,7 @@
|
|||||||
<q-card bordered>
|
<q-card bordered>
|
||||||
<q-item>
|
<q-item>
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<q-item-label><strong>To spend and left</strong></q-item-label>
|
<q-item-label><strong>{{ $t('firefly.left_to_spend') }}</strong></q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-separator/>
|
<q-separator/>
|
||||||
@@ -36,22 +36,27 @@
|
|||||||
:value="percentage"
|
:value="percentage"
|
||||||
size="50px"
|
size="50px"
|
||||||
:thickness="0.22"
|
:thickness="0.22"
|
||||||
color="green"
|
color="negative"
|
||||||
track-color="grey-3"
|
track-color="positive"
|
||||||
/>
|
/>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-separator vertical/>
|
<q-separator vertical/>
|
||||||
<q-card-section v-if="0 === budgeted.length && 0 === spent.length">
|
<q-card-section v-if="0 === budgeted.length && 0 === spent.length">
|
||||||
You have no budgets set
|
{{ $t('firefly.no_budget') }}
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-section v-if="budgeted.length > 0 || spent.length > 0">
|
<q-card-section v-if="budgeted.length > 0 || spent.length > 0">
|
||||||
<span :title="formatAmount(this.currency, this.budgetedAmount)">Budgeted</span>:
|
<span :title="formatAmount(this.currency, this.budgetedAmount)">{{ $t('firefly.budgeted') }}</span>:
|
||||||
<span v-for="(budget, index) in budgeted"><span v-if="budget.native">(</span>{{ formatAmount(budget.code, budget.sum) }}<span v-if="budget.native">)</span><span
|
<!-- list budgeted -->
|
||||||
v-if="index+1 !== budgeted.length">, </span></span>
|
<span v-for="(item, index) in budgeted">
|
||||||
<br>
|
<span :title="formatAmount(item.native_code, item.native_sum)">{{ formatAmount(item.code, item.sum) }}</span>
|
||||||
<span :title="formatAmount(this.currency, this.spentAmount)">Spent</span>:
|
<span v-if="index+1 !== budgeted.length"> + </span>
|
||||||
<span v-for="(budget, index) in spent"><span v-if="budget.native">(</span>{{ formatAmount(budget.code, budget.sum) }}<span v-if="budget.native">)</span><span
|
</span>
|
||||||
v-if="index+1 !== budgeted.length">, </span></span>
|
<br />
|
||||||
|
<span v-if="spent.length > 0" :title="formatAmount(this.currency, this.spentAmount)">{{ $t('firefly.spent') }}: </span>
|
||||||
|
<!-- list spent -->
|
||||||
|
<span v-for="(item, index) in spent">
|
||||||
|
<span :title="formatAmount(item.native_code, item.native_sum)">{{ formatAmount(item.code, item.sum) }}</span>
|
||||||
|
<span v-if="index+1 !== spent.length"> + </span></span>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card>
|
</q-card>
|
||||||
@@ -72,10 +77,6 @@ export default {
|
|||||||
//percentage: 0,
|
//percentage: 0,
|
||||||
budgetedAmount: 0.0,
|
budgetedAmount: 0.0,
|
||||||
spentAmount: 0.0,
|
spentAmount: 0.0,
|
||||||
range: {
|
|
||||||
start: null,
|
|
||||||
end: null,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
name: "SpendInsightBox",
|
name: "SpendInsightBox",
|
||||||
@@ -98,19 +99,16 @@ export default {
|
|||||||
this.store = useFireflyIIIStore();
|
this.store = useFireflyIIIStore();
|
||||||
|
|
||||||
// TODO this code snippet is recycled a lot.
|
// TODO this code snippet is recycled a lot.
|
||||||
if (null === this.range.start || null === this.range.end) {
|
// subscribe, then update:
|
||||||
// subscribe, then update:
|
this.store.$onAction(
|
||||||
this.store.$onAction(
|
({name, $store, args, after, onError,}) => {
|
||||||
({name, $store, args, after, onError,}) => {
|
after((result) => {
|
||||||
after((result) => {
|
if (name === 'setRange') {
|
||||||
if (name === 'setRange') {
|
this.triggerUpdate();
|
||||||
this.range = result;
|
}
|
||||||
this.triggerUpdate();
|
})
|
||||||
}
|
}
|
||||||
})
|
)
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
this.triggerUpdate();
|
this.triggerUpdate();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -138,6 +136,8 @@ export default {
|
|||||||
{
|
{
|
||||||
sum: current.sum,
|
sum: current.sum,
|
||||||
code: current.code,
|
code: current.code,
|
||||||
|
native_sum: current.native_sum,
|
||||||
|
native_code: current.native_code,
|
||||||
native: hasNative
|
native: hasNative
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -156,6 +156,8 @@ export default {
|
|||||||
{
|
{
|
||||||
sum: current.sum,
|
sum: current.sum,
|
||||||
code: current.code,
|
code: current.code,
|
||||||
|
native_sum: current.native_sum,
|
||||||
|
native_code: current.native_code,
|
||||||
native: hasNative
|
native: hasNative
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
6
frontend/src/i18n/bg_BG/index.js
vendored
6
frontend/src/i18n/bg_BG/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "\u041d\u043e\u0432 \u0434\u0435\u043f\u043e\u0437\u0438\u0442",
|
"newDeposit": "\u041d\u043e\u0432 \u0434\u0435\u043f\u043e\u0437\u0438\u0442",
|
||||||
"newWithdrawal": "\u041d\u043e\u0432 \u0440\u0430\u0437\u0445\u043e\u0434",
|
"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",
|
"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_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_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..",
|
"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",
|
"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?",
|
"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",
|
"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",
|
"net_worth": "\u041d\u0435\u0442\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442",
|
||||||
"pref_last365": "Last year",
|
"pref_last365": "Last year",
|
||||||
"pref_last90": "Last 90 days",
|
"pref_last90": "Last 90 days",
|
||||||
|
6
frontend/src/i18n/cs_CZ/index.js
vendored
6
frontend/src/i18n/cs_CZ/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Nov\u00fd vklad",
|
"newDeposit": "Nov\u00fd vklad",
|
||||||
"newWithdrawal": "Nov\u00fd v\u00fddaj",
|
"newWithdrawal": "Nov\u00fd v\u00fddaj",
|
||||||
"bills_paid": "Zaplacen\u00e9 \u00fa\u010dty",
|
"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_starts_choice": "Source account name starts with..",
|
||||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscriptions",
|
"subscriptions": "Subscriptions",
|
||||||
"welcome_back": "Jak to jde?",
|
"welcome_back": "Jak to jde?",
|
||||||
"bills_to_pay": "Faktury k zaplacen\u00ed",
|
"bills_to_pay": "Faktury k zaplacen\u00ed",
|
||||||
"left_to_spend": "Zb\u00fdv\u00e1 k utracen\u00ed",
|
|
||||||
"net_worth": "\u010cist\u00e9 jm\u011bn\u00ed",
|
"net_worth": "\u010cist\u00e9 jm\u011bn\u00ed",
|
||||||
"pref_last365": "Last year",
|
"pref_last365": "Last year",
|
||||||
"pref_last90": "Last 90 days",
|
"pref_last90": "Last 90 days",
|
||||||
|
6
frontend/src/i18n/de_DE/index.js
vendored
6
frontend/src/i18n/de_DE/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Neue Einnahme",
|
"newDeposit": "Neue Einnahme",
|
||||||
"newWithdrawal": "Neue Ausgabe",
|
"newWithdrawal": "Neue Ausgabe",
|
||||||
"bills_paid": "Rechnungen bezahlt",
|
"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_starts_choice": "Name des Quellkontos beginnt mit..",
|
||||||
"rule_trigger_source_account_ends_choice": "Quellkonto-Name endet mit..",
|
"rule_trigger_source_account_ends_choice": "Quellkonto-Name endet mit..",
|
||||||
"rule_trigger_source_account_is_choice": "Quellkonto-Name lautet..",
|
"rule_trigger_source_account_is_choice": "Quellkonto-Name lautet..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Abonnements",
|
"subscriptions": "Abonnements",
|
||||||
"welcome_back": "\u00dcberblick",
|
"welcome_back": "\u00dcberblick",
|
||||||
"bills_to_pay": "Unbezahlte Rechnungen",
|
"bills_to_pay": "Unbezahlte Rechnungen",
|
||||||
"left_to_spend": "Verbleibend zum Ausgeben",
|
|
||||||
"net_worth": "Eigenkapital",
|
"net_worth": "Eigenkapital",
|
||||||
"pref_last365": "Letztes Jahr",
|
"pref_last365": "Letztes Jahr",
|
||||||
"pref_last90": "Letzte 90 Tage",
|
"pref_last90": "Letzte 90 Tage",
|
||||||
|
6
frontend/src/i18n/el_GR/index.js
vendored
6
frontend/src/i18n/el_GR/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "\u039d\u03ad\u03b1 \u03ba\u03b1\u03c4\u03ac\u03b8\u03b5\u03c3\u03b7",
|
"newDeposit": "\u039d\u03ad\u03b1 \u03ba\u03b1\u03c4\u03ac\u03b8\u03b5\u03c3\u03b7",
|
||||||
"newWithdrawal": "\u039d\u03ad\u03b1 \u03b4\u03b1\u03c0\u03ac\u03bd\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",
|
"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_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_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..",
|
"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",
|
"subscriptions": "\u03a3\u03c5\u03bd\u03b4\u03c1\u03bf\u03bc\u03ad\u03c2",
|
||||||
"welcome_back": "\u03a4\u03b9 \u03c0\u03b1\u03af\u03b6\u03b5\u03b9;",
|
"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",
|
"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",
|
"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_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",
|
"pref_last90": "\u03a4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03b5\u03c2 90 \u03b7\u03bc\u03ad\u03c1\u03b5\u03c2",
|
||||||
|
6
frontend/src/i18n/en_GB/index.js
vendored
6
frontend/src/i18n/en_GB/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "New deposit",
|
"newDeposit": "New deposit",
|
||||||
"newWithdrawal": "New expense",
|
"newWithdrawal": "New expense",
|
||||||
"bills_paid": "Bills paid",
|
"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_starts_choice": "Source account name starts with..",
|
||||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscriptions",
|
"subscriptions": "Subscriptions",
|
||||||
"welcome_back": "What's playing?",
|
"welcome_back": "What's playing?",
|
||||||
"bills_to_pay": "Bills to pay",
|
"bills_to_pay": "Bills to pay",
|
||||||
"left_to_spend": "Left to spend",
|
|
||||||
"net_worth": "Net worth",
|
"net_worth": "Net worth",
|
||||||
"pref_last365": "Last year",
|
"pref_last365": "Last year",
|
||||||
"pref_last90": "Last 90 days",
|
"pref_last90": "Last 90 days",
|
||||||
|
6
frontend/src/i18n/en_US/index.js
vendored
6
frontend/src/i18n/en_US/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "New deposit",
|
"newDeposit": "New deposit",
|
||||||
"newWithdrawal": "New expense",
|
"newWithdrawal": "New expense",
|
||||||
"bills_paid": "Bills paid",
|
"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_starts_choice": "Source account name starts with..",
|
||||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscriptions",
|
"subscriptions": "Subscriptions",
|
||||||
"welcome_back": "What's playing?",
|
"welcome_back": "What's playing?",
|
||||||
"bills_to_pay": "Bills to pay",
|
"bills_to_pay": "Bills to pay",
|
||||||
"left_to_spend": "Left to spend",
|
|
||||||
"net_worth": "Net worth",
|
"net_worth": "Net worth",
|
||||||
"pref_last365": "Last year",
|
"pref_last365": "Last year",
|
||||||
"pref_last90": "Last 90 days",
|
"pref_last90": "Last 90 days",
|
||||||
|
6
frontend/src/i18n/es_ES/index.js
vendored
6
frontend/src/i18n/es_ES/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Nuevo deposito",
|
"newDeposit": "Nuevo deposito",
|
||||||
"newWithdrawal": "Nuevo gasto",
|
"newWithdrawal": "Nuevo gasto",
|
||||||
"bills_paid": "Facturas pagadas",
|
"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_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_ends_choice": "El nombre de la cuenta de origen termina con..",
|
||||||
"rule_trigger_source_account_is_choice": "El nombre de la cuenta origen es..",
|
"rule_trigger_source_account_is_choice": "El nombre de la cuenta origen es..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Suscripciones",
|
"subscriptions": "Suscripciones",
|
||||||
"welcome_back": "\u00bfQu\u00e9 est\u00e1 pasando?",
|
"welcome_back": "\u00bfQu\u00e9 est\u00e1 pasando?",
|
||||||
"bills_to_pay": "Facturas por pagar",
|
"bills_to_pay": "Facturas por pagar",
|
||||||
"left_to_spend": "Disponible para gastar",
|
|
||||||
"net_worth": "Valor Neto",
|
"net_worth": "Valor Neto",
|
||||||
"pref_last365": "A\u00f1o pasado",
|
"pref_last365": "A\u00f1o pasado",
|
||||||
"pref_last90": "\u00daltimos 90 d\u00edas",
|
"pref_last90": "\u00daltimos 90 d\u00edas",
|
||||||
|
6
frontend/src/i18n/fi_FI/index.js
vendored
6
frontend/src/i18n/fi_FI/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Uusi talletus",
|
"newDeposit": "Uusi talletus",
|
||||||
"newWithdrawal": "Uusi kustannus",
|
"newWithdrawal": "Uusi kustannus",
|
||||||
"bills_paid": "Maksetut laskut",
|
"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_starts_choice": "L\u00e4hdetilin nimi alkaa ...",
|
||||||
"rule_trigger_source_account_ends_choice": "L\u00e4hdetilin nimi p\u00e4\u00e4ttyy..",
|
"rule_trigger_source_account_ends_choice": "L\u00e4hdetilin nimi p\u00e4\u00e4ttyy..",
|
||||||
"rule_trigger_source_account_is_choice": "L\u00e4hdetilin nimi on..",
|
"rule_trigger_source_account_is_choice": "L\u00e4hdetilin nimi on..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Tilaukset",
|
"subscriptions": "Tilaukset",
|
||||||
"welcome_back": "Mit\u00e4 kuuluu?",
|
"welcome_back": "Mit\u00e4 kuuluu?",
|
||||||
"bills_to_pay": "Laskuja maksettavana",
|
"bills_to_pay": "Laskuja maksettavana",
|
||||||
"left_to_spend": "K\u00e4ytett\u00e4viss\u00e4",
|
|
||||||
"net_worth": "Varallisuus",
|
"net_worth": "Varallisuus",
|
||||||
"pref_last365": "Edellinen vuosi",
|
"pref_last365": "Edellinen vuosi",
|
||||||
"pref_last90": "Viimeiset 90 p\u00e4iv\u00e4\u00e4",
|
"pref_last90": "Viimeiset 90 p\u00e4iv\u00e4\u00e4",
|
||||||
|
6
frontend/src/i18n/fr_FR/index.js
vendored
6
frontend/src/i18n/fr_FR/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Nouveau d\u00e9p\u00f4t",
|
"newDeposit": "Nouveau d\u00e9p\u00f4t",
|
||||||
"newWithdrawal": "Nouvelle d\u00e9pense",
|
"newWithdrawal": "Nouvelle d\u00e9pense",
|
||||||
"bills_paid": "Factures pay\u00e9es",
|
"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_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_ends_choice": "Le nom du compte source se termine par..",
|
||||||
"rule_trigger_source_account_is_choice": "Le nom du compte source est..",
|
"rule_trigger_source_account_is_choice": "Le nom du compte source est..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Abonnements",
|
"subscriptions": "Abonnements",
|
||||||
"welcome_back": "Quoi de neuf ?",
|
"welcome_back": "Quoi de neuf ?",
|
||||||
"bills_to_pay": "Factures \u00e0 payer",
|
"bills_to_pay": "Factures \u00e0 payer",
|
||||||
"left_to_spend": "Reste \u00e0 d\u00e9penser",
|
|
||||||
"net_worth": "Avoir net",
|
"net_worth": "Avoir net",
|
||||||
"pref_last365": "L'ann\u00e9e derni\u00e8re",
|
"pref_last365": "L'ann\u00e9e derni\u00e8re",
|
||||||
"pref_last90": "Les 90 derniers jours",
|
"pref_last90": "Les 90 derniers jours",
|
||||||
|
6
frontend/src/i18n/hu_HU/index.js
vendored
6
frontend/src/i18n/hu_HU/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "\u00daj bev\u00e9tel",
|
"newDeposit": "\u00daj bev\u00e9tel",
|
||||||
"newWithdrawal": "\u00daj k\u00f6lts\u00e9g",
|
"newWithdrawal": "\u00daj k\u00f6lts\u00e9g",
|
||||||
"bills_paid": "Befizetett sz\u00e1ml\u00e1k",
|
"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_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_ends_choice": "Forr\u00e1ssz\u00e1mla nev\u00e9nek v\u00e9ge..",
|
||||||
"rule_trigger_source_account_is_choice": "A forr\u00e1ssz\u00e1mla neve..",
|
"rule_trigger_source_account_is_choice": "A forr\u00e1ssz\u00e1mla neve..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscriptions",
|
"subscriptions": "Subscriptions",
|
||||||
"welcome_back": "Mi a helyzet?",
|
"welcome_back": "Mi a helyzet?",
|
||||||
"bills_to_pay": "Fizetend\u0151 sz\u00e1ml\u00e1k",
|
"bills_to_pay": "Fizetend\u0151 sz\u00e1ml\u00e1k",
|
||||||
"left_to_spend": "Elk\u00f6lthet\u0151",
|
|
||||||
"net_worth": "Nett\u00f3 \u00e9rt\u00e9k",
|
"net_worth": "Nett\u00f3 \u00e9rt\u00e9k",
|
||||||
"pref_last365": "Last year",
|
"pref_last365": "Last year",
|
||||||
"pref_last90": "Last 90 days",
|
"pref_last90": "Last 90 days",
|
||||||
|
6
frontend/src/i18n/it_IT/index.js
vendored
6
frontend/src/i18n/it_IT/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Nuova entrata",
|
"newDeposit": "Nuova entrata",
|
||||||
"newWithdrawal": "Nuova uscita",
|
"newWithdrawal": "Nuova uscita",
|
||||||
"bills_paid": "Bollette pagate",
|
"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_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_ends_choice": "Il nome del conto di origine termina con..",
|
||||||
"rule_trigger_source_account_is_choice": "Il nome del conto di origine \u00e8..",
|
"rule_trigger_source_account_is_choice": "Il nome del conto di origine \u00e8..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Abbonamenti",
|
"subscriptions": "Abbonamenti",
|
||||||
"welcome_back": "La tua situazione finanziaria",
|
"welcome_back": "La tua situazione finanziaria",
|
||||||
"bills_to_pay": "Bollette da pagare",
|
"bills_to_pay": "Bollette da pagare",
|
||||||
"left_to_spend": "Altro da spendere",
|
|
||||||
"net_worth": "Patrimonio",
|
"net_worth": "Patrimonio",
|
||||||
"pref_last365": "Anno scorso",
|
"pref_last365": "Anno scorso",
|
||||||
"pref_last90": "Ultimi 90 giorni",
|
"pref_last90": "Ultimi 90 giorni",
|
||||||
|
6
frontend/src/i18n/ja_JP/index.js
vendored
6
frontend/src/i18n/ja_JP/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "\u65b0\u3057\u3044\u5165\u91d1",
|
"newDeposit": "\u65b0\u3057\u3044\u5165\u91d1",
|
||||||
"newWithdrawal": "\u65b0\u3057\u3044\u652f\u51fa",
|
"newWithdrawal": "\u65b0\u3057\u3044\u652f\u51fa",
|
||||||
"bills_paid": "\u652f\u6255\u3044\u6e08\u307f\u8acb\u6c42",
|
"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_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_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...",
|
"rule_trigger_source_account_is_choice": "\u51fa\u91d1\u5143\u53e3\u5ea7\u540d\u304c...",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "\u8b1b\u8aad",
|
"subscriptions": "\u8b1b\u8aad",
|
||||||
"welcome_back": "\u6982\u8981",
|
"welcome_back": "\u6982\u8981",
|
||||||
"bills_to_pay": "\u8acb\u6c42\u66f8",
|
"bills_to_pay": "\u8acb\u6c42\u66f8",
|
||||||
"left_to_spend": "\u652f\u51fa\u3067\u304d\u308b\u6b8b\u308a",
|
|
||||||
"net_worth": "\u7d14\u8cc7\u7523",
|
"net_worth": "\u7d14\u8cc7\u7523",
|
||||||
"pref_last365": "\u6628\u5e74",
|
"pref_last365": "\u6628\u5e74",
|
||||||
"pref_last90": "\u904e\u53bb 90 \u65e5\u9593",
|
"pref_last90": "\u904e\u53bb 90 \u65e5\u9593",
|
||||||
|
6
frontend/src/i18n/nb_NO/index.js
vendored
6
frontend/src/i18n/nb_NO/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Nytt innskudd",
|
"newDeposit": "Nytt innskudd",
|
||||||
"newWithdrawal": "Ny utgift",
|
"newWithdrawal": "Ny utgift",
|
||||||
"bills_paid": "Regninger betalt",
|
"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_starts_choice": "Source account name starts with..",
|
||||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscriptions",
|
"subscriptions": "Subscriptions",
|
||||||
"welcome_back": "What's playing?",
|
"welcome_back": "What's playing?",
|
||||||
"bills_to_pay": "Regninger \u00e5 betale",
|
"bills_to_pay": "Regninger \u00e5 betale",
|
||||||
"left_to_spend": "Igjen \u00e5 bruke",
|
|
||||||
"net_worth": "Formue",
|
"net_worth": "Formue",
|
||||||
"pref_last365": "Last year",
|
"pref_last365": "Last year",
|
||||||
"pref_last90": "Last 90 days",
|
"pref_last90": "Last 90 days",
|
||||||
|
6
frontend/src/i18n/nl_NL/index.js
vendored
6
frontend/src/i18n/nl_NL/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Nieuwe inkomsten",
|
"newDeposit": "Nieuwe inkomsten",
|
||||||
"newWithdrawal": "Nieuwe uitgave",
|
"newWithdrawal": "Nieuwe uitgave",
|
||||||
"bills_paid": "Betaalde contracten",
|
"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_starts_choice": "Bronrekeningnaam begint met..",
|
||||||
"rule_trigger_source_account_ends_choice": "Bronrekeningnaam eindigt op..",
|
"rule_trigger_source_account_ends_choice": "Bronrekeningnaam eindigt op..",
|
||||||
"rule_trigger_source_account_is_choice": "Bronrekeningnaam is..",
|
"rule_trigger_source_account_is_choice": "Bronrekeningnaam is..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Abonnementen",
|
"subscriptions": "Abonnementen",
|
||||||
"welcome_back": "Hoe staat het er voor?",
|
"welcome_back": "Hoe staat het er voor?",
|
||||||
"bills_to_pay": "Openstaande contracten",
|
"bills_to_pay": "Openstaande contracten",
|
||||||
"left_to_spend": "Over om uit te geven",
|
|
||||||
"net_worth": "Kapitaal",
|
"net_worth": "Kapitaal",
|
||||||
"pref_last365": "Afgelopen jaar",
|
"pref_last365": "Afgelopen jaar",
|
||||||
"pref_last90": "Afgelopen 90 dagen",
|
"pref_last90": "Afgelopen 90 dagen",
|
||||||
|
6
frontend/src/i18n/pl_PL/index.js
vendored
6
frontend/src/i18n/pl_PL/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Nowa wp\u0142ata",
|
"newDeposit": "Nowa wp\u0142ata",
|
||||||
"newWithdrawal": "Nowy wydatek",
|
"newWithdrawal": "Nowy wydatek",
|
||||||
"bills_paid": "Zap\u0142acone rachunki",
|
"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_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_ends_choice": "Konto \u017ar\u00f3d\u0142owe ko\u0144czy si\u0119 na..",
|
||||||
"rule_trigger_source_account_is_choice": "Kontem \u017ar\u00f3d\u0142owym jest..",
|
"rule_trigger_source_account_is_choice": "Kontem \u017ar\u00f3d\u0142owym jest..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subskrypcje",
|
"subscriptions": "Subskrypcje",
|
||||||
"welcome_back": "Co jest grane?",
|
"welcome_back": "Co jest grane?",
|
||||||
"bills_to_pay": "Rachunki do zap\u0142acenia",
|
"bills_to_pay": "Rachunki do zap\u0142acenia",
|
||||||
"left_to_spend": "Pozosta\u0142o do wydania",
|
|
||||||
"net_worth": "Warto\u015b\u0107 netto",
|
"net_worth": "Warto\u015b\u0107 netto",
|
||||||
"pref_last365": "Ostatni rok",
|
"pref_last365": "Ostatni rok",
|
||||||
"pref_last90": "Ostatnie 90 dni",
|
"pref_last90": "Ostatnie 90 dni",
|
||||||
|
6
frontend/src/i18n/pt_BR/index.js
vendored
6
frontend/src/i18n/pt_BR/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Novo dep\u00f3sito",
|
"newDeposit": "Novo dep\u00f3sito",
|
||||||
"newWithdrawal": "Nova despesa",
|
"newWithdrawal": "Nova despesa",
|
||||||
"bills_paid": "Contas pagas",
|
"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_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_ends_choice": "O nome da conta de origem termina com..",
|
||||||
"rule_trigger_source_account_is_choice": "Nome da conta de origem \u00e9..",
|
"rule_trigger_source_account_is_choice": "Nome da conta de origem \u00e9..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Assinaturas",
|
"subscriptions": "Assinaturas",
|
||||||
"welcome_back": "O que est\u00e1 acontecendo?",
|
"welcome_back": "O que est\u00e1 acontecendo?",
|
||||||
"bills_to_pay": "Contas a pagar",
|
"bills_to_pay": "Contas a pagar",
|
||||||
"left_to_spend": "Restante para gastar",
|
|
||||||
"net_worth": "Valor L\u00edquido",
|
"net_worth": "Valor L\u00edquido",
|
||||||
"pref_last365": "Ano passado",
|
"pref_last365": "Ano passado",
|
||||||
"pref_last90": "\u00daltimos 90 dias",
|
"pref_last90": "\u00daltimos 90 dias",
|
||||||
|
6
frontend/src/i18n/pt_PT/index.js
vendored
6
frontend/src/i18n/pt_PT/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Novo dep\u00f3sito",
|
"newDeposit": "Novo dep\u00f3sito",
|
||||||
"newWithdrawal": "Nova despesa",
|
"newWithdrawal": "Nova despesa",
|
||||||
"bills_paid": "Fatura pagas",
|
"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_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_ends_choice": "O nome da conta de origem acaba com..",
|
||||||
"rule_trigger_source_account_is_choice": "O nome da conta de origem \u00e9..",
|
"rule_trigger_source_account_is_choice": "O nome da conta de origem \u00e9..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscri\u00e7\u00f5es",
|
"subscriptions": "Subscri\u00e7\u00f5es",
|
||||||
"welcome_back": "Tudo bem?",
|
"welcome_back": "Tudo bem?",
|
||||||
"bills_to_pay": "Faturas a pagar",
|
"bills_to_pay": "Faturas a pagar",
|
||||||
"left_to_spend": "Restante para gastar",
|
|
||||||
"net_worth": "Patrim\u00f3nio liquido",
|
"net_worth": "Patrim\u00f3nio liquido",
|
||||||
"pref_last365": "Last year",
|
"pref_last365": "Last year",
|
||||||
"pref_last90": "\u00daltimos 90 dias",
|
"pref_last90": "\u00daltimos 90 dias",
|
||||||
|
6
frontend/src/i18n/ro_RO/index.js
vendored
6
frontend/src/i18n/ro_RO/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Depozit nou",
|
"newDeposit": "Depozit nou",
|
||||||
"newWithdrawal": "Cheltuieli noi",
|
"newWithdrawal": "Cheltuieli noi",
|
||||||
"bills_paid": "Facturile pl\u0103tite",
|
"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_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_ends_choice": "Numele contului surs\u0103 se termin\u0103 cu..",
|
||||||
"rule_trigger_source_account_is_choice": "Numele contului surs\u0103 este..",
|
"rule_trigger_source_account_is_choice": "Numele contului surs\u0103 este..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscriptions",
|
"subscriptions": "Subscriptions",
|
||||||
"welcome_back": "Ce se red\u0103?",
|
"welcome_back": "Ce se red\u0103?",
|
||||||
"bills_to_pay": "Facturile de plat\u0103",
|
"bills_to_pay": "Facturile de plat\u0103",
|
||||||
"left_to_spend": "Ramas de cheltuit",
|
|
||||||
"net_worth": "Valoarea net\u0103",
|
"net_worth": "Valoarea net\u0103",
|
||||||
"pref_last365": "Last year",
|
"pref_last365": "Last year",
|
||||||
"pref_last90": "Last 90 days",
|
"pref_last90": "Last 90 days",
|
||||||
|
6
frontend/src/i18n/ru_RU/index.js
vendored
6
frontend/src/i18n/ru_RU/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "\u041d\u043e\u0432\u044b\u0439 \u0434\u043e\u0445\u043e\u0434",
|
"newDeposit": "\u041d\u043e\u0432\u044b\u0439 \u0434\u043e\u0445\u043e\u0434",
|
||||||
"newWithdrawal": "\u041d\u043e\u0432\u044b\u0439 \u0440\u0430\u0441\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",
|
"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_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_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..",
|
"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",
|
"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?",
|
"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",
|
"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",
|
"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_last365": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0433\u043e\u0434",
|
||||||
"pref_last90": "Last 90 days",
|
"pref_last90": "Last 90 days",
|
||||||
|
6
frontend/src/i18n/sk_SK/index.js
vendored
6
frontend/src/i18n/sk_SK/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Nov\u00fd vklad",
|
"newDeposit": "Nov\u00fd vklad",
|
||||||
"newWithdrawal": "Nov\u00fd v\u00fddavok",
|
"newWithdrawal": "Nov\u00fd v\u00fddavok",
|
||||||
"bills_paid": "Zaplaten\u00e9 \u00fa\u010dty",
|
"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_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_ends_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu kon\u010d\u00ed..",
|
||||||
"rule_trigger_source_account_is_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu je..",
|
"rule_trigger_source_account_is_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu je..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscriptions",
|
"subscriptions": "Subscriptions",
|
||||||
"welcome_back": "Ako to ide?",
|
"welcome_back": "Ako to ide?",
|
||||||
"bills_to_pay": "\u00da\u010dty na \u00fahradu",
|
"bills_to_pay": "\u00da\u010dty na \u00fahradu",
|
||||||
"left_to_spend": "Zost\u00e1va k \u00fatrate",
|
|
||||||
"net_worth": "\u010cist\u00e9 imanie",
|
"net_worth": "\u010cist\u00e9 imanie",
|
||||||
"pref_last365": "Last year",
|
"pref_last365": "Last year",
|
||||||
"pref_last90": "Last 90 days",
|
"pref_last90": "Last 90 days",
|
||||||
|
6
frontend/src/i18n/sv_SE/index.js
vendored
6
frontend/src/i18n/sv_SE/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Ny ins\u00e4ttning",
|
"newDeposit": "Ny ins\u00e4ttning",
|
||||||
"newWithdrawal": "Ny utgift",
|
"newWithdrawal": "Ny utgift",
|
||||||
"bills_paid": "Notor betalda",
|
"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_starts_choice": "K\u00e4llkontonamn b\u00f6rjar med..",
|
||||||
"rule_trigger_source_account_ends_choice": "K\u00e4llkontonamn slutar med..",
|
"rule_trigger_source_account_ends_choice": "K\u00e4llkontonamn slutar med..",
|
||||||
"rule_trigger_source_account_is_choice": "K\u00e4llkontonamn \u00e4r..",
|
"rule_trigger_source_account_is_choice": "K\u00e4llkontonamn \u00e4r..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Prenumerationer",
|
"subscriptions": "Prenumerationer",
|
||||||
"welcome_back": "Vad spelas?",
|
"welcome_back": "Vad spelas?",
|
||||||
"bills_to_pay": "Notor att betala",
|
"bills_to_pay": "Notor att betala",
|
||||||
"left_to_spend": "\u00c5terst\u00e5r att spendera",
|
|
||||||
"net_worth": "Nettof\u00f6rm\u00f6genhet",
|
"net_worth": "Nettof\u00f6rm\u00f6genhet",
|
||||||
"pref_last365": "F\u00f6reg\u00e5ende \u00e5r",
|
"pref_last365": "F\u00f6reg\u00e5ende \u00e5r",
|
||||||
"pref_last90": "Senaste 90 dagarna",
|
"pref_last90": "Senaste 90 dagarna",
|
||||||
|
6
frontend/src/i18n/vi_VN/index.js
vendored
6
frontend/src/i18n/vi_VN/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "Ti\u1ec1n g\u1eedi m\u1edbi",
|
"newDeposit": "Ti\u1ec1n g\u1eedi m\u1edbi",
|
||||||
"newWithdrawal": "Chi ph\u00ed m\u1edbi",
|
"newWithdrawal": "Chi ph\u00ed m\u1edbi",
|
||||||
"bills_paid": "H\u00f3a \u0111\u01a1n thanh to\u00e1n",
|
"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_starts_choice": "Source account name starts with..",
|
||||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscriptions",
|
"subscriptions": "Subscriptions",
|
||||||
"welcome_back": "Ch\u00e0o m\u1eebng tr\u1edf l\u1ea1i?",
|
"welcome_back": "Ch\u00e0o m\u1eebng tr\u1edf l\u1ea1i?",
|
||||||
"bills_to_pay": "H\u00f3a \u0111\u01a1n ph\u1ea3i tr\u1ea3",
|
"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",
|
"net_worth": "T\u00e0i s\u1ea3n th\u1ef1c",
|
||||||
"pref_last365": "N\u0103m tr\u01b0\u1edbc",
|
"pref_last365": "N\u0103m tr\u01b0\u1edbc",
|
||||||
"pref_last90": "90 ng\u00e0y cu\u1ed1i",
|
"pref_last90": "90 ng\u00e0y cu\u1ed1i",
|
||||||
|
6
frontend/src/i18n/zh_CN/index.js
vendored
6
frontend/src/i18n/zh_CN/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "\u65b0\u6536\u5165",
|
"newDeposit": "\u65b0\u6536\u5165",
|
||||||
"newWithdrawal": "\u65b0\u652f\u51fa",
|
"newWithdrawal": "\u65b0\u652f\u51fa",
|
||||||
"bills_paid": "\u5df2\u4ed8\u8d26\u5355",
|
"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_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_ends_choice": "\u6765\u6e90\u8d26\u6237\u7ed3\u5c3e\u4e3a\u2026",
|
||||||
"rule_trigger_source_account_is_choice": "\u6765\u6e90\u8d26\u6237\u540d\u79f0\u4e3a...",
|
"rule_trigger_source_account_is_choice": "\u6765\u6e90\u8d26\u6237\u540d\u79f0\u4e3a...",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscriptions",
|
"subscriptions": "Subscriptions",
|
||||||
"welcome_back": "\u4eca\u5929\u7406\u8d22\u4e86\u5417\uff1f",
|
"welcome_back": "\u4eca\u5929\u7406\u8d22\u4e86\u5417\uff1f",
|
||||||
"bills_to_pay": "\u5f85\u4ed8\u8d26\u5355",
|
"bills_to_pay": "\u5f85\u4ed8\u8d26\u5355",
|
||||||
"left_to_spend": "\u5269\u4f59\u652f\u51fa",
|
|
||||||
"net_worth": "\u51c0\u8d44\u4ea7",
|
"net_worth": "\u51c0\u8d44\u4ea7",
|
||||||
"pref_last365": "\u6700\u8fd1\u4e00\u5e74",
|
"pref_last365": "\u6700\u8fd1\u4e00\u5e74",
|
||||||
"pref_last90": "\u6700\u8fd190\u5929",
|
"pref_last90": "\u6700\u8fd190\u5929",
|
||||||
|
6
frontend/src/i18n/zh_TW/index.js
vendored
6
frontend/src/i18n/zh_TW/index.js
vendored
@@ -52,6 +52,11 @@ export default {
|
|||||||
"newDeposit": "\u65b0\u5b58\u6b3e",
|
"newDeposit": "\u65b0\u5b58\u6b3e",
|
||||||
"newWithdrawal": "\u65b0\u652f\u51fa",
|
"newWithdrawal": "\u65b0\u652f\u51fa",
|
||||||
"bills_paid": "\u5df2\u7e73\u5e33\u55ae",
|
"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_starts_choice": "Source account name starts with..",
|
||||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||||
@@ -187,7 +192,6 @@ export default {
|
|||||||
"subscriptions": "Subscriptions",
|
"subscriptions": "Subscriptions",
|
||||||
"welcome_back": "What's playing?",
|
"welcome_back": "What's playing?",
|
||||||
"bills_to_pay": "\u5f85\u4ed8\u5e33\u55ae",
|
"bills_to_pay": "\u5f85\u4ed8\u5e33\u55ae",
|
||||||
"left_to_spend": "\u5269\u9918\u53ef\u82b1\u8cbb",
|
|
||||||
"net_worth": "\u6de8\u503c",
|
"net_worth": "\u6de8\u503c",
|
||||||
"pref_last365": "Last year",
|
"pref_last365": "Last year",
|
||||||
"pref_last90": "Last 90 days",
|
"pref_last90": "Last 90 days",
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
<SpendInsightBox />
|
<SpendInsightBox />
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
TODO net worth insight
|
<NetWorthInsightBox />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row q-mb-sm">
|
<div class="row q-mb-sm">
|
||||||
@@ -89,10 +89,12 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {defineAsyncComponent} from "vue";
|
import {defineAsyncComponent} from "vue";
|
||||||
|
import NetWorthInsightBox from "../../components/dashboard/NetWorthInsightBox";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Dashboard",
|
name: "Dashboard",
|
||||||
components: {
|
components: {
|
||||||
|
NetWorthInsightBox,
|
||||||
BillInsightBox: defineAsyncComponent(() => import('../../components/dashboard/BillInsightBox.vue')),
|
BillInsightBox: defineAsyncComponent(() => import('../../components/dashboard/BillInsightBox.vue')),
|
||||||
SpendInsightBox: defineAsyncComponent(() => import('../../components/dashboard/SpendInsightBox.vue')),
|
SpendInsightBox: defineAsyncComponent(() => import('../../components/dashboard/SpendInsightBox.vue')),
|
||||||
}
|
}
|
||||||
|
@@ -33,6 +33,17 @@ Route::group(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* V2 API route for net worth endpoint(s);
|
||||||
|
*/
|
||||||
|
Route::group(
|
||||||
|
['namespace' => 'FireflyIII\Api\V2\Controllers', 'prefix' => 'v2/net-worth',
|
||||||
|
'as' => 'api.v2.net-worth.',],
|
||||||
|
static function () {
|
||||||
|
Route::get('', ['uses' => 'NetWorthController@get', 'as' => 'index']);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* V2 API route for bills.
|
* V2 API route for bills.
|
||||||
*/
|
*/
|
||||||
@@ -45,6 +56,8 @@ Route::group(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* V2 API route for budgets.
|
* V2 API route for budgets.
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user