Rebuild frontend.

This commit is contained in:
James Cole
2021-01-03 07:11:44 +01:00
parent ff2640276c
commit d24a046570
42 changed files with 939 additions and 185 deletions

View File

@@ -28,8 +28,16 @@ const state = () => ({
transactions: [], transactions: [],
allowedOpposingTypes: {}, allowedOpposingTypes: {},
accountToTransaction: {}, accountToTransaction: {},
sourceAllowedTypes: ['Asset account','Loan','Debt','Mortgage','Revenue account'], sourceAllowedTypes: ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Revenue account'],
destinationAllowedTypes: ['Asset account','Loan','Debt','Mortgage','Expense account'], destinationAllowedTypes: ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Expense account'],
customDateFields: {
interest_date: false,
book_date: false,
process_date: false,
due_date: false,
payment_date: false,
invoice_date: false,
},
defaultTransaction: { defaultTransaction: {
// basic // basic
description: '', description: '',
@@ -57,10 +65,22 @@ const state = () => ({
currency_decimal_places: 2 currency_decimal_places: 2
}, },
source_allowed_types: ['Asset account', 'Revenue account', 'Loan', 'Debt', 'Mortgage'], // amount:
amount: '',
currency_id: 0,
foreign_amount: '',
foreign_currency_id: 0,
// meta data // meta data
budget_id: 0 budget_id: 0,
// optional date fields (6x):
interest_date: null,
book_date: null,
process_date: null,
due_date: null,
payment_date: null,
invoice_date: null,
}, },
} }
) )
@@ -86,6 +106,9 @@ const getters = {
allowedOpposingTypes: state => { allowedOpposingTypes: state => {
return state.allowedOpposingTypes; return state.allowedOpposingTypes;
}, },
customDateFields: state => {
return state.customDateFields;
}
// // `getters` is localized to this module's getters // // `getters` is localized to this module's getters
// // you can use rootGetters via 4th argument of getters // // you can use rootGetters via 4th argument of getters
// someGetter (state, getters, rootState, rootGetters) { // someGetter (state, getters, rootState, rootGetters) {
@@ -123,13 +146,13 @@ const actions = {
} }
} }
// console.log('Found no type for ' + source.type + ' --> ' + dest.type); // console.log('Found no type for ' + source.type + ' --> ' + dest.type);
if('Asset account' !== source.type) { if ('Asset account' !== source.type) {
console.log('Drop ID from source. TODO'); console.log('Drop ID from source. TODO');
// source.id =null // source.id =null
// context.commit('updateField', {field: 'source_account',index: }) // context.commit('updateField', {field: 'source_account',index: })
// context.state.transactions[0].source_account.id = null; // context.state.transactions[0].source_account.id = null;
} }
if('Asset account' !== dest.type) { if ('Asset account' !== dest.type) {
console.log('Drop ID from destination. TODO'); console.log('Drop ID from destination. TODO');
//context.state.transactions[0].destination_account.id = null; //context.state.transactions[0].destination_account.id = null;
} }
@@ -144,6 +167,9 @@ const mutations = {
let newTransaction = lodashClonedeep(state.defaultTransaction); let newTransaction = lodashClonedeep(state.defaultTransaction);
state.transactions.push(newTransaction); state.transactions.push(newTransaction);
}, },
setCustomDateFields(state, payload) {
state.customDateFields = payload;
},
deleteTransaction(state, index) { deleteTransaction(state, index) {
state.transactions.splice(index, 1); state.transactions.splice(index, 1);
}, },

View File

