Rebuild frontend.

This commit is contained in:
James Cole 2021-01-03 07:11:44 +01:00
parent ff2640276c
commit d24a046570
No known key found for this signature in database
GPG Key ID: B5669F9493CDE38D
42 changed files with 939 additions and 185 deletions

View File

@ -28,8 +28,16 @@ const state = () => ({
transactions: [],
allowedOpposingTypes: {},
accountToTransaction: {},
sourceAllowedTypes: ['Asset account','Loan','Debt','Mortgage','Revenue account'],
destinationAllowedTypes: ['Asset account','Loan','Debt','Mortgage','Expense account'],
sourceAllowedTypes: ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Revenue 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: {
// basic
description: '',
@ -57,10 +65,22 @@ const state = () => ({
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
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 => {
return state.allowedOpposingTypes;
},
customDateFields: state => {
return state.customDateFields;
}
// // `getters` is localized to this module's getters
// // you can use rootGetters via 4th argument of getters
// someGetter (state, getters, rootState, rootGetters) {
@ -123,13 +146,13 @@ const actions = {
}
}
// 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');
// source.id =null
// context.commit('updateField', {field: 'source_account',index: })
// 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');
//context.state.transactions[0].destination_account.id = null;
}
@ -144,6 +167,9 @@ const mutations = {
let newTransaction = lodashClonedeep(state.defaultTransaction);
state.transactions.push(newTransaction);
},
setCustomDateFields(state, payload) {
state.customDateFields = payload;
},
deleteTransaction(state, index) {
state.transactions.splice(index, 1);
},

View File

@ -56,7 +56,6 @@
</div>
<!-- source and destination -->
<div class="row">
<div class="col-xl-5 col-lg-5 col-md-10 col-sm-12 col-xs-12">
@ -70,7 +69,7 @@
<!-- switcharoo! -->
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-12 text-center d-none d-sm-block">
<SwitchAccount
:index="index"
:index="index"
/>
</div>
@ -89,22 +88,16 @@
<div class="row">
<div class="col-xl-5 col-lg-5 col-md-10 col-sm-12 col-xs-12">
<!-- AMOUNT -->
<TransactionAmount />
<TransactionAmount :index="index"/>
<!--
-->
</div>
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-12 text-center d-none d-sm-block">
<!-- SELECT FOR FOREIGN -->
<!--
(select)
-->
<TransactionForeignCurrency :index="index"/>
</div>
<div class="col-xl-5 col-lg-5 col-md-12 col-sm-12 col-xs-12">
<!-- FOREIGN AMOUNT -->
<!--
Foreign
-->
<TransactionForeignAmount :index="index"/>
</div>
</div>
@ -119,23 +112,7 @@
</div>
<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 -->
<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>
<TransactionCustomDates :index="index" :enabled-dates="customDateFields"/>
</div>
</div>
@ -206,7 +183,6 @@
<input
title="Category"
autocomplete="off"
autofocus
class="form-control"
name="something[]"
type="text"
@ -219,7 +195,6 @@
<input
title="Bill"
autocomplete="off"
autofocus
class="form-control"
name="something[]"
type="text"
@ -230,7 +205,6 @@
<input
title="Tags"
autocomplete="off"
autofocus
class="form-control"
name="something[]"
type="text"
@ -241,7 +215,6 @@
<input
title="Piggy"
autocomplete="off"
autofocus
class="form-control"
name="something[]"
type="text"
@ -259,7 +232,6 @@
<input
title="internal ref"
autocomplete="off"
autofocus
class="form-control"
name="something[]"
type="text"
@ -270,7 +242,6 @@
<input
title="Piggy"
autocomplete="off"
autofocus
class="form-control"
name="something[]"
type="text"
@ -286,7 +257,6 @@
<input
title="Piggy"
autocomplete="off"
autofocus
class="form-control"
name="something[]"
type="text"
@ -297,7 +267,6 @@
<input
title="Piggy"
autocomplete="off"
autofocus
class="form-control"
name="something[]"
type="text"
@ -346,16 +315,24 @@ import {createNamespacedHelpers} from 'vuex'
import TransactionAccount from "./TransactionAccount";
import SwitchAccount from "./SwitchAccount";
import TransactionAmount from "./TransactionAmount";
import TransactionForeignAmount from "./TransactionForeignAmount";
import TransactionForeignCurrency from "./TransactionForeignCurrency";
import TransactionCustomDates from "./TransactionCustomDates";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('transactions/create')
export default {
name: "Create",
components: {TransactionAmount, SwitchAccount, TransactionAccount, TransactionBudget, TransactionDescription, TransactionDate},
components: {
TransactionCustomDates,
TransactionForeignCurrency,
TransactionForeignAmount, TransactionAmount, SwitchAccount, TransactionAccount, TransactionBudget, TransactionDescription, TransactionDate
},
created() {
this.storeAllowedOpposingTypes();
this.storeAccountToTransaction();
this.storeCustomDateFields();
this.addTransaction();
},
data() {
@ -368,6 +345,7 @@ export default {
...mapGetters([
'transactionType', // -> this.someGetter
'transactions', // -> this.someOtherGetter
'customDateFields'
])
},
methods: {
@ -379,13 +357,36 @@ export default {
'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 () {
this.setAllowedOpposingTypes(window.allowedOpposingTypes);
},
storeAccountToTransaction: function() {
storeAccountToTransaction: function () {
this.setAccountToTransaction(window.accountToTransaction);
},
/**
@ -428,7 +429,7 @@ export default {
let currentSplit = {
// basic
description: array.description,
date: array.date + ' ' + array.time,
date: (array.date + ' ' + array.time).trim(),
// account
source_id: array.source_account.id ?? null,
@ -436,6 +437,13 @@ export default {
destination_id: array.destination_account.id ?? 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
budget_id: array.budget_id,

View File

@ -23,16 +23,17 @@
<div class="text-xs">{{ $t('firefly.amount') }}</div>
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text">{{ this.currencySymbol }}</div>
<div class="input-group-text">{{ currencySymbol }}</div>
</div>
<input type="hidden" name="currency_id[]" :value="currencyId"/>
<input
title="Amount"
:title="$t('firefly.amount')"
autocomplete="off"
autofocus
class="form-control"
name="amount[]"
type="number"
placeholder="Amount"
v-model="amount"
:placeholder="$t('firefly.amount')"
>
</div>
</div>
@ -48,26 +49,65 @@ const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers
export default {
name: "TransactionAmount",
props: ['index'],
data() {
return {
currencySymbol: '',
currencySymbol: ''
}
},
watch: {
selectedTransactionType: function (value) {
console.log('TransactionAmount just noticed transaction type is now ' + value);
}
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() {
console.log('TransactionAmount is created.');
created: function () {
this.updateCurrency();
},
methods: {
updateCurrency: function() {
if('any' === this.transactionType) {
...mapMutations(
[
'updateField',
],
),
updateCurrency: function () {
if (0 === this.currencyId) {
// use default currency from store.
this.currencySymbol = this.currencyPreference.symbol;
this.currencyId = this.currencyPreference.id;
}
}
},
@ -80,7 +120,25 @@ export default {
...mapGetters([
'transactionType',
'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: {
get() {
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"
:placeholder="$t('firefly.description')"
:showOnFocus=true
autofocus
:minMatchingChars="3"
:serializer="item => item.description"
@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",
"Deposit": "\u0414\u0435\u043f\u043e\u0437\u0438\u0442",
"date_and_time": "Date and time",
"no_currency": "(\u0431\u0435\u0437 \u0432\u0430\u043b\u0443\u0442\u0430)",
"date": "\u0414\u0430\u0442\u0430",
"time": "Time",
"no_budget": "(\u0431\u0435\u0437 \u0431\u044e\u0434\u0436\u0435\u0442)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Vklad",
"date_and_time": "Date and time",
"no_currency": "(\u017e\u00e1dn\u00e1 m\u011bna)",
"date": "Datum",
"time": "Time",
"no_budget": "(\u017e\u00e1dn\u00fd rozpo\u010det)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Einnahme",
"date_and_time": "Datum und Uhrzeit",
"no_currency": "(ohne W\u00e4hrung)",
"date": "Datum",
"time": "Uhrzeit",
"no_budget": "(kein Budget)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Withdrawal": "\u0391\u03bd\u03ac\u03bb\u03b7\u03c8\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",
"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)",
"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",
"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",
"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",
"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",
"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",
@ -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_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",
"daily_budgets": "Daily budgets",
"weekly_budgets": "Weekly budgets",
"monthly_budgets": "Monthly budgets",
"quarterly_budgets": "Quarterly budgets",
"half_year_budgets": "Half-yearly budgets",
"yearly_budgets": "Yearly 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": "\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": "\u039c\u03b7\u03bd\u03b9\u03b1\u03af\u03bf\u03b9 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03bf\u03af",
"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": "\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": "\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",
"go_to_withdrawals": "Go to your withdrawals",
"revenue_accounts": "\u0388\u03c3\u03bf\u03b4\u03b1",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Deposit",
"date_and_time": "Date and time",
"no_currency": "(no currency)",
"date": "Date",
"time": "Time",
"no_budget": "(no budget)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Deposit",
"date_and_time": "Date and time",
"no_currency": "(no currency)",
"date": "Date",
"time": "Time",
"no_budget": "(no budget)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Withdrawal": "Retiro",
"Deposit": "Dep\u00f3sito",
"date_and_time": "Date and time",
"date_and_time": "Fecha y hora",
"no_currency": "(sin moneda)",
"date": "Fecha",
"time": "Time",
"time": "Hora",
"no_budget": "(sin presupuesto)",
"destination_account": "Cuenta destino",
"source_account": "Cuenta origen",
"single_split": "Divisi\u00f3n",
"create_new_transaction": "Create a new transaction",
"create_new_transaction": "Crear una nueva transacci\u00f3n",
"balance": "Balance",
"transaction_journal_extra": "Extra information",
"transaction_journal_extra": "Informaci\u00f3n adicional",
"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",
"left_to_spend": "Disponible para gastar",
"net_worth": "Valor Neto",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Talletus",
"date_and_time": "Date and time",
"no_currency": "(ei valuuttaa)",
"date": "P\u00e4iv\u00e4m\u00e4\u00e4r\u00e4",
"time": "Time",
"no_budget": "(ei budjettia)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "D\u00e9p\u00f4t",
"date_and_time": "Date et heure",
"no_currency": "(pas de devise)",
"date": "Date",
"time": "Heure",
"no_budget": "(pas de budget)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Bev\u00e9tel",
"date_and_time": "Date and time",
"no_currency": "(nincs p\u00e9nznem)",
"date": "D\u00e1tum",
"time": "Time",
"no_budget": "(nincs k\u00f6lts\u00e9gkeret)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Entrata",
"date_and_time": "Data e ora",
"no_currency": "(nessuna valuta)",
"date": "Data",
"time": "Ora",
"no_budget": "(nessun budget)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Innskudd",
"date_and_time": "Date and time",
"no_currency": "(ingen valuta)",
"date": "Dato",
"time": "Time",
"no_budget": "(ingen budsjett)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Inkomsten",
"date_and_time": "Datum en tijd",
"no_currency": "(geen valuta)",
"date": "Datum",
"time": "Tijd",
"no_budget": "(geen budget)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Withdrawal": "Wyp\u0142ata",
"Deposit": "Wp\u0142ata",
"date_and_time": "Date and time",
"date_and_time": "Data i czas",
"no_currency": "(brak waluty)",
"date": "Data",
"time": "Time",
"time": "Czas",
"no_budget": "(brak bud\u017cetu)",
"destination_account": "Konto docelowe",
"source_account": "Konto \u017ar\u00f3d\u0142owe",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Dep\u00f3sito",
"date_and_time": "Data e hora",
"no_currency": "(sem moeda)",
"date": "Data",
"time": "Hor\u00e1rio",
"no_budget": "(sem or\u00e7amento)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Depozit",
"date_and_time": "Date and time",
"no_currency": "(nici o moned\u0103)",
"date": "Dat\u0103",
"time": "Time",
"no_budget": "(nici un buget)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "\u0414\u043e\u0445\u043e\u0434",
"date_and_time": "Date and time",
"no_currency": "(\u043d\u0435\u0442 \u0432\u0430\u043b\u044e\u0442\u044b)",
"date": "\u0414\u0430\u0442\u0430",
"time": "Time",
"no_budget": "(\u0432\u043d\u0435 \u0431\u044e\u0434\u0436\u0435\u0442\u0430)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Vklad",
"date_and_time": "Date and time",
"no_currency": "(\u017eiadna mena)",
"date": "D\u00e1tum",
"time": "Time",
"no_budget": "(\u017eiadny rozpo\u010det)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Ins\u00e4ttning",
"date_and_time": "Date and time",
"no_currency": "(ingen valuta)",
"date": "Datum",
"time": "Time",
"no_budget": "(ingen budget)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "Ti\u1ec1n g\u1eedi",
"date_and_time": "Date and time",
"no_currency": "(kh\u00f4ng c\u00f3 ti\u1ec1n t\u1ec7)",
"date": "Ng\u00e0y",
"time": "Time",
"no_budget": "(kh\u00f4ng c\u00f3 ng\u00e2n s\u00e1ch)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "\u5b58\u6b3e",
"date_and_time": "Date and time",
"no_currency": "(\u6ca1\u6709\u8d27\u5e01)",
"date": "\u65e5\u671f",
"time": "Time",
"no_budget": "(\u65e0\u9884\u7b97)",
@ -74,5 +75,14 @@
},
"config": {
"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",
"Deposit": "\u5b58\u6b3e",
"date_and_time": "Date and time",
"no_currency": "(\u6c92\u6709\u8ca8\u5e63)",
"date": "\u65e5\u671f",
"time": "Time",
"no_budget": "(\u7121\u9810\u7b97)",
@ -74,5 +75,14 @@
},
"config": {
"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==
"@types/node@*":
version "14.14.17"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.17.tgz#29fab92f3986c0e379968ad3c2043683d8020dbb"
integrity sha512-G0lD1/7qD60TJ/mZmhog76k7NcpLWkPVGgzkRy3CTlnFu4LUQh5v2Wa661z6vnXmD8EQrnALUyf0VRtrACYztw==
version "14.14.19"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.19.tgz#5135176a8330b88ece4e9ab1fdcfc0a545b4bab4"
integrity sha512-4nhBPStMK04rruRVtVc6cDqhu7S9GZai0fpXgPXrFpcPX6Xul8xnrjSdGB4KPBVYG/R5+fXWdCM8qBoiULWGPQ==
"@types/q@^1.5.1":
version "1.5.4"
@ -3583,9 +3583,9 @@ http-errors@~1.7.2:
toidentifier "1.0.0"
http-parser-js@>=0.5.1:
version "0.5.2"
resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77"
integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==
version "0.5.3"
resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9"
integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==
http-proxy-middleware@0.19.1:
version "0.19.1"
@ -4469,22 +4469,17 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
mime-db@1.44.0:
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":
mime-db@1.45.0, "mime-db@>= 1.43.0 < 2":
version "1.45.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
mime-types@~2.1.17, mime-types@~2.1.24:
version "2.1.27"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
version "2.1.28"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"
integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==
dependencies:
mime-db "1.44.0"
mime-db "1.45.0"
mime@1.6.0:
version "1.6.0"
@ -6867,9 +6862,9 @@ uuid@^8.3.0:
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
v-calendar@^2.1.5:
version "2.1.5"
resolved "https://registry.yarnpkg.com/v-calendar/-/v-calendar-2.1.5.tgz#f95f73a9c39f8d49a19c80da5503a77cc72e32e4"
integrity sha512-od4wejIDzLQRsb4OJfe/GuMGU1ZzTM9vpaT5suizA0wqL8KQKRMD9mAFsudQUmm5JIo+LH5xV+eNjDAVn+HYpQ==
version "2.1.6"
resolved "https://registry.yarnpkg.com/v-calendar/-/v-calendar-2.1.6.tgz#a1b97b929ee561d0ca6e9555f882f633c5d4aa43"
integrity sha512-JYOJQWvJOQLK0U8QOyYeFXarlxIRDQngiQUl9/6eXZZUVR3QLaEyEhtXNNSD/MCGl8D24bhjMPVjNKpScwnP7A==
dependencies:
core-js "^3.6.5"
date-fns "^2.8.1"
@ -6951,9 +6946,9 @@ vue-template-es2015-compiler@^1.9.0:
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
vue-typeahead-bootstrap@^2.5.5:
version "2.6.1"
resolved "https://registry.yarnpkg.com/vue-typeahead-bootstrap/-/vue-typeahead-bootstrap-2.6.1.tgz#5796d5f3affe37522f6767404696115f94f8baeb"
integrity sha512-JBOQJB55NQ2PkLWv040OqwxTGHYWJrmpPxyUeRRrfooPhcBBPH5C4GSYvCEMqT4DrN8KelKu307BshA1WXSBgA==
version "2.7.2"
resolved "https://registry.yarnpkg.com/vue-typeahead-bootstrap/-/vue-typeahead-bootstrap-2.7.2.tgz#de86820067279c8fab661692b099036bfb756228"
integrity sha512-iUrpK5s0e4/NC0891KFmNpgaVLYtk10K3wViljdhTw6vmIrMiMmhHQaB83K3frJSDGSgTvdh22RW+ojQpl2VKQ==
dependencies:
lodash "^4.17.20"
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 [
// common items
'greeting' => 'Hi there,',
'greeting' => 'Γεια σου,',
'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.',
// admin test
'admin_test_subject' => 'A test message from your Firefly III installation',
'admin_test_body' => 'This is a test message from your Firefly III instance. It was sent to :email.',
'admin_test_subject' => 'Ένα δοκιμαστικό μήνυμα από την εγκατάσταση του Firefly III',
'admin_test_body' => 'Αυτό είναι ένα δοκιμαστικό μήνυμα από την εγκατάσταση του Firefly III. Αποστάλθηκε στο :email.',
// new IP
'login_from_new_ip' => 'New login on 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.',
'login_from_new_ip' => 'Νέα σύνδεση χρήστη στο Firefly III',
'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!',
'ip_address' => 'IP address',
'host_name' => 'Host',
'date_time' => 'Date + time',
'ip_address' => 'Διεύθυνση IP',
'host_name' => 'Διακομιστής',
'date_time' => 'Ημερομηνία και ώρα',
// 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_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.',
// 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_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_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_closing' => 'Enjoy!',
'registered_closing' => 'Καλή Διασκέδαση!',
'registered_firefly_iii_link' => 'Firefly III:',
'registered_pw_reset_link' => 'Password reset:',
'registered_doc_link' => 'Documentation:',
'registered_pw_reset_link' => 'Επαναφορά κωδικού πρόσβασης:',
'registered_doc_link' => 'Τεκμηρίωση:',
// 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_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_old' => 'The old email address was: :email',
'email_change_old_strong' => 'The old email address was: <strong>:email</strong>',
'email_change_new' => 'The new email address is: :email',
'email_change_new_strong' => 'The new email address is: <strong>:email</strong>',
'email_change_old' => 'Η παλιά διεύθυνση ηλεκτρονικού ταχυδρομείου ήταν: :email',
'email_change_old_strong' => 'Η παλιά διεύθυνση ηλεκτρονικού ταχυδρομείου ήταν: <strong>:email</strong>',
'email_change_new' => 'Η νέα διεύθυνση ηλεκτρονικού ταχυδρομείου είναι: :email',
'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_undo_link' => 'To undo the change, follow this link:',
'email_change_undo_link' => 'Για να αναιρέσετε την αλλαγή, ακολουθήστε αυτόν τον σύνδεσμο:',
// 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_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.',
// reset password
'reset_pw_subject' => 'Your password reset request',
'reset_pw_instructions' => 'Somebody tried to reset your password. If it was you, please follow the link below to do so.',
'reset_pw_warning' => '<strong>PLEASE</strong> verify that the link actually goes to the Firefly III you expect it to go!',
'reset_pw_subject' => 'Αίτημα επαναφοράς κωδικού πρόσβασης',
'reset_pw_instructions' => 'Κάποιος θέλει να κάνει επαναφορά για τον κωδικό πρόσβασής σας. Αν ήσασταν εσείς, παρακαλούμε ακολουθήστε τον παρακάτω σύνδεσμο για να το κάνετε.',
'reset_pw_warning' => '<strong>ΠΑΡΑΚΑΛΩ</strong> βεβαιωθείτε ότι ο σύνδεσμος πηγαίνει πραγματικά στη διεύθυνση του Firefly III που χρησιμοποιείτε!',
// error
'error_subject' => 'Caught an error in Firefly III',
'error_intro' => 'Firefly III v:version ran into an error: <span style="font-family: monospace;">:errorMessage</span>.',
'error_type' => 'The error was of type ":class".',
'error_timestamp' => 'The error occurred on/at: :time.',
'error_location' => 'This error occurred in file "<span style="font-family: monospace;">:file</span>" on line :line with code :code.',
'error_user' => 'The error was encountered by 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_ip' => 'The IP address related to this error is: :ip',
'error_url' => 'URL is: :url',
'error_subject' => 'Βρέθηκε ένα σφάλμα στο Firefly III',
'error_intro' => 'Το Firefly III v:version συνάντησε ένα σφάλμα: <span style="font-family: monospace;">:errorMessage</span>.',
'error_type' => 'Το σφάλμα ήταν του τύπου ":class".',
'error_timestamp' => 'Το σφάλμα προέκυψε την/στις: :time.',
'error_location' => 'Αυτό το σφάλμα προέκυψε στο αρχείο "<span style="font-family: monospace;">:file</span>" στη γραμμή :line με τον κωδικό :code.',
'error_user' => 'Το σφάλμα προέκυψε στο χρήστη #:id, <a href="mailto::email">:email</a>.',
'error_no_user' => 'Δεν υπήρξε κανένας συνδεδεμένος χρήστης για αυτό το σφάλμα ή κανένας χρήστης δεν εντοπίστηκε.',
'error_ip' => 'Η διεύθυνση IP που σχετίζεται με αυτό το σφάλμα είναι: :ip',
'error_url' => 'Το URL είναι: :url',
'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_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' => 'Κλωνοποίηση',
'last_seven_days' => 'Τελευταίες επτά ημέρες',
'last_thirty_days' => 'Τελευταίες τριάντα ημέρες',
'last_180_days' => 'Last 180 days',
'last_180_days' => 'Τελευταίες 180 ημέρες',
'YTD' => 'YTD',
'welcome_back' => 'Τι παίζει;',
'everything' => 'Όλα',
'today' => 'σήμερα',
'customRange' => 'Προσαρμοσμένο εύρος',
'date_range' => 'Date range',
'date_range' => 'Ημερολογιακό Εύρος',
'apply' => 'Εφαρμογή',
'select_date' => 'Επιλογή ημερομηνίας..',
'cancel' => 'Άκυρο',
@ -56,7 +56,7 @@ return [
'Opening balance' => 'Υπόλοιπο έναρξης',
'create_new_stuff' => 'Νέα καταχώρηση',
'new_withdrawal' => 'Νέα ανάληψη',
'create_new_transaction' => 'Create a new transaction',
'create_new_transaction' => 'Δημιουργία μιας νέας συναλλαγής',
'sidebar_frontpage_create' => 'Δημιουργία',
'new_transaction' => 'Νέα συναλλαγή',
'no_rules_for_bill' => 'Αυτό το πάγιο έξοδο δεν έχει σχετιζόμενους κανόνες.',
@ -208,9 +208,9 @@ return [
'button_register' => 'Εγγραφή',
'authorization' => 'Εξουσιοδότηση',
'active_bills_only' => 'μόνο ενεργά πάγια έξοδα',
'active_bills_only_total' => 'all active bills',
'active_bills_only_total' => 'όλα τα ενεργά πάγια έξοδα',
'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_1W' => 'Αναμενόμενο εβδομαδιαίο κόστος',
'per_period_sum_1M' => 'Αναμενόμενο μηνιαίο κόστος',
@ -221,8 +221,8 @@ return [
'expected_total' => 'αναμενόμενο σύνολο',
'reconciliation_account_name' => ':name τακτοποίηση (:currency)',
'saved' => 'Αποθηκεύτηκε',
'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' => 'Επιλογές για προχωρημένους',
'advanced_options_explain' => 'Μερικές σελίδες στο Firefly III έχουν κρυμμένες επιλογές για προχωρημένους πίσω από αυτό το κουμπί. Αυτή η σελίδα δεν έχει τίποτα ουσιαστικό εδώ, αλλά ελέγξτε τις υπόλοιπες!',
'here_be_dragons' => 'Hic sunt dracones',
// API access
@ -240,7 +240,7 @@ return [
'all_destination_accounts' => 'Λογαριασμοί προορισμού',
'all_source_accounts' => 'Λογαριασμοί προέλευσης',
'back_to_index' => 'Επιστροφή στο ευρετήριο',
'cant_logout_guard' => 'Firefly III can\'t log you out.',
'cant_logout_guard' => 'Το Firefly III δε μπορεί να σας αποσυνδέσει.',
// check for updates:
'update_check_title' => 'Έλεγχος ενημερώσεων',
@ -921,12 +921,12 @@ return [
'options' => 'Επιλογές',
// budgets:
'daily_budgets' => 'Daily budgets',
'weekly_budgets' => 'Weekly budgets',
'monthly_budgets' => 'Monthly budgets',
'quarterly_budgets' => 'Quarterly budgets',
'half_year_budgets' => 'Half-yearly budgets',
'yearly_budgets' => 'Yearly budgets',
'daily_budgets' => 'Ημερήσιοι προϋπολογισμοί',
'weekly_budgets' => 'Εβδομαδιαίοι προϋπολογισμοί',
'monthly_budgets' => 'Μηνιαίοι προϋπολογισμοί',
'quarterly_budgets' => 'Τριμηνιαίοι προϋπολογισμοί',
'half_year_budgets' => 'Εξαμηνιαίοι προϋπολογισμοί',
'yearly_budgets' => 'Ετήσιοι προϋπολογισμοί',
'other_budgets' => 'Custom timed budgets',
'budget_limit_not_in_range' => 'Αυτό το ποσό ισχύει από :start έως :end:',
'total_available_budget' => 'Συνολικός διαθέσιμος προϋπολογισμός (μεταξύ :start και :end)',
@ -1022,7 +1022,7 @@ return [
'all_accounts_inactive' => 'Αυτοί είναι οι ανενεργοί λογαριασμοί σας.',
'active_account_link' => 'Αυτός ο σύνδεσμος πηγαίνει πίσω στους ενεργούς λογαριασμούς σας.',
'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_expense' => 'Λεπτομέρειες για το λογαριασμό δαπανών ":name"',
'details_for_revenue' => 'Λεπτομέρειες για τον λογαριασμό εσόδων ":name"',
@ -1454,8 +1454,8 @@ return [
'journal-amount' => 'Καταχώρηση τρέχοντος πάγιου έξοδου',
'name' => 'Όνομα',
'date' => 'Ημερομηνία',
'date_and_time' => 'Date and time',
'time' => 'Time',
'date_and_time' => 'Ημερομηνία και ώρα',
'time' => 'Ώρα',
'paid' => 'Πληρωμένο',
'unpaid' => 'Απλήρωτο',
'day' => 'Ημέρα',
@ -1519,8 +1519,8 @@ return [
'transaction_journal_information' => 'Πληροφορίες συναλλαγής',
'transaction_journal_meta' => 'Πληροφορίες μεταδεδομένων',
'transaction_journal_more' => 'Περισσότερες πληροφορίες',
'basic_journal_information' => 'Basic transaction information',
'transaction_journal_extra' => 'Extra information',
'basic_journal_information' => 'Βασικές πληροφορίες συναλλαγής',
'transaction_journal_extra' => 'Περισσότερες πληροφορίες',
'att_part_of_journal' => 'Αποθηκεύτηκε στο ":journal"',
'total_amount' => 'Συνολικό ποσό',
'number_of_decimals' => 'Πλήθος δεκαδικών ψηφίων',
@ -1648,7 +1648,7 @@ return [
'after_update_create_another' => 'Μετά την ενημέρωση, επιστρέψτε εδώ για να συνεχίσετε την επεξεργασία.',
'store_as_new' => 'Αποθήκευση ως νέα συναλλαγή αντί για ενημέρωση.',
'reset_after' => 'Επαναφορά φόρμας μετά την υποβολή',
'errors_submission' => 'There was something wrong with your submission. Please check out the errors.',
'errors_submission' => 'Υπήρξε κάποιο λάθος με την υποβολή σας. Παρακαλώ ελέγξτε τα σφάλματα.',
// object groups
'default_group_title_name' => '(χωρίς ομάδα)',

View File

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

View File

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

View File

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

View File

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

View File

@ -31,12 +31,12 @@ return [
// admin test
'admin_test_subject' => 'Тестовое сообщение от вашей установки Firefly III',
'admin_test_body' => 'Это тестовое сообщение из вашего экземпляра Firefly III. Оно было отправлено на :email.',
'admin_test_body' => 'Это тестовое сообщение с вашего сервера Firefly III. Оно было отправлено на :email.',
// new IP
'login_from_new_ip' => 'Новый вход в Firefly III',
'new_ip_body' => 'Firefly III зафиксировал вход в ваш аккаунт с неизвестного IP-адреса. Если вы никогда не входили в систему с IP-адреса, указанного ниже, или это было более шести месяцев назад, Firefly III предупредит вас.',
'new_ip_warning' => 'Если вы узнаёте этот IP адрес или логин, вы можете проигнорировать данное сообщение. Если вы не входили в систему, и не понимаете, что происходит, проверьте безопасность вашего пароля, измените его и выйдите из всех других сессий. Для этого перейдите на страницу своего профиля. Конечно, у вас уже включен 2FA, верно? Оставайтесь в безопасности!',
'new_ip_warning' => 'Если вы узнаёте этот IP адрес или логин, вы можете проигнорировать данное сообщение. Если вы не входили в систему, и не понимаете, что происходит, проверьте безопасность вашего пароля, измените его и выйдите из всех других сессий. Для этого перейдите на страницу своего профиля. Конечно, же у вас уже включена двухфакторная аутентификация, верно? Оставайтесь в безопасности!',
'ip_address' => 'IP-адрес',
'host_name' => 'Сервер',
'date_time' => 'Дата и время',
@ -44,7 +44,7 @@ return [
// access token created
'access_token_created_subject' => 'Создан новый токен доступа',
'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.',
// registered
@ -52,7 +52,7 @@ return [
'registered_welcome' => 'Добро пожаловать в <a style="color:#337ab7" href=":address">Firefly III</a>. Вы успешно зарегистрированы, и это письмо отправлено для подтверждения регистрации. Ура!',
'registered_pw' => 'Если вы уже забыли свой пароль, пожалуйста, сбросьте его <a style="color:#337ab7" href=":address/password/reset">с помощью инструмента сброса пароля</a>.',
'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_closing' => 'Наслаждайтесь!',
'registered_firefly_iii_link' => 'Firefly III:',
@ -61,26 +61,26 @@ return [
// email change
'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_ignore' => 'Если вы инициировали это изменение, вы можете спокойно проигнорировать это сообщение.',
'email_change_old' => 'Старый адрес электронной почты: :email',
'email_change_old_strong' => 'Старый адрес электронной почты: <strong>:email</strong>',
'email_change_new' => 'Новый адрес электронной почты: :email',
'email_change_new_strong' => 'Новый адрес электронной почты: <strong>:email</strong>',
'email_change_instructions' => 'Вы не можете использовать Firefly III, пока не подтвердите это изменение. Перейдите по ссылке ниже, чтобы сделать это.',
'email_change_instructions' => 'Вы не можете использовать Firefly III, пока не подтвердите это изменение. Для подтверждения перейдите по ссылке ниже.',
'email_change_undo_link' => 'Чтобы отменить изменения, перейдите по ссылке:',
// OAuth token created
'oauth_created_subject' => 'Создан новый OAuth клиент',
'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.',
// reset password
'reset_pw_subject' => 'Ваш запрос на сброс пароля',
'reset_pw_instructions' => 'Кто-то пытался сбросить ваш пароль. Если это вы, пожалуйста, перейдите по ссылке ниже, чтобы сделать это.',
'reset_pw_warning' => '<strong>ПОЖАЛУЙСТА</strong> убедитесь, что ссылка действительно ведён Firefly III, как вы и ожидаете!',
'reset_pw_instructions' => 'Кто-то пытался сбросить ваш пароль. Если это были Вы, пожалуйста, перейдите по ссылке ниже, чтобы сделать это.',
'reset_pw_warning' => '<strong>ПОЖАЛУЙСТА</strong> убедитесь, что ссылка действительно открывает страницу Firefly III, как вы и ожидаете!',
// error
'error_subject' => 'Найдена ошибка в Firefly III',
@ -89,14 +89,14 @@ return [
'error_timestamp' => 'Ошибка произошла в: :time.',
'error_location' => 'Эта ошибка произошла в файле <span style="font-family: monospace;">:file</span> в строке :line с кодом :code.',
'error_user' => 'У пользователя #:id произошла ошибка, <a href="mailto::email">:email</a>.',
'error_no_user' => 'Пользователь не авторизован из-за этой ошибки или пользователь не был обнаружен.',
'error_no_user' => 'Б процессе этой ошибки пользователь не был авторизован или пользователь не был обнаружен.',
'error_ip' => 'IP адрес, связанный с этой ошибкой: :ip',
'error_url' => 'URL-адрес: :url',
'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_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_stacktrace_below' => 'Полная трассировки стека:',
'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_text' => 'Если вы предпочитаете, вы также можете открыть новый тикет на https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'Полная трассировка стека:',
// report new journals
'new_journals_subject' => 'Firefly III создал новую транзакцию|Firefly III создал :count новых транзакций',