@@ -56,7 +56,6 @@
</div> </div>
<!-- source and destination --> <!-- source and destination -->
<div class="row"> <div class="row">
<div class="col-xl-5 col-lg-5 col-md-10 col-sm-12 col-xs-12"> <div class="col-xl-5 col-lg-5 col-md-10 col-sm-12 col-xs-12">
@@ -89,22 +88,16 @@
<div class="row"> <div class="row">
<div class="col-xl-5 col-lg-5 col-md-10 col-sm-12 col-xs-12"> <div class="col-xl-5 col-lg-5 col-md-10 col-sm-12 col-xs-12">
<!-- AMOUNT --> <!-- AMOUNT -->
<TransactionAmount /> <TransactionAmount :index="index"/>
<!-- <!--
--> -->
</div> </div>
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-12 text-center d-none d-sm-block"> <div class="col-xl-2 col-lg-2 col-md-2 col-sm-12 text-center d-none d-sm-block">
<!-- SELECT FOR FOREIGN --> <TransactionForeignCurrency :index="index"/>
<!--
(select)
-->
</div> </div>
<div class="col-xl-5 col-lg-5 col-md-12 col-sm-12 col-xs-12"> <div class="col-xl-5 col-lg-5 col-md-12 col-sm-12 col-xs-12">
<!-- FOREIGN AMOUNT --> <TransactionForeignAmount :index="index"/>
<!--
Foreign
-->
</div> </div>
</div> </div>
@@ -119,23 +112,7 @@
</div> </div>
<div class="col-xl-5 col-lg-5 col-md-12 col-sm-12 col-xs-12 offset-xl-2 offset-lg-2"> <div class="col-xl-5 col-lg-5 col-md-12 col-sm-12 col-xs-12 offset-xl-2 offset-lg-2">
<!-- TODO other time slots --> <TransactionCustomDates :index="index" :enabled-dates="customDateFields"/>
<div class="form-group">
<div class="text-xs d-none d-lg-block d-xl-block">
other dates
</div>
<div class="input-group">
<input class="form-control" type="date" value="2020-12-12">
</div>
</div>
<div class="form-group">
<div class="text-xs d-none d-lg-block d-xl-block">
other dates
</div>
<div class="input-group">
<input class="form-control" type="date" value="2020-12-12">
</div>
</div>
</div> </div>
</div> </div>
@@ -206,7 +183,6 @@
<input <input
title="Category" title="Category"
autocomplete="off" autocomplete="off"
autofocus
class="form-control" class="form-control"
name="something[]" name="something[]"
type="text" type="text"
@@ -219,7 +195,6 @@
<input <input
title="Bill" title="Bill"
autocomplete="off" autocomplete="off"
autofocus
class="form-control" class="form-control"
name="something[]" name="something[]"
type="text" type="text"
@@ -230,7 +205,6 @@
<input <input
title="Tags" title="Tags"
autocomplete="off" autocomplete="off"
autofocus
class="form-control" class="form-control"
name="something[]" name="something[]"
type="text" type="text"
@@ -241,7 +215,6 @@
<input <input
title="Piggy" title="Piggy"
autocomplete="off" autocomplete="off"
autofocus
class="form-control" class="form-control"
name="something[]" name="something[]"
type="text" type="text"
@@ -259,7 +232,6 @@
<input <input
title="internal ref" title="internal ref"
autocomplete="off" autocomplete="off"
autofocus
class="form-control" class="form-control"
name="something[]" name="something[]"
type="text" type="text"
@@ -270,7 +242,6 @@
<input <input
title="Piggy" title="Piggy"
autocomplete="off" autocomplete="off"
autofocus
class="form-control" class="form-control"
name="something[]" name="something[]"
type="text" type="text"
@@ -286,7 +257,6 @@
<input <input
title="Piggy" title="Piggy"
autocomplete="off" autocomplete="off"
autofocus
class="form-control" class="form-control"
name="something[]" name="something[]"
type="text" type="text"
@@ -297,7 +267,6 @@
<input <input
title="Piggy" title="Piggy"
autocomplete="off" autocomplete="off"
autofocus
class="form-control" class="form-control"
name="something[]" name="something[]"
type="text" type="text"
@@ -346,16 +315,24 @@ import {createNamespacedHelpers} from 'vuex'
import TransactionAccount from "./TransactionAccount"; import TransactionAccount from "./TransactionAccount";
import SwitchAccount from "./SwitchAccount"; import SwitchAccount from "./SwitchAccount";
import TransactionAmount from "./TransactionAmount"; import TransactionAmount from "./TransactionAmount";
import TransactionForeignAmount from "./TransactionForeignAmount";
import TransactionForeignCurrency from "./TransactionForeignCurrency";
import TransactionCustomDates from "./TransactionCustomDates";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('transactions/create') const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('transactions/create')
export default { export default {
name: "Create", name: "Create",
components: {TransactionAmount, SwitchAccount, TransactionAccount, TransactionBudget, TransactionDescription, TransactionDate}, components: {
TransactionCustomDates,
TransactionForeignCurrency,
TransactionForeignAmount, TransactionAmount, SwitchAccount, TransactionAccount, TransactionBudget, TransactionDescription, TransactionDate
},
created() { created() {
this.storeAllowedOpposingTypes(); this.storeAllowedOpposingTypes();
this.storeAccountToTransaction(); this.storeAccountToTransaction();
this.storeCustomDateFields();
this.addTransaction(); this.addTransaction();
}, },
data() { data() {
@@ -368,6 +345,7 @@ export default {
...mapGetters([ ...mapGetters([
'transactionType', // -> this.someGetter 'transactionType', // -> this.someGetter
'transactions', // -> this.someOtherGetter 'transactions', // -> this.someOtherGetter
'customDateFields'
]) ])
}, },
methods: { methods: {
@@ -379,13 +357,36 @@ export default {
'setAccountToTransaction', 'setAccountToTransaction',
], ],
), ),
storeCustomDateFields: function () {
// TODO may include all custom fields in the future.
axios.get('./api/v1/preferences/transaction_journal_optional_fields').then(response => {
let fields = response.data.data.attributes.data;
let allDateFields = ['interest_date', 'book_date', 'process_date', 'due_date', 'payment_date', 'invoice_date'];
let selectedDateFields = {
interest_date: false,
book_date: false,
process_date: false,
due_date: false,
payment_date: false,
invoice_date: false,
};
for (let key in fields) {
if (fields.hasOwnProperty(key)) {
if(-1 !== allDateFields.indexOf(key)) {
selectedDateFields[key] = fields[key];
}
}
}
this.$store.commit('transactions/create/setCustomDateFields', selectedDateFields);
});
},
/** /**
* *
*/ */
storeAllowedOpposingTypes: function () { storeAllowedOpposingTypes: function () {
this.setAllowedOpposingTypes(window.allowedOpposingTypes); this.setAllowedOpposingTypes(window.allowedOpposingTypes);
}, },
storeAccountToTransaction: function() { storeAccountToTransaction: function () {
this.setAccountToTransaction(window.accountToTransaction); this.setAccountToTransaction(window.accountToTransaction);
}, },
/** /**
@@ -428,7 +429,7 @@ export default {
let currentSplit = { let currentSplit = {
// basic // basic
description: array.description, description: array.description,
date: array.date + ' ' + array.time, date: (array.date + ' ' + array.time).trim(),
// account // account
source_id: array.source_account.id ?? null, source_id: array.source_account.id ?? null,
@@ -436,6 +437,13 @@ export default {
destination_id: array.destination_account.id ?? null, destination_id: array.destination_account.id ?? null,
destination_name: array.destination_account.name ?? null, destination_name: array.destination_account.name ?? null,
// amount:
currency_id: array.currency_id,
amount: array.amount,
foreign_currency_id: array.foreign_currency_id,
foreign_amount: array.foreign_amount,
// meta // meta
budget_id: array.budget_id, budget_id: array.budget_id,

View File

@@ -23,16 +23,17 @@
<div class="text-xs">{{ $t('firefly.amount') }}</div> <div class="text-xs">{{ $t('firefly.amount') }}</div>
<div class="input-group"> <div class="input-group">
<div class="input-group-prepend"> <div class="input-group-prepend">
<div class="input-group-text">{{ this.currencySymbol }}</div> <div class="input-group-text">{{ currencySymbol }}</div>
</div> </div>
<input type="hidden" name="currency_id[]" :value="currencyId"/>
<input <input
title="Amount" :title="$t('firefly.amount')"
autocomplete="off" autocomplete="off"
autofocus
class="form-control" class="form-control"
name="amount[]" name="amount[]"
type="number" type="number"
placeholder="Amount" v-model="amount"
:placeholder="$t('firefly.amount')"
> >
</div> </div>
</div> </div>
@@ -48,26 +49,65 @@ const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers
export default { export default {
name: "TransactionAmount", name: "TransactionAmount",
props: ['index'],
data() { data() {
return { return {
currencySymbol: '', currencySymbol: ''
} }
}, },
watch: { watch: {
selectedTransactionType: function (value) { transactionType: function (value) {
console.log('TransactionAmount just noticed transaction type is now ' + value); switch (value) {
case 'Transfer':
case 'Withdrawal':
// take currency from source:
this.currencyId = this.transactions[this.index].source_account.currency_id;
this.currencySymbol = this.transactions[this.index].source_account.currency_symbol;
return;
case 'Deposit':
// take currency from destination:
this.currencyId = this.transactions[this.index].destination_account.currency_id;
this.currencySymbol = this.transactions[this.index].destination_account.currency_symbol;
return;
} }
}, },
created: function() { destinationAllowedTypes: function (value) {
console.log('TransactionAmount is created.'); // aka source was updated. if source is asset/loan/debt/mortgage use it to set the currency:
if ('undefined' !== typeof this.transactions[this.index].source_account.type) {
if (['Asset account', 'Loan', 'Debt', 'Mortgage'].indexOf(this.transactions[this.index].source_account.type) !== -1) {
// get currency pref from source account
this.currencyId = this.transactions[this.index].source_account.currency_id;
this.currencySymbol = this.transactions[this.index].source_account.currency_symbol;
}
}
},
sourceAllowedTypes: function (value) {
// aka destination was updated. if destination is asset/loan/debt/mortgage use it to set the currency:
// unless its already known to be a transfer
if ('undefined' !== typeof this.transactions[this.index].destination_account.type && 'Transfer' !== this.transactionType) {
if (['Asset account', 'Loan', 'Debt', 'Mortgage'].indexOf(this.transactions[this.index].destination_account.type) !== -1) {
// get currency pref from destination account
this.currencyId = this.transactions[this.index].destination_account.currency_id;
this.currencySymbol = this.transactions[this.index].destination_account.currency_symbol;
}
}
},
},
created: function () {
this.updateCurrency(); this.updateCurrency();
}, },
methods: { methods: {
updateCurrency: function() { ...mapMutations(
if('any' === this.transactionType) { [
'updateField',
],
),
updateCurrency: function () {
if (0 === this.currencyId) {
// use default currency from store. // use default currency from store.
this.currencySymbol = this.currencyPreference.symbol; this.currencySymbol = this.currencyPreference.symbol;
this.currencyId = this.currencyPreference.id;
} }
} }
}, },
@@ -80,7 +120,25 @@ export default {
...mapGetters([ ...mapGetters([
'transactionType', 'transactionType',
'transactions', 'transactions',
'destinationAllowedTypes',
'sourceAllowedTypes',
]), ]),
amount: {
get() {
return this.transactions[this.index].amount;
},
set(value) {
this.updateField({field: 'amount', index: this.index, value: value});
}
},
currencyId: {
get() {
return this.transactions[this.index].currency_id;
},
set(value) {
this.updateField({field: 'currency_id', index: this.index, value: value});
}
},
selectedTransactionType: { selectedTransactionType: {
get() { get() {
return this.transactionType; return this.transactionType;

View File

@@ -0,0 +1,86 @@
<!--
- TransactionCustomDates.vue
- 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/>.
-->
<template>
<div>
<div class="form-group" v-for="(enabled, name) in enabledDates">
<div class="text-xs d-none d-lg-block d-xl-block" v-if="enabled">
{{ $t('form.' + name) }}
</div>
<div class="input-group" v-if="enabled">
<input
class="form-control"
type="date"
:ref="name"
:title="$t('form.' + name)"
:value="getFieldValue(name)"
@change="setFieldValue($event, name)"
autocomplete="off"
:name="name + '[]'"
:placeholder="$t('form.' + name)"
v-on:submit.prevent
>
</div>
</div>
</div>
</template>
<script>
import {createNamespacedHelpers} from "vuex";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('transactions/create')
export default {
name: "TransactionCustomDates",
props: ['enabledDates', 'index'],
data() {
return {
dates: {
interest_date: '',
book_date: '',
process_date: '',
due_date: '',
payment_date: '',
invoice_date: '',
}
}
},
created() {
},
methods: {
...mapMutations(
[
'updateField',
],
),
getFieldValue(field) {
return this.dates[field];
},
setFieldValue(event, field) {
this.dates[field] = event.target.value;
this.updateField({index: this.index, field: field, value: event.target.value});
}
}
}
</script>
<style scoped>
</style>

View File

@@ -29,6 +29,7 @@
:data="descriptions" :data="descriptions"
:placeholder="$t('firefly.description')" :placeholder="$t('firefly.description')"
:showOnFocus=true :showOnFocus=true
autofocus
:minMatchingChars="3" :minMatchingChars="3"
:serializer="item => item.description" :serializer="item => item.description"
@hit="selectedDescription = $event" @hit="selectedDescription = $event"

View File

@@ -0,0 +1,159 @@
<!--
- TransactionForeignAmount.vue
- Copyright (c) 2020 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>
<!-- FOREIGN AMOUNT -->
<div class="form-group">
<input type="hidden" name="foreign_currency_id[]" :value="currencyId"/>
<div class="text-xs">{{ $t('form.foreign_amount') }}</div>
<div class="input-group">
<input
:title="$t('form.foreign_amount')"
autocomplete="off"
class="form-control"
:disabled="0===currencyId"
name="foreign_amount[]"
type="number"
v-model="amount"
:placeholder="$t('form.foreign_amount')"
>
</div>
</div>
</template>
<script>
import {createNamespacedHelpers} from "vuex";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('transactions/create')
//const {mapRootState, mapRootGetters, mapRootActions, mapRootMutations} = createHelpers('');
export default {
name: "TransactionForeignAmount",
props: ['index'],
data() {
return {
currencySymbol: '',
allCurrencies: [],
selectableCurrencies: [],
}
},
watch: {
transactionType: function (value) {
// switch (value) {
// case 'Transfer':
// case 'Withdrawal':
// // take currency from source:
// //this.currencyId = this.transactions[this.index].source_account.currency_id;
// this.currencySymbol = this.transactions[this.index].source_account.currency_symbol;
// return;
// case 'Deposit':
// // take currency from destination:
// this.currencyId = this.transactions[this.index].destination_account.currency_id;
// this.currencySymbol = this.transactions[this.index].destination_account.currency_symbol;
// return;
// }
},
destinationAllowedTypes: function (value) {
// // aka source was updated. if source is asset/loan/debt/mortgage use it to set the currency:
// if ('undefined' !== typeof this.transactions[this.index].source_account.type) {
// if (['Asset account', 'Loan', 'Debt', 'Mortgage'].indexOf(this.transactions[this.index].source_account.type) !== -1) {
// // get currency pref from source account
// this.currencyId = this.transactions[this.index].source_account.currency_id;
// this.currencySymbol = this.transactions[this.index].source_account.currency_symbol;
// }
// }
},
sourceAllowedTypes: function (value) {
// // aka destination was updated. if destination is asset/loan/debt/mortgage use it to set the currency:
// // unless its already known to be a transfer
// if ('undefined' !== typeof this.transactions[this.index].destination_account.type && 'Transfer' !== this.transactionType) {
// if (['Asset account', 'Loan', 'Debt', 'Mortgage'].indexOf(this.transactions[this.index].destination_account.type) !== -1) {
// // get currency pref from destination account
// this.currencyId = this.transactions[this.index].destination_account.currency_id;
// this.currencySymbol = this.transactions[this.index].destination_account.currency_symbol;
// }
// }
},
},
created: function () {
},
methods: {
...mapMutations(
[
'updateField',
],
),
// updateCurrency: function () {
// if (0 === this.currencyId) {
// // use default currency from store.
// this.currencySymbol = this.currencyPreference.symbol;
// this.currencyId = this.currencyPreference.id;
// }
// }
},
computed: {
currencyPreference: {
get() {
return this.$store.state.currencyPreference;
}
},
...mapGetters([
'transactionType',
'transactions',
'destinationAllowedTypes',
'sourceAllowedTypes',
]),
amount: {
get() {
return this.transactions[this.index].foreign_amount;
},
set(value) {
this.updateField({field: 'foreign_amount', index: this.index, value: value});
}
},
currencyId: {
get() {
return this.transactions[this.index].foreign_currency_id;
},
set(value) {
this.updateField({field: 'foreign_currency_id', index: this.index, value: value});
}
},
selectedTransactionType: {
get() {
return this.transactionType;
},
set(value) {
// console.log('set selectedAccount for ' + this.direction);
// console.log(value);
// this.updateField({field: this.accountKey, index: this.index, value: value});
}
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,201 @@
<!--
- TransactionForeignCurrency.vue
- Copyright (c) 2020 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>
<!-- FOREIGN Currency -->
<div class="form-group" v-if="selectIsVisible">
<div class="text-xs">&nbsp;</div>
<div class="input-group">
<select name="foreign_currency_id[]" v-model="currencyId" class="form-control">
<option v-for="currency in selectableCurrencies" :label="currency.name" :value="currency.id">{{ currency.name }}</option>
</select>
</div>
</div>
</template>
<script>
import {createNamespacedHelpers} from "vuex";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('transactions/create')
export default {
name: "TransactionForeignCurrency",
props: ['index'],
data() {
return {
allCurrencies: [],
selectableCurrencies: [],
lockedCurrency: 0,
selectIsVisible: true
}
},
watch: {
transactionType: function (value) {
this.lockedCurrency = 0;
if ('Transfer' === value) {
// take currency from destination:
this.currencyId = this.transactions[this.index].destination_account.currency_id;
this.currencySymbol = this.transactions[this.index].destination_account.currency_symbol;
this.lockedCurrency = this.currencyId;
}
this.filterCurrencies();
this.checkVisibility();
},
destinationAllowedTypes: function (value) {
this.lockedCurrency = 0;
if ('Transfer' === this.transactionType) {
// take currency from destination:
this.currencyId = this.transactions[this.index].destination_account.currency_id;
this.currencySymbol = this.transactions[this.index].destination_account.currency_symbol;
this.lockedCurrency = this.currencyId;
}
this.filterCurrencies();
this.checkVisibility();
},
sourceAllowedTypes: function (value) {
this.lockedCurrency = 0;
if ('Transfer' === this.transactionType) {
// take currency from destination:
this.currencyId = this.transactions[this.index].destination_account.currency_id;
this.currencySymbol = this.transactions[this.index].destination_account.currency_symbol;
this.lockedCurrency = this.currencyId;
}
this.filterCurrencies();
this.checkVisibility();
},
},
created: function () {
this.getAllCurrencies();
},
methods: {
...mapMutations(
[
'updateField',
],
),
checkVisibility: function () {
// have the same currency ID, but not zero, and is a transfer
let sourceId = this.transactions[this.index].source_account.currency_id;
let destId = this.transactions[this.index].destination_account.currency_id;
this.selectIsVisible = true;
if (sourceId === destId && 0 !== sourceId && 'Transfer' === this.transactionType) {
this.selectIsVisible = false;
this.currencyId = 0;
}
},
getAllCurrencies: function () {
axios.get('./api/v1/autocomplete/currencies')
.then(response => {
this.allCurrencies = response.data;
this.filterCurrencies();
}
);
},
filterCurrencies() {
// if a currency is locked only that currency can (and must) be selected:
if (0 !== this.lockedCurrency) {
for (let key in this.allCurrencies) {
if (this.allCurrencies.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) {
let current = this.allCurrencies[key];
if (current.id === this.lockedCurrency) {
this.selectableCurrencies = [current];
this.currencyId = current.id;
}
}
}
return;
}
this.selectableCurrencies = [
{
"id": 0,
"name": this.$t('firefly.no_currency')
}
];
for (let key in this.allCurrencies) {
if (this.allCurrencies.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) {
let current = this.allCurrencies[key];
// add to array if not "locked" in place:
if (this.transactions[this.index].currency_id !== current.id) {
this.selectableCurrencies.push(current);
}
// deselect impossible currency.
if (this.transactions[this.index].currency_id === current.id && this.currencyId === current.id) {
this.currencyId = 0;
}
}
}
//currency_id
// always add empty currency:
// this.selectableCurrencies = this.allCurrencies;
// this.selectableCurrencies.reverse();
// this.selectableCurrencies.push(
// ;
// this.selectableCurrencies.reverse();
// remove
}
// updateCurrency: function () {
// if (0 === this.currencyId) {
// // use default currency from store.
// this.currencySymbol = this.currencyPreference.symbol;
// this.currencyId = this.currencyPreference.id;
// }
// }
},
computed: {
currencyPreference: {
get() {
return this.$store.state.currencyPreference;
}
},
...mapGetters([
'transactionType',
'transactions',
'destinationAllowedTypes',
'sourceAllowedTypes',
]),
currencyId: {
get() {
return this.transactions[this.index].foreign_currency_id;
},
set(value) {
this.updateField({field: 'foreign_currency_id', index: this.index, value: value});
}
},
normalCurrencyId: {
get() {
return this.transactions[this.index].currency_id;
},
},
}
}
</script>
<style scoped>
</style>

View File

@@ -4,6 +4,7 @@
"Withdrawal": "\u0422\u0435\u0433\u043b\u0435\u043d\u0435", "Withdrawal": "\u0422\u0435\u0433\u043b\u0435\u043d\u0435",
"Deposit": "\u0414\u0435\u043f\u043e\u0437\u0438\u0442", "Deposit": "\u0414\u0435\u043f\u043e\u0437\u0438\u0442",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(\u0431\u0435\u0437 \u0432\u0430\u043b\u0443\u0442\u0430)",
"date": "\u0414\u0430\u0442\u0430", "date": "\u0414\u0430\u0442\u0430",
"time": "Time", "time": "Time",
"no_budget": "(\u0431\u0435\u0437 \u0431\u044e\u0434\u0436\u0435\u0442)", "no_budget": "(\u0431\u0435\u0437 \u0431\u044e\u0434\u0436\u0435\u0442)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "bg" "html_language": "bg"
},
"form": {
"foreign_amount": "\u0421\u0443\u043c\u0430 \u0432\u044a\u0432 \u0432\u0430\u043b\u0443\u0442\u0430",
"interest_date": "\u041f\u0430\u0434\u0435\u0436 \u043d\u0430 \u043b\u0438\u0445\u0432\u0430",
"book_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043e\u0441\u0447\u0435\u0442\u043e\u0432\u043e\u0434\u044f\u0432\u0430\u043d\u0435",
"process_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430",
"due_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043f\u0430\u0434\u0435\u0436",
"payment_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0435",
"invoice_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u0444\u0430\u043a\u0442\u0443\u0440\u0430"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "V\u00fdb\u011br", "Withdrawal": "V\u00fdb\u011br",
"Deposit": "Vklad", "Deposit": "Vklad",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(\u017e\u00e1dn\u00e1 m\u011bna)",
"date": "Datum", "date": "Datum",
"time": "Time", "time": "Time",
"no_budget": "(\u017e\u00e1dn\u00fd rozpo\u010det)", "no_budget": "(\u017e\u00e1dn\u00fd rozpo\u010det)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "cs" "html_language": "cs"
},
"form": {
"foreign_amount": "\u010c\u00e1stka v ciz\u00ed m\u011bn\u011b",
"interest_date": "\u00darokov\u00e9 datum",
"book_date": "Datum rezervace",
"process_date": "Datum zpracov\u00e1n\u00ed",
"due_date": "Datum splatnosti",
"payment_date": "Datum zaplacen\u00ed",
"invoice_date": "Datum vystaven\u00ed"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "Ausgabe", "Withdrawal": "Ausgabe",
"Deposit": "Einnahme", "Deposit": "Einnahme",
"date_and_time": "Datum und Uhrzeit", "date_and_time": "Datum und Uhrzeit",
"no_currency": "(ohne W\u00e4hrung)",
"date": "Datum", "date": "Datum",
"time": "Uhrzeit", "time": "Uhrzeit",
"no_budget": "(kein Budget)", "no_budget": "(kein Budget)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "de" "html_language": "de"
},
"form": {
"foreign_amount": "Ausl\u00e4ndischer Betrag",
"interest_date": "Zinstermin",
"book_date": "Buchungsdatum",
"process_date": "Bearbeitungsdatum",
"due_date": "F\u00e4lligkeitstermin",
"payment_date": "Zahlungsdatum",
"invoice_date": "Rechnungsdatum"
} }
} }

View File

@@ -3,18 +3,19 @@
"Transfer": "\u039c\u03b5\u03c4\u03b1\u03c6\u03bf\u03c1\u03ac", "Transfer": "\u039c\u03b5\u03c4\u03b1\u03c6\u03bf\u03c1\u03ac",
"Withdrawal": "\u0391\u03bd\u03ac\u03bb\u03b7\u03c8\u03b7", "Withdrawal": "\u0391\u03bd\u03ac\u03bb\u03b7\u03c8\u03b7",
"Deposit": "\u039a\u03b1\u03c4\u03ac\u03b8\u03b5\u03c3\u03b7", "Deposit": "\u039a\u03b1\u03c4\u03ac\u03b8\u03b5\u03c3\u03b7",
"date_and_time": "Date and time", "date_and_time": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03ba\u03b1\u03b9 \u03ce\u03c1\u03b1",
"no_currency": "(\u03c7\u03c9\u03c1\u03af\u03c2 \u03bd\u03cc\u03bc\u03b9\u03c3\u03bc\u03b1)",
"date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1", "date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1",
"time": "Time", "time": "\u038f\u03c1\u03b1",
"no_budget": "(\u03c7\u03c9\u03c1\u03af\u03c2 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03cc)", "no_budget": "(\u03c7\u03c9\u03c1\u03af\u03c2 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03cc)",
"destination_account": "\u039b\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd", "destination_account": "\u039b\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd",
"source_account": "\u039b\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2", "source_account": "\u039b\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2",
"single_split": "\u0394\u03b9\u03b1\u03c7\u03c9\u03c1\u03b9\u03c3\u03bc\u03cc\u03c2", "single_split": "\u0394\u03b9\u03b1\u03c7\u03c9\u03c1\u03b9\u03c3\u03bc\u03cc\u03c2",
"create_new_transaction": "Create a new transaction", "create_new_transaction": "\u0394\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03bc\u03b9\u03b1\u03c2 \u03bd\u03ad\u03b1\u03c2 \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2",
"balance": "\u0399\u03c3\u03bf\u03b6\u03cd\u03b3\u03b9\u03bf", "balance": "\u0399\u03c3\u03bf\u03b6\u03cd\u03b3\u03b9\u03bf",
"transaction_journal_extra": "Extra information", "transaction_journal_extra": "\u03a0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b5\u03c2 \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2",
"transaction_journal_meta": "\u03a0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2 \u03bc\u03b5\u03c4\u03b1\u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd", "transaction_journal_meta": "\u03a0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2 \u03bc\u03b5\u03c4\u03b1\u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd",
"basic_journal_information": "Basic transaction information", "basic_journal_information": "\u0392\u03b1\u03c3\u03b9\u03ba\u03ad\u03c2 \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2 \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2",
"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", "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",
@@ -49,12 +50,12 @@
"account_role_sharedAsset": "\u039a\u03bf\u03b9\u03bd\u03cc\u03c2 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03bf\u03c5", "account_role_sharedAsset": "\u039a\u03bf\u03b9\u03bd\u03cc\u03c2 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03bf\u03c5",
"account_role_ccAsset": "\u03a0\u03b9\u03c3\u03c4\u03c9\u03c4\u03b9\u03ba\u03ae \u03ba\u03ac\u03c1\u03c4\u03b1", "account_role_ccAsset": "\u03a0\u03b9\u03c3\u03c4\u03c9\u03c4\u03b9\u03ba\u03ae \u03ba\u03ac\u03c1\u03c4\u03b1",
"account_role_cashWalletAsset": "\u03a0\u03bf\u03c1\u03c4\u03bf\u03c6\u03cc\u03bb\u03b9 \u03bc\u03b5\u03c4\u03c1\u03b7\u03c4\u03ce\u03bd", "account_role_cashWalletAsset": "\u03a0\u03bf\u03c1\u03c4\u03bf\u03c6\u03cc\u03bb\u03b9 \u03bc\u03b5\u03c4\u03c1\u03b7\u03c4\u03ce\u03bd",
"daily_budgets": "Daily budgets", "daily_budgets": "\u0397\u03bc\u03b5\u03c1\u03ae\u03c3\u03b9\u03bf\u03b9 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03bf\u03af",
"weekly_budgets": "Weekly budgets", "weekly_budgets": "\u0395\u03b2\u03b4\u03bf\u03bc\u03b1\u03b4\u03b9\u03b1\u03af\u03bf\u03b9 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03bf\u03af",
"monthly_budgets": "Monthly budgets", "monthly_budgets": "\u039c\u03b7\u03bd\u03b9\u03b1\u03af\u03bf\u03b9 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03bf\u03af",
"quarterly_budgets": "Quarterly budgets", "quarterly_budgets": "\u03a4\u03c1\u03b9\u03bc\u03b7\u03bd\u03b9\u03b1\u03af\u03bf\u03b9 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03bf\u03af",
"half_year_budgets": "Half-yearly budgets", "half_year_budgets": "\u0395\u03be\u03b1\u03bc\u03b7\u03bd\u03b9\u03b1\u03af\u03bf\u03b9 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03bf\u03af",
"yearly_budgets": "Yearly budgets", "yearly_budgets": "\u0395\u03c4\u03ae\u03c3\u03b9\u03bf\u03b9 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03bf\u03af",
"other_budgets": "Custom timed budgets", "other_budgets": "Custom timed budgets",
"go_to_withdrawals": "Go to your withdrawals", "go_to_withdrawals": "Go to your withdrawals",
"revenue_accounts": "\u0388\u03c3\u03bf\u03b4\u03b1", "revenue_accounts": "\u0388\u03c3\u03bf\u03b4\u03b1",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "el" "html_language": "el"
},
"form": {
"foreign_amount": "\u03a0\u03bf\u03c3\u03cc \u03c3\u03b5 \u03be\u03ad\u03bd\u03bf \u03bd\u03cc\u03bc\u03b9\u03c3\u03bc\u03b1",
"interest_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c4\u03bf\u03ba\u03b9\u03c3\u03bc\u03bf\u03cd",
"book_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03b5\u03b3\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2",
"process_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1\u03c2",
"due_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c0\u03c1\u03bf\u03b8\u03b5\u03c3\u03bc\u03af\u03b1\u03c2",
"payment_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ae\u03c2",
"invoice_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c4\u03b9\u03bc\u03bf\u03bb\u03cc\u03b3\u03b7\u03c3\u03b7\u03c2"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "Withdrawal", "Withdrawal": "Withdrawal",
"Deposit": "Deposit", "Deposit": "Deposit",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(no currency)",
"date": "Date", "date": "Date",
"time": "Time", "time": "Time",
"no_budget": "(no budget)", "no_budget": "(no budget)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "en-gb" "html_language": "en-gb"
},
"form": {
"foreign_amount": "Foreign amount",
"interest_date": "Interest date",
"book_date": "Book date",
"process_date": "Processing date",
"due_date": "Due date",
"payment_date": "Payment date",
"invoice_date": "Invoice date"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "Withdrawal", "Withdrawal": "Withdrawal",
"Deposit": "Deposit", "Deposit": "Deposit",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(no currency)",
"date": "Date", "date": "Date",
"time": "Time", "time": "Time",
"no_budget": "(no budget)", "no_budget": "(no budget)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "en" "html_language": "en"
},
"form": {
"foreign_amount": "Foreign amount",
"interest_date": "Interest date",
"book_date": "Book date",
"process_date": "Processing date",
"due_date": "Due date",
"payment_date": "Payment date",
"invoice_date": "Invoice date"
} }
} }

View File

@@ -3,18 +3,19 @@
"Transfer": "Transferencia", "Transfer": "Transferencia",
"Withdrawal": "Retiro", "Withdrawal": "Retiro",
"Deposit": "Dep\u00f3sito", "Deposit": "Dep\u00f3sito",
"date_and_time": "Date and time", "date_and_time": "Fecha y hora",
"no_currency": "(sin moneda)",
"date": "Fecha", "date": "Fecha",
"time": "Time", "time": "Hora",
"no_budget": "(sin presupuesto)", "no_budget": "(sin presupuesto)",
"destination_account": "Cuenta destino", "destination_account": "Cuenta destino",
"source_account": "Cuenta origen", "source_account": "Cuenta origen",
"single_split": "Divisi\u00f3n", "single_split": "Divisi\u00f3n",
"create_new_transaction": "Create a new transaction", "create_new_transaction": "Crear una nueva transacci\u00f3n",
"balance": "Balance", "balance": "Balance",
"transaction_journal_extra": "Extra information", "transaction_journal_extra": "Informaci\u00f3n adicional",
"transaction_journal_meta": "Informaci\u00f3n Meta", "transaction_journal_meta": "Informaci\u00f3n Meta",
"basic_journal_information": "Basic transaction information", "basic_journal_information": "Informaci\u00f3n b\u00e1sica de transacci\u00f3n",
"bills_to_pay": "Facturas por pagar", "bills_to_pay": "Facturas por pagar",
"left_to_spend": "Disponible para gastar", "left_to_spend": "Disponible para gastar",
"net_worth": "Valor Neto", "net_worth": "Valor Neto",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "es" "html_language": "es"
},
"form": {
"foreign_amount": "Cantidad extranjera",
"interest_date": "Fecha de inter\u00e9s",
"book_date": "Fecha de registro",
"process_date": "Fecha de procesamiento",
"due_date": "Fecha de vencimiento",
"payment_date": "Fecha de pago",
"invoice_date": "Fecha de la factura"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "Nosto", "Withdrawal": "Nosto",
"Deposit": "Talletus", "Deposit": "Talletus",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(ei valuuttaa)",
"date": "P\u00e4iv\u00e4m\u00e4\u00e4r\u00e4", "date": "P\u00e4iv\u00e4m\u00e4\u00e4r\u00e4",
"time": "Time", "time": "Time",
"no_budget": "(ei budjettia)", "no_budget": "(ei budjettia)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "fi" "html_language": "fi"
},
"form": {
"foreign_amount": "Ulkomaan summa",
"interest_date": "Korkop\u00e4iv\u00e4",
"book_date": "Kirjausp\u00e4iv\u00e4",
"process_date": "K\u00e4sittelyp\u00e4iv\u00e4",
"due_date": "Er\u00e4p\u00e4iv\u00e4",
"payment_date": "Maksup\u00e4iv\u00e4",
"invoice_date": "Laskun p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "D\u00e9pense", "Withdrawal": "D\u00e9pense",
"Deposit": "D\u00e9p\u00f4t", "Deposit": "D\u00e9p\u00f4t",
"date_and_time": "Date et heure", "date_and_time": "Date et heure",
"no_currency": "(pas de devise)",
"date": "Date", "date": "Date",
"time": "Heure", "time": "Heure",
"no_budget": "(pas de budget)", "no_budget": "(pas de budget)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "fr" "html_language": "fr"
},
"form": {
"foreign_amount": "Montant en devise \u00e9trang\u00e8re",
"interest_date": "Date de valeur (int\u00e9r\u00eats)",
"book_date": "Date de r\u00e9servation",
"process_date": "Date de traitement",
"due_date": "\u00c9ch\u00e9ance",
"payment_date": "Date de paiement",
"invoice_date": "Date de facturation"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "K\u00f6lts\u00e9g", "Withdrawal": "K\u00f6lts\u00e9g",
"Deposit": "Bev\u00e9tel", "Deposit": "Bev\u00e9tel",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(nincs p\u00e9nznem)",
"date": "D\u00e1tum", "date": "D\u00e1tum",
"time": "Time", "time": "Time",
"no_budget": "(nincs k\u00f6lts\u00e9gkeret)", "no_budget": "(nincs k\u00f6lts\u00e9gkeret)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "hu" "html_language": "hu"
},
"form": {
"foreign_amount": "K\u00fclf\u00f6ldi \u00f6sszeg",
"interest_date": "Kamatfizet\u00e9si id\u0151pont",
"book_date": "K\u00f6nyvel\u00e9s d\u00e1tuma",
"process_date": "Feldolgoz\u00e1s d\u00e1tuma",
"due_date": "Lej\u00e1rati id\u0151pont",
"payment_date": "Fizet\u00e9s d\u00e1tuma",
"invoice_date": "Sz\u00e1mla d\u00e1tuma"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "Prelievo", "Withdrawal": "Prelievo",
"Deposit": "Entrata", "Deposit": "Entrata",
"date_and_time": "Data e ora", "date_and_time": "Data e ora",
"no_currency": "(nessuna valuta)",
"date": "Data", "date": "Data",
"time": "Ora", "time": "Ora",
"no_budget": "(nessun budget)", "no_budget": "(nessun budget)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "it" "html_language": "it"
},
"form": {
"foreign_amount": "Importo estero",
"interest_date": "Data di valuta",
"book_date": "Data contabile",
"process_date": "Data elaborazione",
"due_date": "Data scadenza",
"payment_date": "Data pagamento",
"invoice_date": "Data fatturazione"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "Uttak", "Withdrawal": "Uttak",
"Deposit": "Innskudd", "Deposit": "Innskudd",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(ingen valuta)",
"date": "Dato", "date": "Dato",
"time": "Time", "time": "Time",
"no_budget": "(ingen budsjett)", "no_budget": "(ingen budsjett)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "nb" "html_language": "nb"
},
"form": {
"foreign_amount": "Utenlandske bel\u00f8p",
"interest_date": "Rentedato",
"book_date": "Bokf\u00f8ringsdato",
"process_date": "Prosesseringsdato",
"due_date": "Forfallsdato",
"payment_date": "Betalingsdato",
"invoice_date": "Fakturadato"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "Uitgave", "Withdrawal": "Uitgave",
"Deposit": "Inkomsten", "Deposit": "Inkomsten",
"date_and_time": "Datum en tijd", "date_and_time": "Datum en tijd",
"no_currency": "(geen valuta)",
"date": "Datum", "date": "Datum",
"time": "Tijd", "time": "Tijd",
"no_budget": "(geen budget)", "no_budget": "(geen budget)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "nl" "html_language": "nl"
},
"form": {
"foreign_amount": "Bedrag in vreemde valuta",
"interest_date": "Rentedatum",
"book_date": "Boekdatum",
"process_date": "Verwerkingsdatum",
"due_date": "Vervaldatum",
"payment_date": "Betalingsdatum",
"invoice_date": "Factuurdatum"
} }
} }

View File

@@ -3,9 +3,10 @@
"Transfer": "Transfer", "Transfer": "Transfer",
"Withdrawal": "Wyp\u0142ata", "Withdrawal": "Wyp\u0142ata",
"Deposit": "Wp\u0142ata", "Deposit": "Wp\u0142ata",
"date_and_time": "Date and time", "date_and_time": "Data i czas",
"no_currency": "(brak waluty)",
"date": "Data", "date": "Data",
"time": "Time", "time": "Czas",
"no_budget": "(brak bud\u017cetu)", "no_budget": "(brak bud\u017cetu)",
"destination_account": "Konto docelowe", "destination_account": "Konto docelowe",
"source_account": "Konto \u017ar\u00f3d\u0142owe", "source_account": "Konto \u017ar\u00f3d\u0142owe",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "pl" "html_language": "pl"
},
"form": {
"foreign_amount": "Kwota zagraniczna",
"interest_date": "Data odsetek",
"book_date": "Data ksi\u0119gowania",
"process_date": "Data przetworzenia",
"due_date": "Termin realizacji",
"payment_date": "Data p\u0142atno\u015bci",
"invoice_date": "Data faktury"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "Retirada", "Withdrawal": "Retirada",
"Deposit": "Dep\u00f3sito", "Deposit": "Dep\u00f3sito",
"date_and_time": "Data e hora", "date_and_time": "Data e hora",
"no_currency": "(sem moeda)",
"date": "Data", "date": "Data",
"time": "Hor\u00e1rio", "time": "Hor\u00e1rio",
"no_budget": "(sem or\u00e7amento)", "no_budget": "(sem or\u00e7amento)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "pt-br" "html_language": "pt-br"
},
"form": {
"foreign_amount": "Montante em moeda estrangeira",
"interest_date": "Data de interesse",
"book_date": "Data reserva",
"process_date": "Data de processamento",
"due_date": "Data de vencimento",
"payment_date": "Data de pagamento",
"invoice_date": "Data da Fatura"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "Retragere", "Withdrawal": "Retragere",
"Deposit": "Depozit", "Deposit": "Depozit",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(nici o moned\u0103)",
"date": "Dat\u0103", "date": "Dat\u0103",
"time": "Time", "time": "Time",
"no_budget": "(nici un buget)", "no_budget": "(nici un buget)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "ro" "html_language": "ro"
},
"form": {
"foreign_amount": "Sum\u0103 str\u0103in\u0103",
"interest_date": "Data de interes",
"book_date": "Rezerv\u0103 dat\u0103",
"process_date": "Data proces\u0103rii",
"due_date": "Data scadent\u0103",
"payment_date": "Data de plat\u0103",
"invoice_date": "Data facturii"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "\u0420\u0430\u0441\u0445\u043e\u0434", "Withdrawal": "\u0420\u0430\u0441\u0445\u043e\u0434",
"Deposit": "\u0414\u043e\u0445\u043e\u0434", "Deposit": "\u0414\u043e\u0445\u043e\u0434",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(\u043d\u0435\u0442 \u0432\u0430\u043b\u044e\u0442\u044b)",
"date": "\u0414\u0430\u0442\u0430", "date": "\u0414\u0430\u0442\u0430",
"time": "Time", "time": "Time",
"no_budget": "(\u0432\u043d\u0435 \u0431\u044e\u0434\u0436\u0435\u0442\u0430)", "no_budget": "(\u0432\u043d\u0435 \u0431\u044e\u0434\u0436\u0435\u0442\u0430)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "ru" "html_language": "ru"
},
"form": {
"foreign_amount": "\u0421\u0443\u043c\u043c\u0430 \u0432 \u0438\u043d\u043e\u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0439 \u0432\u0430\u043b\u044e\u0442\u0435",
"interest_date": "\u0414\u0430\u0442\u0430 \u0432\u044b\u043f\u043b\u0430\u0442\u044b",
"book_date": "\u0414\u0430\u0442\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f",
"process_date": "\u0414\u0430\u0442\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438",
"due_date": "\u0421\u0440\u043e\u043a",
"payment_date": "\u0414\u0430\u0442\u0430 \u043f\u043b\u0430\u0442\u0435\u0436\u0430",
"invoice_date": "\u0414\u0430\u0442\u0430 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0447\u0451\u0442\u0430"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "V\u00fdber", "Withdrawal": "V\u00fdber",
"Deposit": "Vklad", "Deposit": "Vklad",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(\u017eiadna mena)",
"date": "D\u00e1tum", "date": "D\u00e1tum",
"time": "Time", "time": "Time",
"no_budget": "(\u017eiadny rozpo\u010det)", "no_budget": "(\u017eiadny rozpo\u010det)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "sk" "html_language": "sk"
},
"form": {
"foreign_amount": "Suma v cudzej mene",
"interest_date": "\u00darokov\u00fd d\u00e1tum",
"book_date": "D\u00e1tum rezerv\u00e1cie",
"process_date": "D\u00e1tum spracovania",
"due_date": "D\u00e1tum splatnosti",
"payment_date": "D\u00e1tum \u00fahrady",
"invoice_date": "D\u00e1tum vystavenia"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "Uttag", "Withdrawal": "Uttag",
"Deposit": "Ins\u00e4ttning", "Deposit": "Ins\u00e4ttning",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(ingen valuta)",
"date": "Datum", "date": "Datum",
"time": "Time", "time": "Time",
"no_budget": "(ingen budget)", "no_budget": "(ingen budget)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "sv" "html_language": "sv"
},
"form": {
"foreign_amount": "Utl\u00e4ndskt belopp",
"interest_date": "R\u00e4ntedatum",
"book_date": "Bokf\u00f6ringsdatum",
"process_date": "Behandlingsdatum",
"due_date": "F\u00f6rfallodatum",
"payment_date": "Betalningsdatum",
"invoice_date": "Fakturadatum"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "R\u00fat ti\u1ec1n", "Withdrawal": "R\u00fat ti\u1ec1n",
"Deposit": "Ti\u1ec1n g\u1eedi", "Deposit": "Ti\u1ec1n g\u1eedi",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(kh\u00f4ng c\u00f3 ti\u1ec1n t\u1ec7)",
"date": "Ng\u00e0y", "date": "Ng\u00e0y",
"time": "Time", "time": "Time",
"no_budget": "(kh\u00f4ng c\u00f3 ng\u00e2n s\u00e1ch)", "no_budget": "(kh\u00f4ng c\u00f3 ng\u00e2n s\u00e1ch)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "vi" "html_language": "vi"
},
"form": {
"foreign_amount": "Ngo\u1ea1i t\u1ec7",
"interest_date": "Ng\u00e0y l\u00e3i",
"book_date": "Ng\u00e0y \u0111\u1eb7t s\u00e1ch",
"process_date": "Ng\u00e0y x\u1eed l\u00fd",
"due_date": "Ng\u00e0y \u0111\u00e1o h\u1ea1n",
"payment_date": "Ng\u00e0y thanh to\u00e1n",
"invoice_date": "Ng\u00e0y h\u00f3a \u0111\u01a1n"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "\u63d0\u6b3e", "Withdrawal": "\u63d0\u6b3e",
"Deposit": "\u5b58\u6b3e", "Deposit": "\u5b58\u6b3e",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(\u6ca1\u6709\u8d27\u5e01)",
"date": "\u65e5\u671f", "date": "\u65e5\u671f",
"time": "Time", "time": "Time",
"no_budget": "(\u65e0\u9884\u7b97)", "no_budget": "(\u65e0\u9884\u7b97)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "zh-cn" "html_language": "zh-cn"
},
"form": {
"foreign_amount": "\u5916\u5e01\u91d1\u989d",
"interest_date": "\u5229\u7387\u65e5\u671f",
"book_date": "\u767b\u8bb0\u65e5\u671f",
"process_date": "\u5904\u7406\u65e5\u671f",
"due_date": "\u5230\u671f\u65e5",
"payment_date": "\u4ed8\u6b3e\u65e5\u671f",
"invoice_date": "\u53d1\u7968\u65e5\u671f"
} }
} }

View File

@@ -4,6 +4,7 @@
"Withdrawal": "\u63d0\u6b3e", "Withdrawal": "\u63d0\u6b3e",
"Deposit": "\u5b58\u6b3e", "Deposit": "\u5b58\u6b3e",
"date_and_time": "Date and time", "date_and_time": "Date and time",
"no_currency": "(\u6c92\u6709\u8ca8\u5e63)",
"date": "\u65e5\u671f", "date": "\u65e5\u671f",
"time": "Time", "time": "Time",
"no_budget": "(\u7121\u9810\u7b97)", "no_budget": "(\u7121\u9810\u7b97)",
@@ -74,5 +75,14 @@
}, },
"config": { "config": {
"html_language": "zh-tw" "html_language": "zh-tw"
},
"form": {
"foreign_amount": "\u5916\u5e63\u91d1\u984d",
"interest_date": "\u5229\u7387\u65e5\u671f",
"book_date": "\u767b\u8a18\u65e5\u671f",
"process_date": "\u8655\u7406\u65e5\u671f",
"due_date": "\u5230\u671f\u65e5",
"payment_date": "\u4ed8\u6b3e\u65e5\u671f",
"invoice_date": "\u767c\u7968\u65e5\u671f"
} }
} }

View File

@@ -872,9 +872,9 @@
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
"@types/node@*": "@types/node@*":
version "14.14.17" version "14.14.19"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.17.tgz#29fab92f3986c0e379968ad3c2043683d8020dbb" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.19.tgz#5135176a8330b88ece4e9ab1fdcfc0a545b4bab4"
integrity sha512-G0lD1/7qD60TJ/mZmhog76k7NcpLWkPVGgzkRy3CTlnFu4LUQh5v2Wa661z6vnXmD8EQrnALUyf0VRtrACYztw== integrity sha512-4nhBPStMK04rruRVtVc6cDqhu7S9GZai0fpXgPXrFpcPX6Xul8xnrjSdGB4KPBVYG/R5+fXWdCM8qBoiULWGPQ==
"@types/q@^1.5.1": "@types/q@^1.5.1":
version "1.5.4" version "1.5.4"
@@ -3583,9 +3583,9 @@ http-errors@~1.7.2:
toidentifier "1.0.0" toidentifier "1.0.0"
http-parser-js@>=0.5.1: http-parser-js@>=0.5.1:
version "0.5.2" version "0.5.3"
resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9"
integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==
http-proxy-middleware@0.19.1: http-proxy-middleware@0.19.1:
version "0.19.1" version "0.19.1"
@@ -4469,22 +4469,17 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0" bn.js "^4.0.0"
brorand "^1.0.1" brorand "^1.0.1"
mime-db@1.44.0: mime-db@1.45.0, "mime-db@>= 1.43.0 < 2":
version "1.44.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
"mime-db@>= 1.43.0 < 2":
version "1.45.0" version "1.45.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
mime-types@~2.1.17, mime-types@~2.1.24: mime-types@~2.1.17, mime-types@~2.1.24:
version "2.1.27" version "2.1.28"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==
dependencies: dependencies:
mime-db "1.44.0" mime-db "1.45.0"
mime@1.6.0: mime@1.6.0:
version "1.6.0" version "1.6.0"
@@ -6867,9 +6862,9 @@ uuid@^8.3.0:
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
v-calendar@^2.1.5: v-calendar@^2.1.5:
version "2.1.5" version "2.1.6"
resolved "https://registry.yarnpkg.com/v-calendar/-/v-calendar-2.1.5.tgz#f95f73a9c39f8d49a19c80da5503a77cc72e32e4" resolved "https://registry.yarnpkg.com/v-calendar/-/v-calendar-2.1.6.tgz#a1b97b929ee561d0ca6e9555f882f633c5d4aa43"
integrity sha512-od4wejIDzLQRsb4OJfe/GuMGU1ZzTM9vpaT5suizA0wqL8KQKRMD9mAFsudQUmm5JIo+LH5xV+eNjDAVn+HYpQ== integrity sha512-JYOJQWvJOQLK0U8QOyYeFXarlxIRDQngiQUl9/6eXZZUVR3QLaEyEhtXNNSD/MCGl8D24bhjMPVjNKpScwnP7A==
dependencies: dependencies:
core-js "^3.6.5" core-js "^3.6.5"
date-fns "^2.8.1" date-fns "^2.8.1"
@@ -6951,9 +6946,9 @@ vue-template-es2015-compiler@^1.9.0:
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
vue-typeahead-bootstrap@^2.5.5: vue-typeahead-bootstrap@^2.5.5:
version "2.6.1" version "2.7.2"
resolved "https://registry.yarnpkg.com/vue-typeahead-bootstrap/-/vue-typeahead-bootstrap-2.6.1.tgz#5796d5f3affe37522f6767404696115f94f8baeb" resolved "https://registry.yarnpkg.com/vue-typeahead-bootstrap/-/vue-typeahead-bootstrap-2.7.2.tgz#de86820067279c8fab661692b099036bfb756228"
integrity sha512-JBOQJB55NQ2PkLWv040OqwxTGHYWJrmpPxyUeRRrfooPhcBBPH5C4GSYvCEMqT4DrN8KelKu307BshA1WXSBgA== integrity sha512-iUrpK5s0e4/NC0891KFmNpgaVLYtk10K3wViljdhTw6vmIrMiMmhHQaB83K3frJSDGSgTvdh22RW+ojQpl2VKQ==
dependencies: dependencies:
lodash "^4.17.20" lodash "^4.17.20"
resize-observer-polyfill "^1.5.0" resize-observer-polyfill "^1.5.0"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -24,74 +24,74 @@ declare(strict_types=1);
return [ return [
// common items // common items
'greeting' => 'Hi there,', 'greeting' => 'Γεια σου,',
'closing' => 'Beep boop,', 'closing' => 'Beep boop,',
'signature' => 'The Firefly III Mail Robot', 'signature' => 'Το Ρομπότ Αλληλογραφίας του Firefly III',
'footer_ps' => 'PS: This message was sent because a request from IP :ipAddress triggered it.', 'footer_ps' => 'PS: This message was sent because a request from IP :ipAddress triggered it.',
// admin test // admin test
'admin_test_subject' => 'A test message from your Firefly III installation', 'admin_test_subject' => 'Ένα δοκιμαστικό μήνυμα από την εγκατάσταση του Firefly III',
'admin_test_body' => 'This is a test message from your Firefly III instance. It was sent to :email.', 'admin_test_body' => 'Αυτό είναι ένα δοκιμαστικό μήνυμα από την εγκατάσταση του Firefly III. Αποστάλθηκε στο :email.',
// new IP // new IP
'login_from_new_ip' => 'New login on Firefly III', 'login_from_new_ip' => 'Νέα σύνδεση χρήστη στο Firefly III',
'new_ip_body' => 'Firefly III detected a new login on your account from an unknown IP address. If you never logged in from the IP address below, or it has been more than six months ago, Firefly III will warn you.', 'new_ip_body' => 'Το Firefly III εντόπισε μια νέα σύνδεση στο λογαριασμό σας από μια άγνωστη διεύθυνση IP. Αν δεν συνδεθήκατε ποτέ από την παρακάτω διεύθυνση IP ή έγινε πριν από περισσότερο από έξι μήνες, το Firefly III θα σας προειδοποιήσει.',
'new_ip_warning' => 'If you recognize this IP address or the login, you can ignore this message. If you didn\'t login, of if you have no idea what this is about, verify your password security, change it, and log out all other sessions. To do this, go to your profile page. Of course you have 2FA enabled already, right? Stay safe!', 'new_ip_warning' => 'If you recognize this IP address or the login, you can ignore this message. If you didn\'t login, of if you have no idea what this is about, verify your password security, change it, and log out all other sessions. To do this, go to your profile page. Of course you have 2FA enabled already, right? Stay safe!',
'ip_address' => 'IP address', 'ip_address' => 'Διεύθυνση IP',
'host_name' => 'Host', 'host_name' => 'Διακομιστής',
'date_time' => 'Date + time', 'date_time' => 'Ημερομηνία και ώρα',
// access token created // access token created
'access_token_created_subject' => 'A new access token was created', 'access_token_created_subject' => 'Δημιουργήθηκε ένα νέο διακριτικό πρόσβασης',
'access_token_created_body' => 'Somebody (hopefully you) just created a new Firefly III API Access Token for your user account.', 'access_token_created_body' => 'Somebody (hopefully you) just created a new Firefly III API Access Token for your user account.',
'access_token_created_explanation' => 'With this token, they can access <strong>all</strong> of your financial records through the Firefly III API.', 'access_token_created_explanation' => 'With this token, they can access <strong>all</strong> of your financial records through the Firefly III API.',
'access_token_created_revoke' => 'If this wasn\'t you, please revoke this token as soon as possible at :url.', 'access_token_created_revoke' => 'If this wasn\'t you, please revoke this token as soon as possible at :url.',
// registered // registered
'registered_subject' => 'Welcome to Firefly III!', 'registered_subject' => 'Καλωσήρθατε στο Firefly III!',
'registered_welcome' => 'Welcome to <a style="color:#337ab7" href=":address">Firefly III</a>. Your registration has made it, and this email is here to confirm it. Yay!', 'registered_welcome' => 'Welcome to <a style="color:#337ab7" href=":address">Firefly III</a>. Your registration has made it, and this email is here to confirm it. Yay!',
'registered_pw' => 'If you have forgotten your password already, please reset it using <a style="color:#337ab7" href=":address/password/reset">the password reset tool</a>.', 'registered_pw' => 'If you have forgotten your password already, please reset it using <a style="color:#337ab7" href=":address/password/reset">the password reset tool</a>.',
'registered_help' => 'There is a help-icon in the top right corner of each page. If you need help, click it!', 'registered_help' => 'There is a help-icon in the top right corner of each page. If you need help, click it!',
'registered_doc_html' => 'If you haven\'t already, please read the <a style="color:#337ab7" href="https://docs.firefly-iii.org/about-firefly-iii/personal-finances">grand theory</a>.', 'registered_doc_html' => 'If you haven\'t already, please read the <a style="color:#337ab7" href="https://docs.firefly-iii.org/about-firefly-iii/personal-finances">grand theory</a>.',
'registered_doc_text' => 'If you haven\'t already, please read the first use guide and the full description.', 'registered_doc_text' => 'If you haven\'t already, please read the first use guide and the full description.',
'registered_closing' => 'Enjoy!', 'registered_closing' => 'Καλή Διασκέδαση!',
'registered_firefly_iii_link' => 'Firefly III:', 'registered_firefly_iii_link' => 'Firefly III:',
'registered_pw_reset_link' => 'Password reset:', 'registered_pw_reset_link' => 'Επαναφορά κωδικού πρόσβασης:',
'registered_doc_link' => 'Documentation:', 'registered_doc_link' => 'Τεκμηρίωση:',
// email change // email change
'email_change_subject' => 'Your Firefly III email address has changed', 'email_change_subject' => 'Η διεύθυνση email σας στο Firefly III έχει αλλάξει',
'email_change_body_to_new' => 'You or somebody with access to your Firefly III account has changed your email address. If you did not expect this message, please ignore and delete it.', 'email_change_body_to_new' => 'You or somebody with access to your Firefly III account has changed your email address. If you did not expect this message, please ignore and delete it.',
'email_change_body_to_old' => 'You or somebody with access to your Firefly III account has changed your email address. If you did not expect this to happen, you <strong>must</strong> follow the "undo"-link below to protect your account!', 'email_change_body_to_old' => 'You or somebody with access to your Firefly III account has changed your email address. If you did not expect this to happen, you <strong>must</strong> follow the "undo"-link below to protect your account!',
'email_change_ignore' => 'If you initiated this change, you may safely ignore this message.', 'email_change_ignore' => 'If you initiated this change, you may safely ignore this message.',
'email_change_old' => 'The old email address was: :email', 'email_change_old' => 'Η παλιά διεύθυνση ηλεκτρονικού ταχυδρομείου ήταν: :email',
'email_change_old_strong' => 'The old email address was: <strong>:email</strong>', 'email_change_old_strong' => 'Η παλιά διεύθυνση ηλεκτρονικού ταχυδρομείου ήταν: <strong>:email</strong>',
'email_change_new' => 'The new email address is: :email', 'email_change_new' => 'Η νέα διεύθυνση ηλεκτρονικού ταχυδρομείου είναι: :email',
'email_change_new_strong' => 'The new email address is: <strong>:email</strong>', 'email_change_new_strong' => 'Η νέα διεύθυνση ηλεκτρονικού ταχυδρομείου είναι: <strong>:email</strong>',
'email_change_instructions' => 'You cannot use Firefly III until you confirm this change. Please follow the link below to do so.', 'email_change_instructions' => 'You cannot use Firefly III until you confirm this change. Please follow the link below to do so.',
'email_change_undo_link' => 'To undo the change, follow this link:', 'email_change_undo_link' => 'Για να αναιρέσετε την αλλαγή, ακολουθήστε αυτόν τον σύνδεσμο:',
// OAuth token created // OAuth token created
'oauth_created_subject' => 'A new OAuth client has been created', 'oauth_created_subject' => 'Δημιουργήθηκε ένας νέος πελάτης OAuth',
'oauth_created_body' => 'Somebody (hopefully you) just created a new Firefly III API OAuth Client for your user account. It\'s labeled ":name" and has callback URL <span style="font-family: monospace;">:url</span>.', 'oauth_created_body' => 'Somebody (hopefully you) just created a new Firefly III API OAuth Client for your user account. It\'s labeled ":name" and has callback URL <span style="font-family: monospace;">:url</span>.',
'oauth_created_explanation' => 'With this client, they can access <strong>all</strong> of your financial records through the Firefly III API.', 'oauth_created_explanation' => 'With this client, they can access <strong>all</strong> of your financial records through the Firefly III API.',
'oauth_created_undo' => 'If this wasn\'t you, please revoke this client as soon as possible at :url.', 'oauth_created_undo' => 'If this wasn\'t you, please revoke this client as soon as possible at :url.',
// reset password // reset password
'reset_pw_subject' => 'Your password reset request', 'reset_pw_subject' => 'Αίτημα επαναφοράς κωδικού πρόσβασης',
'reset_pw_instructions' => 'Somebody tried to reset your password. If it was you, please follow the link below to do so.', 'reset_pw_instructions' => 'Κάποιος θέλει να κάνει επαναφορά για τον κωδικό πρόσβασής σας. Αν ήσασταν εσείς, παρακαλούμε ακολουθήστε τον παρακάτω σύνδεσμο για να το κάνετε.',
'reset_pw_warning' => '<strong>PLEASE</strong> verify that the link actually goes to the Firefly III you expect it to go!', 'reset_pw_warning' => '<strong>ΠΑΡΑΚΑΛΩ</strong> βεβαιωθείτε ότι ο σύνδεσμος πηγαίνει πραγματικά στη διεύθυνση του Firefly III που χρησιμοποιείτε!',
// error // error
'error_subject' => 'Caught an error in Firefly III', 'error_subject' => 'Βρέθηκε ένα σφάλμα στο Firefly III',
'error_intro' => 'Firefly III v:version ran into an error: <span style="font-family: monospace;">:errorMessage</span>.', 'error_intro' => 'Το Firefly III v:version συνάντησε ένα σφάλμα: <span style="font-family: monospace;">:errorMessage</span>.',
'error_type' => 'The error was of type ":class".', 'error_type' => 'Το σφάλμα ήταν του τύπου ":class".',
'error_timestamp' => 'The error occurred on/at: :time.', 'error_timestamp' => 'Το σφάλμα προέκυψε την/στις: :time.',
'error_location' => 'This error occurred in file "<span style="font-family: monospace;">:file</span>" on line :line with code :code.', 'error_location' => 'Αυτό το σφάλμα προέκυψε στο αρχείο "<span style="font-family: monospace;">:file</span>" στη γραμμή :line με τον κωδικό :code.',
'error_user' => 'The error was encountered by user #:id, <a href="mailto::email">:email</a>.', 'error_user' => 'Το σφάλμα προέκυψε στο χρήστη #:id, <a href="mailto::email">:email</a>.',
'error_no_user' => 'There was no user logged in for this error or no user was detected.', 'error_no_user' => 'Δεν υπήρξε κανένας συνδεδεμένος χρήστης για αυτό το σφάλμα ή κανένας χρήστης δεν εντοπίστηκε.',
'error_ip' => 'The IP address related to this error is: :ip', 'error_ip' => 'Η διεύθυνση IP που σχετίζεται με αυτό το σφάλμα είναι: :ip',
'error_url' => 'URL is: :url', 'error_url' => 'Το URL είναι: :url',
'error_user_agent' => 'User agent: :userAgent', 'error_user_agent' => 'User agent: :userAgent',
'error_stacktrace' => 'The full stacktrace is below. If you think this is a bug in Firefly III, you can forward this message to <a href="mailto:james@firefly-iii.org?subject=BUG!">james@firefly-iii.org</a>. This can help fix the bug you just encountered.', 'error_stacktrace' => 'The full stacktrace is below. If you think this is a bug in Firefly III, you can forward this message to <a href="mailto:james@firefly-iii.org?subject=BUG!">james@firefly-iii.org</a>. This can help fix the bug you just encountered.',
'error_github_html' => 'If you prefer, you can also open a new issue on <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.', 'error_github_html' => 'If you prefer, you can also open a new issue on <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',

View File

@@ -33,13 +33,13 @@ return [
'clone' => 'Κλωνοποίηση', 'clone' => 'Κλωνοποίηση',
'last_seven_days' => 'Τελευταίες επτά ημέρες', 'last_seven_days' => 'Τελευταίες επτά ημέρες',
'last_thirty_days' => 'Τελευταίες τριάντα ημέρες', 'last_thirty_days' => 'Τελευταίες τριάντα ημέρες',
'last_180_days' => 'Last 180 days', 'last_180_days' => 'Τελευταίες 180 ημέρες',
'YTD' => 'YTD', 'YTD' => 'YTD',
'welcome_back' => 'Τι παίζει;', 'welcome_back' => 'Τι παίζει;',
'everything' => 'Όλα', 'everything' => 'Όλα',
'today' => 'σήμερα', 'today' => 'σήμερα',
'customRange' => 'Προσαρμοσμένο εύρος', 'customRange' => 'Προσαρμοσμένο εύρος',
'date_range' => 'Date range', 'date_range' => 'Ημερολογιακό Εύρος',
'apply' => 'Εφαρμογή', 'apply' => 'Εφαρμογή',
'select_date' => 'Επιλογή ημερομηνίας..', 'select_date' => 'Επιλογή ημερομηνίας..',
'cancel' => 'Άκυρο', 'cancel' => 'Άκυρο',
@@ -56,7 +56,7 @@ return [
'Opening balance' => 'Υπόλοιπο έναρξης', 'Opening balance' => 'Υπόλοιπο έναρξης',
'create_new_stuff' => 'Νέα καταχώρηση', 'create_new_stuff' => 'Νέα καταχώρηση',
'new_withdrawal' => 'Νέα ανάληψη', 'new_withdrawal' => 'Νέα ανάληψη',
'create_new_transaction' => 'Create a new transaction', 'create_new_transaction' => 'Δημιουργία μιας νέας συναλλαγής',
'sidebar_frontpage_create' => 'Δημιουργία', 'sidebar_frontpage_create' => 'Δημιουργία',
'new_transaction' => 'Νέα συναλλαγή', 'new_transaction' => 'Νέα συναλλαγή',
'no_rules_for_bill' => 'Αυτό το πάγιο έξοδο δεν έχει σχετιζόμενους κανόνες.', 'no_rules_for_bill' => 'Αυτό το πάγιο έξοδο δεν έχει σχετιζόμενους κανόνες.',
@@ -208,9 +208,9 @@ return [
'button_register' => 'Εγγραφή', 'button_register' => 'Εγγραφή',
'authorization' => 'Εξουσιοδότηση', 'authorization' => 'Εξουσιοδότηση',
'active_bills_only' => 'μόνο ενεργά πάγια έξοδα', 'active_bills_only' => 'μόνο ενεργά πάγια έξοδα',
'active_bills_only_total' => 'all active bills', 'active_bills_only_total' => 'όλα τα ενεργά πάγια έξοδα',
'active_exp_bills_only' => 'μόνο ενεργά και αναμενόμενα πάγια έξοδα', 'active_exp_bills_only' => 'μόνο ενεργά και αναμενόμενα πάγια έξοδα',
'active_exp_bills_only_total' => 'all active expected bills only', 'active_exp_bills_only_total' => 'όλα τα ενεργά αναμενόμενα πάγια έξοδα',
'per_period_sum_1D' => 'Αναμενόμενο ημερήσιο κόστος', 'per_period_sum_1D' => 'Αναμενόμενο ημερήσιο κόστος',
'per_period_sum_1W' => 'Αναμενόμενο εβδομαδιαίο κόστος', 'per_period_sum_1W' => 'Αναμενόμενο εβδομαδιαίο κόστος',
'per_period_sum_1M' => 'Αναμενόμενο μηνιαίο κόστος', 'per_period_sum_1M' => 'Αναμενόμενο μηνιαίο κόστος',
@@ -221,8 +221,8 @@ return [
'expected_total' => 'αναμενόμενο σύνολο', 'expected_total' => 'αναμενόμενο σύνολο',
'reconciliation_account_name' => ':name τακτοποίηση (:currency)', 'reconciliation_account_name' => ':name τακτοποίηση (:currency)',
'saved' => 'Αποθηκεύτηκε', 'saved' => 'Αποθηκεύτηκε',
'advanced_options' => 'Advanced options', 'advanced_options' => 'Επιλογές για προχωρημένους',
'advanced_options_explain' => 'Some pages in Firefly III have advanced options hidden behind this button. This page doesn\'t have anything fancy here, but do check out the others!', 'advanced_options_explain' => 'Μερικές σελίδες στο Firefly III έχουν κρυμμένες επιλογές για προχωρημένους πίσω από αυτό το κουμπί. Αυτή η σελίδα δεν έχει τίποτα ουσιαστικό εδώ, αλλά ελέγξτε τις υπόλοιπες!',
'here_be_dragons' => 'Hic sunt dracones', 'here_be_dragons' => 'Hic sunt dracones',
// API access // API access
@@ -240,7 +240,7 @@ return [
'all_destination_accounts' => 'Λογαριασμοί προορισμού', 'all_destination_accounts' => 'Λογαριασμοί προορισμού',
'all_source_accounts' => 'Λογαριασμοί προέλευσης', 'all_source_accounts' => 'Λογαριασμοί προέλευσης',
'back_to_index' => 'Επιστροφή στο ευρετήριο', 'back_to_index' => 'Επιστροφή στο ευρετήριο',
'cant_logout_guard' => 'Firefly III can\'t log you out.', 'cant_logout_guard' => 'Το Firefly III δε μπορεί να σας αποσυνδέσει.',
// check for updates: // check for updates:
'update_check_title' => 'Έλεγχος ενημερώσεων', 'update_check_title' => 'Έλεγχος ενημερώσεων',
@@ -921,12 +921,12 @@ return [
'options' => 'Επιλογές', 'options' => 'Επιλογές',
// budgets: // budgets:
'daily_budgets' => 'Daily budgets', 'daily_budgets' => 'Ημερήσιοι προϋπολογισμοί',
'weekly_budgets' => 'Weekly budgets', 'weekly_budgets' => 'Εβδομαδιαίοι προϋπολογισμοί',
'monthly_budgets' => 'Monthly budgets', 'monthly_budgets' => 'Μηνιαίοι προϋπολογισμοί',
'quarterly_budgets' => 'Quarterly budgets', 'quarterly_budgets' => 'Τριμηνιαίοι προϋπολογισμοί',
'half_year_budgets' => 'Half-yearly budgets', 'half_year_budgets' => 'Εξαμηνιαίοι προϋπολογισμοί',
'yearly_budgets' => 'Yearly budgets', 'yearly_budgets' => 'Ετήσιοι προϋπολογισμοί',
'other_budgets' => 'Custom timed budgets', 'other_budgets' => 'Custom timed budgets',
'budget_limit_not_in_range' => 'Αυτό το ποσό ισχύει από :start έως :end:', 'budget_limit_not_in_range' => 'Αυτό το ποσό ισχύει από :start έως :end:',
'total_available_budget' => 'Συνολικός διαθέσιμος προϋπολογισμός (μεταξύ :start και :end)', 'total_available_budget' => 'Συνολικός διαθέσιμος προϋπολογισμός (μεταξύ :start και :end)',
@@ -1022,7 +1022,7 @@ return [
'all_accounts_inactive' => 'Αυτοί είναι οι ανενεργοί λογαριασμοί σας.', 'all_accounts_inactive' => 'Αυτοί είναι οι ανενεργοί λογαριασμοί σας.',
'active_account_link' => 'Αυτός ο σύνδεσμος πηγαίνει πίσω στους ενεργούς λογαριασμούς σας.', 'active_account_link' => 'Αυτός ο σύνδεσμος πηγαίνει πίσω στους ενεργούς λογαριασμούς σας.',
'account_missing_transaction' => 'Ο λογαριασμός #:id (":name") δεν μπορεί να προβληθεί άμεσα, αλλά και το Firefly δεν έχει πληροφορίες ανακατεύθυνσης.', 'account_missing_transaction' => 'Ο λογαριασμός #:id (":name") δεν μπορεί να προβληθεί άμεσα, αλλά και το Firefly δεν έχει πληροφορίες ανακατεύθυνσης.',
'cc_monthly_payment_date_help' => 'Select any year and any month, it will be ignored anyway. Only the day of the month is relevant.', 'cc_monthly_payment_date_help' => 'Επιλέξτε οποιοδήποτε έτος και μήνα, θα αγνοηθούν ούτως ή άλλως. Μόνο η επιλογή ημέρας του μήνα είναι σχετική.',
'details_for_asset' => 'Λεπτομέρειες για τον λογαριασμό κεφαλαίου ":name"', 'details_for_asset' => 'Λεπτομέρειες για τον λογαριασμό κεφαλαίου ":name"',
'details_for_expense' => 'Λεπτομέρειες για το λογαριασμό δαπανών ":name"', 'details_for_expense' => 'Λεπτομέρειες για το λογαριασμό δαπανών ":name"',
'details_for_revenue' => 'Λεπτομέρειες για τον λογαριασμό εσόδων ":name"', 'details_for_revenue' => 'Λεπτομέρειες για τον λογαριασμό εσόδων ":name"',
@@ -1454,8 +1454,8 @@ return [
'journal-amount' => 'Καταχώρηση τρέχοντος πάγιου έξοδου', 'journal-amount' => 'Καταχώρηση τρέχοντος πάγιου έξοδου',
'name' => 'Όνομα', 'name' => 'Όνομα',
'date' => 'Ημερομηνία', 'date' => 'Ημερομηνία',
'date_and_time' => 'Date and time', 'date_and_time' => 'Ημερομηνία και ώρα',
'time' => 'Time', 'time' => 'Ώρα',
'paid' => 'Πληρωμένο', 'paid' => 'Πληρωμένο',
'unpaid' => 'Απλήρωτο', 'unpaid' => 'Απλήρωτο',
'day' => 'Ημέρα', 'day' => 'Ημέρα',
@@ -1519,8 +1519,8 @@ return [
'transaction_journal_information' => 'Πληροφορίες συναλλαγής', 'transaction_journal_information' => 'Πληροφορίες συναλλαγής',
'transaction_journal_meta' => 'Πληροφορίες μεταδεδομένων', 'transaction_journal_meta' => 'Πληροφορίες μεταδεδομένων',
'transaction_journal_more' => 'Περισσότερες πληροφορίες', 'transaction_journal_more' => 'Περισσότερες πληροφορίες',
'basic_journal_information' => 'Basic transaction information', 'basic_journal_information' => 'Βασικές πληροφορίες συναλλαγής',
'transaction_journal_extra' => 'Extra information', 'transaction_journal_extra' => 'Περισσότερες πληροφορίες',
'att_part_of_journal' => 'Αποθηκεύτηκε στο ":journal"', 'att_part_of_journal' => 'Αποθηκεύτηκε στο ":journal"',
'total_amount' => 'Συνολικό ποσό', 'total_amount' => 'Συνολικό ποσό',
'number_of_decimals' => 'Πλήθος δεκαδικών ψηφίων', 'number_of_decimals' => 'Πλήθος δεκαδικών ψηφίων',
@@ -1648,7 +1648,7 @@ return [
'after_update_create_another' => 'Μετά την ενημέρωση, επιστρέψτε εδώ για να συνεχίσετε την επεξεργασία.', 'after_update_create_another' => 'Μετά την ενημέρωση, επιστρέψτε εδώ για να συνεχίσετε την επεξεργασία.',
'store_as_new' => 'Αποθήκευση ως νέα συναλλαγή αντί για ενημέρωση.', 'store_as_new' => 'Αποθήκευση ως νέα συναλλαγή αντί για ενημέρωση.',
'reset_after' => 'Επαναφορά φόρμας μετά την υποβολή', 'reset_after' => 'Επαναφορά φόρμας μετά την υποβολή',
'errors_submission' => 'There was something wrong with your submission. Please check out the errors.', 'errors_submission' => 'Υπήρξε κάποιο λάθος με την υποβολή σας. Παρακαλώ ελέγξτε τα σφάλματα.',
// object groups // object groups
'default_group_title_name' => '(χωρίς ομάδα)', 'default_group_title_name' => '(χωρίς ομάδα)',

View File

@@ -130,9 +130,9 @@ return [
'current_target_amount' => 'Το τρέχων ποσό πρέπει να είναι μικρότερο από το ποσό προορισμού.', 'current_target_amount' => 'Το τρέχων ποσό πρέπει να είναι μικρότερο από το ποσό προορισμού.',
'unique_piggy_bank_for_user' => 'Το όνομα του κουμπαρά πρέπει να είναι μοναδικό.', 'unique_piggy_bank_for_user' => 'Το όνομα του κουμπαρά πρέπει να είναι μοναδικό.',
'unique_object_group' => 'Το όνομα της ομάδας πρέπει να είναι μοναδικό', 'unique_object_group' => 'Το όνομα της ομάδας πρέπει να είναι μοναδικό',
'starts_with' => 'The value must start with :values.', 'starts_with' => 'Η τιμή πρέπει να ξεκινά με :values.',
'unique_webhook' => 'You already have a webhook with these values.', 'unique_webhook' => 'Έχετε ήδη ένα webhook με αυτές τις τιμές.',
'unique_existing_webhook' => 'You already have another webhook with these values.', 'unique_existing_webhook' => 'Έχετε ήδη ένα άλλο webhook με αυτές τις τιμές.',
'secure_password' => 'Αυτό δεν είναι ασφαλές συνθηματικό. Παρακαλώ δοκιμάστε ξανά. Για περισσότερες πληροφορίες επισκεφτείτε https://bit.ly/FF3-password-security', 'secure_password' => 'Αυτό δεν είναι ασφαλές συνθηματικό. Παρακαλώ δοκιμάστε ξανά. Για περισσότερες πληροφορίες επισκεφτείτε https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Μη έγκυρος τύπος επανάληψης για επαναλαμβανόμενες συναλλαγές.', 'valid_recurrence_rep_type' => 'Μη έγκυρος τύπος επανάληψης για επαναλαμβανόμενες συναλλαγές.',
@@ -142,7 +142,7 @@ return [
'email' => 'διεύθυνση email', 'email' => 'διεύθυνση email',
'description' => 'περιγραφή', 'description' => 'περιγραφή',
'amount' => 'ποσό', 'amount' => 'ποσό',
'transactions.*.amount' => 'transaction amount', 'transactions.*.amount' => 'ποσό συναλλαγής',
'name' => 'όνομα', 'name' => 'όνομα',
'piggy_bank_id' => 'αναγνωριστικό κουμπαρά', 'piggy_bank_id' => 'αναγνωριστικό κουμπαρά',
'targetamount' => 'ποσό προορισμού', 'targetamount' => 'ποσό προορισμού',

View File

@@ -33,13 +33,13 @@ return [
'clone' => 'Duplicar', 'clone' => 'Duplicar',
'last_seven_days' => 'Últimos siete días', 'last_seven_days' => 'Últimos siete días',
'last_thirty_days' => 'Últimos treinta días', 'last_thirty_days' => 'Últimos treinta días',
'last_180_days' => 'Last 180 days', 'last_180_days' => 'Últimos 180 días',
'YTD' => 'YTD', 'YTD' => 'Año en curso',
'welcome_back' => '¿Qué está pasando?', 'welcome_back' => '¿Qué está pasando?',
'everything' => 'Todo', 'everything' => 'Todo',
'today' => 'hoy', 'today' => 'hoy',
'customRange' => 'Rango personalizado', 'customRange' => 'Rango personalizado',
'date_range' => 'Date range', 'date_range' => 'Rango de fechas',
'apply' => 'Aplicar', 'apply' => 'Aplicar',
'select_date' => 'Seleccionar fecha...', 'select_date' => 'Seleccionar fecha...',
'cancel' => 'Cancelar', 'cancel' => 'Cancelar',
@@ -56,7 +56,7 @@ return [
'Opening balance' => 'Balance inicial', 'Opening balance' => 'Balance inicial',
'create_new_stuff' => 'Crear nueva etiqueta', 'create_new_stuff' => 'Crear nueva etiqueta',
'new_withdrawal' => 'Nuevo retiro', 'new_withdrawal' => 'Nuevo retiro',
'create_new_transaction' => 'Create a new transaction', 'create_new_transaction' => 'Crear una nueva transacción',
'sidebar_frontpage_create' => 'Crear', 'sidebar_frontpage_create' => 'Crear',
'new_transaction' => 'Nueva transacción', 'new_transaction' => 'Nueva transacción',
'no_rules_for_bill' => 'Esta factura no tiene reglas asociadas a ella.', 'no_rules_for_bill' => 'Esta factura no tiene reglas asociadas a ella.',
@@ -1454,8 +1454,8 @@ return [
'journal-amount' => 'Entrada actual de factura', 'journal-amount' => 'Entrada actual de factura',
'name' => 'Nombre', 'name' => 'Nombre',
'date' => 'Fecha', 'date' => 'Fecha',
'date_and_time' => 'Date and time', 'date_and_time' => 'Fecha y hora',
'time' => 'Time', 'time' => 'Hora',
'paid' => 'Pagado', 'paid' => 'Pagado',
'unpaid' => 'No pagado', 'unpaid' => 'No pagado',
'day' => 'Día', 'day' => 'Día',
@@ -1519,8 +1519,8 @@ return [
'transaction_journal_information' => 'Información de transacción', 'transaction_journal_information' => 'Información de transacción',
'transaction_journal_meta' => 'Información Meta', 'transaction_journal_meta' => 'Información Meta',
'transaction_journal_more' => 'Más información', 'transaction_journal_more' => 'Más información',
'basic_journal_information' => 'Basic transaction information', 'basic_journal_information' => 'Información básica de transacción',
'transaction_journal_extra' => 'Extra information', 'transaction_journal_extra' => 'Información adicional',
'att_part_of_journal' => 'Guardado en ":journal"', 'att_part_of_journal' => 'Guardado en ":journal"',
'total_amount' => 'Cantidad total', 'total_amount' => 'Cantidad total',
'number_of_decimals' => 'Número de decimales', 'number_of_decimals' => 'Número de decimales',

View File

@@ -1454,8 +1454,8 @@ return [
'journal-amount' => 'Faktyczna kwota', 'journal-amount' => 'Faktyczna kwota',
'name' => 'Nazwa', 'name' => 'Nazwa',
'date' => 'Data', 'date' => 'Data',
'date_and_time' => 'Date and time', 'date_and_time' => 'Data i czas',
'time' => 'Time', 'time' => 'Czas',
'paid' => 'Zapłacone', 'paid' => 'Zapłacone',
'unpaid' => 'Niezapłacone', 'unpaid' => 'Niezapłacone',
'day' => 'Dzień', 'day' => 'Dzień',

View File

@@ -60,7 +60,7 @@ return [
'delete_journal_link' => 'Удалить связь между транзакциями', 'delete_journal_link' => 'Удалить связь между транзакциями',
'telemetry_index' => 'Телеметрия', 'telemetry_index' => 'Телеметрия',
'telemetry_view' => 'Просмотр телеметрии', 'telemetry_view' => 'Просмотр телеметрии',
'edit_object_group' => 'Изменить группу ":title"', 'edit_object_group' => 'Редактировать группу ":title"',
'delete_object_group' => 'Удалить группу ":title"', 'delete_object_group' => 'Удалить группу ":title"',
'logout_others' => 'Завершить другие сессии' 'logout_others' => 'Завершить другие сессии'
]; ];

View File

@@ -31,12 +31,12 @@ return [
// admin test // admin test
'admin_test_subject' => 'Тестовое сообщение от вашей установки Firefly III', 'admin_test_subject' => 'Тестовое сообщение от вашей установки Firefly III',
'admin_test_body' => 'Это тестовое сообщение из вашего экземпляра Firefly III. Оно было отправлено на :email.', 'admin_test_body' => 'Это тестовое сообщение с вашего сервера Firefly III. Оно было отправлено на :email.',
// new IP // new IP
'login_from_new_ip' => 'Новый вход в Firefly III', 'login_from_new_ip' => 'Новый вход в Firefly III',
'new_ip_body' => 'Firefly III зафиксировал вход в ваш аккаунт с неизвестного IP-адреса. Если вы никогда не входили в систему с IP-адреса, указанного ниже, или это было более шести месяцев назад, Firefly III предупредит вас.', 'new_ip_body' => 'Firefly III зафиксировал вход в ваш аккаунт с неизвестного IP-адреса. Если вы никогда не входили в систему с IP-адреса, указанного ниже, или это было более шести месяцев назад, Firefly III предупредит вас.',
'new_ip_warning' => 'Если вы узнаёте этот IP адрес или логин, вы можете проигнорировать данное сообщение. Если вы не входили в систему, и не понимаете, что происходит, проверьте безопасность вашего пароля, измените его и выйдите из всех других сессий. Для этого перейдите на страницу своего профиля. Конечно, у вас уже включен 2FA, верно? Оставайтесь в безопасности!', 'new_ip_warning' => 'Если вы узнаёте этот IP адрес или логин, вы можете проигнорировать данное сообщение. Если вы не входили в систему, и не понимаете, что происходит, проверьте безопасность вашего пароля, измените его и выйдите из всех других сессий. Для этого перейдите на страницу своего профиля. Конечно, же у вас уже включена двухфакторная аутентификация, верно? Оставайтесь в безопасности!',
'ip_address' => 'IP-адрес', 'ip_address' => 'IP-адрес',
'host_name' => 'Сервер', 'host_name' => 'Сервер',
'date_time' => 'Дата и время', 'date_time' => 'Дата и время',
@@ -44,7 +44,7 @@ return [
// access token created // access token created
'access_token_created_subject' => 'Создан новый токен доступа', 'access_token_created_subject' => 'Создан новый токен доступа',
'access_token_created_body' => 'Кто-то (надеемся, что вы) только что создал новый токен доступа к Firefly III API для вашей учетной записи.', 'access_token_created_body' => 'Кто-то (надеемся, что вы) только что создал новый токен доступа к Firefly III API для вашей учетной записи.',
'access_token_created_explanation' => 'С этим токеном они могут получить доступ к <strong>всем</strong> вашим финансовым картам через Firefly III API.', 'access_token_created_explanation' => 'С этим токеном они могут получить доступ ко <strong>всем</strong> вашим финансовым записям через Firefly III API.',
'access_token_created_revoke' => 'Если это были не вы, пожалуйста, отмените этот токен как можно скорее по адресу :url.', 'access_token_created_revoke' => 'Если это были не вы, пожалуйста, отмените этот токен как можно скорее по адресу :url.',
// registered // registered
@@ -52,7 +52,7 @@ return [
'registered_welcome' => 'Добро пожаловать в <a style="color:#337ab7" href=":address">Firefly III</a>. Вы успешно зарегистрированы, и это письмо отправлено для подтверждения регистрации. Ура!', 'registered_welcome' => 'Добро пожаловать в <a style="color:#337ab7" href=":address">Firefly III</a>. Вы успешно зарегистрированы, и это письмо отправлено для подтверждения регистрации. Ура!',
'registered_pw' => 'Если вы уже забыли свой пароль, пожалуйста, сбросьте его <a style="color:#337ab7" href=":address/password/reset">с помощью инструмента сброса пароля</a>.', 'registered_pw' => 'Если вы уже забыли свой пароль, пожалуйста, сбросьте его <a style="color:#337ab7" href=":address/password/reset">с помощью инструмента сброса пароля</a>.',
'registered_help' => 'В верхнем правом углу страницы есть иконка справки. Если вам нужна помощь, нажмите её!', 'registered_help' => 'В верхнем правом углу страницы есть иконка справки. Если вам нужна помощь, нажмите её!',
'registered_doc_html' => 'If you haven\'t already, please read the <a style="color:#337ab7" href="https://docs.firefly-iii.org/about-firefly-iii/personal-finances">grand theory</a>.', 'registered_doc_html' => 'Если вы ещё не читали документацию, пройдите по ссылке: <a style="color:#337ab7" href="https://docs.firefly-iii.org/about-firefly-iii/grand-theory"></a>.',
'registered_doc_text' => 'Если вы еще этого не сделали, прочтите краткое руководство по использованию и полное описание.', 'registered_doc_text' => 'Если вы еще этого не сделали, прочтите краткое руководство по использованию и полное описание.',
'registered_closing' => 'Наслаждайтесь!', 'registered_closing' => 'Наслаждайтесь!',
'registered_firefly_iii_link' => 'Firefly III:', 'registered_firefly_iii_link' => 'Firefly III:',
@@ -61,26 +61,26 @@ return [
// email change // email change
'email_change_subject' => 'Ваш адрес электронной почты Firefly III был изменен', 'email_change_subject' => 'Ваш адрес электронной почты Firefly III был изменен',
'email_change_body_to_new' => 'Вы или кто-то, у кого есть доступ к вашей учетной записи Firefly III, изменил ваш адрес электронной почты. Если вы не ожидали этого сообщения, проигнорируйте и удалите его.', 'email_change_body_to_new' => 'Вы или кто-то, у кого есть доступ к вашей учетной записи Firefly III, изменил адрес вашей электронной почты. Если вы не ожидали этого сообщения, проигнорируйте и удалите его.',
'email_change_body_to_old' => 'Вы или кто-то, у кого есть доступ к вашей учетной записи Firefly III, изменили ваш адрес электронной почты. Если вы не ожидали, что это произошло, вы <strong>должны</strong> перейти по ссылке "Отменить" ниже, чтобы защитить свой аккаунт!', 'email_change_body_to_old' => 'Вы или кто-то, у кого есть доступ к вашей учетной записи Firefly III, изменили ваш адрес электронной почты. Если вы не ожидали, что это произошло, вы <strong>должны</strong> перейти по ссылке "Отменить" ниже, чтобы защитить свой аккаунт!',
'email_change_ignore' => 'Если вы инициировали это изменение, вы можете спокойно проигнорировать это сообщение.', 'email_change_ignore' => 'Если вы инициировали это изменение, вы можете спокойно проигнорировать это сообщение.',
'email_change_old' => 'Старый адрес электронной почты: :email', 'email_change_old' => 'Старый адрес электронной почты: :email',
'email_change_old_strong' => 'Старый адрес электронной почты: <strong>:email</strong>', 'email_change_old_strong' => 'Старый адрес электронной почты: <strong>:email</strong>',
'email_change_new' => 'Новый адрес электронной почты: :email', 'email_change_new' => 'Новый адрес электронной почты: :email',
'email_change_new_strong' => 'Новый адрес электронной почты: <strong>:email</strong>', 'email_change_new_strong' => 'Новый адрес электронной почты: <strong>:email</strong>',
'email_change_instructions' => 'Вы не можете использовать Firefly III, пока не подтвердите это изменение. Перейдите по ссылке ниже, чтобы сделать это.', 'email_change_instructions' => 'Вы не можете использовать Firefly III, пока не подтвердите это изменение. Для подтверждения перейдите по ссылке ниже.',
'email_change_undo_link' => 'Чтобы отменить изменения, перейдите по ссылке:', 'email_change_undo_link' => 'Чтобы отменить изменения, перейдите по ссылке:',
// OAuth token created // OAuth token created
'oauth_created_subject' => 'Создан новый OAuth клиент', 'oauth_created_subject' => 'Создан новый OAuth клиент',
'oauth_created_body' => 'Кто-то (надеемся, что вы) только что создал новый клиент API OAuth для вашей учетной записи. Он назван ":name" и имеет обратный URL <span style="font-family: monospace;">:url</span>.', 'oauth_created_body' => 'Кто-то (надеемся, что вы) только что создал новый клиент API OAuth для вашей учетной записи. Он назван ":name" и имеет обратный URL <span style="font-family: monospace;">:url</span>.',
'oauth_created_explanation' => 'С этим клиентом они могут получить доступ к <strong>всем</strong> вашим финансовым картам через Firefly III API.', 'oauth_created_explanation' => 'С этим клиентом они могут получить доступ ко <strong>всем</strong> вашим финансовым записям через Firefly III API.',
'oauth_created_undo' => 'Если это были не вы, пожалуйста, отмените этот клиент как можно скорее по адресу :url.', 'oauth_created_undo' => 'Если это были не вы, пожалуйста, отмените этот клиент как можно скорее по адресу :url.',
// reset password // reset password
'reset_pw_subject' => 'Ваш запрос на сброс пароля', 'reset_pw_subject' => 'Ваш запрос на сброс пароля',
'reset_pw_instructions' => 'Кто-то пытался сбросить ваш пароль. Если это вы, пожалуйста, перейдите по ссылке ниже, чтобы сделать это.', 'reset_pw_instructions' => 'Кто-то пытался сбросить ваш пароль. Если это были Вы, пожалуйста, перейдите по ссылке ниже, чтобы сделать это.',
'reset_pw_warning' => '<strong>ПОЖАЛУЙСТА</strong> убедитесь, что ссылка действительно ведён Firefly III, как вы и ожидаете!', 'reset_pw_warning' => '<strong>ПОЖАЛУЙСТА</strong> убедитесь, что ссылка действительно открывает страницу Firefly III, как вы и ожидаете!',
// error // error
'error_subject' => 'Найдена ошибка в Firefly III', 'error_subject' => 'Найдена ошибка в Firefly III',
@@ -89,14 +89,14 @@ return [
'error_timestamp' => 'Ошибка произошла в: :time.', 'error_timestamp' => 'Ошибка произошла в: :time.',
'error_location' => 'Эта ошибка произошла в файле <span style="font-family: monospace;">:file</span> в строке :line с кодом :code.', 'error_location' => 'Эта ошибка произошла в файле <span style="font-family: monospace;">:file</span> в строке :line с кодом :code.',
'error_user' => 'У пользователя #:id произошла ошибка, <a href="mailto::email">:email</a>.', 'error_user' => 'У пользователя #:id произошла ошибка, <a href="mailto::email">:email</a>.',
'error_no_user' => 'Пользователь не авторизован из-за этой ошибки или пользователь не был обнаружен.', 'error_no_user' => 'Б процессе этой ошибки пользователь не был авторизован или пользователь не был обнаружен.',
'error_ip' => 'IP адрес, связанный с этой ошибкой: :ip', 'error_ip' => 'IP адрес, связанный с этой ошибкой: :ip',
'error_url' => 'URL-адрес: :url', 'error_url' => 'URL-адрес: :url',
'error_user_agent' => 'User agent: :userAgent', 'error_user_agent' => 'User agent: :userAgent',
'error_stacktrace' => 'Полный stacktrace находится ниже. Если вы считаете, что это ошибка в Firefly III, вы можете направить это сообщение на <a href="mailto:james@firefly-iii.org?subject=BUG!">james@firefly-iii. rg</a>. Это может помочь исправить ошибку, с которой вы столкнулись.', 'error_stacktrace' => 'Полный stacktrace находится ниже. Если вы считаете, что это ошибка в Firefly III, вы можете направить это сообщение по адресу: <a href="mailto:james@firefly-iii.org?subject=BUG!">james@firefly-iii. rg</a>. Это может помочь исправить ошибку, с которой вы столкнулись.',
'error_github_html' => 'Если вы предпочитаете, вы также можете новый запрос на <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.', 'error_github_html' => 'Если вы предпочитаете, вы также можете создать новый тикет на <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'Если вы предпочитаете, вы также можете открыть новый вопрос на https://github.com/firefly-iii/firefly-iii/issues.', 'error_github_text' => 'Если вы предпочитаете, вы также можете открыть новый тикет на https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'Полная трассировки стека:', 'error_stacktrace_below' => 'Полная трассировка стека:',
// report new journals // report new journals
'new_journals_subject' => 'Firefly III создал новую транзакцию|Firefly III создал :count новых транзакций', 'new_journals_subject' => 'Firefly III создал новую транзакцию|Firefly III создал :count новых транзакций',