mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Update translations + JS
This commit is contained in:
2
public/v1/js/app_vue.js
vendored
2
public/v1/js/app_vue.js
vendored
File diff suppressed because one or more lines are too long
@@ -3,14 +3,3 @@
|
||||
* (c) 2014-2020 Evan You
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
/*!
|
||||
* portal-vue © Thorsten Lünborg, 2019
|
||||
*
|
||||
* Version: 2.1.7
|
||||
*
|
||||
* LICENCE: MIT
|
||||
*
|
||||
* https://github.com/linusborg/portal-vue
|
||||
*
|
||||
*/
|
||||
|
||||
2
public/v1/js/create_transaction.js
vendored
2
public/v1/js/create_transaction.js
vendored
File diff suppressed because one or more lines are too long
2
public/v1/js/edit_transaction.js
vendored
2
public/v1/js/edit_transaction.js
vendored
File diff suppressed because one or more lines are too long
2
public/v1/js/profile.js
vendored
2
public/v1/js/profile.js
vendored
File diff suppressed because one or more lines are too long
5
resources/assets/js/app.js
vendored
5
resources/assets/js/app.js
vendored
@@ -24,10 +24,11 @@
|
||||
*/
|
||||
|
||||
try {
|
||||
window.$ = window.jQuery = require('jquery');
|
||||
window.$ = window.jQuery = require('jquery');
|
||||
|
||||
require('bootstrap-sass');
|
||||
} catch (e) {}
|
||||
} catch (e) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
2
resources/assets/js/app_vue.js
vendored
2
resources/assets/js/app_vue.js
vendored
@@ -26,7 +26,7 @@ import VueI18n from 'vue-i18n'
|
||||
import * as uiv from 'uiv';
|
||||
|
||||
window.vuei18n = VueI18n;
|
||||
window.uiv =uiv;
|
||||
window.uiv = uiv;
|
||||
Vue.use(vuei18n);
|
||||
Vue.use(uiv);
|
||||
window.Vue = Vue;
|
||||
|
||||
4
resources/assets/js/bootstrap.js
vendored
4
resources/assets/js/bootstrap.js
vendored
@@ -37,8 +37,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
||||
let token = document.head.querySelector('meta[name="csrf-token"]');
|
||||
|
||||
if (token) {
|
||||
window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
|
||||
window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
|
||||
} else {
|
||||
console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
|
||||
console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
|
||||
}
|
||||
|
||||
|
||||
@@ -19,25 +19,25 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example Component</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example Component</div>
|
||||
|
||||
<div class="panel-body">
|
||||
I'm an example component!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
I'm an example component!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
mounted() {
|
||||
// console.log('Component mounted.')
|
||||
}
|
||||
}
|
||||
export default {
|
||||
mounted() {
|
||||
// console.log('Component mounted.')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -19,25 +19,25 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Test Component</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Test Component</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<p>{{ $t("firefly.welcome_back") }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>{{ $t("firefly.welcome_back") }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
mounted() {
|
||||
// console.log('Component mounted.')
|
||||
}
|
||||
}
|
||||
export default {
|
||||
mounted() {
|
||||
// console.log('Component mounted.')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -31,254 +31,254 @@
|
||||
<h3 class="box-title">
|
||||
{{ $t('firefly.profile_oauth_clients') }}
|
||||
</h3>
|
||||
<a class="btn btn-default pull-right" tabindex="-1" @click="showCreateClientForm">
|
||||
{{ $t('firefly.profile_oauth_create_new_client') }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<!-- Current Clients -->
|
||||
<p class="mb-0" v-if="clients.length === 0">
|
||||
{{ $t('firefly.profile_oauth_no_clients') }}
|
||||
</p>
|
||||
|
||||
<table class="table table-responsive table-borderless mb-0" v-if="clients.length > 0">
|
||||
<caption>{{ $t('firefly.profile_oauth_clients_header') }}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{{ $t('firefly.profile_oauth_client_id') }}</th>
|
||||
<th scope="col">{{ $t('firefly.name') }}</th>
|
||||
<th scope="col">{{ $t('firefly.profile_oauth_client_secret') }}</th>
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-for="client in clients">
|
||||
<!-- ID -->
|
||||
<td style="vertical-align: middle;">
|
||||
{{ client.id }}
|
||||
</td>
|
||||
|
||||
<!-- Name -->
|
||||
<td style="vertical-align: middle;">
|
||||
{{ client.name }}
|
||||
</td>
|
||||
|
||||
<!-- Secret -->
|
||||
<td style="vertical-align: middle;">
|
||||
<code>{{ client.secret ? client.secret : '-' }}</code>
|
||||
</td>
|
||||
|
||||
<!-- Edit Button -->
|
||||
<td style="vertical-align: middle;">
|
||||
<a class="action-link" tabindex="-1" @click="edit(client)">
|
||||
{{ $t('firefly.edit') }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<!-- Delete Button -->
|
||||
<td style="vertical-align: middle;">
|
||||
<a class="action-link text-danger" @click="destroy(client)">
|
||||
{{ $t('firefly.delete') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<a class="btn btn-default pull-right" tabindex="-1" @click="showCreateClientForm">
|
||||
<a class="btn btn-default pull-right" tabindex="-1" @click="showCreateClientForm">
|
||||
{{ $t('firefly.profile_oauth_create_new_client') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<!-- Current Clients -->
|
||||
<p v-if="clients.length === 0" class="mb-0">
|
||||
{{ $t('firefly.profile_oauth_no_clients') }}
|
||||
</p>
|
||||
|
||||
<!-- Create Client Modal -->
|
||||
<div class="modal fade" id="modal-create-client" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">
|
||||
{{ $t('firefly.profile_oauth_create_client') }}
|
||||
</h4>
|
||||
<table v-if="clients.length > 0" class="table table-responsive table-borderless mb-0">
|
||||
<caption>{{ $t('firefly.profile_oauth_clients_header') }}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{{ $t('firefly.profile_oauth_client_id') }}</th>
|
||||
<th scope="col">{{ $t('firefly.name') }}</th>
|
||||
<th scope="col">{{ $t('firefly.profile_oauth_client_secret') }}</th>
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
</div>
|
||||
<tbody>
|
||||
<tr v-for="client in clients">
|
||||
<!-- ID -->
|
||||
<td style="vertical-align: middle;">
|
||||
{{ client.id }}
|
||||
</td>
|
||||
|
||||
<div class="modal-body">
|
||||
<!-- Form Errors -->
|
||||
<div class="alert alert-danger" v-if="createForm.errors.length > 0">
|
||||
<p class="mb-0"><strong>{{ $t('firefly.profile_whoops') }}</strong> {{
|
||||
$t('firefly.profile_something_wrong')
|
||||
}}</p>
|
||||
<br>
|
||||
<ul>
|
||||
<li v-for="error in createForm.errors">
|
||||
{{ error }}
|
||||
</li>
|
||||
</ul>
|
||||
<!-- Name -->
|
||||
<td style="vertical-align: middle;">
|
||||
{{ client.name }}
|
||||
</td>
|
||||
|
||||
<!-- Secret -->
|
||||
<td style="vertical-align: middle;">
|
||||
<code>{{ client.secret ? client.secret : '-' }}</code>
|
||||
</td>
|
||||
|
||||
<!-- Edit Button -->
|
||||
<td style="vertical-align: middle;">
|
||||
<a class="action-link" tabindex="-1" @click="edit(client)">
|
||||
{{ $t('firefly.edit') }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<!-- Delete Button -->
|
||||
<td style="vertical-align: middle;">
|
||||
<a class="action-link text-danger" @click="destroy(client)">
|
||||
{{ $t('firefly.delete') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<a class="btn btn-default pull-right" tabindex="-1" @click="showCreateClientForm">
|
||||
{{ $t('firefly.profile_oauth_create_new_client') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Create Client Modal -->
|
||||
<div id="modal-create-client" class="modal fade" role="dialog" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">
|
||||
{{ $t('firefly.profile_oauth_create_client') }}
|
||||
</h4>
|
||||
|
||||
<button aria-hidden="true" class="close" data-dismiss="modal" type="button">×</button>
|
||||
</div>
|
||||
|
||||
<!-- Create Client Form -->
|
||||
<form role="form">
|
||||
<!-- Name -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ $t('firefly.name') }}</label>
|
||||
<div class="modal-body">
|
||||
<!-- Form Errors -->
|
||||
<div v-if="createForm.errors.length > 0" class="alert alert-danger">
|
||||
<p class="mb-0"><strong>{{ $t('firefly.profile_whoops') }}</strong> {{
|
||||
$t('firefly.profile_something_wrong')
|
||||
}}</p>
|
||||
<br>
|
||||
<ul>
|
||||
<li v-for="error in createForm.errors">
|
||||
{{ error }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<input id="create-client-name" type="text" class="form-control"
|
||||
@keyup.enter="store" v-model="createForm.name">
|
||||
<!-- Create Client Form -->
|
||||
<form role="form">
|
||||
<!-- Name -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ $t('firefly.name') }}</label>
|
||||
|
||||
<span class="form-text text-muted">
|
||||
<div class="col-md-9">
|
||||
<input id="create-client-name" v-model="createForm.name" class="form-control"
|
||||
type="text" @keyup.enter="store">
|
||||
|
||||
<span class="form-text text-muted">
|
||||
{{ $t('firefly.profile_oauth_name_help') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Redirect URL -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ $t('firefly.profile_oauth_redirect_url') }}</label>
|
||||
<!-- Redirect URL -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ $t('firefly.profile_oauth_redirect_url') }}</label>
|
||||
|
||||
<div class="col-md-9">
|
||||
<input type="text" class="form-control" name="redirect"
|
||||
@keyup.enter="store" v-model="createForm.redirect">
|
||||
<div class="col-md-9">
|
||||
<input v-model="createForm.redirect" class="form-control" name="redirect"
|
||||
type="text" @keyup.enter="store">
|
||||
|
||||
<span class="form-text text-muted">
|
||||
<span class="form-text text-muted">
|
||||
{{ $t('firefly.profile_oauth_redirect_url_help') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Confidential -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ $t('firefly.profile_oauth_confidential') }}</label>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" v-model="createForm.confidential">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="form-text text-muted">
|
||||
<!-- Confidential -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ $t('firefly.profile_oauth_confidential') }}</label>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input v-model="createForm.confidential" type="checkbox">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<span class="form-text text-muted">
|
||||
{{ $t('firefly.profile_oauth_confidential_help') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $t('firefly.close') }}</button>
|
||||
|
||||
<button type="button" class="btn btn-primary" @click="store">
|
||||
{{ $t('firefly.profile_create') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Edit Client Modal -->
|
||||
<div class="modal fade" id="modal-edit-client" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">
|
||||
{{ $t('firefly.profile_oauth_edit_client') }}
|
||||
</h4>
|
||||
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<!-- Form Errors -->
|
||||
<div class="alert alert-danger" v-if="editForm.errors.length > 0">
|
||||
<p class="mb-0"><strong>{{ $t('firefly.profile_whoops') }}</strong> {{
|
||||
$t('firefly.profile_something_wrong')
|
||||
}}</p>
|
||||
<br>
|
||||
<ul>
|
||||
<li v-for="error in editForm.errors">
|
||||
{{ error }}
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Edit Client Form -->
|
||||
<form role="form">
|
||||
<!-- Name -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ $t('firefly.name') }}</label>
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-secondary" data-dismiss="modal" type="button">{{ $t('firefly.close') }}</button>
|
||||
|
||||
<div class="col-md-9">
|
||||
<input id="edit-client-name" type="text" class="form-control"
|
||||
@keyup.enter="update" v-model="editForm.name">
|
||||
<button class="btn btn-primary" type="button" @click="store">
|
||||
{{ $t('firefly.profile_create') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="form-text text-muted">
|
||||
<!-- Edit Client Modal -->
|
||||
<div id="modal-edit-client" class="modal fade" role="dialog" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">
|
||||
{{ $t('firefly.profile_oauth_edit_client') }}
|
||||
</h4>
|
||||
|
||||
<button aria-hidden="true" class="close" data-dismiss="modal" type="button">×</button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<!-- Form Errors -->
|
||||
<div v-if="editForm.errors.length > 0" class="alert alert-danger">
|
||||
<p class="mb-0"><strong>{{ $t('firefly.profile_whoops') }}</strong> {{
|
||||
$t('firefly.profile_something_wrong')
|
||||
}}</p>
|
||||
<br>
|
||||
<ul>
|
||||
<li v-for="error in editForm.errors">
|
||||
{{ error }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Edit Client Form -->
|
||||
<form role="form">
|
||||
<!-- Name -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ $t('firefly.name') }}</label>
|
||||
|
||||
<div class="col-md-9">
|
||||
<input id="edit-client-name" v-model="editForm.name" class="form-control"
|
||||
type="text" @keyup.enter="update">
|
||||
|
||||
<span class="form-text text-muted">
|
||||
{{ $t('firefly.profile_oauth_name_help') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Redirect URL -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ $t('firefly.profile_oauth_redirect_url') }}</label>
|
||||
<!-- Redirect URL -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ $t('firefly.profile_oauth_redirect_url') }}</label>
|
||||
|
||||
<div class="col-md-9">
|
||||
<input type="text" class="form-control" name="redirect"
|
||||
@keyup.enter="update" v-model="editForm.redirect">
|
||||
<div class="col-md-9">
|
||||
<input v-model="editForm.redirect" class="form-control" name="redirect"
|
||||
type="text" @keyup.enter="update">
|
||||
|
||||
<span class="form-text text-muted">
|
||||
<span class="form-text text-muted">
|
||||
{{ $t('firefly.profile_oauth_redirect_url_help') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $t('firefly.close') }}</button>
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-secondary" data-dismiss="modal" type="button">{{ $t('firefly.close') }}</button>
|
||||
|
||||
<button type="button" class="btn btn-primary" @click="update">
|
||||
{{ $t('firefly.profile_save_changes') }}
|
||||
</button>
|
||||
<button class="btn btn-primary" type="button" @click="update">
|
||||
{{ $t('firefly.profile_save_changes') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Client Secret Modal -->
|
||||
<div class="modal fade" id="modal-client-secret" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">
|
||||
{{ $t('firefly.profile_oauth_client_secret_title') }}
|
||||
</h4>
|
||||
<!-- Client Secret Modal -->
|
||||
<div id="modal-client-secret" class="modal fade" role="dialog" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">
|
||||
{{ $t('firefly.profile_oauth_client_secret_title') }}
|
||||
</h4>
|
||||
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
</div>
|
||||
<button aria-hidden="true" class="close" data-dismiss="modal" type="button">×</button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
{{ $t('firefly.profile_oauth_client_secret_expl') }}
|
||||
</p>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
{{ $t('firefly.profile_oauth_client_secret_expl') }}
|
||||
</p>
|
||||
|
||||
<input type="text" class="form-control" v-model="clientSecret">
|
||||
</div>
|
||||
<input v-model="clientSecret" class="form-control" type="text">
|
||||
</div>
|
||||
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $t('firefly.close') }}</button>
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-secondary" data-dismiss="modal" type="button">{{ $t('firefly.close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -30,19 +30,19 @@
|
||||
<div class="box box-default">
|
||||
<div class="box-header">
|
||||
<h3 class="box-title">{{ $t('firefly.profile_personal_access_tokens') }}</h3>
|
||||
<a class="btn btn-default pull-right" tabindex="-1" @click="showCreateTokenForm">
|
||||
{{ $t('firefly.profile_create_new_token') }}
|
||||
</a>
|
||||
</div>
|
||||
<a class="btn btn-default pull-right" tabindex="-1" @click="showCreateTokenForm">
|
||||
{{ $t('firefly.profile_create_new_token') }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="box-body">
|
||||
<!-- No Tokens Notice -->
|
||||
<p class="mb-0" v-if="tokens.length === 0">
|
||||
<p v-if="tokens.length === 0" class="mb-0">
|
||||
{{ $t('firefly.profile_no_personal_access_token') }}
|
||||
</p>
|
||||
|
||||
<!-- Personal Access Tokens -->
|
||||
<table class="table table-responsive table-borderless mb-0" v-if="tokens.length > 0">
|
||||
<table v-if="tokens.length > 0" class="table table-responsive table-borderless mb-0">
|
||||
<caption style="display:none;">{{ $t('firefly.profile_personal_access_tokens') }}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -77,7 +77,7 @@
|
||||
</div>
|
||||
|
||||
<!-- Create Token Modal -->
|
||||
<div class="modal fade" id="modal-create-token" tabindex="-1" role="dialog">
|
||||
<div id="modal-create-token" class="modal fade" role="dialog" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
@@ -85,13 +85,14 @@
|
||||
{{ $t('firefly.profile_create_token') }}
|
||||
</h4>
|
||||
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<button aria-hidden="true" class="close" data-dismiss="modal" type="button">×</button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<!-- Form Errors -->
|
||||
<div class="alert alert-danger" v-if="form.errors.length > 0">
|
||||
<p class="mb-0"><strong>{{ $t('firefly.profile_whoops') }}</strong> {{ $t('firefly.profile_something_wrong') }}</p>
|
||||
<div v-if="form.errors.length > 0" class="alert alert-danger">
|
||||
<p class="mb-0"><strong>{{ $t('firefly.profile_whoops') }}</strong>
|
||||
{{ $t('firefly.profile_something_wrong') }}</p>
|
||||
<br>
|
||||
<ul>
|
||||
<li v-for="error in form.errors">
|
||||
@@ -107,21 +108,21 @@
|
||||
<label class="col-md-4 col-form-label">{{ $t('firefly.name') }}</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="create-token-name" type="text" class="form-control" name="name" v-model="form.name">
|
||||
<input id="create-token-name" v-model="form.name" class="form-control" name="name" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Scopes -->
|
||||
<div class="form-group row" v-if="scopes.length > 0">
|
||||
<div v-if="scopes.length > 0" class="form-group row">
|
||||
<label class="col-md-4 col-form-label">{{ $t('firefly.profile_scopes') }}</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div v-for="scope in scopes">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox"
|
||||
@click="toggleScope(scope.id)"
|
||||
:checked="scopeIsAssigned(scope.id)">
|
||||
<input :checked="scopeIsAssigned(scope.id)"
|
||||
type="checkbox"
|
||||
@click="toggleScope(scope.id)">
|
||||
|
||||
{{ scope.id }}
|
||||
</label>
|
||||
@@ -134,9 +135,9 @@
|
||||
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $t('firefly.close') }}</button>
|
||||
<button class="btn btn-secondary" data-dismiss="modal" type="button">{{ $t('firefly.close') }}</button>
|
||||
|
||||
<button type="button" class="btn btn-primary" @click="store">
|
||||
<button class="btn btn-primary" type="button" @click="store">
|
||||
Create
|
||||
</button>
|
||||
</div>
|
||||
@@ -145,7 +146,7 @@
|
||||
</div>
|
||||
|
||||
<!-- Access Token Modal -->
|
||||
<div class="modal fade" id="modal-access-token" tabindex="-1" role="dialog">
|
||||
<div id="modal-access-token" class="modal fade" role="dialog" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
@@ -153,19 +154,19 @@
|
||||
{{ $t('firefly.profile_personal_access_token') }}
|
||||
</h4>
|
||||
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<button aria-hidden="true" class="close" data-dismiss="modal" type="button">×</button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
{{ $t('firefly.profile_personal_access_token_explanation') }}
|
||||
</p>
|
||||
<textarea readonly style="width:100%;" rows="20" class="form-control">{{ accessToken }}</textarea>
|
||||
<textarea class="form-control" readonly rows="20" style="width:100%;">{{ accessToken }}</textarea>
|
||||
</div>
|
||||
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $t('firefly.close') }}</button>
|
||||
<button class="btn btn-secondary" data-dismiss="modal" type="button">{{ $t('firefly.close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -19,29 +19,29 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<passport-clients></passport-clients>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<passport-authorized-clients></passport-authorized-clients>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<passport-personal-access-tokens></passport-personal-access-tokens>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<passport-clients></passport-clients>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<passport-authorized-clients></passport-authorized-clients>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<passport-personal-access-tokens></passport-personal-access-tokens>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ProfileOptions"
|
||||
}
|
||||
export default {
|
||||
name: "ProfileOptions"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -18,207 +18,207 @@
|
||||
- along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<template>
|
||||
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ inputDescription }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input
|
||||
ref="input"
|
||||
type="text"
|
||||
:placeholder="inputDescription"
|
||||
:data-index="index"
|
||||
autocomplete="off"
|
||||
data-role="input"
|
||||
v-on:keypress="handleEnter"
|
||||
:disabled="inputDisabled"
|
||||
class="form-control"
|
||||
v-on:submit.prevent
|
||||
:name="inputName"
|
||||
:title="inputDescription">
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
v-on:click="clearSource"
|
||||
class="btn btn-default"
|
||||
tabIndex="-1"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<typeahead
|
||||
:open-on-empty=true
|
||||
:open-on-focus=true
|
||||
v-on:input="selectedItem"
|
||||
:async-function="aSyncFunction"
|
||||
v-model="name"
|
||||
:target="target"
|
||||
item-key="name_with_balance"
|
||||
></typeahead>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ inputDescription }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input
|
||||
ref="input"
|
||||
:data-index="index"
|
||||
:disabled="inputDisabled"
|
||||
:name="inputName"
|
||||
:placeholder="inputDescription"
|
||||
:title="inputDescription"
|
||||
autocomplete="off"
|
||||
class="form-control"
|
||||
data-role="input"
|
||||
type="text"
|
||||
v-on:keypress="handleEnter"
|
||||
v-on:submit.prevent>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
class="btn btn-default"
|
||||
tabIndex="-1"
|
||||
type="button"
|
||||
v-on:click="clearSource"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<typeahead
|
||||
v-model="name"
|
||||
:async-function="aSyncFunction"
|
||||
:open-on-empty=true
|
||||
:open-on-focus=true
|
||||
:target="target"
|
||||
item-key="name_with_balance"
|
||||
v-on:input="selectedItem"
|
||||
></typeahead>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
inputName: String,
|
||||
inputDescription: String,
|
||||
index: Number,
|
||||
transactionType: String,
|
||||
error: Array,
|
||||
accountName: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
accountTypeFilters: {
|
||||
type: Array,
|
||||
default: function () {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
defaultAccountTypeFilters: {
|
||||
type: Array,
|
||||
default: function () {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
accountAutoCompleteURI: null,
|
||||
name: null,
|
||||
trType: this.transactionType,
|
||||
target: null,
|
||||
inputDisabled: false,
|
||||
allowedTypes: this.accountTypeFilters,
|
||||
defaultAllowedTypes: this.defaultAccountTypeFilters
|
||||
}
|
||||
},
|
||||
ready() {
|
||||
// console.log('ready(): this.name = this.accountName (' + this.accountName + ')');
|
||||
this.name = this.accountName;
|
||||
},
|
||||
mounted() {
|
||||
this.target = this.$refs.input;
|
||||
this.updateACURI(this.allowedTypes.join(','));
|
||||
// console.log('mounted(): this.name = this.accountName (' + this.accountName + ')');
|
||||
this.name = this.accountName;
|
||||
this.triggerTransactionType();
|
||||
},
|
||||
|
||||
watch: {
|
||||
transactionType() {
|
||||
this.triggerTransactionType();
|
||||
},
|
||||
accountName() {
|
||||
// console.log('AccountSelect watch accountName!');
|
||||
this.name = this.accountName;
|
||||
},
|
||||
accountTypeFilters() {
|
||||
let types = this.accountTypeFilters.join(',');
|
||||
if (0 === this.accountTypeFilters.length) {
|
||||
types = this.defaultAccountTypeFilters.join(',');
|
||||
}
|
||||
this.updateACURI(types);
|
||||
},
|
||||
name() {
|
||||
// console.log('Watch: name()');
|
||||
// console.log(this.name);
|
||||
}
|
||||
},
|
||||
methods:
|
||||
{
|
||||
aSyncFunction: function (query, done) {
|
||||
axios.get(this.accountAutoCompleteURI + query)
|
||||
.then(res => {
|
||||
done(res.data);
|
||||
})
|
||||
.catch(err => {
|
||||
// any error handler
|
||||
})
|
||||
},
|
||||
updateACURI: function (types) {
|
||||
this.accountAutoCompleteURI =
|
||||
document.getElementsByTagName('base')[0].href +
|
||||
'api/v1/autocomplete/accounts' +
|
||||
'?types=' +
|
||||
types +
|
||||
'&query=';
|
||||
// console.log('Auto complete URI is now ' + this.accountAutoCompleteURI);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
triggerTransactionType: function () {
|
||||
// console.log('On triggerTransactionType(' + this.inputName + ')');
|
||||
if(null === this.name) {
|
||||
// console.log('this.name is NULL.');
|
||||
}
|
||||
if (null === this.transactionType) {
|
||||
// console.log('Transaction type is NULL.');
|
||||
return;
|
||||
}
|
||||
if ('' === this.transactionType) {
|
||||
// console.log('Transaction type is "".');
|
||||
return;
|
||||
}
|
||||
this.inputDisabled = false;
|
||||
if (this.transactionType.toString() !== '' && this.index > 0) {
|
||||
if (this.transactionType.toString().toLowerCase() === 'transfer') {
|
||||
this.inputDisabled = true;
|
||||
// todo: needs to copy value from very first input
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.transactionType.toString().toLowerCase() === 'withdrawal' && this.inputName.substr(0, 6).toLowerCase() === 'source') {
|
||||
// todo also clear value?
|
||||
this.inputDisabled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.transactionType.toString().toLowerCase() === 'deposit' && this.inputName.substr(0, 11).toLowerCase() === 'destination') {
|
||||
// todo also clear value?
|
||||
this.inputDisabled = true;
|
||||
}
|
||||
}
|
||||
},
|
||||
selectedItem: function (e) {
|
||||
// console.log('In SelectedItem()');
|
||||
if (typeof this.name === 'undefined') {
|
||||
// console.log('Is undefined');
|
||||
return;
|
||||
}
|
||||
if(typeof this.name === 'string') {
|
||||
// console.log('Is a string.');
|
||||
//this.trType = null;
|
||||
this.$emit('clear:value');
|
||||
}
|
||||
// emit the fact that the user selected a type of account
|
||||
// (influencing the destination)
|
||||
// console.log('Is some object maybe:');
|
||||
// console.log(this.name);
|
||||
this.$emit('select:account', this.name);
|
||||
},
|
||||
clearSource: function (e) {
|
||||
// console.log('clearSource()');
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
// some event?
|
||||
this.$emit('clear:value')
|
||||
},
|
||||
handleEnter: function (e) {
|
||||
// todo feels sloppy
|
||||
if (e.keyCode === 13) {
|
||||
//e.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
export default {
|
||||
props: {
|
||||
inputName: String,
|
||||
inputDescription: String,
|
||||
index: Number,
|
||||
transactionType: String,
|
||||
error: Array,
|
||||
accountName: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
accountTypeFilters: {
|
||||
type: Array,
|
||||
default: function () {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
defaultAccountTypeFilters: {
|
||||
type: Array,
|
||||
default: function () {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
accountAutoCompleteURI: null,
|
||||
name: null,
|
||||
trType: this.transactionType,
|
||||
target: null,
|
||||
inputDisabled: false,
|
||||
allowedTypes: this.accountTypeFilters,
|
||||
defaultAllowedTypes: this.defaultAccountTypeFilters
|
||||
}
|
||||
},
|
||||
ready() {
|
||||
// console.log('ready(): this.name = this.accountName (' + this.accountName + ')');
|
||||
this.name = this.accountName;
|
||||
},
|
||||
mounted() {
|
||||
this.target = this.$refs.input;
|
||||
this.updateACURI(this.allowedTypes.join(','));
|
||||
// console.log('mounted(): this.name = this.accountName (' + this.accountName + ')');
|
||||
this.name = this.accountName;
|
||||
this.triggerTransactionType();
|
||||
},
|
||||
|
||||
watch: {
|
||||
transactionType() {
|
||||
this.triggerTransactionType();
|
||||
},
|
||||
accountName() {
|
||||
// console.log('AccountSelect watch accountName!');
|
||||
this.name = this.accountName;
|
||||
},
|
||||
accountTypeFilters() {
|
||||
let types = this.accountTypeFilters.join(',');
|
||||
if (0 === this.accountTypeFilters.length) {
|
||||
types = this.defaultAccountTypeFilters.join(',');
|
||||
}
|
||||
this.updateACURI(types);
|
||||
},
|
||||
name() {
|
||||
// console.log('Watch: name()');
|
||||
// console.log(this.name);
|
||||
}
|
||||
},
|
||||
methods:
|
||||
{
|
||||
aSyncFunction: function (query, done) {
|
||||
axios.get(this.accountAutoCompleteURI + query)
|
||||
.then(res => {
|
||||
done(res.data);
|
||||
})
|
||||
.catch(err => {
|
||||
// any error handler
|
||||
})
|
||||
},
|
||||
updateACURI: function (types) {
|
||||
this.accountAutoCompleteURI =
|
||||
document.getElementsByTagName('base')[0].href +
|
||||
'api/v1/autocomplete/accounts' +
|
||||
'?types=' +
|
||||
types +
|
||||
'&query=';
|
||||
// console.log('Auto complete URI is now ' + this.accountAutoCompleteURI);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
triggerTransactionType: function () {
|
||||
// console.log('On triggerTransactionType(' + this.inputName + ')');
|
||||
if (null === this.name) {
|
||||
// console.log('this.name is NULL.');
|
||||
}
|
||||
if (null === this.transactionType) {
|
||||
// console.log('Transaction type is NULL.');
|
||||
return;
|
||||
}
|
||||
if ('' === this.transactionType) {
|
||||
// console.log('Transaction type is "".');
|
||||
return;
|
||||
}
|
||||
this.inputDisabled = false;
|
||||
if (this.transactionType.toString() !== '' && this.index > 0) {
|
||||
if (this.transactionType.toString().toLowerCase() === 'transfer') {
|
||||
this.inputDisabled = true;
|
||||
// todo: needs to copy value from very first input
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.transactionType.toString().toLowerCase() === 'withdrawal' && this.inputName.substr(0, 6).toLowerCase() === 'source') {
|
||||
// todo also clear value?
|
||||
this.inputDisabled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.transactionType.toString().toLowerCase() === 'deposit' && this.inputName.substr(0, 11).toLowerCase() === 'destination') {
|
||||
// todo also clear value?
|
||||
this.inputDisabled = true;
|
||||
}
|
||||
}
|
||||
},
|
||||
selectedItem: function (e) {
|
||||
// console.log('In SelectedItem()');
|
||||
if (typeof this.name === 'undefined') {
|
||||
// console.log('Is undefined');
|
||||
return;
|
||||
}
|
||||
if (typeof this.name === 'string') {
|
||||
// console.log('Is a string.');
|
||||
//this.trType = null;
|
||||
this.$emit('clear:value');
|
||||
}
|
||||
// emit the fact that the user selected a type of account
|
||||
// (influencing the destination)
|
||||
// console.log('Is some object maybe:');
|
||||
// console.log(this.name);
|
||||
this.$emit('select:account', this.name);
|
||||
},
|
||||
clearSource: function (e) {
|
||||
// console.log('clearSource()');
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
// some event?
|
||||
this.$emit('clear:value')
|
||||
},
|
||||
handleEnter: function (e) {
|
||||
// todo feels sloppy
|
||||
if (e.keyCode === 13) {
|
||||
//e.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -23,31 +23,31 @@
|
||||
<div class="col-sm-8 col-sm-offset-4 text-sm">
|
||||
{{ $t('firefly.amount') }}
|
||||
</div>
|
||||
<label class="col-sm-4 control-label" ref="cur"></label>
|
||||
<label ref="cur" class="col-sm-4 control-label"></label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<input type="number"
|
||||
@input="handleInput"
|
||||
ref="amount"
|
||||
<input ref="amount"
|
||||
:title="$t('firefly.amount')"
|
||||
:value="value"
|
||||
step="any"
|
||||
autocomplete="off"
|
||||
class="form-control"
|
||||
name="amount[]"
|
||||
:title="$t('firefly.amount')"
|
||||
autocomplete="off"
|
||||
v-bind:placeholder="$t('firefly.amount')">
|
||||
step="any"
|
||||
type="number"
|
||||
v-bind:placeholder="$t('firefly.amount')"
|
||||
@input="handleInput">
|
||||
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
v-on:click="clearAmount"
|
||||
tabIndex="-1"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
tabIndex="-1"
|
||||
type="button"
|
||||
v-on:click="clearAmount"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -133,7 +133,7 @@ export default {
|
||||
console.log('amount: watch source triggered');
|
||||
this.changeData();
|
||||
},
|
||||
value: function() {
|
||||
value: function () {
|
||||
console.log('amount: value changed');
|
||||
},
|
||||
destination: function () {
|
||||
|
||||
@@ -19,29 +19,29 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
v-if="typeof this.transactionType === 'undefined' || this.transactionType === 'withdrawal' || this.transactionType === 'Withdrawal' || this.transactionType === '' || null === this.transactionType">
|
||||
<div v-if="typeof this.transactionType === 'undefined' || this.transactionType === 'withdrawal' || this.transactionType === 'Withdrawal' || this.transactionType === '' || null === this.transactionType"
|
||||
class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.bill') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<select
|
||||
name="bill[]"
|
||||
v-if="this.bills.length > 0"
|
||||
ref="bill"
|
||||
v-model="selected"
|
||||
@input="handleInput"
|
||||
v-on:change="signalChange"
|
||||
:title="$t('firefly.bill')"
|
||||
class="form-control"
|
||||
v-if="this.bills.length > 0">
|
||||
name="bill[]"
|
||||
@input="handleInput"
|
||||
v-on:change="signalChange">
|
||||
<option v-for="cBill in this.bills"
|
||||
:label="cBill.name"
|
||||
:value="cBill.id">{{ cBill.name }}
|
||||
</option>
|
||||
</select>
|
||||
<p class="help-block" v-if="this.bills.length === 1" v-html="$t('firefly.no_bill_pointer')"></p>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<p v-if="this.bills.length === 1" class="help-block" v-html="$t('firefly.no_bill_pointer')"></p>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -19,29 +19,29 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
v-if="typeof this.transactionType === 'undefined' || this.transactionType === 'withdrawal' || this.transactionType === 'Withdrawal' || this.transactionType === '' || null === this.transactionType">
|
||||
<div v-if="typeof this.transactionType === 'undefined' || this.transactionType === 'withdrawal' || this.transactionType === 'Withdrawal' || this.transactionType === '' || null === this.transactionType"
|
||||
class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.budget') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<select
|
||||
name="budget[]"
|
||||
v-if="this.budgets.length > 0"
|
||||
ref="budget"
|
||||
v-model="selected"
|
||||
@input="handleInput"
|
||||
v-on:change="signalChange"
|
||||
:title="$t('firefly.budget')"
|
||||
class="form-control"
|
||||
v-if="this.budgets.length > 0">
|
||||
name="budget[]"
|
||||
@input="handleInput"
|
||||
v-on:change="signalChange">
|
||||
<option v-for="cBudget in this.budgets"
|
||||
:label="cBudget.name"
|
||||
:value="cBudget.id">{{ cBudget.name }}
|
||||
</option>
|
||||
</select>
|
||||
<p class="help-block" v-if="this.budgets.length === 1" v-html="$t('firefly.no_budget_pointer')"></p>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<p v-if="this.budgets.length === 1" class="help-block" v-html="$t('firefly.no_budget_pointer')"></p>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -19,125 +19,125 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.category') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input
|
||||
ref="input"
|
||||
:value="value"
|
||||
@input="handleInput"
|
||||
type="text"
|
||||
v-bind:placeholder="$t('firefly.category')"
|
||||
autocomplete="off"
|
||||
data-role="input"
|
||||
v-on:keypress="handleEnter"
|
||||
class="form-control"
|
||||
v-on:submit.prevent
|
||||
name="category[]"
|
||||
v-bind:title="$t('firefly.category')">
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
v-on:click="clearCategory"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<typeahead
|
||||
:open-on-empty=true
|
||||
:open-on-focus=true
|
||||
v-on:input="selectedItem"
|
||||
:async-function="aSyncFunction"
|
||||
v-model="name"
|
||||
:target="target"
|
||||
item-key="name"
|
||||
></typeahead>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.category') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input
|
||||
ref="input"
|
||||
:value="value"
|
||||
autocomplete="off"
|
||||
class="form-control"
|
||||
data-role="input"
|
||||
name="category[]"
|
||||
type="text"
|
||||
v-bind:placeholder="$t('firefly.category')"
|
||||
v-bind:title="$t('firefly.category')"
|
||||
@input="handleInput"
|
||||
v-on:keypress="handleEnter"
|
||||
v-on:submit.prevent>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
class="btn btn-default"
|
||||
type="button"
|
||||
v-on:click="clearCategory"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<typeahead
|
||||
v-model="name"
|
||||
:async-function="aSyncFunction"
|
||||
:open-on-empty=true
|
||||
:open-on-focus=true
|
||||
:target="target"
|
||||
item-key="name"
|
||||
v-on:input="selectedItem"
|
||||
></typeahead>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "Category",
|
||||
props: {
|
||||
value: String,
|
||||
inputName: String,
|
||||
error: Array,
|
||||
accountName: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
categoryAutoCompleteURI: null,
|
||||
name: null,
|
||||
target: null,
|
||||
}
|
||||
},
|
||||
ready() {
|
||||
this.name = this.accountName;
|
||||
},
|
||||
mounted() {
|
||||
this.target = this.$refs.input;
|
||||
this.categoryAutoCompleteURI = document.getElementsByTagName('base')[0].href + "api/v1/autocomplete/categories?query=";
|
||||
},
|
||||
methods: {
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
aSyncFunction: function (query, done) {
|
||||
axios.get(this.categoryAutoCompleteURI + query)
|
||||
.then(res => {
|
||||
done(res.data);
|
||||
})
|
||||
.catch(err => {
|
||||
// any error handler
|
||||
})
|
||||
},
|
||||
handleInput(e) {
|
||||
if (typeof this.$refs.input.value === 'string') {
|
||||
this.$emit('input', this.$refs.input.value);
|
||||
return;
|
||||
}
|
||||
this.$emit('input', this.$refs.input.value.name);
|
||||
|
||||
},
|
||||
clearCategory: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.input.value = '';
|
||||
this.$emit('input', this.$refs.input.value);
|
||||
// some event?
|
||||
this.$emit('clear:category')
|
||||
},
|
||||
selectedItem: function (e) {
|
||||
if (typeof this.name === 'undefined') {
|
||||
return;
|
||||
}
|
||||
// emit the fact that the user selected a type of account
|
||||
// (influencing the destination)
|
||||
this.$emit('select:category', this.name);
|
||||
|
||||
if (typeof this.name === 'string') {
|
||||
this.$emit('input', this.name);
|
||||
return;
|
||||
}
|
||||
this.$emit('input', this.name.name);
|
||||
},
|
||||
handleEnter: function (e) {
|
||||
// todo feels sloppy
|
||||
if (e.keyCode === 13) {
|
||||
//e.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
export default {
|
||||
name: "Category",
|
||||
props: {
|
||||
value: String,
|
||||
inputName: String,
|
||||
error: Array,
|
||||
accountName: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
categoryAutoCompleteURI: null,
|
||||
name: null,
|
||||
target: null,
|
||||
}
|
||||
},
|
||||
ready() {
|
||||
this.name = this.accountName;
|
||||
},
|
||||
mounted() {
|
||||
this.target = this.$refs.input;
|
||||
this.categoryAutoCompleteURI = document.getElementsByTagName('base')[0].href + "api/v1/autocomplete/categories?query=";
|
||||
},
|
||||
methods: {
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
aSyncFunction: function (query, done) {
|
||||
axios.get(this.categoryAutoCompleteURI + query)
|
||||
.then(res => {
|
||||
done(res.data);
|
||||
})
|
||||
.catch(err => {
|
||||
// any error handler
|
||||
})
|
||||
},
|
||||
handleInput(e) {
|
||||
if (typeof this.$refs.input.value === 'string') {
|
||||
this.$emit('input', this.$refs.input.value);
|
||||
return;
|
||||
}
|
||||
this.$emit('input', this.$refs.input.value.name);
|
||||
|
||||
},
|
||||
clearCategory: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.input.value = '';
|
||||
this.$emit('input', this.$refs.input.value);
|
||||
// some event?
|
||||
this.$emit('clear:category')
|
||||
},
|
||||
selectedItem: function (e) {
|
||||
if (typeof this.name === 'undefined') {
|
||||
return;
|
||||
}
|
||||
// emit the fact that the user selected a type of account
|
||||
// (influencing the destination)
|
||||
this.$emit('select:category', this.name);
|
||||
|
||||
if (typeof this.name === 'string') {
|
||||
this.$emit('input', this.name);
|
||||
return;
|
||||
}
|
||||
this.$emit('input', this.name.name);
|
||||
},
|
||||
handleEnter: function (e) {
|
||||
// todo feels sloppy
|
||||
if (e.keyCode === 13) {
|
||||
//e.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -21,27 +21,27 @@
|
||||
<template>
|
||||
<form accept-charset="UTF-8" class="form-horizontal" enctype="multipart/form-data">
|
||||
<input name="_token" type="hidden" value="xxx">
|
||||
<div class="row" v-if="error_message !== ''">
|
||||
<div v-if="error_message !== ''" class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="alert alert-danger alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" v-bind:aria-label="$t('firefly.close')"><span
|
||||
<button class="close" data-dismiss="alert" type="button" v-bind:aria-label="$t('firefly.close')"><span
|
||||
aria-hidden="true">×</span></button>
|
||||
<strong>{{ $t("firefly.flash_error") }}</strong> {{ error_message }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" v-if="success_message !== ''">
|
||||
<div v-if="success_message !== ''" class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" v-bind:aria-label="$t('firefly.close')"><span
|
||||
<button class="close" data-dismiss="alert" type="button" v-bind:aria-label="$t('firefly.close')"><span
|
||||
aria-hidden="true">×</span></button>
|
||||
<strong>{{ $t("firefly.flash_success") }}</strong> <span v-html="success_message"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="row" v-for="(transaction, index) in transactions">
|
||||
<div v-for="(transaction, index) in transactions" class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
@@ -51,116 +51,117 @@
|
||||
}}</span>
|
||||
<span v-if="transactions.length === 1">{{ $t('firefly.transaction_journal_information') }}</span>
|
||||
</h3>
|
||||
<div class="box-tools pull-right" v-if="transactions.length > 1" x>
|
||||
<button type="button" v-on:click="deleteTransaction(index, $event)" class="btn btn-xs btn-danger"><i
|
||||
<div v-if="transactions.length > 1" class="box-tools pull-right" x>
|
||||
<button class="btn btn-xs btn-danger" type="button" v-on:click="deleteTransaction(index, $event)"><i
|
||||
class="fa fa-trash"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-4" id="transaction-info">
|
||||
<div id="transaction-info" class="col-lg-4">
|
||||
<transaction-description
|
||||
v-model="transaction.description"
|
||||
:index="index"
|
||||
:error="transaction.errors.description"
|
||||
:index="index"
|
||||
>
|
||||
</transaction-description>
|
||||
<account-select
|
||||
inputName="source[]"
|
||||
v-bind:inputDescription="$t('firefly.source_account')"
|
||||
:accountName="transaction.source_account.name"
|
||||
:accountTypeFilters="transaction.source_account.allowed_types"
|
||||
:defaultAccountTypeFilters="transaction.source_account.default_allowed_types"
|
||||
:transactionType="transactionType"
|
||||
:error="transaction.errors.source_account"
|
||||
:index="index"
|
||||
:transactionType="transactionType"
|
||||
inputName="source[]"
|
||||
v-bind:inputDescription="$t('firefly.source_account')"
|
||||
v-on:clear:value="clearSource(index)"
|
||||
v-on:select:account="selectedSourceAccount(index, $event)"
|
||||
:error="transaction.errors.source_account"
|
||||
></account-select>
|
||||
<account-select
|
||||
inputName="destination[]"
|
||||
v-bind:inputDescription="$t('firefly.destination_account')"
|
||||
:accountName="transaction.destination_account.name"
|
||||
:accountTypeFilters="transaction.destination_account.allowed_types"
|
||||
:defaultAccountTypeFilters="transaction.destination_account.default_allowed_types"
|
||||
:transactionType="transactionType"
|
||||
:error="transaction.errors.destination_account"
|
||||
:index="index"
|
||||
:transactionType="transactionType"
|
||||
inputName="destination[]"
|
||||
v-bind:inputDescription="$t('firefly.destination_account')"
|
||||
v-on:clear:value="clearDestination(index)"
|
||||
v-on:select:account="selectedDestinationAccount(index, $event)"
|
||||
:error="transaction.errors.destination_account"
|
||||
></account-select>
|
||||
<p class="text-warning" v-if="0!== index && (null === transactionType || 'invalid' === transactionType || '' === transactionType)">
|
||||
<p v-if="0!== index && (null === transactionType || 'invalid' === transactionType || '' === transactionType)"
|
||||
class="text-warning">
|
||||
{{ $t('firefly.multi_account_warning_unknown') }}
|
||||
</p>
|
||||
<p class="text-warning" v-if="0!== index && 'Withdrawal' === transactionType">
|
||||
<p v-if="0!== index && 'Withdrawal' === transactionType" class="text-warning">
|
||||
{{ $t('firefly.multi_account_warning_withdrawal') }}
|
||||
</p>
|
||||
<p class="text-warning" v-if="0!== index && 'Deposit' === transactionType">
|
||||
<p v-if="0!== index && 'Deposit' === transactionType" class="text-warning">
|
||||
{{ $t('firefly.multi_account_warning_deposit') }}
|
||||
</p>
|
||||
<p class="text-warning" v-if="0!== index && 'Transfer' === transactionType">
|
||||
<p v-if="0!== index && 'Transfer' === transactionType" class="text-warning">
|
||||
{{ $t('firefly.multi_account_warning_transfer') }}
|
||||
</p>
|
||||
<standard-date v-if="0===index"
|
||||
v-model="transaction.date"
|
||||
:index="index"
|
||||
:error="transaction.errors.date"
|
||||
:index="index"
|
||||
>
|
||||
</standard-date>
|
||||
<div v-if="index===0">
|
||||
<transaction-type
|
||||
:source="transaction.source_account.type"
|
||||
:destination="transaction.destination_account.type"
|
||||
:source="transaction.source_account.type"
|
||||
v-on:set:transactionType="setTransactionType($event)"
|
||||
v-on:act:limitSourceType="limitSourceType($event)"
|
||||
v-on:act:limitDestinationType="limitDestinationType($event)"
|
||||
></transaction-type>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4" id="amount-info">
|
||||
<div id="amount-info" class="col-lg-4">
|
||||
<amount
|
||||
:source="transaction.source_account"
|
||||
:destination="transaction.destination_account"
|
||||
v-model="transaction.amount"
|
||||
:destination="transaction.destination_account"
|
||||
:error="transaction.errors.amount"
|
||||
:source="transaction.source_account"
|
||||
:transactionType="transactionType"
|
||||
></amount>
|
||||
<foreign-amount
|
||||
:source="transaction.source_account"
|
||||
:destination="transaction.destination_account"
|
||||
v-model="transaction.foreign_amount"
|
||||
:transactionType="transactionType"
|
||||
:destination="transaction.destination_account"
|
||||
:error="transaction.errors.foreign_amount"
|
||||
:source="transaction.source_account"
|
||||
:transactionType="transactionType"
|
||||
v-bind:title="$t('form.foreign_amount')"
|
||||
></foreign-amount>
|
||||
</div>
|
||||
<div class="col-lg-4" id="optional-info">
|
||||
<div id="optional-info" class="col-lg-4">
|
||||
<budget
|
||||
:transactionType="transactionType"
|
||||
v-model="transaction.budget"
|
||||
:error="transaction.errors.budget_id"
|
||||
:no_budget="$t('firefly.none_in_select_list')"
|
||||
:transactionType="transactionType"
|
||||
></budget>
|
||||
<category
|
||||
:transactionType="transactionType"
|
||||
v-model="transaction.category"
|
||||
:error="transaction.errors.category"
|
||||
:transactionType="transactionType"
|
||||
></category>
|
||||
<piggy-bank
|
||||
:transactionType="transactionType"
|
||||
v-model="transaction.piggy_bank"
|
||||
:error="transaction.errors.piggy_bank"
|
||||
:no_piggy_bank="$t('firefly.no_piggy_bank')"
|
||||
:transactionType="transactionType"
|
||||
></piggy-bank>
|
||||
<tags
|
||||
v-model="transaction.tags"
|
||||
:error="transaction.errors.tags"
|
||||
></tags>
|
||||
<bill
|
||||
:transactionType="transactionType"
|
||||
v-model="transaction.bill"
|
||||
:error="transaction.errors.bill_id"
|
||||
:no_bill="$t('firefly.none_in_select_list')"
|
||||
:transactionType="transactionType"
|
||||
></bill>
|
||||
<custom-transaction-fields
|
||||
v-model="transaction.custom_fields"
|
||||
@@ -169,7 +170,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-footer" v-if="transactions.length-1 === index">
|
||||
<div v-if="transactions.length-1 === index" class="box-footer">
|
||||
<button class="split_add_btn btn btn-default" type="button" @click="addTransactionToArray">
|
||||
{{ $t('firefly.add_another_split') }}
|
||||
</button>
|
||||
@@ -178,7 +179,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" v-if="transactions.length > 1">
|
||||
<div v-if="transactions.length > 1" class="row">
|
||||
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
@@ -188,8 +189,8 @@
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<group-description
|
||||
:error="group_title_errors"
|
||||
v-model="group_title"
|
||||
:error="group_title_errors"
|
||||
></group-description>
|
||||
</div>
|
||||
</div>
|
||||
@@ -221,7 +222,7 @@
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-success" id="submitButton" @click="submit">{{ $t('firefly.submit') }}</button>
|
||||
<button id="submitButton" class="btn btn-success" @click="submit">{{ $t('firefly.submit') }}</button>
|
||||
</div>
|
||||
<p class="text-success" v-html="success_message"></p>
|
||||
<p class="text-danger" v-html="error_message"></p>
|
||||
|
||||
@@ -27,20 +27,20 @@
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input multiple="multiple"
|
||||
autocomplete="off"
|
||||
<input ref="input"
|
||||
:name="name"
|
||||
:placeholder="title"
|
||||
:title="title"
|
||||
ref="input"
|
||||
:name="name" type="file" class="form-control">
|
||||
autocomplete="off"
|
||||
class="form-control" multiple="multiple" type="file">
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
v-on:click="clearAtt"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
type="button"
|
||||
v-on:click="clearAtt"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -19,58 +19,58 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
>
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ title }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input type="date" class="form-control" :name="name"
|
||||
:title="title" autocomplete="off"
|
||||
ref="date"
|
||||
:value="value ? value.substr(0,10): ''" @input="handleInput"
|
||||
:placeholder="title">
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
tabIndex="-1"
|
||||
v-on:click="clearDate"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
>
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ title }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input ref="date" :name="name" :placeholder="title"
|
||||
:title="title" :value="value ? value.substr(0,10): ''"
|
||||
autocomplete="off"
|
||||
class="form-control" type="date"
|
||||
@input="handleInput">
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
class="btn btn-default"
|
||||
tabIndex="-1"
|
||||
type="button"
|
||||
v-on:click="clearDate"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "CustomDate",
|
||||
props: {
|
||||
value: String,
|
||||
title: String,
|
||||
name: String,
|
||||
error: Array,
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.date.value);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
clearDate: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.date.value = '';
|
||||
this.$emit('input', this.$refs.date.value);
|
||||
},
|
||||
}
|
||||
}
|
||||
export default {
|
||||
name: "CustomDate",
|
||||
props: {
|
||||
value: String,
|
||||
title: String,
|
||||
name: String,
|
||||
error: Array,
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.date.value);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
clearDate: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.date.value = '';
|
||||
this.$emit('input', this.$refs.date.value);
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -19,58 +19,58 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
>
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ title }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" :name="name"
|
||||
:title="title" autocomplete="off"
|
||||
ref="str"
|
||||
:value="value" @input="handleInput"
|
||||
:placeholder="title">
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
tabIndex="-1"
|
||||
v-on:click="clearField"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
>
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ title }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input ref="str" :name="name" :placeholder="title"
|
||||
:title="title" :value="value"
|
||||
autocomplete="off"
|
||||
class="form-control" type="text"
|
||||
@input="handleInput">
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
class="btn btn-default"
|
||||
tabIndex="-1"
|
||||
type="button"
|
||||
v-on:click="clearField"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "CustomString",
|
||||
props: {
|
||||
title: String,
|
||||
name: String,
|
||||
value: String,
|
||||
error: Array
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.str.value);
|
||||
},
|
||||
clearField: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.str.value = '';
|
||||
this.$emit('input', this.$refs.str.value);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
}
|
||||
}
|
||||
export default {
|
||||
name: "CustomString",
|
||||
props: {
|
||||
title: String,
|
||||
name: String,
|
||||
value: String,
|
||||
error: Array
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.str.value);
|
||||
},
|
||||
clearField: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.str.value = '';
|
||||
this.$emit('input', this.$refs.str.value);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -19,50 +19,50 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
>
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ title }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<textarea class="form-control" :name="name"
|
||||
:title="title" autocomplete="off"
|
||||
ref="str"
|
||||
rows="8"
|
||||
v-model="textValue"
|
||||
@input="handleInput"
|
||||
:placeholder="title"></textarea>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
>
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ title }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<textarea ref="str" v-model="textValue"
|
||||
:name="name" :placeholder="title"
|
||||
:title="title"
|
||||
autocomplete="off"
|
||||
class="form-control"
|
||||
rows="8"
|
||||
@input="handleInput"></textarea>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "CustomTextarea",
|
||||
props: {
|
||||
title: String,
|
||||
name: String,
|
||||
value: String,
|
||||
error: Array
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
textValue: this.value,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.str.value);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
}
|
||||
}
|
||||
export default {
|
||||
name: "CustomTextarea",
|
||||
props: {
|
||||
title: String,
|
||||
name: String,
|
||||
value: String,
|
||||
error: Array
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
textValue: this.value,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.str.value);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -19,107 +19,117 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<p class="help-block" v-html="$t('firefly.hidden_fields_preferences')"></p>
|
||||
<component
|
||||
:error="error.interest_date"
|
||||
v-model="value.interest_date" v-if="this.fields.interest_date" name="interest_date[]" v-bind:title="$t('form.interest_date')" v-bind:is="dateComponent"></component>
|
||||
<component
|
||||
:error="error.book_date"
|
||||
v-model="value.book_date" v-if="this.fields.book_date" name="book_date[]" v-bind:title="$t('form.book_date')" v-bind:is="dateComponent"></component>
|
||||
<component
|
||||
:error="error.process_date"
|
||||
v-model="value.process_date" v-if="this.fields.process_date" name="process_date[]" v-bind:title="$t('form.process_date')" v-bind:is="dateComponent"></component>
|
||||
<component
|
||||
:error="error.due_date"
|
||||
v-model="value.due_date" v-if="this.fields.due_date" name="due_date[]" v-bind:title="$t('form.due_date')" v-bind:is="dateComponent"></component>
|
||||
<component
|
||||
:error="error.payment_date"
|
||||
v-model="value.payment_date" v-if="this.fields.payment_date" name="payment_date[]" v-bind:title="$t('form.payment_date')" v-bind:is="dateComponent"></component>
|
||||
<div>
|
||||
<p class="help-block" v-html="$t('firefly.hidden_fields_preferences')"></p>
|
||||
<component
|
||||
v-bind:is="dateComponent"
|
||||
v-if="this.fields.interest_date" v-model="value.interest_date" :error="error.interest_date"
|
||||
name="interest_date[]" v-bind:title="$t('form.interest_date')"></component>
|
||||
<component
|
||||
v-bind:is="dateComponent"
|
||||
v-if="this.fields.book_date" v-model="value.book_date" :error="error.book_date" name="book_date[]"
|
||||
v-bind:title="$t('form.book_date')"></component>
|
||||
<component
|
||||
v-bind:is="dateComponent"
|
||||
v-if="this.fields.process_date" v-model="value.process_date" :error="error.process_date"
|
||||
name="process_date[]" v-bind:title="$t('form.process_date')"></component>
|
||||
<component
|
||||
v-bind:is="dateComponent"
|
||||
v-if="this.fields.due_date" v-model="value.due_date" :error="error.due_date" name="due_date[]"
|
||||
v-bind:title="$t('form.due_date')"></component>
|
||||
<component
|
||||
v-bind:is="dateComponent"
|
||||
v-if="this.fields.payment_date" v-model="value.payment_date" :error="error.payment_date"
|
||||
name="payment_date[]" v-bind:title="$t('form.payment_date')"></component>
|
||||
|
||||
<component
|
||||
:error="error.invoice_date"
|
||||
v-model="value.invoice_date" v-if="this.fields.invoice_date" name="invoice_date[]" v-bind:title="$t('form.invoice_date')" v-bind:is="dateComponent"></component>
|
||||
<component
|
||||
v-bind:is="dateComponent"
|
||||
v-if="this.fields.invoice_date" v-model="value.invoice_date" :error="error.invoice_date"
|
||||
name="invoice_date[]" v-bind:title="$t('form.invoice_date')"></component>
|
||||
|
||||
<component
|
||||
:error="error.internal_reference"
|
||||
v-model="value.internal_reference" v-if="this.fields.internal_reference" name="internal_reference[]" v-bind:title="$t('form.internal_reference')" v-bind:is="stringComponent"></component>
|
||||
<component
|
||||
v-bind:is="stringComponent"
|
||||
v-if="this.fields.internal_reference" v-model="value.internal_reference" :error="error.internal_reference"
|
||||
name="internal_reference[]" v-bind:title="$t('form.internal_reference')"></component>
|
||||
|
||||
<component
|
||||
:error="error.attachments"
|
||||
v-model="value.attachments" v-if="this.fields.attachments" name="attachments[]" v-bind:title="$t('firefly.attachments')" v-bind:is="attachmentComponent"></component>
|
||||
<component
|
||||
v-bind:is="attachmentComponent"
|
||||
v-if="this.fields.attachments" v-model="value.attachments" :error="error.attachments"
|
||||
name="attachments[]" v-bind:title="$t('firefly.attachments')"></component>
|
||||
|
||||
<component
|
||||
:error="error.external_uri"
|
||||
v-model="value.external_uri" v-if="this.fields.external_uri" name="external_uri[]" v-bind:title="$t('firefly.external_uri')" v-bind:is="uriComponent"></component>
|
||||
<component
|
||||
v-bind:is="uriComponent"
|
||||
v-if="this.fields.external_uri" v-model="value.external_uri" :error="error.external_uri"
|
||||
name="external_uri[]" v-bind:title="$t('firefly.external_uri')"></component>
|
||||
|
||||
<component
|
||||
:error="error.notes"
|
||||
v-model="value.notes" v-if="this.fields.notes" name="notes[]" v-bind:title="$t('firefly.notes')" v-bind:is="textareaComponent"></component>
|
||||
</div>
|
||||
<component
|
||||
v-bind:is="textareaComponent"
|
||||
v-if="this.fields.notes" v-model="value.notes" :error="error.notes" name="notes[]"
|
||||
v-bind:title="$t('firefly.notes')"></component>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "CustomTransactionFields",
|
||||
props: ['value','error'],
|
||||
mounted() {
|
||||
this.getPreference();
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
customInterestDate: null,
|
||||
fields: [
|
||||
{
|
||||
"interest_date": false,
|
||||
"book_date": false,
|
||||
"process_date": false,
|
||||
"due_date": false,
|
||||
"payment_date": false,
|
||||
"invoice_date": false,
|
||||
"internal_reference": false,
|
||||
"notes": false,
|
||||
"attachments": false,
|
||||
"external_uri": false
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
// TODO this seems a pretty weird way of doing it.
|
||||
dateComponent () {
|
||||
return 'custom-date';
|
||||
},
|
||||
stringComponent () {
|
||||
return 'custom-string';
|
||||
},
|
||||
attachmentComponent () {
|
||||
return 'custom-attachments';
|
||||
},
|
||||
textareaComponent () {
|
||||
return 'custom-textarea';
|
||||
},
|
||||
uriComponent () {
|
||||
return 'custom-uri';
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.value);
|
||||
},
|
||||
getPreference() {
|
||||
|
||||
// Vue.component('custom-date', (resolve) => {
|
||||
// console.log('loaded');
|
||||
// });
|
||||
|
||||
const url = document.getElementsByTagName('base')[0].href + 'api/v1/preferences/transaction_journal_optional_fields';
|
||||
axios.get(url).then(response => {
|
||||
this.fields = response.data.data.attributes.data;
|
||||
}).catch(() => console.warn('Oh. Something went wrong loading custom transaction fields.'));
|
||||
},
|
||||
export default {
|
||||
name: "CustomTransactionFields",
|
||||
props: ['value', 'error'],
|
||||
mounted() {
|
||||
this.getPreference();
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
customInterestDate: null,
|
||||
fields: [
|
||||
{
|
||||
"interest_date": false,
|
||||
"book_date": false,
|
||||
"process_date": false,
|
||||
"due_date": false,
|
||||
"payment_date": false,
|
||||
"invoice_date": false,
|
||||
"internal_reference": false,
|
||||
"notes": false,
|
||||
"attachments": false,
|
||||
"external_uri": false
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
// TODO this seems a pretty weird way of doing it.
|
||||
dateComponent() {
|
||||
return 'custom-date';
|
||||
},
|
||||
stringComponent() {
|
||||
return 'custom-string';
|
||||
},
|
||||
attachmentComponent() {
|
||||
return 'custom-attachments';
|
||||
},
|
||||
textareaComponent() {
|
||||
return 'custom-textarea';
|
||||
},
|
||||
uriComponent() {
|
||||
return 'custom-uri';
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.value);
|
||||
},
|
||||
getPreference() {
|
||||
|
||||
// Vue.component('custom-date', (resolve) => {
|
||||
// console.log('loaded');
|
||||
// });
|
||||
|
||||
const url = document.getElementsByTagName('base')[0].href + 'api/v1/preferences/transaction_journal_optional_fields';
|
||||
axios.get(url).then(response => {
|
||||
this.fields = response.data.data.attributes.data;
|
||||
}).catch(() => console.warn('Oh. Something went wrong loading custom transaction fields.'));
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -19,57 +19,57 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
>
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ title }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input type="url" class="form-control" :name="name"
|
||||
:title="title" autocomplete="off"
|
||||
ref="uri"
|
||||
:value="value" @input="handleInput"
|
||||
:placeholder="title">
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
tabIndex="-1"
|
||||
v-on:click="clearField"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
>
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ title }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input ref="uri" :name="name" :placeholder="title"
|
||||
:title="title" :value="value"
|
||||
autocomplete="off"
|
||||
class="form-control" type="url"
|
||||
@input="handleInput">
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
class="btn btn-default"
|
||||
tabIndex="-1"
|
||||
type="button"
|
||||
v-on:click="clearField"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "CustomString",
|
||||
props: {
|
||||
title: String,
|
||||
name: String,
|
||||
value: String,
|
||||
error: Array
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.uri.value);
|
||||
},
|
||||
clearField: function () {
|
||||
this.name = '';
|
||||
this.$refs.uri.value = '';
|
||||
this.$emit('input', this.$refs.uri.value);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
}
|
||||
}
|
||||
export default {
|
||||
name: "CustomString",
|
||||
props: {
|
||||
title: String,
|
||||
name: String,
|
||||
value: String,
|
||||
error: Array
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.uri.value);
|
||||
},
|
||||
clearField: function () {
|
||||
this.name = '';
|
||||
this.$refs.uri.value = '';
|
||||
this.$emit('input', this.$refs.uri.value);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -19,30 +19,30 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<form method="POST" action="#" accept-charset="UTF-8" class="form-horizontal" id="store"
|
||||
enctype="multipart/form-data">
|
||||
<form id="store" accept-charset="UTF-8" action="#" class="form-horizontal" enctype="multipart/form-data"
|
||||
method="POST">
|
||||
<input name="_token" type="hidden" value="xxx">
|
||||
<div class="row" v-if="error_message !== ''">
|
||||
<div v-if="error_message !== ''" class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="alert alert-danger alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" v-bind:aria-label="$t('firefly.close')"><span
|
||||
<button class="close" data-dismiss="alert" type="button" v-bind:aria-label="$t('firefly.close')"><span
|
||||
aria-hidden="true">×</span></button>
|
||||
<strong>{{ $t("firefly.flash_error") }}</strong> {{ error_message }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" v-if="success_message !== ''">
|
||||
<div v-if="success_message !== ''" class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" v-bind:aria-label="$t('firefly.close')"><span
|
||||
<button class="close" data-dismiss="alert" type="button" v-bind:aria-label="$t('firefly.close')"><span
|
||||
aria-hidden="true">×</span></button>
|
||||
<strong>{{ $t("firefly.flash_success") }}</strong> <span v-html="success_message"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="row" v-for="(transaction, index) in transactions">
|
||||
<div v-for="(transaction, index) in transactions" class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
@@ -52,8 +52,8 @@
|
||||
}}</span>
|
||||
<span v-if="transactions.length === 1">{{ $t('firefly.transaction_journal_information') }}</span>
|
||||
</h3>
|
||||
<div class="box-tools pull-right" v-if="transactions.length > 1">
|
||||
<button type="button" v-on:click="deleteTransaction(index, $event)" class="btn btn-xs btn-danger"><i
|
||||
<div v-if="transactions.length > 1" class="box-tools pull-right">
|
||||
<button class="btn btn-xs btn-danger" type="button" v-on:click="deleteTransaction(index, $event)"><i
|
||||
class="fa fa-trash"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -62,22 +62,22 @@
|
||||
<div class="col-lg-4">
|
||||
<transaction-description v-if="transactionType.toLowerCase() !== 'reconciliation'"
|
||||
v-model="transaction.description"
|
||||
:index="index"
|
||||
:error="transaction.errors.description"
|
||||
:index="index"
|
||||
>
|
||||
</transaction-description>
|
||||
<account-select v-if="transactionType.toLowerCase() !== 'reconciliation'"
|
||||
inputName="source[]"
|
||||
v-bind:inputDescription="$t('firefly.source_account')"
|
||||
:accountName="transaction.source_account.name"
|
||||
:accountTypeFilters="transaction.source_account.allowed_types"
|
||||
:transactionType="transactionType"
|
||||
:error="transaction.errors.source_account"
|
||||
:index="index"
|
||||
:transactionType="transactionType"
|
||||
inputName="source[]"
|
||||
v-bind:inputDescription="$t('firefly.source_account')"
|
||||
v-on:clear:value="clearSource(index)"
|
||||
v-on:select:account="selectedSourceAccount(index, $event)"
|
||||
:error="transaction.errors.source_account"
|
||||
></account-select>
|
||||
<div class="form-group" v-if="transactionType.toLowerCase() === 'reconciliation'">
|
||||
<div v-if="transactionType.toLowerCase() === 'reconciliation'" class="form-group">
|
||||
<div class="col-sm-12">
|
||||
<p id="ffInput_source" class="form-control-static">
|
||||
<em>
|
||||
@@ -87,17 +87,17 @@
|
||||
</div>
|
||||
</div>
|
||||
<account-select v-if="transactionType.toLowerCase() !== 'reconciliation'"
|
||||
inputName="destination[]"
|
||||
v-bind:inputDescription="$t('firefly.destination_account')"
|
||||
:accountName="transaction.destination_account.name"
|
||||
:accountTypeFilters="transaction.destination_account.allowed_types"
|
||||
:transactionType="transactionType"
|
||||
:error="transaction.errors.destination_account"
|
||||
:index="index"
|
||||
:transactionType="transactionType"
|
||||
inputName="destination[]"
|
||||
v-bind:inputDescription="$t('firefly.destination_account')"
|
||||
v-on:clear:value="clearDestination(index)"
|
||||
v-on:select:account="selectedDestinationAccount(index, $event)"
|
||||
:error="transaction.errors.destination_account"
|
||||
></account-select>
|
||||
<div class="form-group" v-if="transactionType.toLowerCase() === 'reconciliation'">
|
||||
<div v-if="transactionType.toLowerCase() === 'reconciliation'" class="form-group">
|
||||
<div class="col-sm-12">
|
||||
<p id="ffInput_dest" class="form-control-static">
|
||||
<em>
|
||||
@@ -108,14 +108,14 @@
|
||||
</div>
|
||||
<standard-date
|
||||
v-model="transaction.date"
|
||||
:index="index"
|
||||
:error="transaction.errors.date"
|
||||
:index="index"
|
||||
>
|
||||
</standard-date>
|
||||
<div v-if="index===0">
|
||||
<transaction-type
|
||||
:source="transaction.source_account.type"
|
||||
:destination="transaction.destination_account.type"
|
||||
:source="transaction.source_account.type"
|
||||
v-on:set:transactionType="setTransactionType($event)"
|
||||
v-on:act:limitSourceType="limitSourceType($event)"
|
||||
v-on:act:limitDestinationType="limitDestinationType($event)"
|
||||
@@ -125,45 +125,45 @@
|
||||
<div class="col-lg-4">
|
||||
<!-- -->
|
||||
<amount
|
||||
:source="transaction.source_account"
|
||||
:destination="transaction.destination_account"
|
||||
v-model="transaction.amount"
|
||||
:destination="transaction.destination_account"
|
||||
:error="transaction.errors.amount"
|
||||
:source="transaction.source_account"
|
||||
:transactionType="transactionType"
|
||||
></amount>
|
||||
<foreign-amount v-if="transactionType.toLowerCase() !== 'reconciliation'"
|
||||
:source="transaction.source_account"
|
||||
:destination="transaction.destination_account"
|
||||
v-model="transaction.foreign_amount"
|
||||
:transactionType="transactionType"
|
||||
:destination="transaction.destination_account"
|
||||
:error="transaction.errors.foreign_amount"
|
||||
:no_currency="$t('firefly.none_in_select_list')"
|
||||
:source="transaction.source_account"
|
||||
:transactionType="transactionType"
|
||||
v-bind:title="$t('form.foreign_amount')"
|
||||
></foreign-amount>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<budget
|
||||
:transactionType="transactionType"
|
||||
v-model="transaction.budget"
|
||||
:error="transaction.errors.budget_id"
|
||||
:no_budget="$t('firefly.none_in_select_list')"
|
||||
:transactionType="transactionType"
|
||||
></budget>
|
||||
<category
|
||||
:transactionType="transactionType"
|
||||
v-model="transaction.category"
|
||||
:error="transaction.errors.category"
|
||||
:transactionType="transactionType"
|
||||
></category>
|
||||
<tags
|
||||
:transactionType="transactionType"
|
||||
:tags="transaction.tags"
|
||||
v-model="transaction.tags"
|
||||
:error="transaction.errors.tags"
|
||||
:tags="transaction.tags"
|
||||
:transactionType="transactionType"
|
||||
></tags>
|
||||
<bill
|
||||
:transactionType="transactionType"
|
||||
v-model="transaction.bill"
|
||||
:error="transaction.errors.bill_id"
|
||||
:no_bill="$t('firefly.none_in_select_list')"
|
||||
:transactionType="transactionType"
|
||||
></bill>
|
||||
<custom-transaction-fields
|
||||
v-model="transaction.custom_fields"
|
||||
@@ -172,8 +172,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-footer"
|
||||
v-if="transactions.length-1 === index && transactionType.toLowerCase() !== 'reconciliation'">
|
||||
<div v-if="transactions.length-1 === index && transactionType.toLowerCase() !== 'reconciliation'"
|
||||
class="box-footer">
|
||||
<button class="btn btn-default" type="button" @click="addTransaction">{{
|
||||
$t('firefly.add_another_split')
|
||||
}}
|
||||
@@ -183,7 +183,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" v-if="transactions.length > 1">
|
||||
<div v-if="transactions.length > 1" class="row">
|
||||
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
@@ -193,8 +193,8 @@
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<group-description
|
||||
:error="group_title_errors"
|
||||
v-model="group_title"
|
||||
:error="group_title_errors"
|
||||
></group-description>
|
||||
</div>
|
||||
</div>
|
||||
@@ -215,7 +215,7 @@
|
||||
{{ $t('firefly.after_update_create_another') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox" v-if="null !== transactionType && transactionType.toLowerCase() !== 'reconciliation'">
|
||||
<div v-if="null !== transactionType && transactionType.toLowerCase() !== 'reconciliation'" class="checkbox">
|
||||
<label>
|
||||
<input v-model="storeAsNew" name="store_as_new" type="checkbox">
|
||||
{{ $t('firefly.store_as_new') }}
|
||||
@@ -224,7 +224,7 @@
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-success" @click="submit" id="submitButton">{{
|
||||
<button id="submitButton" class="btn btn-success" @click="submit">{{
|
||||
$t('firefly.update_transaction')
|
||||
}}
|
||||
</button>
|
||||
|
||||
@@ -23,17 +23,17 @@
|
||||
Show if:
|
||||
- one or more currencies.
|
||||
-->
|
||||
<div class="form-group" v-bind:class="{ 'has-error': hasError()}" v-if="this.enabledCurrencies.length >= 1">
|
||||
<div v-if="this.enabledCurrencies.length >= 1" class="form-group" v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-8 col-sm-offset-4 text-sm">
|
||||
{{ $t('form.foreign_amount') }}
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control" ref="currency_select" name="foreign_currency[]" @input="handleInput">
|
||||
<select ref="currency_select" class="form-control" name="foreign_currency[]" @input="handleInput">
|
||||
<option
|
||||
v-for="currency in this.enabledCurrencies"
|
||||
:value="currency.id"
|
||||
:label="currency.attributes.name"
|
||||
:selected="parseInt(value.currency_id) === parseInt(currency.id)"
|
||||
:value="currency.id"
|
||||
|
||||
>
|
||||
{{ currency.attributes.name }}
|
||||
@@ -42,18 +42,18 @@
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<input type="number" @input="handleInput" ref="amount" :value="value.amount" step="any" class="form-control"
|
||||
name="foreign_amount[]" v-if="this.enabledCurrencies.length > 0"
|
||||
:title="this.title" autocomplete="off" :placeholder="this.title">
|
||||
<input v-if="this.enabledCurrencies.length > 0" ref="amount" :placeholder="this.title" :title="this.title" :value="value.amount" autocomplete="off"
|
||||
class="form-control" name="foreign_amount[]"
|
||||
step="any" type="number" @input="handleInput">
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
v-on:click="clearAmount"
|
||||
tabIndex="-1"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
tabIndex="-1"
|
||||
type="button"
|
||||
v-on:click="clearAmount"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -19,59 +19,59 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.split_transaction_title') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="group_title"
|
||||
v-bind:title="$t('firefly.split_transaction_title')"
|
||||
ref="descr"
|
||||
autocomplete="off"
|
||||
v-bind:placeholder="$t('firefly.split_transaction_title')"
|
||||
:value="value" @input="handleInput"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
tabIndex="-1"
|
||||
v-on:click="clearField"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<p class="help-block" v-if="error.length === 0">
|
||||
{{ $t('firefly.split_transaction_title_help') }}
|
||||
</p>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.split_transaction_title') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input
|
||||
ref="descr"
|
||||
:value="value"
|
||||
autocomplete="off"
|
||||
class="form-control"
|
||||
name="group_title"
|
||||
type="text"
|
||||
v-bind:placeholder="$t('firefly.split_transaction_title')"
|
||||
v-bind:title="$t('firefly.split_transaction_title')" @input="handleInput"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
class="btn btn-default"
|
||||
tabIndex="-1"
|
||||
type="button"
|
||||
v-on:click="clearField"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<p v-if="error.length === 0" class="help-block">
|
||||
{{ $t('firefly.split_transaction_title_help') }}
|
||||
</p>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: ['error', 'value', 'index'],
|
||||
name: "GroupDescription",
|
||||
methods: {
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.descr.value);
|
||||
},
|
||||
clearField: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.descr.value = '';
|
||||
this.$emit('input', this.$refs.descr.value);
|
||||
},
|
||||
}
|
||||
}
|
||||
export default {
|
||||
props: ['error', 'value', 'index'],
|
||||
name: "GroupDescription",
|
||||
methods: {
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.descr.value);
|
||||
},
|
||||
clearField: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.descr.value = '';
|
||||
this.$emit('input', this.$refs.descr.value);
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -18,98 +18,103 @@
|
||||
- along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<template>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
v-if="typeof this.transactionType !== 'undefined' && this.transactionType === 'Transfer'">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.piggy_bank') }}
|
||||
<div v-if="typeof this.transactionType !== 'undefined' && this.transactionType === 'Transfer'"
|
||||
class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.piggy_bank') }}
|
||||
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<select name="piggy_bank[]" ref="piggy" @input="handleInput" class="form-control">
|
||||
<optgroup v-for="(option, key) in this.piggies" v-bind:label="key">
|
||||
<option v-for="piggy in option.piggies" :label="piggy.name_with_balance" :value="piggy.id">{{piggy.name_with_balance}}</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<select ref="piggy" class="form-control" name="piggy_bank[]" @input="handleInput">
|
||||
<optgroup v-for="(option, key) in this.piggies" v-bind:label="key">
|
||||
<option v-for="piggy in option.piggies" :label="piggy.name_with_balance" :value="piggy.id">
|
||||
{{ piggy.name_with_balance }}
|
||||
</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "PiggyBank",
|
||||
props: ['value','transactionType','error', 'no_piggy_bank'],
|
||||
mounted() {
|
||||
this.loadPiggies();
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
piggies: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.piggy.value);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
loadPiggies: function () {
|
||||
let URI = document.getElementsByTagName('base')[0].href + "api/v1/autocomplete/piggy-banks-with-balance?limit=1337";
|
||||
axios.get(URI, {}).then((res) => {
|
||||
let tempList = {
|
||||
0: {
|
||||
group: {
|
||||
title: this.$t('firefly.default_group_title_name')
|
||||
},
|
||||
piggies: [
|
||||
{
|
||||
name_with_balance: this.no_piggy_bank,
|
||||
id: 0,
|
||||
}
|
||||
],
|
||||
}
|
||||
};
|
||||
for (const key in res.data) {
|
||||
if (res.data.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) {
|
||||
// add to temp list
|
||||
let currentPiggy = res.data[key];
|
||||
if (currentPiggy.objectGroup) {
|
||||
let groupOrder = currentPiggy.objectGroup.order;
|
||||
if (!tempList[groupOrder]) {
|
||||
tempList[groupOrder] = {
|
||||
group: {
|
||||
title: currentPiggy.objectGroup.title
|
||||
},
|
||||
piggies: [],
|
||||
};
|
||||
}
|
||||
tempList[groupOrder].piggies.push({name_with_balance: currentPiggy.name_with_balance, id: currentPiggy.id});
|
||||
}
|
||||
if (!currentPiggy.objectGroup) {
|
||||
// add to empty one:
|
||||
tempList[0].piggies.push({name_with_balance: currentPiggy.name_with_balance, id: currentPiggy.id});
|
||||
}
|
||||
//console.log(currentPiggy);
|
||||
this.piggies.push(res.data[key]);
|
||||
}
|
||||
}
|
||||
const ordered = {};
|
||||
Object.keys(tempList).sort().forEach(function(key) {
|
||||
let groupName = tempList[key].group.title;
|
||||
ordered[groupName] = tempList[key];
|
||||
});
|
||||
// final list:
|
||||
|
||||
this.piggies = ordered;
|
||||
// console.log(ordered);
|
||||
});
|
||||
}
|
||||
}
|
||||
export default {
|
||||
name: "PiggyBank",
|
||||
props: ['value', 'transactionType', 'error', 'no_piggy_bank'],
|
||||
mounted() {
|
||||
this.loadPiggies();
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
piggies: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.piggy.value);
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
loadPiggies: function () {
|
||||
let URI = document.getElementsByTagName('base')[0].href + "api/v1/autocomplete/piggy-banks-with-balance?limit=1337";
|
||||
axios.get(URI, {}).then((res) => {
|
||||
let tempList = {
|
||||
0: {
|
||||
group: {
|
||||
title: this.$t('firefly.default_group_title_name')
|
||||
},
|
||||
piggies: [
|
||||
{
|
||||
name_with_balance: this.no_piggy_bank,
|
||||
id: 0,
|
||||
}
|
||||
],
|
||||
}
|
||||
};
|
||||
for (const key in res.data) {
|
||||
if (res.data.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) {
|
||||
// add to temp list
|
||||
let currentPiggy = res.data[key];
|
||||
if (currentPiggy.objectGroup) {
|
||||
let groupOrder = currentPiggy.objectGroup.order;
|
||||
if (!tempList[groupOrder]) {
|
||||
tempList[groupOrder] = {
|
||||
group: {
|
||||
title: currentPiggy.objectGroup.title
|
||||
},
|
||||
piggies: [],
|
||||
};
|
||||
}
|
||||
tempList[groupOrder].piggies.push({
|
||||
name_with_balance: currentPiggy.name_with_balance,
|
||||
id: currentPiggy.id
|
||||
});
|
||||
}
|
||||
if (!currentPiggy.objectGroup) {
|
||||
// add to empty one:
|
||||
tempList[0].piggies.push({name_with_balance: currentPiggy.name_with_balance, id: currentPiggy.id});
|
||||
}
|
||||
//console.log(currentPiggy);
|
||||
this.piggies.push(res.data[key]);
|
||||
}
|
||||
}
|
||||
const ordered = {};
|
||||
Object.keys(tempList).sort().forEach(function (key) {
|
||||
let groupName = tempList[key].group.title;
|
||||
ordered[groupName] = tempList[key];
|
||||
});
|
||||
// final list:
|
||||
|
||||
this.piggies = ordered;
|
||||
// console.log(ordered);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -19,61 +19,61 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.date') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="date"
|
||||
class="form-control"
|
||||
name="date[]"
|
||||
v-bind:title="$t('firefly.date')"
|
||||
ref="date"
|
||||
autocomplete="off"
|
||||
|
||||
:disabled="index > 0"
|
||||
v-bind:placeholder="$t('firefly.date')"
|
||||
:value="value" @input="handleInput"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
tabIndex="-1"
|
||||
v-on:click="clearDate"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.date') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input
|
||||
ref="date"
|
||||
:disabled="index > 0"
|
||||
:value="value"
|
||||
autocomplete="off"
|
||||
class="form-control"
|
||||
name="date[]"
|
||||
|
||||
type="date"
|
||||
v-bind:placeholder="$t('firefly.date')"
|
||||
v-bind:title="$t('firefly.date')" @input="handleInput"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
class="btn btn-default"
|
||||
tabIndex="-1"
|
||||
type="button"
|
||||
v-on:click="clearDate"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: ['error', 'value', 'index'],
|
||||
name: "StandardDate",
|
||||
methods: {
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.date.value);
|
||||
},
|
||||
clearDate: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.date.value = '';
|
||||
this.$emit('input', this.$refs.date.value);
|
||||
// some event?
|
||||
this.$emit('clear:date')
|
||||
},
|
||||
}
|
||||
}
|
||||
export default {
|
||||
props: ['error', 'value', 'index'],
|
||||
name: "StandardDate",
|
||||
methods: {
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
handleInput(e) {
|
||||
this.$emit('input', this.$refs.date.value);
|
||||
},
|
||||
clearDate: function () {
|
||||
//props.value = '';
|
||||
this.name = '';
|
||||
this.$refs.date.value = '';
|
||||
this.$emit('input', this.$refs.date.value);
|
||||
// some event?
|
||||
this.$emit('clear:date')
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -19,91 +19,91 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
>
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.tags') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<vue-tags-input
|
||||
v-model="tag"
|
||||
:tags="tags"
|
||||
:title="$t('firefly.tags')"
|
||||
classes="form-input"
|
||||
:autocomplete-items="autocompleteItems"
|
||||
:add-only-from-autocomplete="false"
|
||||
@tags-changed="update"
|
||||
v-bind:placeholder="$t('firefly.tags')"
|
||||
/>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
v-on:click="clearTags"
|
||||
tabIndex="-1"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="form-group"
|
||||
v-bind:class="{ 'has-error': hasError()}"
|
||||
>
|
||||
<div class="col-sm-12 text-sm">
|
||||
{{ $t('firefly.tags') }}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<vue-tags-input
|
||||
v-model="tag"
|
||||
:add-only-from-autocomplete="false"
|
||||
:autocomplete-items="autocompleteItems"
|
||||
:tags="tags"
|
||||
:title="$t('firefly.tags')"
|
||||
classes="form-input"
|
||||
v-bind:placeholder="$t('firefly.tags')"
|
||||
@tags-changed="update"
|
||||
/>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
class="btn btn-default"
|
||||
tabIndex="-1"
|
||||
type="button"
|
||||
v-on:click="clearTags"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import axios from 'axios';
|
||||
import VueTagsInput from '@johmun/vue-tags-input';
|
||||
import axios from 'axios';
|
||||
import VueTagsInput from '@johmun/vue-tags-input';
|
||||
|
||||
export default {
|
||||
name: "Tags",
|
||||
components: {
|
||||
VueTagsInput
|
||||
},
|
||||
props: ['value','error'],
|
||||
data() {
|
||||
return {
|
||||
tag: '',
|
||||
autocompleteItems: [],
|
||||
debounce: null,
|
||||
tags: this.value,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'tag': 'initItems',
|
||||
},
|
||||
methods: {
|
||||
update(newTags) {
|
||||
this.autocompleteItems = [];
|
||||
this.tags = newTags;
|
||||
this.$emit('input', this.tags);
|
||||
},
|
||||
clearTags() {
|
||||
this.tags = [];
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
initItems() {
|
||||
// console.log('Now in initItems');
|
||||
if (this.tag.length < 2) {
|
||||
return;
|
||||
}
|
||||
const url = document.getElementsByTagName('base')[0].href + `api/v1/autocomplete/tags?query=${this.tag}`;
|
||||
export default {
|
||||
name: "Tags",
|
||||
components: {
|
||||
VueTagsInput
|
||||
},
|
||||
props: ['value', 'error'],
|
||||
data() {
|
||||
return {
|
||||
tag: '',
|
||||
autocompleteItems: [],
|
||||
debounce: null,
|
||||
tags: this.value,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'tag': 'initItems',
|
||||
},
|
||||
methods: {
|
||||
update(newTags) {
|
||||
this.autocompleteItems = [];
|
||||
this.tags = newTags;
|
||||
this.$emit('input', this.tags);
|
||||
},
|
||||
clearTags() {
|
||||
this.tags = [];
|
||||
},
|
||||
hasError: function () {
|
||||
return this.error.length > 0;
|
||||
},
|
||||
initItems() {
|
||||
// console.log('Now in initItems');
|
||||
if (this.tag.length < 2) {
|
||||
return;
|
||||
}
|
||||
const url = document.getElementsByTagName('base')[0].href + `api/v1/autocomplete/tags?query=${this.tag}`;
|
||||
|
||||
clearTimeout(this.debounce);
|
||||
this.debounce = setTimeout(() => {
|
||||
axios.get(url).then(response => {
|
||||
this.autocompleteItems = response.data.map(a => {
|
||||
return {text: a.tag};
|
||||
});
|
||||
}).catch(() => console.warn('Oh. Something went wrong loading tags.'));
|
||||
}, 600);
|
||||
},
|
||||
},
|
||||
}
|
||||
clearTimeout(this.debounce);
|
||||
this.debounce = setTimeout(() => {
|
||||
axios.get(url).then(response => {
|
||||
this.autocompleteItems = response.data.map(a => {
|
||||
return {text: a.tag};
|
||||
});
|
||||
}).catch(() => console.warn('Oh. Something went wrong loading tags.'));
|
||||
}, 600);
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -26,35 +26,35 @@
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="text"
|
||||
ref="descr"
|
||||
:title="$t('firefly.description')"
|
||||
:value="value"
|
||||
autocomplete="off"
|
||||
class="form-control"
|
||||
name="description[]"
|
||||
:title="$t('firefly.description')"
|
||||
v-on:keypress="handleEnter"
|
||||
v-on:submit.prevent
|
||||
ref="descr"
|
||||
autocomplete="off"
|
||||
type="text"
|
||||
v-bind:placeholder="$t('firefly.description')"
|
||||
:value="value" @input="handleInput"
|
||||
@input="handleInput"
|
||||
v-on:keypress="handleEnter" v-on:submit.prevent
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
v-on:click="clearDescription"
|
||||
tabIndex="-1"
|
||||
class="btn btn-default"
|
||||
type="button"><i class="fa fa-trash-o"></i></button>
|
||||
tabIndex="-1"
|
||||
type="button"
|
||||
v-on:click="clearDescription"><i class="fa fa-trash-o"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<typeahead
|
||||
v-model="name"
|
||||
:async-function="aSyncFunction"
|
||||
:open-on-empty=true
|
||||
:open-on-focus=true
|
||||
v-on:input="selectedItem"
|
||||
:async-function="aSyncFunction"
|
||||
v-model="name"
|
||||
:target="target"
|
||||
item-key="description"
|
||||
v-on:input="selectedItem"
|
||||
></typeahead>
|
||||
<ul class="list-unstyled" v-for="error in this.error">
|
||||
<ul v-for="error in this.error" class="list-unstyled">
|
||||
<li class="text-danger">{{ error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -19,70 +19,70 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-12">
|
||||
<label v-if="sentence !== ''" class="control-label text-info">
|
||||
{{ sentence }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-12">
|
||||
<label v-if="sentence !== ''" class="control-label text-info">
|
||||
{{ sentence }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
source: String,
|
||||
destination: String,
|
||||
type: String
|
||||
},
|
||||
methods: {
|
||||
changeValue: function () {
|
||||
if (this.source && this.destination) {
|
||||
let transactionType = '';
|
||||
if (window.accountToTypes[this.source]) {
|
||||
if (window.accountToTypes[this.source][this.destination]) {
|
||||
transactionType = window.accountToTypes[this.source][this.destination];
|
||||
} else {
|
||||
console.warn('User selected an impossible destination.');
|
||||
}
|
||||
} else {
|
||||
console.warn('User selected an impossible source.');
|
||||
}
|
||||
if ('' !== transactionType) {
|
||||
this.transactionType = transactionType;
|
||||
this.sentence = this.$t('firefly.you_create_' + transactionType.toLowerCase());
|
||||
export default {
|
||||
props: {
|
||||
source: String,
|
||||
destination: String,
|
||||
type: String
|
||||
},
|
||||
methods: {
|
||||
changeValue: function () {
|
||||
if (this.source && this.destination) {
|
||||
let transactionType = '';
|
||||
if (window.accountToTypes[this.source]) {
|
||||
if (window.accountToTypes[this.source][this.destination]) {
|
||||
transactionType = window.accountToTypes[this.source][this.destination];
|
||||
} else {
|
||||
console.warn('User selected an impossible destination.');
|
||||
}
|
||||
} else {
|
||||
console.warn('User selected an impossible source.');
|
||||
}
|
||||
if ('' !== transactionType) {
|
||||
this.transactionType = transactionType;
|
||||
this.sentence = this.$t('firefly.you_create_' + transactionType.toLowerCase());
|
||||
|
||||
// Must also emit a change to set ALL sources and destinations to this particular type.
|
||||
this.$emit('act:limitSourceType', this.source);
|
||||
this.$emit('act:limitDestinationType', this.destination);
|
||||
}
|
||||
} else {
|
||||
this.sentence = '';
|
||||
this.transactionType = '';
|
||||
}
|
||||
// emit event how cool is that.
|
||||
this.$emit('set:transactionType', this.transactionType);
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
transactionType: this.type,
|
||||
sentence: ''
|
||||
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
source() {
|
||||
this.changeValue();
|
||||
},
|
||||
destination() {
|
||||
this.changeValue();
|
||||
}
|
||||
},
|
||||
name: "TransactionType"
|
||||
// Must also emit a change to set ALL sources and destinations to this particular type.
|
||||
this.$emit('act:limitSourceType', this.source);
|
||||
this.$emit('act:limitDestinationType', this.destination);
|
||||
}
|
||||
} else {
|
||||
this.sentence = '';
|
||||
this.transactionType = '';
|
||||
}
|
||||
// emit event how cool is that.
|
||||
this.$emit('set:transactionType', this.transactionType);
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
transactionType: this.type,
|
||||
sentence: ''
|
||||
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
source() {
|
||||
this.changeValue();
|
||||
},
|
||||
destination() {
|
||||
this.changeValue();
|
||||
}
|
||||
},
|
||||
name: "TransactionType"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
12
resources/assets/js/create_transaction.js
vendored
12
resources/assets/js/create_transaction.js
vendored
@@ -72,9 +72,9 @@ const i18n = require('./i18n');
|
||||
|
||||
let props = {};
|
||||
new Vue({
|
||||
i18n,
|
||||
el: "#create_transaction",
|
||||
render: (createElement) => {
|
||||
return createElement(CreateTransaction, { props: props });
|
||||
},
|
||||
});
|
||||
i18n,
|
||||
el: "#create_transaction",
|
||||
render: (createElement) => {
|
||||
return createElement(CreateTransaction, {props: props});
|
||||
},
|
||||
});
|
||||
|
||||
14
resources/assets/js/edit_transaction.js
vendored
14
resources/assets/js/edit_transaction.js
vendored
@@ -44,7 +44,7 @@ import Bill from "./components/transactions/Bill";
|
||||
* vue, uiv and vuei18n are in app_vue.js
|
||||
*/
|
||||
|
||||
require('./bootstrap');
|
||||
require('./bootstrap');
|
||||
|
||||
// components for create and edit transactions.
|
||||
Vue.component('budget', Budget);
|
||||
@@ -72,9 +72,9 @@ const i18n = require('./i18n');
|
||||
|
||||
let props = {};
|
||||
new Vue({
|
||||
i18n,
|
||||
el: "#edit_transaction",
|
||||
render: (createElement) => {
|
||||
return createElement(EditTransaction, { props: props })
|
||||
},
|
||||
});
|
||||
i18n,
|
||||
el: "#edit_transaction",
|
||||
render: (createElement) => {
|
||||
return createElement(EditTransaction, {props: props})
|
||||
},
|
||||
});
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">Buchung #{ID}<\/a> wurde gespeichert.",
|
||||
"transaction_journal_information": "Transaktionsinformationen",
|
||||
"no_budget_pointer": "Sie scheinen noch keine Kostenrahmen festgelegt zu haben. Sie sollten einige davon auf der Seite <a href=\"budgets\">Kostenrahmen<\/a>- anlegen. Kostenrahmen k\u00f6nnen Ihnen dabei helfen, den \u00dcberblick \u00fcber die Ausgaben zu behalten.",
|
||||
"no_bill_pointer": "You seem to have no bills yet. You should create some on the <a href=\"bills\">bills<\/a>-page. Bills can help you keep track of expenses.",
|
||||
"no_bill_pointer": "Sie scheinen noch keine Rechnungen zu haben. Sie sollten einige auf der Seite <a href=\"bills\">Rechnungen<\/a> erstellen. Anhand der Rechnungen k\u00f6nnen Sie den \u00dcberblick \u00fcber Ihre Ausgaben behalten.",
|
||||
"source_account": "Quellkonto",
|
||||
"hidden_fields_preferences": "You can enable more transaction options in your <a href=\"preferences\">preferences<\/a>.",
|
||||
"hidden_fields_preferences": "Sie k\u00f6nnen weitere Buchungsoptionen in Ihren <a href=\"preferences\">Einstellungen<\/a> aktivieren.",
|
||||
"destination_account": "Zielkonto",
|
||||
"add_another_split": "Eine weitere Aufteilung hinzuf\u00fcgen",
|
||||
"submission": "\u00dcbermittlung",
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
"errors_submission": "Hiba t\u00f6rt\u00e9nt a bek\u00fcld\u00e9s sor\u00e1n. K\u00e9rem, jav\u00edtsa az al\u00e1bbi hib\u00e1kat.",
|
||||
"split": "Feloszt\u00e1s",
|
||||
"single_split": "Feloszt\u00e1s",
|
||||
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> has been stored.",
|
||||
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> mentve.",
|
||||
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> has been updated.",
|
||||
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> has been stored.",
|
||||
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> mentve.",
|
||||
"transaction_journal_information": "Tranzakci\u00f3s inform\u00e1ci\u00f3k",
|
||||
"no_budget_pointer": "You seem to have no budgets yet. You should create some on the <a href=\"budgets\">budgets<\/a>-page. Budgets can help you keep track of expenses.",
|
||||
"no_bill_pointer": "You seem to have no bills yet. You should create some on the <a href=\"bills\">bills<\/a>-page. Bills can help you keep track of expenses.",
|
||||
"source_account": "Forr\u00e1s sz\u00e1mla",
|
||||
"hidden_fields_preferences": "You can enable more transaction options in your <a href=\"preferences\">preferences<\/a>.",
|
||||
"hidden_fields_preferences": "A <a href=\"preferences\">be\u00e1ll\u00edt\u00e1sokban<\/a> t\u00f6bb mez\u0151 is enged\u00e9lyezhet\u0151.",
|
||||
"destination_account": "C\u00e9lsz\u00e1mla",
|
||||
"add_another_split": "M\u00e1sik feloszt\u00e1s hozz\u00e1ad\u00e1sa",
|
||||
"submission": "Feliratkoz\u00e1s",
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
"transaction_updated_link": "La <a href=\"transactions\/show\/{ID}\">transazione #{ID}<\/a> \u00e8 stata aggiornata.",
|
||||
"transaction_new_stored_link": "La <a href=\"transactions\/show\/{ID}\">transazione #{ID}<\/a> \u00e8 stata salvata.",
|
||||
"transaction_journal_information": "Informazioni transazione",
|
||||
"no_budget_pointer": "You seem to have no budgets yet. You should create some on the <a href=\"budgets\">budgets<\/a>-page. Budgets can help you keep track of expenses.",
|
||||
"no_bill_pointer": "You seem to have no bills yet. You should create some on the <a href=\"bills\">bills<\/a>-page. Bills can help you keep track of expenses.",
|
||||
"no_budget_pointer": "Sembra che tu non abbia ancora dei budget. Dovresti crearne alcuni nella pagina dei <a href=\"budgets\">budget<\/a>. I budget possono aiutarti a tenere traccia delle spese.",
|
||||
"no_bill_pointer": "Sembra che tu non abbia ancora delle bollette. Dovresti crearne alcune nella pagina delle <a href=\"bills\">bollette<\/a>. Le bollette possono aiutarti a tenere traccia delle spese.",
|
||||
"source_account": "Conto di origine",
|
||||
"hidden_fields_preferences": "You can enable more transaction options in your <a href=\"preferences\">preferences<\/a>.",
|
||||
"hidden_fields_preferences": "Puoi abilitare maggiori opzioni per le transazioni nelle tue <a href=\"preferences\">impostazioni<\/a>.",
|
||||
"destination_account": "Conto destinazione",
|
||||
"add_another_split": "Aggiungi un'altra divisione",
|
||||
"submission": "Invio",
|
||||
@@ -88,7 +88,7 @@
|
||||
"multi_account_warning_transfer": "Ricorda che il conto di origine e il conto di destinazione delle successive suddivisioni verranno sovrascritti da quelli definiti nella prima suddivisione del trasferimento."
|
||||
},
|
||||
"form": {
|
||||
"interest_date": "Data interesse",
|
||||
"interest_date": "Data di valuta",
|
||||
"book_date": "Data contabile",
|
||||
"process_date": "Data elaborazione",
|
||||
"due_date": "Data scadenza",
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f #{ID}<\/a> \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430.",
|
||||
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f #{ID}<\/a> \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430.",
|
||||
"transaction_journal_information": "\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438",
|
||||
"no_budget_pointer": "You seem to have no budgets yet. You should create some on the <a href=\"budgets\">budgets<\/a>-page. Budgets can help you keep track of expenses.",
|
||||
"no_bill_pointer": "You seem to have no bills yet. You should create some on the <a href=\"bills\">bills<\/a>-page. Bills can help you keep track of expenses.",
|
||||
"no_budget_pointer": "\u041f\u043e\u0445\u043e\u0436\u0435, \u0443 \u0432\u0430\u0441 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u0431\u044e\u0434\u0436\u0435\u0442\u043e\u0432. \u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u0445 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 <a href=\"budgets\">\u0411\u044e\u0434\u0436\u0435\u0442\u044b<\/a>. \u0411\u044e\u0434\u0436\u0435\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u0445\u043e\u0434\u044b.",
|
||||
"no_bill_pointer": "\u041f\u043e\u0445\u043e\u0436\u0435, \u0443 \u0432\u0430\u0441 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u0441\u0447\u0435\u0442\u043e\u0432 \u043d\u0430 \u043e\u043f\u043b\u0430\u0442\u0443. \u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u0445 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 <a href=\"bills\">\u0421\u0447\u0435\u0442\u0430 \u043d\u0430 \u043e\u043f\u043b\u0430\u0442\u0443<\/a>. \u0421\u0447\u0435\u0442\u0430 \u043d\u0430 \u043e\u043f\u043b\u0430\u0442\u0443 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u0445\u043e\u0434\u044b.",
|
||||
"source_account": "\u0421\u0447\u0451\u0442-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a",
|
||||
"hidden_fields_preferences": "You can enable more transaction options in your <a href=\"preferences\">preferences<\/a>.",
|
||||
"destination_account": "\u0421\u0447\u0451\u0442 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"flash_error": "Fel!",
|
||||
"flash_success": "Slutf\u00f6rd!",
|
||||
"close": "St\u00e4ng",
|
||||
"split_transaction_title": "Description of the split transaction",
|
||||
"split_transaction_title": "Beskrivning av delad transaktion",
|
||||
"errors_submission": "N\u00e5got fel uppstod med inskickningen. V\u00e4nligen kontrollera felen nedan.",
|
||||
"split": "Dela",
|
||||
"single_split": "Dela",
|
||||
@@ -12,10 +12,10 @@
|
||||
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Transaktion #{ID}<\/a> uppdaterades.",
|
||||
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaktion #{ID}<\/a> sparades.",
|
||||
"transaction_journal_information": "Transaktionsinformation",
|
||||
"no_budget_pointer": "You seem to have no budgets yet. You should create some on the <a href=\"budgets\">budgets<\/a>-page. Budgets can help you keep track of expenses.",
|
||||
"no_bill_pointer": "You seem to have no bills yet. You should create some on the <a href=\"bills\">bills<\/a>-page. Bills can help you keep track of expenses.",
|
||||
"no_budget_pointer": "Du verkar inte ha n\u00e5gra budgetar \u00e4n. Du b\u00f6r skapa n\u00e5gra p\u00e5 <a href=\"budgets\">budgetar<\/a>-sidan. Budgetar kan hj\u00e4lpa dig att h\u00e5lla reda p\u00e5 utgifter.",
|
||||
"no_bill_pointer": "Du verkar inte ha n\u00e5gra r\u00e4kningar \u00e4nnu. Du b\u00f6r skapa n\u00e5gra p\u00e5 <a href=\"bills\">r\u00e4kningar<\/a>-sidan. R\u00e4kningar kan hj\u00e4lpa dig att h\u00e5lla reda p\u00e5 utgifter.",
|
||||
"source_account": "K\u00e4llkonto",
|
||||
"hidden_fields_preferences": "You can enable more transaction options in your <a href=\"preferences\">preferences<\/a>.",
|
||||
"hidden_fields_preferences": "Du kan aktivera fler transaktionsalternativ i dina <a href=\"preferences\">inst\u00e4llningar<\/a>.",
|
||||
"destination_account": "Till konto",
|
||||
"add_another_split": "L\u00e4gga till en annan delning",
|
||||
"submission": "Inskickning",
|
||||
@@ -34,18 +34,18 @@
|
||||
"update_transaction": "Uppdatera transaktion",
|
||||
"after_update_create_another": "Efter uppdaterat, \u00e5terkom hit f\u00f6r att forts\u00e4tta redigera.",
|
||||
"store_as_new": "Spara en ny transaktion ist\u00e4llet f\u00f6r att uppdatera.",
|
||||
"split_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction.",
|
||||
"split_title_help": "Om du skapar en delad transaktion m\u00e5ste det finnas en global beskrivning f\u00f6r alla delningar av transaktionen.",
|
||||
"none_in_select_list": "(Ingen)",
|
||||
"no_piggy_bank": "(ingen spargris)",
|
||||
"description": "Beskrivning",
|
||||
"split_transaction_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction.",
|
||||
"split_transaction_title_help": "Om du skapar en delad transaktion m\u00e5ste det finnas en global beskrivning f\u00f6r alla delningar av transaktionen.",
|
||||
"destination_account_reconciliation": "Du kan inte redigera destinationskontot f\u00f6r en avst\u00e4mningstransaktion.",
|
||||
"source_account_reconciliation": "Du kan inte redigera k\u00e4llkontot f\u00f6r en avst\u00e4mningstransaktion.",
|
||||
"budget": "Budget",
|
||||
"bill": "Nota",
|
||||
"you_create_withdrawal": "You're creating a withdrawal.",
|
||||
"you_create_transfer": "You're creating a transfer.",
|
||||
"you_create_deposit": "You're creating a deposit.",
|
||||
"you_create_withdrawal": "Du skapar ett uttag.",
|
||||
"you_create_transfer": "Du skapar en \u00f6verf\u00f6ring.",
|
||||
"you_create_deposit": "Du skapar en ins\u00e4ttning.",
|
||||
"edit": "Redigera",
|
||||
"delete": "Ta bort",
|
||||
"name": "Namn",
|
||||
@@ -76,7 +76,7 @@
|
||||
"profile_create_token": "Skapa token",
|
||||
"profile_create": "Skapa",
|
||||
"profile_save_changes": "Spara \u00e4ndringar",
|
||||
"default_group_title_name": "(ungrouped)",
|
||||
"default_group_title_name": "(ogrupperad)",
|
||||
"piggy_bank": "Spargris",
|
||||
"profile_oauth_client_secret_title": "Klienthemlighet",
|
||||
"profile_oauth_client_secret_expl": "H\u00e4r \u00e4r din nya klient hemlighet. Detta \u00e4r den enda g\u00e5ngen det kommer att visas s\u00e5 f\u00f6rlora inte det! Du kan nu anv\u00e4nda denna hemlighet f\u00f6r att g\u00f6ra API-f\u00f6rfr\u00e5gningar.",
|
||||
|
||||
14
resources/assets/js/profile.js
vendored
14
resources/assets/js/profile.js
vendored
@@ -32,7 +32,7 @@ import ProfileOptions from "./components/profile/ProfileOptions";
|
||||
require('./bootstrap');
|
||||
|
||||
Vue.component('passport-clients', Clients);
|
||||
Vue.component('passport-authorized-clients',AuthorizedClients);
|
||||
Vue.component('passport-authorized-clients', AuthorizedClients);
|
||||
Vue.component('passport-personal-access-tokens', PersonalAccessTokens);
|
||||
|
||||
Vue.component('profile-options', ProfileOptions);
|
||||
@@ -41,9 +41,9 @@ const i18n = require('./i18n');
|
||||
|
||||
let props = {};
|
||||
new Vue({
|
||||
i18n,
|
||||
el: "#passport_clients",
|
||||
render: (createElement) => {
|
||||
return createElement(ProfileOptions, { props: props })
|
||||
},
|
||||
});
|
||||
i18n,
|
||||
el: "#passport_clients",
|
||||
render: (createElement) => {
|
||||
return createElement(ProfileOptions, {props: props})
|
||||
},
|
||||
});
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Търсене',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Заявка',
|
||||
'search_found_transactions' => 'Firefly III намери :count транзакция за :time секунди.|Firefly III намери :count транзакции за :time секунди.',
|
||||
'search_found_more_transactions' => 'Firefly III намери повече от :count транзакции за :time секунди.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Вече можете да влезете отново със стария си имейл адрес.',
|
||||
'login_provider_local_only' => 'Това действие не е достъпно при удостоверяване чрез ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'Това действие не е достъпно, когато Firefly III не е отговорен за управлението на потребителите или обработката на удостоверяването.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Тъй като Firefly III не е отговорен за управлението на потребителите или обработката на удостоверяването, тази функция ще изтрие само локална информация на Firefly III.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth клиенти',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Hledat',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Dotaz',
|
||||
'search_found_transactions' => 'Firefly III found :count transaction in :time seconds.|Firefly III found :count transactions in :time seconds.',
|
||||
'search_found_more_transactions' => 'Firefly III found more than :count transactions in :time seconds.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Nyní se můžete přihlásit pomocí původní e-mailové adresy.',
|
||||
'login_provider_local_only' => 'This action is not available when authenticating through ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
|
||||
@@ -40,8 +40,8 @@ return [
|
||||
'reports' => 'Berichte',
|
||||
'search_result' => 'Suchergebnisse für ":query"',
|
||||
'withdrawal_list' => 'Ausgaben',
|
||||
'Withdrawal_list' => 'Aufwendungen',
|
||||
'deposit_list' => 'Umsatz, Einkommen und Einzahlungen',
|
||||
'Withdrawal_list' => 'Ausgaben',
|
||||
'deposit_list' => 'Einnahmen, Einkommen und Einzahlungen',
|
||||
'transfer_list' => 'Umbuchungen',
|
||||
'transfers_list' => 'Umbuchungen',
|
||||
'reconciliation_list' => 'Kontenabgleiche',
|
||||
|
||||
@@ -26,7 +26,7 @@ return [
|
||||
'no_demo_text' => 'Leider gibt es keine zusätzlichen Demo-Erklärungen für <abbr title=":route">diese Seite</abbr>.',
|
||||
'see_help_icon' => 'Vielleicht erfahren Sie mehr über das <i class="fa fa-question-circle"></i>-Icon in der oberen rechten Ecke.',
|
||||
'index' => 'Willkommen bei <strong>Firefly III</strong>! Auf dieser Seite erhalten Sie einen schnellen Überblick über Ihre Finanzen. Für einen schnellen Start empfehlen wir einen Besuch bei den → <a href=":asset">Bestandskoten</a>, den <a href=":budgets">Budgets</a> oder den <a href=":reports">Berichten</a>. Oder sehen Sie sich einfach um und schauen, wo Sie landen.',
|
||||
'accounts-index' => 'Bestandskonten sind Ihre persönlichen Bankkonten. Kreditoren sind die Konten, bei denen Sie Geld ausgeben, wie z.B. Geschäfte und Freunde. Schuldner sind Konten, von denen Sie Geld erhalten, wie z.B. von Ihrem Job, der Regierung oder anderen Einkommensquellen. Verbindlichkeiten sind Ihre Forderungen und Kredite wie alte Kreditkartenschulden oder Studentendarlehen. Auf dieser Seite können Sie sie bearbeiten oder entfernen.',
|
||||
'accounts-index' => 'Bestandskonten sind Ihre persönlichen Bankkonten. Ausgabekonten sind die Konten, bei denen Sie Geld ausgeben, wie z.B. Geschäfte und Freunde. Einnahmekonten sind Konten, von denen Sie Geld erhalten, wie z.B. von Ihrem Job, der Regierung oder anderen Einkommensquellen. Verbindlichkeiten sind Ihre Forderungen und Kredite wie alte Kreditkartenschulden oder Studentendarlehen. Auf dieser Seite können Sie diese bearbeiten oder entfernen.',
|
||||
'budgets-index' => 'Hier finden Sie einen Überblick über Ihre Budgets. Die obere Leiste zeigt den zur Verfügung stehenden Betrag. Dieser kann angepasst werden, indem Sie auf den Betrag auf der rechten Seite klicken. Bisherige Ausgaben werden in der darunter liegenden Leiste angezeigt. Darunter finden Sie die von Ihnen angelegten Budgets sowie die bereits darauf verbuchten Ausgaben.',
|
||||
'reports-index-start' => 'Firefly III unterstützt eine Reihe von Berichten. Weitere Informationen dazu erhalten Sie über das <i class="fa fa-question-circle"></i>-Symbol in der oberen rechten Ecke.',
|
||||
'reports-index-examples' => 'Sehen Sie sich auch diese Beispiele an: <a href=":one">eine monatliche Finanzübersicht</a>, <a href=":two">eine jährliche Finanzübersicht</a> und <a href=":three">eine Budgetübersicht</a>.',
|
||||
|
||||
@@ -62,15 +62,15 @@ return [
|
||||
'clones_journal_x' => 'Diese Buchung ist ein Duplikat von ":description" (#:id)',
|
||||
'go_to_categories' => 'Kategorien anzeigen',
|
||||
'go_to_bills' => 'Rechnungen anzeigen',
|
||||
'go_to_expense_accounts' => 'Kreditoren (Ausgabenkonten) anzeigen',
|
||||
'go_to_revenue_accounts' => 'Erlöskonten anzeigen',
|
||||
'go_to_expense_accounts' => 'Ausgabenkonten anzeigen',
|
||||
'go_to_revenue_accounts' => 'Einnahmekonten anzeigen',
|
||||
'go_to_piggies' => 'Sparschweine anzeigen',
|
||||
'new_deposit' => 'Neue Einnahme',
|
||||
'new_transfer' => 'Neue Umbuchung',
|
||||
'new_transfers' => 'Neue Umbuchung',
|
||||
'new_asset_account' => 'Neues Bestandskonto',
|
||||
'new_expense_account' => 'Neuer Kreditor (Ausgabenkonto)',
|
||||
'new_revenue_account' => 'Neuer Kreditor (Einnahmenkonto)',
|
||||
'new_expense_account' => 'Neues Ausgabenkonto',
|
||||
'new_revenue_account' => 'Neues Einnahmenkonto',
|
||||
'new_liabilities_account' => 'Neue Verbindlichkeit',
|
||||
'new_budget' => 'Neues Budget',
|
||||
'new_bill' => 'Neue Rechnung',
|
||||
@@ -105,7 +105,7 @@ return [
|
||||
'registered' => 'Sie haben sich erfolgreich registriert!',
|
||||
'Default asset account' => 'Standard-Bestandskonto',
|
||||
'no_budget_pointer' => 'Sie scheinen noch keine Kostenrahmen festgelegt zu haben. Sie sollten einige davon auf der Seite <a href="budgets">Kostenrahmen</a>- anlegen. Kostenrahmen können Ihnen dabei helfen, den Überblick über die Ausgaben zu behalten.',
|
||||
'no_bill_pointer' => 'You seem to have no bills yet. You should create some on the <a href="bills">bills</a>-page. Bills can help you keep track of expenses.',
|
||||
'no_bill_pointer' => 'Sie scheinen noch keine Rechnungen zu haben. Sie sollten einige auf der Seite <a href="bills">Rechnungen</a> erstellen. Anhand der Rechnungen können Sie den Überblick über Ihre Ausgaben behalten.',
|
||||
'Savings account' => 'Sparkonto',
|
||||
'Credit card' => 'Kreditkarte',
|
||||
'source_accounts' => 'Quellkonto|Quellkonten',
|
||||
@@ -120,7 +120,7 @@ return [
|
||||
'expenses_by_budget' => 'Ausgaben nach Budget',
|
||||
'income_by_category' => 'Einnahmen nach Kategorie',
|
||||
'expenses_by_asset_account' => 'Ausgaben nach Bestandskonto',
|
||||
'expenses_by_expense_account' => 'Aufwendungen nach Kreditor (Ausgabenkonto)',
|
||||
'expenses_by_expense_account' => 'Ausgaben nach Ausgabenkontno',
|
||||
'cannot_redirect_to_account' => 'Entschuldigen Sie bitte. Firefly III kann Sie nicht zur richtigen Seite weiterleiten.',
|
||||
'sum_of_expenses' => 'Summe von Ausgaben',
|
||||
'sum_of_income' => 'Summe von Einnahmen',
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Suche',
|
||||
'long_query_warning' => 'Ihre Suchanfrage ist sehr lang und funktioniert möglicherweise nicht wie erwartet.',
|
||||
'search_query' => 'Abfrage',
|
||||
'search_found_transactions' => 'Firefly III hat :count Transaktion in :time Sekunden gefunden.|Firefly III hat :count Transaktionen in :time Sekunden gefunden.',
|
||||
'search_found_more_transactions' => 'Firefly III hat mehr als :count Transaktionen in :time Sekunden gefunden.',
|
||||
@@ -652,7 +653,7 @@ return [
|
||||
'preferences_security' => 'Sicherheit',
|
||||
'preferences_layout' => 'Anordnung',
|
||||
'pref_home_show_deposits' => 'Einnahmen auf dem Startbildschirm anzeigen',
|
||||
'pref_home_show_deposits_info' => 'Der Startbildschirm zeigt schon Ihre Aufwandskonten an. Sollen zusätzlich Ihre Erlöskonten angezeigt werden?',
|
||||
'pref_home_show_deposits_info' => 'Der Startbildschirm zeigt schon Ihre Ausgabekonten an. Sollen zusätzlich Ihre Einnahmekonten angezeigt werden?',
|
||||
'pref_home_do_show_deposits' => 'Ja, zeige sie an',
|
||||
'successful_count' => 'davon :count erfolgreich',
|
||||
'list_page_size_title' => 'Einträge pro Seite',
|
||||
@@ -694,8 +695,8 @@ return [
|
||||
'delete_all_object_groups' => 'ALLE Objektgruppen löschen',
|
||||
'delete_all_accounts' => 'ALLE Konten löschen',
|
||||
'delete_all_asset_accounts' => 'ALLE Bestandskonten löschen',
|
||||
'delete_all_expense_accounts' => 'ALLE Ausgabenkonto löschen',
|
||||
'delete_all_revenue_accounts' => 'ALLE Einnahmenkonto löschen',
|
||||
'delete_all_expense_accounts' => 'ALLE Ausgabekonten löschen',
|
||||
'delete_all_revenue_accounts' => 'ALLE Einnahmekonten löschen',
|
||||
'delete_all_liabilities' => 'ALLE Verbindlichkeiten löschen',
|
||||
'delete_all_transactions' => 'ALLE Buchungen löschen',
|
||||
'delete_all_withdrawals' => 'ALLE Ausgaben löschen',
|
||||
@@ -748,12 +749,13 @@ return [
|
||||
'regenerate_command_line_token' => 'Kommandozeilen-Authentifizierungsschlüssel erneut generieren',
|
||||
'token_regenerated' => 'Ein neuer Kommandozeilen-Authentifizierungsschlüssel wurde generiert',
|
||||
'change_your_email' => 'E-Mail Adresse ändern',
|
||||
'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the <a href="admin">Administration</a>.',
|
||||
'email_verification' => 'Eine E-Mail wird an Ihre alte UND neue E-Mail-Adresse gesendet. Aus Sicherheitsgründen können Sie sich erst anmelden, wenn Sie Ihre neue E-Mail-Adresse bestätigt haben. Wenn Sie sich nicht sicher sind, ob Ihre Firefly III-Installation E-Mails versenden kann, verwenden Sie diese Funktion bitte nicht. Wenn Sie Administrator sind, können Sie dies in der <a href="admin">Verwaltung</a> testen.',
|
||||
'email_changed_logout' => 'Sie müssen Ihre E-Mail-Adresse bestätigen, um sich anmelden zu können.',
|
||||
'login_with_new_email' => 'Sie können sich jetzt mit Ihrer neuen E-Mail-Adresse anmelden.',
|
||||
'login_with_old_email' => 'Sie können sich jetzt wieder mit Ihrer alten E-Mail-Adresse anmelden.',
|
||||
'login_provider_local_only' => 'Diese Aktion ist bei der Authentifizierung durch ":login_provider" nicht verfügbar.',
|
||||
'external_user_mgt_disabled' => 'Diese Aktion ist nicht verfügbar, wenn Firefly III nicht für die Benutzerverwaltung oder die Authentifizierungsbehandlung zuständig ist.',
|
||||
'external_auth_disabled' => 'Diese Aktion ist nicht verfügbar, wenn Firefly III nicht für die Bearbeitung der Authentifizierung zuständig ist.',
|
||||
'delete_local_info_only' => "Da Firefly III nicht für die Benutzerverwaltung oder die Authentifizierungsbehandlung zuständig ist, löscht diese Funktion nur lokale Firefly III-Informationen.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth-Clients',
|
||||
@@ -841,9 +843,9 @@ return [
|
||||
'convert_Deposit_to_transfer' => 'Konvertieren Sie diese Einnahme in eine Umbuchung',
|
||||
'convert_Transfer_to_deposit' => 'Konvertieren Sie diese Umbuchung in eine Einnahme',
|
||||
'convert_Transfer_to_withdrawal' => 'Konvertieren Sie diese Umbuchung in eine Ausgabe',
|
||||
'convert_please_set_revenue_source' => 'Bitte einen Schuldner wählen, woher das Geld kommen wird.',
|
||||
'convert_please_set_revenue_source' => 'Bitte das Einnahmenkonto wählen, von welchem das Geld kommen wird.',
|
||||
'convert_please_set_asset_destination' => 'Bitte wählen Sie das Bestandskonto, auf das das Geld überwiesen werden soll.',
|
||||
'convert_please_set_expense_destination' => 'Bitte wählen Sie einen Kreditor (Ausgabenkonto), an den das Geld gehen soll.',
|
||||
'convert_please_set_expense_destination' => 'Bitte wählen Sie das Ausgabenkonto, an das das Geld gehen soll.',
|
||||
'convert_please_set_asset_source' => 'Bitte das Bestandskonto wählen, von dem das Geld kommt.',
|
||||
'convert_expl_w_d' => 'Bei der Umwandlung von einer Auszahlung in eine Einzahlung wird das Geld auf das angezeigte Zielkonto eingezahlt, anstatt davon abgebucht zu werden.|Bei der Umwandlung von einer Auszahlung in eine Einzahlung wird das Geld auf die angezeigten Zielkonten eingezahlt, anstatt von diesem abgebucht zu werden.',
|
||||
'convert_expl_w_t' => 'Bei der Umwandlung einer Ausgabe in eine Überweisung wird das Geld vom Quellkonto auf ein anderes Vermögens- oder Verbindlichkeitskonto überwiesen, anstatt auf das ursprüngliche Ausgabenkonto gebucht zu werden.|Bei der Umwandlung einer Ausgabe in eine Überweisung, wird das Geld von den Quellkonten auf andere Vermögens- oder Verbindlichkeitskonten überwiesen, anstatt auf die ursprünglichen Ausgabenkonten gebucht zu werden.',
|
||||
@@ -867,8 +869,8 @@ return [
|
||||
'create_new_deposit' => 'Erstelle eine neue Einnahme',
|
||||
'create_new_transfer' => 'Eine neue Umbuchung erstellen',
|
||||
'create_new_asset' => 'Neues Bestandskonto erstellen',
|
||||
'create_new_expense' => 'Neuen Kreditor (Ausgabenkonto) erstellen',
|
||||
'create_new_revenue' => 'Neuen Schuldner erstellen',
|
||||
'create_new_expense' => 'Neues Ausgabenkonto erstellen',
|
||||
'create_new_revenue' => 'Neues Einnahmenkonto erstellen',
|
||||
'create_new_piggy_bank' => 'Ein neues Sparschwein erstellen',
|
||||
'create_new_bill' => 'Eine neue Rechnung erstellen',
|
||||
|
||||
@@ -1005,36 +1007,36 @@ return [
|
||||
'active_account_link' => 'Diese Verknüpfung führt zurück zu Ihren aktiven Konten.',
|
||||
'account_missing_transaction' => 'Konto #:id („:name”) kann nicht direkt angezeigt werden, da Firefly III Weiterleitungsinformationen fehlen.',
|
||||
'details_for_asset' => 'Details zum Bestandskonto „:name”',
|
||||
'details_for_expense' => 'Details zum Kreditor (Ausgabenkonto) „:name”',
|
||||
'details_for_revenue' => 'Details zum Schuldner „:name”',
|
||||
'details_for_expense' => 'Details zum Ausgabenkonto „:name”',
|
||||
'details_for_revenue' => 'Details zum Einnahmenkonto „:name”',
|
||||
'details_for_cash' => 'Details zur Geldbörse „:name”',
|
||||
'store_new_asset_account' => 'Neues Bestandskonto speichern',
|
||||
'store_new_expense_account' => 'Neuen Kreditor (Ausgabenkonto) speichern',
|
||||
'store_new_revenue_account' => 'Neuen Schuldner speichern',
|
||||
'store_new_expense_account' => 'Neues Ausgabenkonto speichern',
|
||||
'store_new_revenue_account' => 'Neues Einnahmenkonto speichern',
|
||||
'edit_asset_account' => 'Bestandskonto „:name” bearbeiten',
|
||||
'edit_expense_account' => 'Kreditor (Ausgabenkonto) „:name” bearbeiten',
|
||||
'edit_revenue_account' => 'Schuldner „:name” bearbeiten',
|
||||
'edit_expense_account' => 'Ausgabenkonto „:name” bearbeiten',
|
||||
'edit_revenue_account' => 'Einnahmenkonto „:name” bearbeiten',
|
||||
'delete_asset_account' => 'Bestandskonto „:name” löschen',
|
||||
'delete_expense_account' => 'Kreditor (Ausgabenkonto) „:name” löschen',
|
||||
'delete_revenue_account' => 'Schuldner „:name” löschen',
|
||||
'delete_expense_account' => 'Ausgabenkonto „:name” löschen',
|
||||
'delete_revenue_account' => 'Einnahmenkonto „:name” löschen',
|
||||
'delete_liabilities_account' => 'Verbindlichkeit „:name” löschen',
|
||||
'asset_deleted' => 'Bestandskonto „:name” erfolgreich gelöscht',
|
||||
'expense_deleted' => 'Kreditor (Ausgabenkonto) „:name” erfolgreich gelöscht',
|
||||
'revenue_deleted' => 'Schuldner „:name” erfolgreich gelöscht',
|
||||
'expense_deleted' => 'Ausgabenkonto „:name” erfolgreich gelöscht',
|
||||
'revenue_deleted' => 'Einnahmenkonto „:name” erfolgreich gelöscht',
|
||||
'update_asset_account' => 'Bestandskonto aktualisieren',
|
||||
'update_liabilities_account' => 'Verbindlichkeit aktualisieren',
|
||||
'update_expense_account' => 'Kreditor (Ausgabenkonto) aktualisieren',
|
||||
'update_revenue_account' => 'Schuldner aktualisieren',
|
||||
'update_expense_account' => 'Ausgabenkonto aktualisieren',
|
||||
'update_revenue_account' => 'Einnahmenkonto aktualisieren',
|
||||
'make_new_asset_account' => 'Neues Bestandskonto anlegen',
|
||||
'make_new_expense_account' => 'Neuen Kreditor (Ausgabenkonto) anlegen',
|
||||
'make_new_revenue_account' => 'Neuen Schuldner anlegen',
|
||||
'make_new_expense_account' => 'Neues Ausgabenkonto anlegen',
|
||||
'make_new_revenue_account' => 'Neues Einnahmenkonto anlegen',
|
||||
'make_new_liabilities_account' => 'Neue Verbindlichkeit anlegen',
|
||||
'asset_accounts' => 'Bestandskonten',
|
||||
'asset_accounts_inactive' => 'Bestandskonten (inaktiv)',
|
||||
'expense_accounts' => 'Kreditoren (Ausgabenkonten)',
|
||||
'expense_accounts_inactive' => 'Aufwandskonten (inaktiv)',
|
||||
'revenue_accounts' => 'Schuldner',
|
||||
'revenue_accounts_inactive' => 'Ertragskonten (inaktiv)',
|
||||
'expense_accounts' => 'Ausgabekonten',
|
||||
'expense_accounts_inactive' => 'Ausgabekonten (inaktiv)',
|
||||
'revenue_accounts' => 'Einnahmekonten',
|
||||
'revenue_accounts_inactive' => 'Einnahmekonten (inaktiv)',
|
||||
'cash_accounts' => 'Geldbörsen',
|
||||
'Cash account' => 'Geldbörse',
|
||||
'liabilities_accounts' => 'Verbindlichkeiten',
|
||||
@@ -1075,7 +1077,7 @@ return [
|
||||
'select_at_least_one_category' => 'Bitte mindestens eine Kategorie auswählen',
|
||||
'select_at_least_one_budget' => 'Bitte mindestens ein Budget auswählen',
|
||||
'select_at_least_one_tag' => 'Bitte mindestens eine Schlagwort auswählen',
|
||||
'select_at_least_one_expense' => 'Bitte wählen Sie mindestens eine Kombination aus Kreditor und Schuldner (ein Konto muss beides sein) aus. Wenn Sie keine besitzen (die Liste ist leer), ist dieser Bericht nicht verfügbar.',
|
||||
'select_at_least_one_expense' => 'Bitte wählen Sie mindestens eine Kombination aus Ausgabe- und Einnahmekonten aus. Wenn Sie keine besitzen (die Liste ist leer), ist dieser Bericht nicht verfügbar.',
|
||||
'account_default_currency' => 'Dies ist die Standardwährung für dieses Konto.',
|
||||
'reconcile_has_more' => 'Ihr Firefly III-Konto verfügt über mehr Geld, als Ihre Bank behauptet. Es gibt mehrere Möglichkeiten. Bitte wählen Sie aus, was Sie tun möchten. Drücken Sie anschließend auf „Abgleich bestätigen”.',
|
||||
'reconcile_has_less' => 'Ihr Firefly III-Konto verfügt über weniger Geld, als Ihre Bank behauptet. Es gibt mehrere Möglichkeiten. Bitte wählen Sie aus, was Sie tun möchten. Drücken Sie dann auf „Abgleich bestätigen”.',
|
||||
@@ -1195,8 +1197,8 @@ return [
|
||||
'opt_group_sharedAsset' => 'Gemeinsame Bestandskonten',
|
||||
'opt_group_ccAsset' => 'Kreditkarten',
|
||||
'opt_group_cashWalletAsset' => 'Geldbörsen',
|
||||
'opt_group_expense_account' => 'Aufwandskonten',
|
||||
'opt_group_revenue_account' => 'Erlöskonten',
|
||||
'opt_group_expense_account' => 'Ausgabekonten',
|
||||
'opt_group_revenue_account' => 'Einnahmekonten',
|
||||
'opt_group_l_Loan' => 'Verbindlichkeit: Darlehen',
|
||||
'opt_group_cash_account' => 'Geldkonto',
|
||||
'opt_group_l_Debt' => 'Verbindlichkeit: Forderung',
|
||||
@@ -1232,8 +1234,8 @@ return [
|
||||
'yourAccounts' => 'Deine Konten',
|
||||
'your_accounts' => 'Kontenübersicht',
|
||||
'category_overview' => 'Kategorieübersicht',
|
||||
'expense_overview' => 'Übersicht der Aufwandskonten',
|
||||
'revenue_overview' => 'Übersicht der Erlöskonten',
|
||||
'expense_overview' => 'Übersicht der Ausgabekonten',
|
||||
'revenue_overview' => 'Übersicht der Einnahmekonten',
|
||||
'budgetsAndSpending' => 'Budgets und Ausgaben',
|
||||
'budgets_and_spending' => 'Budgets und Ausgaben',
|
||||
'go_to_budget' => 'Zu Budget „{budget}” wechseln',
|
||||
@@ -1264,8 +1266,8 @@ return [
|
||||
'accounts' => 'Konten',
|
||||
'Asset account' => 'Bestandskonto',
|
||||
'Default account' => 'Bestandskonto',
|
||||
'Expense account' => 'Kreditor (Ausgabenkonto)',
|
||||
'Revenue account' => 'Kreditor Einnahme',
|
||||
'Expense account' => 'Ausgabenkonto',
|
||||
'Revenue account' => 'Einnahmenkonto',
|
||||
'Initial balance account' => 'Eröffnungssaldo',
|
||||
'account_type_Debt' => 'Schuld',
|
||||
'account_type_Loan' => 'Darlehen',
|
||||
@@ -1365,7 +1367,7 @@ return [
|
||||
'shared' => 'Geteilt',
|
||||
'fiscal_year' => 'Geschäftsjahr',
|
||||
'income_entry' => 'Einnahmen aus dem Konto „:name” zwischen :start und :end',
|
||||
'expense_entry' => 'Aufwendungen auf Konto „:name” zwischen :start und :end',
|
||||
'expense_entry' => 'Ausgaben für das Konto „:name” zwischen :start und :end',
|
||||
'category_entry' => 'Ausgaben und Einnahmen in der Kategorie „:name” zwischen :start und :end',
|
||||
'budget_spent_amount' => 'Ausgaben im Haushalt „:budget” zwischen :start und :end',
|
||||
'balance_amount' => 'Ausgaben im Budget „:budget” bezahlt von Konto „:account” zwischen :start und :end',
|
||||
@@ -1414,7 +1416,7 @@ return [
|
||||
'in_out_accounts_per_asset' => 'Einnahmen und Ausgaben (je Anlagenkonto)',
|
||||
'in_out_per_category' => 'Einnahmen und Ausgaben je Kategorie',
|
||||
'out_per_budget' => 'Ausgaben je Budget',
|
||||
'select_expense_revenue' => 'Aufwands-/Erlöskonto auswählen',
|
||||
'select_expense_revenue' => 'Ausgaben-/Einnahmenkonto auswählen',
|
||||
'multi_currency_report_sum' => 'Da diese Liste Konten mit mehreren Währungen enthält, ergeben die Summe(n), die angezeigt werden, möglicherweise keinen Sinn. Der Bericht wird immer auf Ihre Standardwährung zurückgesetzt.',
|
||||
'sum_in_default_currency' => 'Der Betrag wird immer in Ihrer Standardwährung angegeben.',
|
||||
'net_filtered_prefs' => 'Dieses Diagramm wird niemals Konten einbeziehen, die die Option "Im Eigenkapital enthalten" deaktiviert haben.',
|
||||
@@ -1514,7 +1516,7 @@ return [
|
||||
'store_configuration' => 'Konfiguration speichern',
|
||||
'single_user_administration' => 'Benutzerverwaltung für :email',
|
||||
'edit_user' => 'Benutzer :email bearbeiten',
|
||||
'hidden_fields_preferences' => 'You can enable more transaction options in your <a href="preferences">preferences</a>.',
|
||||
'hidden_fields_preferences' => 'Sie können weitere Buchungsoptionen in Ihren <a href="preferences">Einstellungen</a> aktivieren.',
|
||||
'user_data_information' => 'Nutzerdaten',
|
||||
'user_information' => 'Benutzerinformationen',
|
||||
'total_size' => 'Gesamtgröße',
|
||||
@@ -1635,14 +1637,14 @@ return [
|
||||
'no_accounts_intro_asset' => 'Sie verfügen noch über keine Bestandskonten. Bestandskonten sind Ihre Hauptkonten: Ihr Girokonto, Sparkonto, Gemeinschaftskonto oder sogar Ihre Kreditkarte.',
|
||||
'no_accounts_imperative_asset' => 'Um Firefly III nutzen zu können, müssen Sie mindestens ein Bestandskonto anlegen. Lassen Sie uns das jetzt tun:',
|
||||
'no_accounts_create_asset' => 'Bestandskonto anlegen',
|
||||
'no_accounts_title_expense' => 'Lassen Sie uns jetzt einen Kreditor (Ausgabenkonto) anlegen!',
|
||||
'no_accounts_title_expense' => 'Lassen Sie uns jetzt ein Ausgabenkonto anlegen!',
|
||||
'no_accounts_intro_expense' => 'Sie besitzen noch keine Ausgabenkonten. Ausgabenkonten sind die Orte, an denen Sie Geld ausgeben, wie z.B. in Geschäften und Supermärkten.',
|
||||
'no_accounts_imperative_expense' => 'Kreditoren (Ausgabenkonten) werden beim Anlegen von Buchungen automatisch angelegt, können aber auch manuell angelegt werden. Lassen Sie uns jetzt einen erstellen:',
|
||||
'no_accounts_create_expense' => 'Einen Kreditor (Ausgabenkonto) anlegen',
|
||||
'no_accounts_title_revenue' => 'Lassen Sie uns jetzt ein Einkommenskonto anlegen!',
|
||||
'no_accounts_intro_revenue' => 'Sie verfügen noch über keine Ertragskonten. Ertragskonten sind die Einrichtungen, von denen Sie Geld erhalten, wie z.B. von Ihrem Arbeitgeber.',
|
||||
'no_accounts_imperative_revenue' => 'Ertragskonten werden beim Anlegen von Buchungen automatisch angelegt, können aber auch manuell angelegt werden. Lassen Sie uns jetzt eines erstellen:',
|
||||
'no_accounts_create_revenue' => 'Neues Erlöskonto erstellen',
|
||||
'no_accounts_imperative_expense' => 'Ausgabenkonten werden beim Anlegen von Buchungen automatisch angelegt, können aber auch manuell angelegt werden. Lassen Sie uns jetzt eines erstellen:',
|
||||
'no_accounts_create_expense' => 'Ein Ausgabenkonto anlegen',
|
||||
'no_accounts_title_revenue' => 'Lassen Sie uns jetzt ein Einnahmenkonto anlegen!',
|
||||
'no_accounts_intro_revenue' => 'Sie verfügen noch über keine Einnahmekonten. Einnahmekonten sind die Einrichtungen, von denen Sie Geld erhalten, wie z.B. von Ihrem Arbeitgeber.',
|
||||
'no_accounts_imperative_revenue' => 'Einnahmekonten werden beim Anlegen von Buchungen automatisch angelegt, können aber auch manuell angelegt werden. Lassen Sie uns jetzt eines erstellen:',
|
||||
'no_accounts_create_revenue' => 'Neues Einnahmenkonto erstellen',
|
||||
'no_accounts_title_liabilities' => 'Lassen Sie uns eine Verbindlichkeit einrichten!',
|
||||
'no_accounts_intro_liabilities' => 'Sie verfügen noch über keine Verbindlichkeiten. Verbindlichkeiten sind die Konten, die Ihre (Studenten-)Darlehen und andere Forderungen verwalten.',
|
||||
'no_accounts_imperative_liabilities' => 'Sie müssen diese Funktion nicht verwenden, aber sie kann nützlich sein, wenn Sie diese Dinge im Auge behalten möchten.',
|
||||
|
||||
@@ -71,7 +71,7 @@ return [
|
||||
'returnHereExplanation' => 'Nach dem Speichern hierher zurückkehren, um ein weiteres Element zu erstellen.',
|
||||
'returnHereUpdateExplanation' => 'Nach dem Update, hierher zurückkehren.',
|
||||
'description' => 'Beschreibung',
|
||||
'expense_account' => 'Debitor (Ausgabe)',
|
||||
'expense_account' => 'Ausgabenkonto',
|
||||
'revenue_account' => 'Kreditor (Einnahme)',
|
||||
'decimal_places' => 'Nachkommastellen',
|
||||
'destination_amount' => 'Betrag (Ziel)',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Αναζήτηση',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Ερώτημα',
|
||||
'search_found_transactions' => 'Το Firefly III βρήκε :count συναλλαγή σε :time δευτερόλεπτα.|Το Firefly III βρήκε :count συναλλαγές σε :time δευτερόλεπτα.',
|
||||
'search_found_more_transactions' => 'Το Firefly III βρήκε περισσότερες από :count συναλλαγές σε :time δευτερόλεπτα.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Τώρα μπορείτε να συνδεθείτε με το παλιό σας email ξανά.',
|
||||
'login_provider_local_only' => 'Αυτή η λειτουργία δεν είναι διαθέσιμη όταν πιστοποιήστε μέσω ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'Αυτή η ενέργεια δεν είναι διαθέσιμη όταν το Firefly III δεν είναι υπεύθυνο για διαχείριση χρηστών ή έλεγχο ταυτότητας.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Επειδή το Firefly III δεν είναι υπεύθυνο για διαχείριση χρηστών ή έλεγχο ταυτότητας, αυτή η λειτουργία θα διαγράψει μόνο τις τοπικές εγγραφές του Firefly III.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'Πελάτες OAuth',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Search',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Query',
|
||||
'search_found_transactions' => 'Firefly III found :count transaction in :time seconds.|Firefly III found :count transactions in :time seconds.',
|
||||
'search_found_more_transactions' => 'Firefly III found more than :count transactions in :time seconds.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'You can now login with your old email address again.',
|
||||
'login_provider_local_only' => 'This action is not available when authenticating through ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Buscar',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Consulta',
|
||||
'search_found_transactions' => 'Firefly III encontrado :count transacción en :time segundos.|Firefly III encontrado :count transacciones en :time segundos.',
|
||||
'search_found_more_transactions' => 'Firefly III encontró más de :count transacciones en :time segundos.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Usted puede ahora iniciar sesión con su vieja dirección de correo electrónico otra vez.',
|
||||
'login_provider_local_only' => 'Esta acción no está disponible cuando se identifica a través de ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'Esta acción no está disponible cuando Firefly III no es responsable de la gestión de usuarios o de la autenticación.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Debido a que Firefly III no es responsable de la gestión de usuarios o de la autenticación, esta función sólo eliminará la información local de Firefly III.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'Clientes de OAuth',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Hae',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Kysely',
|
||||
'search_found_transactions' => 'Firefly III found :count transaction in :time seconds.|Firefly III found :count transactions in :time seconds.',
|
||||
'search_found_more_transactions' => 'Firefly III found more than :count transactions in :time seconds.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Voit kirjautua jälleen vanhalla sähköpostiosoitteellasi.',
|
||||
'login_provider_local_only' => 'Tämä toiminto ei ole käytettävissä käytettäessä palveluntarjoajaa ":login_provider" tunnistautumiseen.',
|
||||
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
|
||||
@@ -246,7 +246,7 @@ return [
|
||||
'update_new_version_alert' => 'Une nouvelle version de Firefly III est disponible. Vous utilisez v:your_version. La dernière version v:new_version a été publiée le :date.',
|
||||
'update_version_beta' => 'Cette version est une version BETA. Vous pouvez rencontrer des problèmes.',
|
||||
'update_version_alpha' => 'Cette version est une version ALPHA. Vous pourriez rencontrer des problèmes.',
|
||||
'update_current_version_alert' => 'Vous utilisez v:version, qui est la dernière version disponible.',
|
||||
'update_current_version_alert' => 'Vous utilisez v:version, la dernière version disponible.',
|
||||
'update_newer_version_alert' => 'Vous utilisez v:your_version, qui est plus récente que la dernière version, v:new_version.',
|
||||
'update_check_error' => 'Une erreur est survenue lors de la vérification d\'une mise à jour : :error',
|
||||
'unknown_error' => 'Erreur inconnue. Désolé.',
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Rechercher',
|
||||
'long_query_warning' => 'Votre requête de recherche est très longue et peut ne pas fonctionner comme prévu.',
|
||||
'search_query' => 'Requête',
|
||||
'search_found_transactions' => 'Firefly III a trouvé :count opération en :time secondes.|Firefly III a trouvé :count opérations en :time secondes.',
|
||||
'search_found_more_transactions' => 'Firefly III a trouvé plus de :count transactions en :time secondes.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Vous pouvez à nouveau vous connecter à l\'aide de votre ancienne adresse e-mail.',
|
||||
'login_provider_local_only' => 'Cette action n’est pas disponible lors de l’authentification par ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'Cette action n\'est pas disponible lorsque Firefly III n\'est pas responsable de la gestion des utilisateurs ou de l\'authentification.',
|
||||
'external_auth_disabled' => 'Cette action n\'est pas disponible lorsque Firefly III n\'est pas responsable de la gestion de l\'authentification.',
|
||||
'delete_local_info_only' => "Comme Firefly III n'est pas responsable de la gestion des utilisateurs ou de l'authentification, cette fonction ne supprimera que les informations locales de Firefly III.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'Clients OAuth',
|
||||
|
||||
@@ -30,7 +30,7 @@ return [
|
||||
'edit_piggyBank' => '":name" malacpersely szerkesztése',
|
||||
'preferences' => 'Beállítások',
|
||||
'profile' => 'Profil',
|
||||
'accounts' => 'Accounts',
|
||||
'accounts' => 'Számlák',
|
||||
'changePassword' => 'Jelszó módosítása',
|
||||
'change_email' => 'Email cím módosítása',
|
||||
'bills' => 'Számlák',
|
||||
|
||||
@@ -45,12 +45,12 @@ return [
|
||||
'access_token_created_subject' => 'A new access token was created',
|
||||
'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.',
|
||||
'access_token_created_revoke' => 'Ha nem Ön kérte, kérem vonja vissza ezt a tokent a lehető leghamarabb itt: :url.',
|
||||
|
||||
// registered
|
||||
'registered_subject' => 'Welcome to 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_pw' => 'Ha elfelejtette a jelszavát, <a style="color:#337ab7" href=":address/password/reset">itt</a> visszaállíthatja.',
|
||||
'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/grand-theory">grand theory</a>.',
|
||||
'registered_doc_text' => 'If you haven\'t already, please read the first use guide and the full description.',
|
||||
|
||||
@@ -23,22 +23,22 @@
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
'404_header' => 'Firefly III cannot find this page.',
|
||||
'404_page_does_not_exist' => 'The page you have requested does not exist. Please check that you have not entered the wrong URL. Did you make a typo perhaps?',
|
||||
'404_send_error' => 'If you were redirected to this page automatically, please accept my apologies. There is a mention of this error in your log files and I would be grateful if you sent me the error to me.',
|
||||
'404_github_link' => 'If you are sure this page should exist, please open a ticket on <strong><a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a></strong>.',
|
||||
'404_header' => 'Az oldal nem található.',
|
||||
'404_page_does_not_exist' => 'A keresett oldal nem létezik. Kérem ellenőrizze, hogy helyes URL-t írt-e be. Nincs-e elírás a URL címben?',
|
||||
'404_send_error' => 'Elnézését kérem, ha automatikus átirányítással érkezett erre az oldalra. A hibával kapcsolatban további információkat talál a napló fájlokban. Sokat segítene a hiba javításán, ha elküldené az adatokat.',
|
||||
'404_github_link' => 'Kérem nyisson egy hibajegyet <strong><a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a></strong>-on, ha biztos benne, hogy ennek az lapnak léteznie kellene.',
|
||||
'whoops' => 'Whoops',
|
||||
'fatal_error' => 'There was a fatal error. Please check the log files in "storage/logs" or use "docker logs -f [container]" to see what\'s going on.',
|
||||
'fatal_error' => 'Súlyos hiba történt. Kérem ellenőrizze a részleteket a napló fájlokban a "storage/logs" könyvtárban vagy használja a "docker logs -f [container]" parancsot.',
|
||||
'maintenance_mode' => 'Firefly III is in maintenance mode.',
|
||||
'be_right_back' => 'Be right back!',
|
||||
'check_back' => 'Firefly III is down for some necessary maintenance. Please check back in a second.',
|
||||
'check_back' => 'FireFly III jelenleg karbantartás alatt. Kérem látogasson vissza később.',
|
||||
'error_occurred' => 'Whoops! An error occurred.',
|
||||
'error_not_recoverable' => 'Unfortunately, this error was not recoverable :(. Firefly III broke. The error is:',
|
||||
'error' => 'Error',
|
||||
'error_location' => 'This error occured in file <span style="font-family: monospace;">:file</span> on line :line with code :code.',
|
||||
'stacktrace' => 'Stack trace',
|
||||
'more_info' => 'More information',
|
||||
'collect_info' => 'Please collect more information in the <code>storage/logs</code> directory where you will find log files. If you\'re running Docker, use <code>docker logs -f [container]</code>.',
|
||||
'collect_info' => 'További információk gyűjthetők a <code>storage/logs</code> könyvtárban lévő napló fájlokból. Vagy ha Dockert használ, akkor a <code>docker logs -f [container]</code> paranccsal.',
|
||||
'collect_info_more' => 'You can read more about collecting error information in <a href="https://docs.firefly-iii.org/faq/other#how-do-i-enable-debug-mode">the FAQ</a>.',
|
||||
'github_help' => 'Get help on GitHub',
|
||||
'github_instructions' => 'You\'re more than welcome to open a new issue <strong><a href="https://github.com/firefly-iii/firefly-iii/issues">on GitHub</a></strong>.',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Keresés',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Lekérdezés',
|
||||
'search_found_transactions' => 'Firefly III :count tranzakciót talált :time másodperc alatt.|Firefly III :count tranzakciót talált :time másodperc alatt.',
|
||||
'search_found_more_transactions' => 'Firefly III found more than :count transactions in :time seconds.',
|
||||
@@ -320,7 +321,7 @@ return [
|
||||
'search_modifier_transaction_type' => 'Tranzakció típusa: :value',
|
||||
'search_modifier_tag_is' => 'A címke ":value"',
|
||||
'update_rule_from_query' => 'Update rule ":rule" from search query',
|
||||
'create_rule_from_query' => 'Create new rule from search query',
|
||||
'create_rule_from_query' => 'Új szabály létrehozása a keresési feltételek alapján',
|
||||
'rule_from_search_words' => 'The rule engine has a hard time handling ":string". The suggested rule that fits your search query may give different results. Please verify the rule triggers carefully.',
|
||||
|
||||
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Most már bejelentkezhet újra a régi email címével.',
|
||||
'login_provider_local_only' => 'Ez a művelet nem érhető el ":login_provider" általi hitelesítésekor.',
|
||||
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
@@ -967,7 +969,7 @@ return [
|
||||
'remove_budgeted_amount' => 'Remove budgeted amount in :currency',
|
||||
|
||||
// bills:
|
||||
'not_expected_period' => 'Not expected this period',
|
||||
'not_expected_period' => 'Nem várható ebben az időszakban',
|
||||
'not_or_not_yet' => 'Not (yet)',
|
||||
'match_between_amounts' => 'Tranzakciókkal egyező számlák :low és :high között.',
|
||||
'running_again_loss' => 'A számlával korábban összekötött tranzakciók összeköttetése törlődhet, ha többé nem felelnek meg egyetlen szabálynak sem.',
|
||||
@@ -1206,8 +1208,8 @@ return [
|
||||
'unknown_journal_error' => 'Nem lehet letárolni a tranzakciót. Ellenőrizni kell a naplófájlokat.',
|
||||
'attachment_not_found' => 'Ez a melléklet nem található.',
|
||||
'journal_link_bill' => 'Ez a tranzakció <a href=":route">:name</a> számlához van csatolva. A kapcsolat eltávolításához ki kell venni a jelölést a jelölőnégyzetből. Szabályok használatával másik számlához lehet csatolni.',
|
||||
'transaction_stored_link' => '<a href="transactions/show/{ID}">Transaction #{ID} ("{title}")</a> has been stored.',
|
||||
'transaction_new_stored_link' => '<a href="transactions/show/{ID}">Transaction #{ID}</a> has been stored.',
|
||||
'transaction_stored_link' => '<a href="transactions/show/{ID}">Transaction #{ID} ("{title}")</a> mentve.',
|
||||
'transaction_new_stored_link' => '<a href="transactions/show/{ID}">Transaction #{ID}</a> mentve.',
|
||||
'transaction_updated_link' => '<a href="transactions/show/{ID}">Transaction #{ID}</a> has been updated.',
|
||||
|
||||
// new user:
|
||||
@@ -1514,7 +1516,7 @@ return [
|
||||
'store_configuration' => 'Beállítás tárolása',
|
||||
'single_user_administration' => ':email felhasználó adminisztrációja',
|
||||
'edit_user' => ':email felhasználó szerkesztése',
|
||||
'hidden_fields_preferences' => 'You can enable more transaction options in your <a href="preferences">preferences</a>.',
|
||||
'hidden_fields_preferences' => 'A <a href="preferences">beállításokban</a> több mező is engedélyezhető.',
|
||||
'user_data_information' => 'Felhasználói adatok',
|
||||
'user_information' => 'Felhasználó információk',
|
||||
'total_size' => 'teljes méret',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Pencarian',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Pertanyaan',
|
||||
'search_found_transactions' => 'Firefly III found :count transaction in :time seconds.|Firefly III found :count transactions in :time seconds.',
|
||||
'search_found_more_transactions' => 'Firefly III found more than :count transactions in :time seconds.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Anda sekarang dapat login dengan alamat email lama Anda lagi.',
|
||||
'login_provider_local_only' => 'This action is not available when authenticating through ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
|
||||
@@ -30,7 +30,7 @@ return [
|
||||
'edit_piggyBank' => 'Modifica salvadanaio ":name"',
|
||||
'preferences' => 'Preferenze',
|
||||
'profile' => 'Profilo',
|
||||
'accounts' => 'Accounts',
|
||||
'accounts' => 'Conti',
|
||||
'changePassword' => 'Cambia la tua password',
|
||||
'change_email' => 'Cambia il tuo indirizzo email',
|
||||
'bills' => 'Bollette',
|
||||
|
||||
@@ -104,8 +104,8 @@ return [
|
||||
'warning_much_data' => ':days di caricamento dei dati potrebbero richiedere un pò di tempo.',
|
||||
'registered' => 'Ti sei registrato con successo!',
|
||||
'Default asset account' => 'Conto attività predefinito',
|
||||
'no_budget_pointer' => 'You seem to have no budgets yet. You should create some on the <a href="budgets">budgets</a>-page. Budgets can help you keep track of expenses.',
|
||||
'no_bill_pointer' => 'You seem to have no bills yet. You should create some on the <a href="bills">bills</a>-page. Bills can help you keep track of expenses.',
|
||||
'no_budget_pointer' => 'Sembra che tu non abbia ancora dei budget. Dovresti crearne alcuni nella pagina dei <a href="budgets">budget</a>. I budget possono aiutarti a tenere traccia delle spese.',
|
||||
'no_bill_pointer' => 'Sembra che tu non abbia ancora delle bollette. Dovresti crearne alcune nella pagina delle <a href="bills">bollette</a>. Le bollette possono aiutarti a tenere traccia delle spese.',
|
||||
'Savings account' => 'Conti risparmio',
|
||||
'Credit card' => 'Carta di credito',
|
||||
'source_accounts' => 'Conto origine|Conti origine',
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Cerca',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Domanda',
|
||||
'search_found_transactions' => 'Firefly III ha trovato :count transazione in :time secondi.|Firefly III ha trovato :count transazioni in :time secondi.',
|
||||
'search_found_more_transactions' => 'Firefly III ha trovato più di :count transazioni in :time secondi.',
|
||||
@@ -318,10 +319,10 @@ return [
|
||||
'search_modifier_budget_is' => 'Il budget è ":value"',
|
||||
'search_modifier_bill_is' => 'La bolletta è ":value"',
|
||||
'search_modifier_transaction_type' => 'Il tipo di transazione è ":value"',
|
||||
'search_modifier_tag_is' => 'Tag is ":value"',
|
||||
'update_rule_from_query' => 'Update rule ":rule" from search query',
|
||||
'create_rule_from_query' => 'Create new rule from search query',
|
||||
'rule_from_search_words' => 'The rule engine has a hard time handling ":string". The suggested rule that fits your search query may give different results. Please verify the rule triggers carefully.',
|
||||
'search_modifier_tag_is' => 'L\'etichetta è ":value"',
|
||||
'update_rule_from_query' => 'Aggiorna la regola ":rule" dalla ricerca',
|
||||
'create_rule_from_query' => 'Crea nuova regola dalla ricerca',
|
||||
'rule_from_search_words' => 'Il motore delle regole ha difficoltà a gestire ":string". La regola suggerita che si adatta alla tua ricerca potrebbe dare risultati diversi. Verifica attentamente che la regola funzioni.',
|
||||
|
||||
|
||||
// END
|
||||
@@ -402,7 +403,7 @@ return [
|
||||
'delete_rule' => 'Elimina regola ":title"',
|
||||
'update_rule' => 'Aggiorna regola',
|
||||
'test_rule_triggers' => 'Vedi le transazioni corrispondenti',
|
||||
'warning_no_matching_transactions' => 'No matching transactions found.',
|
||||
'warning_no_matching_transactions' => 'Nessuna transazione corrispondente trovata.',
|
||||
'warning_no_valid_triggers' => 'Nessun trigger valido fornito.',
|
||||
'apply_rule_selection' => 'Applica la regola ":title" a una selezione delle tue transazioni',
|
||||
'apply_rule_selection_intro' => 'Regole come ":title" sono normalmente applicate solo a transazioni nuove o aggiornate, ma puoi dire a Firefly III di eseguirle su una selezione delle tue transazioni esistenti. Questo può essere utile quando hai aggiornato una regola e hai bisogno che le modifiche vengano applicate a tutte le altre transazioni.',
|
||||
@@ -415,9 +416,9 @@ return [
|
||||
|
||||
// actions and triggers
|
||||
'rule_trigger_user_action' => 'L\'azione dell\'utente è ":trigger_value"',
|
||||
'rule_trigger_source_account_starts_choice' => 'Source account name starts with..',
|
||||
'rule_trigger_source_account_starts' => 'Source account name starts with ":trigger_value"',
|
||||
'rule_trigger_source_account_ends_choice' => 'Source account name ends with..',
|
||||
'rule_trigger_source_account_starts_choice' => 'Il nome del conto di origine inizia con..',
|
||||
'rule_trigger_source_account_starts' => 'Il nome del conto di origine inizia con ":trigger_value"',
|
||||
'rule_trigger_source_account_ends_choice' => 'Il nome del conto di origine termina con..',
|
||||
'rule_trigger_source_account_ends' => 'Source account name ends with ":trigger_value"',
|
||||
'rule_trigger_source_account_is_choice' => 'Source account name is..',
|
||||
'rule_trigger_source_account_is' => 'Source account name is ":trigger_value"',
|
||||
@@ -455,10 +456,10 @@ return [
|
||||
'rule_trigger_destination_account_nr_starts' => 'Destination account number / IBAN starts with ":trigger_value"',
|
||||
'rule_trigger_destination_account_nr_ends_choice' => 'Destination account number / IBAN ends with..',
|
||||
'rule_trigger_destination_account_nr_ends' => 'Destination account number / IBAN ends with ":trigger_value"',
|
||||
'rule_trigger_destination_account_nr_is_choice' => 'Destination account number / IBAN is..',
|
||||
'rule_trigger_destination_account_nr_is' => 'Destination account number / IBAN is ":trigger_value"',
|
||||
'rule_trigger_destination_account_nr_contains_choice' => 'Destination account number / IBAN contains..',
|
||||
'rule_trigger_destination_account_nr_contains' => 'Destination account number / IBAN contains ":trigger_value"',
|
||||
'rule_trigger_destination_account_nr_is_choice' => 'Il numero del conto di destinazione / l\'IBAN è..',
|
||||
'rule_trigger_destination_account_nr_is' => 'Il numero del conto di destinazione / l\'IBAN è ":trigger_value"',
|
||||
'rule_trigger_destination_account_nr_contains_choice' => 'Il numero del conto di destinazione / l\'IBAN contiene..',
|
||||
'rule_trigger_destination_account_nr_contains' => 'Il numero del conto di destinazione / l\'IBAN contiene ":trigger_value"',
|
||||
'rule_trigger_transaction_type_choice' => 'La transazione è di tipo...',
|
||||
'rule_trigger_transaction_type' => 'La transazione è di tipo ":trigger_value"',
|
||||
'rule_trigger_category_is_choice' => 'La categoria è...',
|
||||
@@ -664,7 +665,7 @@ return [
|
||||
'optional_tj_date_fields' => 'Campi data',
|
||||
'optional_tj_business_fields' => 'Campi aziendali',
|
||||
'optional_tj_attachment_fields' => 'Campi allegati',
|
||||
'pref_optional_tj_interest_date' => 'Data interessi',
|
||||
'pref_optional_tj_interest_date' => 'Data di valuta',
|
||||
'pref_optional_tj_book_date' => 'Data contabile',
|
||||
'pref_optional_tj_process_date' => 'Data elaborazione',
|
||||
'pref_optional_tj_due_date' => 'Data scadenza',
|
||||
@@ -748,12 +749,13 @@ return [
|
||||
'regenerate_command_line_token' => 'Rigenera il token della riga di comando',
|
||||
'token_regenerated' => 'È stato generato un nuovo token della riga di comando',
|
||||
'change_your_email' => 'Cambia il tuo indirizzo email',
|
||||
'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the <a href="admin">Administration</a>.',
|
||||
'email_verification' => 'Un messaggio di posta elettronica verrà inviato al vecchio E al nuovo indirizzo email. Per motivi di sicurezza, non potrai accedere fino a quando non avrai verificato il tuo nuovo indirizzo email. Se non si è sicuri che l\'installazione di Firefly III sia in grado di inviare e-mail, si prega di non utilizzare questa funzionalità. Se sei un amministratore, puoi verificarlo in <a href="admin">Amministrazione</a>.',
|
||||
'email_changed_logout' => 'Fino a quando non verifichi il tuo indirizzo email, non puoi effettuare il login.',
|
||||
'login_with_new_email' => 'Ora puoi accedere con il tuo nuovo indirizzo email.',
|
||||
'login_with_old_email' => 'Ora puoi accedere nuovamente con il tuo vecchio indirizzo email.',
|
||||
'login_provider_local_only' => 'Questa azione non è disponibile quando ci si è autenticati con ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'Questa azione non è disponibile quando Firefly III non è responsabile della gestione utente o dell\'autenticazione.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Poiché Firefly III non è responsabile della gestione utente o dell'autenticazione, questa funzione eliminerà solo le informazioni locali di Firefly III.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'Client OAuth',
|
||||
@@ -1514,7 +1516,7 @@ return [
|
||||
'store_configuration' => 'Salva configurazione',
|
||||
'single_user_administration' => 'Amministrazione utenti per :email',
|
||||
'edit_user' => 'Modifica utente :email',
|
||||
'hidden_fields_preferences' => 'You can enable more transaction options in your <a href="preferences">preferences</a>.',
|
||||
'hidden_fields_preferences' => 'Puoi abilitare maggiori opzioni per le transazioni nelle tue <a href="preferences">impostazioni</a>.',
|
||||
'user_data_information' => 'Dati utente',
|
||||
'user_information' => 'Informazioni Utente',
|
||||
'total_size' => 'dimensione totale',
|
||||
|
||||
@@ -91,7 +91,7 @@ return [
|
||||
'amount' => 'Importo',
|
||||
'foreign_amount' => 'Importo estero',
|
||||
'date' => 'Data',
|
||||
'interest_date' => 'Data interesse',
|
||||
'interest_date' => 'Data di valuta',
|
||||
'book_date' => 'Data contabile',
|
||||
'process_date' => 'Data elaborazione',
|
||||
'category' => 'Categoria',
|
||||
|
||||
@@ -56,7 +56,7 @@ return [
|
||||
'description' => 'Descrizione',
|
||||
'amount' => 'Importo',
|
||||
'date' => 'Data',
|
||||
'interest_date' => 'Data interessi',
|
||||
'interest_date' => 'Data di valuta',
|
||||
'book_date' => 'Data contabile',
|
||||
'process_date' => 'Data lavorazione',
|
||||
'due_date' => 'Data scadenza',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Søk',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Spørring',
|
||||
'search_found_transactions' => 'Firefly III found :count transaction in :time seconds.|Firefly III found :count transactions in :time seconds.',
|
||||
'search_found_more_transactions' => 'Firefly III found more than :count transactions in :time seconds.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Du kan nå logge inn med din gamle e-postadresse igjen.',
|
||||
'login_provider_local_only' => 'Denne handlingen er ikke tilgjengelig ved godkjenning gjennom ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Zoeken',
|
||||
'long_query_warning' => 'Je zoekopdracht is erg lang en werkt misschien niet lekker.',
|
||||
'search_query' => 'Zoekopdracht',
|
||||
'search_found_transactions' => 'Firefly III vond :count transactie in :time seconden.|Firefly III vond :count transacties in :time seconden.',
|
||||
'search_found_more_transactions' => 'Firefly III vond meer dan :count transacties in :time seconden.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Je kan nu weer inloggen met je oude emailadres.',
|
||||
'login_provider_local_only' => 'Je kan dit niet doen als je inlogt via ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'Deze actie is niet beschikbaar wanneer Firefly III niet verantwoordelijk is voor gebruikersbeheer of authenticatie.',
|
||||
'external_auth_disabled' => 'Deze actie is niet beschikbaar wanneer Firefly III niet verantwoordelijk is voor authenticatie.',
|
||||
'delete_local_info_only' => "Omdat Firefly III niet verantwoordelijk is voor gebruikersbeheer of authenticatie zal deze functie alleen de lokale Firefly III informatie verwijderen.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
|
||||
@@ -30,7 +30,7 @@ return [
|
||||
'edit_piggyBank' => 'Modyfikuj skarbonkę ":name"',
|
||||
'preferences' => 'Preferencje',
|
||||
'profile' => 'Profil',
|
||||
'accounts' => 'Accounts',
|
||||
'accounts' => 'Konta',
|
||||
'changePassword' => 'Zmień swoje hasło',
|
||||
'change_email' => 'Zmień swój adres e-mail',
|
||||
'bills' => 'Rachunki',
|
||||
|
||||
@@ -38,7 +38,7 @@ return [
|
||||
'error_location' => 'Błąd wystąpił w pliku <span style="font-family: monospace;">:file</span> linia :line z kodem :code.',
|
||||
'stacktrace' => 'Ślad stosu',
|
||||
'more_info' => 'Więcej informacji',
|
||||
'collect_info' => 'Więcej informacji znajdziesz w katalogu <code>storage/logs</code>, w który zawiera pliki dziennika. Jeśli używasz Docker, użyj <code>dzienników docker -f [container]</code>.',
|
||||
'collect_info' => 'Więcej informacji znajdziesz w katalogu <code>storage/logs</code>, w który zawiera pliki dziennika. Jeśli używasz Docker, użyj <code>docker logs -f [container]</code>.',
|
||||
'collect_info_more' => 'Więcej informacji o zbieraniu informacji o błędach możesz znaleźć w <a href="https://docs.firefly-iii.org/faq/other#how-do-i-enable-debug-mode">FAQ</a>.',
|
||||
'github_help' => 'Uzyskaj pomoc na GitHub',
|
||||
'github_instructions' => 'Możesz otworzyć nowy problem <strong><a href="https://github.com/firefly-iii/firefly-iii/issues">na GitHub</a></strong>.',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Szukaj',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Zapytanie',
|
||||
'search_found_transactions' => 'Firefly III znalazł :count transakcję w :time sekund.|Firefly III znalazł :count transakcji w :time sekund.',
|
||||
'search_found_more_transactions' => 'Firefly III znalazł więcej niż :count transakcji w :time sekund.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Teraz ponownie możesz logować się starym adresem e-mail.',
|
||||
'login_provider_local_only' => 'Ta akcja nie jest dostępna gdy uwierzytelniasz się poprzez ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'Ta akcja nie jest dostępna, gdy Firefly III nie jest odpowiedzialny za zarządzanie użytkownikiem lub obsługę uwierzytelniania.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Ponieważ Firefly III nie jest odpowiedzialny za zarządzanie użytkownikami lub obsługę uwierzytelniania, ta funkcja usunie tylko lokalne informacje Firefly III.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'Klienci OAuth',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Pesquisa',
|
||||
'long_query_warning' => 'Sua pesquisa é muito longa e pode não funcionar como esperado.',
|
||||
'search_query' => 'Pedido',
|
||||
'search_found_transactions' => 'Firefly III found :count transaction in :time seconds.|Firefly III found :count transactions in :time seconds.',
|
||||
'search_found_more_transactions' => 'Firefly III found more than :count transactions in :time seconds.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Agora você pode fazer login novamente com o seu endereço de e-mail antigo.',
|
||||
'login_provider_local_only' => 'Esta ação não está disponível durante a autenticação por meio de ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'Esta ação não está disponível quando o Firefly III não é responsável pelo gerenciamento de usuários ou manipulação de autenticação.',
|
||||
'external_auth_disabled' => 'Esta ação não está disponível quando o Firefly III não é responsável pela autenticação.',
|
||||
'delete_local_info_only' => "Como o Firefly III não é responsável pelo gerenciamento de usuários ou pela manipulação de autenticação, esta função excluirá apenas informações locais do Firefly III.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'Clientes OAuth',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Caută',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Interogare',
|
||||
'search_found_transactions' => 'Firefly III a găsit :count tranzacție în :time secunde.| Firefly III a găsit :count tranzacții în :time secunde.',
|
||||
'search_found_more_transactions' => 'Firefly III a găsit mai mult de :count tranzacții în :time secunde.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Acum puteți să vă conectați din nou cu vechea adresă de e-mail.',
|
||||
'login_provider_local_only' => 'Această acțiune nu este disponibilă când vă autentificați prin ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'Clienți OAuth',
|
||||
|
||||
@@ -30,7 +30,7 @@ return [
|
||||
'edit_piggyBank' => 'Редактирование копилки ":name"',
|
||||
'preferences' => 'Настройки',
|
||||
'profile' => 'Профиль',
|
||||
'accounts' => 'Accounts',
|
||||
'accounts' => 'Счета',
|
||||
'changePassword' => 'Изменение вашего пароля',
|
||||
'change_email' => 'Изменить адрес электронной почты',
|
||||
'bills' => 'Счета к оплате',
|
||||
|
||||
@@ -104,8 +104,8 @@ return [
|
||||
'warning_much_data' => 'Загрузка данных за :days дней может занять некоторое время.',
|
||||
'registered' => 'Вы зарегистрировались успешно!',
|
||||
'Default asset account' => 'Счёт по умолчанию',
|
||||
'no_budget_pointer' => 'You seem to have no budgets yet. You should create some on the <a href="budgets">budgets</a>-page. Budgets can help you keep track of expenses.',
|
||||
'no_bill_pointer' => 'You seem to have no bills yet. You should create some on the <a href="bills">bills</a>-page. Bills can help you keep track of expenses.',
|
||||
'no_budget_pointer' => 'Похоже, у вас пока нет бюджетов. Вы должны создать их на странице <a href="budgets">Бюджеты</a>. Бюджеты могут помочь вам отслеживать расходы.',
|
||||
'no_bill_pointer' => 'Похоже, у вас пока нет счетов на оплату. Вы должны создать их на странице <a href="bills">Счета на оплату</a>. Счета на оплату могут помочь вам отслеживать расходы.',
|
||||
'Savings account' => 'Сберегательный счет',
|
||||
'Credit card' => 'Кредитная карта',
|
||||
'source_accounts' => 'Счёт-источник|Счета-источники',
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Поиск',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Запрос',
|
||||
'search_found_transactions' => 'Firefly III нашёл :count транзакции за :time секунд.|Firefly III нашёл :count транзакций за :time секунд.',
|
||||
'search_found_more_transactions' => 'Firefly III нашёл более :count транзакций за :time секунд.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Теперь вы можете снова войти со своим старым адресом электронной почты.',
|
||||
'login_provider_local_only' => 'Это действие недоступно при аутентификации через ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'Это действие недоступно, если Firefly III не отвечает за управление пользователями или обработку аутентификации.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Поскольку Firefly III не отвечает за управление пользователями или обработку аутентификации, эта функция будет удалять только локальную информацию Firefly III.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'Клиенты OAuth',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Hľadať',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Požiadavka',
|
||||
'search_found_transactions' => 'Firefly III našiel :count transakciu za :time sekúnd.|Firefly III našiel :count transakcií za :time sekúnd.',
|
||||
'search_found_more_transactions' => 'Firefly III našiel viac než :count transakcií za :time sekúnd.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Teraz sa môžete prihlásiť so svojou starou e-mailovou adresou.',
|
||||
'login_provider_local_only' => 'Táto akcia nie je k dispozícii pri autentifikácii prostredníctvom „:login_provider“.',
|
||||
'external_user_mgt_disabled' => 'Táto akcia nie je k dispozícii, keď Firefly III nie je zodpovedný za správu používateľov alebo manipuláciu s autentifikáciou.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Pretože Firefly III nie je zodpovedný za správu používateľov alebo manipuláciu s autentifikáciou, táto funkcia vymaže iba miestne informácie Firefly III.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth klienti',
|
||||
|
||||
@@ -104,8 +104,8 @@ return [
|
||||
'warning_much_data' => ':days dagar med data kan ta ett tag att ladda.',
|
||||
'registered' => 'Din registrering lyckades!',
|
||||
'Default asset account' => 'Förvalt tillgångskonto',
|
||||
'no_budget_pointer' => 'You seem to have no budgets yet. You should create some on the <a href="budgets">budgets</a>-page. Budgets can help you keep track of expenses.',
|
||||
'no_bill_pointer' => 'You seem to have no bills yet. You should create some on the <a href="bills">bills</a>-page. Bills can help you keep track of expenses.',
|
||||
'no_budget_pointer' => 'Du verkar inte ha några budgetar än. Du bör skapa några på <a href="budgets">budgetar</a>-sidan. Budgetar kan hjälpa dig att hålla reda på utgifter.',
|
||||
'no_bill_pointer' => 'Du verkar inte ha några räkningar ännu. Du bör skapa några på <a href="bills">räkningar</a>-sidan. Räkningar kan hjälpa dig att hålla reda på utgifter.',
|
||||
'Savings account' => 'Sparkonto',
|
||||
'Credit card' => 'Kreditkort',
|
||||
'source_accounts' => 'Källkonto|Källkonton',
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Sök',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Fråga',
|
||||
'search_found_transactions' => 'Firefly III hittade :count transaktion i :time sekunder.|Firefly III hittade :count transaktioner i :time sekunder.',
|
||||
'search_found_more_transactions' => 'Firefly III hittade mer än :count transaktioner i :time sekunder.',
|
||||
@@ -307,8 +308,8 @@ return [
|
||||
'search_modifier_destination_account_starts' => 'Destinationens kontonamn börjar med ":value"',
|
||||
'search_modifier_destination_account_ends' => 'Destinationens kontonamn slutar med ":value"',
|
||||
'search_modifier_destination_account_id' => 'Destinationskonto ID är :value',
|
||||
'search_modifier_destination_is_cash' => 'Destination account is (cash) account',
|
||||
'search_modifier_source_is_cash' => 'Source account is (cash) account',
|
||||
'search_modifier_destination_is_cash' => 'Destinationskonto är (kontant) konto',
|
||||
'search_modifier_source_is_cash' => 'Källkonto är (kontant) konto',
|
||||
'search_modifier_destination_account_nr_is' => 'Destinationskontonummer (IBAN) är ":value"',
|
||||
'search_modifier_destination_account_nr_contains' => 'Destinationskontonummer (IBAN) innehåller ":value"',
|
||||
'search_modifier_destination_account_nr_starts' => 'Destinationskontonummer (IBAN) börjar med ":value"',
|
||||
@@ -748,12 +749,13 @@ return [
|
||||
'regenerate_command_line_token' => 'Återskapa kommandoradstoken',
|
||||
'token_regenerated' => 'En ny kommandoradstoken har skapats',
|
||||
'change_your_email' => 'Ändra din e-postadress',
|
||||
'email_verification' => 'An email message will be sent to your old AND new email address. For security purposes, you will not be able to login until you verify your new email address. If you are unsure if your Firefly III installation is capable of sending email, please do not use this feature. If you are an administrator, you can test this in the <a href="admin">Administration</a>.',
|
||||
'email_verification' => 'Ett e-postmeddelande kommer att skickas till din gamla OCH nya e-postadress. Av säkerhetsskäl kommer du inte att kunna logga in förrän du verifierar din nya e-postadress. Om du är osäker på om din Firefly III-installation kan skicka e-post, använd inte den här funktionen. Om du är administratör kan du testa detta i <a href="admin">Administration</a>.',
|
||||
'email_changed_logout' => 'Tills e-postadress blivit verifierad, så kan du inte logga in.',
|
||||
'login_with_new_email' => 'Du kan nu logga in med din nya epost-adress.',
|
||||
'login_with_old_email' => 'Du kan nu logga in med din gamla epost-adress igen.',
|
||||
'login_provider_local_only' => 'Denna åtgärd är inte tillgänlig vid autentisiering genom ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'Denna åtgärd är inte tillgänglig när Firefly III inte är ansvarig för användarhantering eller autentiseringshantering.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Eftersom Firefly III inte är ansvarig för användarhantering eller autentiseringshantering, kommer denna funktion endast ta bort lokal Firefly III-information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth klienter',
|
||||
@@ -1514,7 +1516,7 @@ return [
|
||||
'store_configuration' => 'Spara konfiguration',
|
||||
'single_user_administration' => 'Användaradministration för :email',
|
||||
'edit_user' => 'Redigera användare :email',
|
||||
'hidden_fields_preferences' => 'You can enable more transaction options in your <a href="preferences">preferences</a>.',
|
||||
'hidden_fields_preferences' => 'Du kan aktivera fler transaktionsalternativ i dina <a href="preferences">inställningar</a>.',
|
||||
'user_data_information' => 'Användardata',
|
||||
'user_information' => 'Användar information',
|
||||
'total_size' => 'total storlek',
|
||||
@@ -1534,25 +1536,25 @@ return [
|
||||
'updated_user' => 'Användardata har ändrats.',
|
||||
'delete_user' => 'Ta bort användare :email',
|
||||
'user_deleted' => 'Användaren har tagits bort',
|
||||
'send_test_email' => 'Send test email message',
|
||||
'send_test_email_text' => 'To see if your installation is capable of sending email, please press this button. You will not see an error here (if any), <strong>the log files will reflect any errors</strong>. You can press this button as many times as you like. There is no spam control. The message will be sent to <code>:email</code> and should arrive shortly.',
|
||||
'send_test_email' => 'Skicka testmeddelande via e-post',
|
||||
'send_test_email_text' => 'För att se om din installation kan skicka e-post, vänligen tryck på den här knappen. Du kommer inte att se ett fel här (om någon), <strong>loggfilerna kommer att återspegla eventuella fel</strong>. Du kan trycka på den här knappen så många gånger du vill. Det finns ingen skräppostkontroll. Meddelandet kommer att skickas till <code>:email</code> och kommer inom kort.',
|
||||
'send_message' => 'Skicka meddelande',
|
||||
'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.',
|
||||
'give_admin_careful' => 'Users who are given admin rights can take away yours. Be careful.',
|
||||
'send_test_triggered' => 'Test utlöst. Kontrollera din inkorg och loggfilerna.',
|
||||
'give_admin_careful' => 'Användare som får administratörsrättigheter kan ta bort din. Var försiktig.',
|
||||
'admin_maintanance_title' => 'Underhåll',
|
||||
'admin_maintanance_expl' => 'Några fiffiga knappar för Firefly III underhåll',
|
||||
'admin_maintenance_clear_cache' => 'Rensa cache',
|
||||
|
||||
'split_transaction_title' => 'Description of the split transaction',
|
||||
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'split_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'you_create_transfer' => 'You\'re creating a transfer.',
|
||||
'you_create_withdrawal' => 'You\'re creating a withdrawal.',
|
||||
'you_create_deposit' => 'You\'re creating a deposit.',
|
||||
'split_transaction_title' => 'Beskrivning av delad transaktion',
|
||||
'split_transaction_title_help' => 'Om du skapar en delad transaktion måste det finnas en global beskrivning för alla delningar av transaktionen.',
|
||||
'split_title_help' => 'Om du skapar en delad transaktion måste det finnas en global beskrivning för alla delningar av transaktionen.',
|
||||
'you_create_transfer' => 'Du skapar en överföring.',
|
||||
'you_create_withdrawal' => 'Du skapar ett uttag.',
|
||||
'you_create_deposit' => 'Du skapar en insättning.',
|
||||
|
||||
|
||||
// links
|
||||
'journal_link_configuration' => 'Transaction links configuration',
|
||||
'journal_link_configuration' => 'Konfiguration av transaktionslänkar',
|
||||
'create_new_link_type' => 'Skapa ny länktyp',
|
||||
'store_new_link_type' => 'Lagra ny länktyp',
|
||||
'update_link_type' => 'Uppdatera länktyp',
|
||||
@@ -1565,11 +1567,11 @@ return [
|
||||
'link_type_help_name' => 'T. ex. "dubbletter"',
|
||||
'link_type_help_inward' => 'T. ex. "dubbletter"',
|
||||
'link_type_help_outward' => 'T. ex. "är dubbellet av"',
|
||||
'save_connections_by_moving' => 'Save the link between these transactions by moving them to another link type:',
|
||||
'save_connections_by_moving' => 'Spara länken mellan dessa transaktioner genom att flytta dem till en annan länktyp:',
|
||||
'do_not_save_connection' => '(spara inte koppling)',
|
||||
'link_transaction' => 'Länka transaktion',
|
||||
'link_to_other_transaction' => 'Länka denna transaktion till en annan transaktion',
|
||||
'select_transaction_to_link' => 'Select a transaction to link this transaction to. The links are currently unused in Firefly III (apart from being shown), but I plan to change this in the future. Use the search box to select a transaction either by title or by ID. If you want to add custom link types, check out the administration section.',
|
||||
'select_transaction_to_link' => 'Välj en transaktion för att länka denna transaktion till. Länkarna är för närvarande oanvända i Firefly III (förutom att visas), men jag planerar att ändra detta i framtiden. Använd sökrutan för att välja en transaktion antingen efter titel eller efter ID. Om du vill lägga till anpassade länktyper, kolla in administrationsavsnittet.',
|
||||
'this_transaction' => 'Denna transaktion',
|
||||
'transaction' => 'Transaktion',
|
||||
'comments' => 'Kommentarer',
|
||||
@@ -1605,13 +1607,13 @@ return [
|
||||
'(partially) refunds_outward' => '(delvis) återbetalningar',
|
||||
'(partially) pays for_outward' => '(delvis) betalning för',
|
||||
'(partially) reimburses_outward' => '(delvis) ersättning',
|
||||
'is (partially) refunded by' => 'is (partially) refunded by',
|
||||
'is (partially) paid for by' => 'is (partially) paid for by',
|
||||
'is (partially) reimbursed by' => 'is (partially) reimbursed by',
|
||||
'relates to' => 'relates to',
|
||||
'(partially) refunds' => '(partially) refunds',
|
||||
'(partially) pays for' => '(partially) pays for',
|
||||
'(partially) reimburses' => '(partially) reimburses',
|
||||
'is (partially) refunded by' => 'är (delvis) återbetalad av',
|
||||
'is (partially) paid for by' => 'betalas (delvis) av',
|
||||
'is (partially) reimbursed by' => 'ersätts (delvis) av',
|
||||
'relates to' => 'relaterar till',
|
||||
'(partially) refunds' => '(delvis) återbetalning',
|
||||
'(partially) pays for' => '(delvis) betalar för',
|
||||
'(partially) reimburses' => '(delvis) återbetalar',
|
||||
|
||||
// split a transaction:
|
||||
'splits' => 'Dela upp',
|
||||
@@ -1628,7 +1630,7 @@ return [
|
||||
'errors_submission' => 'Något fel uppstod med inskickningen. Vänligen kontrollera felen nedan.',
|
||||
|
||||
// object groups
|
||||
'default_group_title_name' => '(ungrouped)',
|
||||
'default_group_title_name' => '(ogrupperad)',
|
||||
|
||||
// empty lists? no objects? instructions:
|
||||
'no_accounts_title_asset' => 'Låt oss skapa ett tillgångskonto!',
|
||||
@@ -1641,39 +1643,39 @@ return [
|
||||
'no_accounts_create_expense' => 'Skapa ett utgiftskonto',
|
||||
'no_accounts_title_revenue' => 'Låt oss skapa ett intäktskonto!',
|
||||
'no_accounts_intro_revenue' => 'Du har inga intäktskonton än. Intäktskonton är de platser där du får pengar från, till exempel din arbetsgivare.',
|
||||
'no_accounts_imperative_revenue' => 'Revenue accounts are created automatically when you create transactions, but you can create one manually too, if you want. Let\'s create one now:',
|
||||
'no_accounts_create_revenue' => 'Create a revenue account',
|
||||
'no_accounts_title_liabilities' => 'Let\'s create a liability!',
|
||||
'no_accounts_intro_liabilities' => 'You have no liabilities yet. Liabilities are the accounts that register your (student) loans and other debts.',
|
||||
'no_accounts_imperative_liabilities' => 'You don\'t have to use this feature, but it can be useful if you want to keep track of these things.',
|
||||
'no_accounts_create_liabilities' => 'Create a liability',
|
||||
'no_budgets_title_default' => 'Let\'s create a budget',
|
||||
'no_budgets_intro_default' => 'You have no budgets yet. Budgets are used to organize your expenses into logical groups, which you can give a soft-cap to limit your expenses.',
|
||||
'no_budgets_imperative_default' => 'Budgets are the basic tools of financial management. Let\'s create one now:',
|
||||
'no_budgets_create_default' => 'Create a budget',
|
||||
'no_categories_title_default' => 'Let\'s create a category!',
|
||||
'no_categories_intro_default' => 'You have no categories yet. Categories are used to fine tune your transactions and label them with their designated category.',
|
||||
'no_categories_imperative_default' => 'Categories are created automatically when you create transactions, but you can create one manually too. Let\'s create one now:',
|
||||
'no_categories_create_default' => 'Create a category',
|
||||
'no_accounts_imperative_revenue' => 'Intäktskonton skapas automatiskt när du skapar transaktioner, men du kan skapa en manuellt också, om du vill. Låt oss skapa en nu:',
|
||||
'no_accounts_create_revenue' => 'Skapa ett intäktskonto',
|
||||
'no_accounts_title_liabilities' => 'Låt oss skapa en skuld!',
|
||||
'no_accounts_intro_liabilities' => 'Du har inga skulder ännu. Skulder är de konton som registrerar dina (studerande) lån och andra skulder.',
|
||||
'no_accounts_imperative_liabilities' => 'Du behöver inte använda den här funktionen, men det kan vara användbart om du vill hålla reda på dessa saker.',
|
||||
'no_accounts_create_liabilities' => 'Skapa en ny skuld',
|
||||
'no_budgets_title_default' => 'Låt oss skapa en budget',
|
||||
'no_budgets_intro_default' => 'Du har inga budgetar ännu. Budgetar används för att organisera dina utgifter i logiska grupper, som du kan ge en soft-cap för att begränsa dina utgifter.',
|
||||
'no_budgets_imperative_default' => 'Budgetarna är de grundläggande verktygen för ekonomisk förvaltning. Låt oss skapa ett nu:',
|
||||
'no_budgets_create_default' => 'Skapa en budget',
|
||||
'no_categories_title_default' => 'Låt oss skapa en kategori!',
|
||||
'no_categories_intro_default' => 'Du har inga kategorier ännu. Kategorier används för att finjustera dina transaktioner och märka dem med deras utsedda kategori.',
|
||||
'no_categories_imperative_default' => 'Kategorier skapas automatiskt när du skapar transaktioner, men du kan skapa en manuellt också. Låt oss skapa en nu:',
|
||||
'no_categories_create_default' => 'Skapa en kategori',
|
||||
'no_tags_title_default' => 'Skapa en etikett!',
|
||||
'no_tags_intro_default' => 'Du har inga etiketter ännu. Etiketter används för att finjustera transaktioner och märka dem med specifika nyckelord.',
|
||||
'no_tags_imperative_default' => 'Etiketter skapas automatiskt när du skapar transaktioner, men de går att skapa manuellt också. Låt oss skapa en nu:',
|
||||
'no_tags_create_default' => 'Skapa en etikett',
|
||||
'no_transactions_title_withdrawal' => 'Let\'s create an expense!',
|
||||
'no_transactions_intro_withdrawal' => 'You have no expenses yet. You should create expenses to start managing your finances.',
|
||||
'no_transactions_imperative_withdrawal' => 'Have you spent some money? Then you should write it down:',
|
||||
'no_transactions_create_withdrawal' => 'Create an expense',
|
||||
'no_transactions_title_deposit' => 'Let\'s create some income!',
|
||||
'no_transactions_intro_deposit' => 'You have no recorded income yet. You should create income entries to start managing your finances.',
|
||||
'no_transactions_imperative_deposit' => 'Have you received some money? Then you should write it down:',
|
||||
'no_transactions_create_deposit' => 'Create a deposit',
|
||||
'no_transactions_title_transfers' => 'Let\'s create a transfer!',
|
||||
'no_transactions_intro_transfers' => 'You have no transfers yet. When you move money between asset accounts, it is recorded as a transfer.',
|
||||
'no_transactions_imperative_transfers' => 'Have you moved some money around? Then you should write it down:',
|
||||
'no_transactions_create_transfers' => 'Create a transfer',
|
||||
'no_piggies_title_default' => 'Let\'s create a piggy bank!',
|
||||
'no_piggies_intro_default' => 'You have no piggy banks yet. You can create piggy banks to divide your savings and keep track of what you\'re saving up for.',
|
||||
'no_piggies_imperative_default' => 'Do you have things you\'re saving money for? Create a piggy bank and keep track:',
|
||||
'no_transactions_title_withdrawal' => 'Låt oss skapa en kostnad!',
|
||||
'no_transactions_intro_withdrawal' => 'Du har inga utgifter ännu. Du bör skapa utgifter för att börja hantera din ekonomi.',
|
||||
'no_transactions_imperative_withdrawal' => 'Har du spenderat lite pengar? Då ska du skriva ner det:',
|
||||
'no_transactions_create_withdrawal' => 'Skapa en kostnad',
|
||||
'no_transactions_title_deposit' => 'Låt oss skapa lite inkomst!',
|
||||
'no_transactions_intro_deposit' => 'Du har inga registrerade inkomster ännu. Du bör skapa inkomstposter för att börja hantera din ekonomi.',
|
||||
'no_transactions_imperative_deposit' => 'Har du fått lite pengar? Då ska du skriva ner det:',
|
||||
'no_transactions_create_deposit' => 'Skapa en insättning',
|
||||
'no_transactions_title_transfers' => 'Låt oss skapa en överföring!',
|
||||
'no_transactions_intro_transfers' => 'Du har inga överföringar ännu. När du flyttar pengar mellan tillgångskonton registreras det som överföring.',
|
||||
'no_transactions_imperative_transfers' => 'Har du flyttat lite pengar runt? Då ska du skriva ner det:',
|
||||
'no_transactions_create_transfers' => 'Skapa en överföring',
|
||||
'no_piggies_title_default' => 'Låt oss skapa en spargris!',
|
||||
'no_piggies_intro_default' => 'Du har inga spargrisar ännu. Du kan skapa spargrisar för att dela upp dina besparingar och hålla reda på vad du sparar på.',
|
||||
'no_piggies_imperative_default' => 'Har du saker du sparar pengar till? Skapa en spargris och håll reda på:',
|
||||
'no_piggies_create_default' => 'Skapa en ny sparbank',
|
||||
'no_bills_title_default' => 'Låt oss skapa en nota!',
|
||||
'no_bills_intro_default' => 'Du har inga notor ännu. Du kan skapa notor för att hålla koll på dina vanliga utgifter, som hyra eller försäkringar.',
|
||||
@@ -1693,7 +1695,7 @@ return [
|
||||
'recurring_weekly' => 'Varje vecka på :weekday',
|
||||
'recurring_weekly_skip' => 'Varje :skip(a/e) vecka på :weekday',
|
||||
'recurring_monthly' => 'Varje månad på :dayOfMonth(a/e) dag',
|
||||
'recurring_monthly_skip' => 'Every :skip(st/nd/rd/th) month on the :dayOfMonth(st/nd/rd/th) day',
|
||||
'recurring_monthly_skip' => 'Varje :skip(st/nd/rd/th) månad :dayOfMonth(st/nd/rd/th) dag',
|
||||
'recurring_ndom' => 'Varje månad på :dayOfMonth(a/e) :weekday',
|
||||
'recurring_yearly' => 'Varje år på :date',
|
||||
'overview_for_recurrence' => 'Översikt för återkommande transaktioner ":title"',
|
||||
@@ -1707,103 +1709,103 @@ return [
|
||||
'created_transfers' => 'Skapade överföringar',
|
||||
'recurring_info' => 'Återkommande transaktion :count / :total',
|
||||
'created_from_recurrence' => 'Skapad från återkommande transaktion ":title" (#:id)',
|
||||
'recurring_never_cron' => 'It seems the cron job that is necessary to support recurring transactions has never run. This is of course normal when you have just installed Firefly III, but this should be something to set up as soon as possible. Please check out the help-pages using the (?)-icon in the top right corner of the page.',
|
||||
'recurring_cron_long_ago' => 'It looks like it has been more than 36 hours since the cron job to support recurring transactions has fired for the last time. Are you sure it has been set up correctly? Please check out the help-pages using the (?)-icon in the top right corner of the page.',
|
||||
'recurring_never_cron' => 'Det verkar som om cron-jobbet som är nödvändigt för att stödja återkommande transaktioner aldrig har kört. Detta är naturligtvis normalt när du just har installerat Firefly III, men detta bör vara något att ställa upp så snart som möjligt. Kolla in hjälpsidorna med hjälp av (?)-ikonen i det övre högra hörnet av sidan.',
|
||||
'recurring_cron_long_ago' => 'Det verkar som om det har gått mer än 36 timmar sedan cronjobbet för att stödja återkommande transaktioner har sparkats för sista gången. Är du säker på att den har konfigurerats korrekt? Kolla in hjälpsidorna med hjälp av (?)-ikonen i det övre högra hörnet av sidan.',
|
||||
|
||||
'create_new_recurrence' => 'Skapa ny återkommande transaktion',
|
||||
'help_first_date' => 'Indicate the first expected recurrence. This must be in the future.',
|
||||
'help_first_date_no_past' => 'Indicate the first expected recurrence. Firefly III will not create transactions in the past.',
|
||||
'help_first_date' => 'Ange den första förväntade upprepningen. Detta måste vara i framtiden.',
|
||||
'help_first_date_no_past' => 'Ange den första förväntade upprepningen. Firefly III kommer inte att skapa transaktioner i det förflutna.',
|
||||
'no_currency' => '(ingen valuta)',
|
||||
'mandatory_for_recurring' => 'Mandatory recurrence information',
|
||||
'mandatory_for_transaction' => 'Mandatory transaction information',
|
||||
'optional_for_recurring' => 'Optional recurrence information',
|
||||
'optional_for_transaction' => 'Optional transaction information',
|
||||
'change_date_other_options' => 'Change the "first date" to see more options.',
|
||||
'mandatory_fields_for_tranaction' => 'The values here will end up in the transaction(s) being created',
|
||||
'click_for_calendar' => 'Click here for a calendar that shows you when the transaction would repeat.',
|
||||
'repeat_forever' => 'Repeat forever',
|
||||
'repeat_until_date' => 'Repeat until date',
|
||||
'repeat_times' => 'Repeat a number of times',
|
||||
'recurring_skips_one' => 'Every other',
|
||||
'recurring_skips_more' => 'Skips :count occurrences',
|
||||
'store_new_recurrence' => 'Store recurring transaction',
|
||||
'stored_new_recurrence' => 'Recurring transaction ":title" stored successfully.',
|
||||
'edit_recurrence' => 'Edit recurring transaction ":title"',
|
||||
'recurring_repeats_until' => 'Repeats until :date',
|
||||
'recurring_repeats_forever' => 'Repeats forever',
|
||||
'recurring_repeats_x_times' => 'Repeats :count time|Repeats :count times',
|
||||
'update_recurrence' => 'Update recurring transaction',
|
||||
'updated_recurrence' => 'Updated recurring transaction ":title"',
|
||||
'recurrence_is_inactive' => 'This recurring transaction is not active and will not generate new transactions.',
|
||||
'delete_recurring' => 'Delete recurring transaction ":title"',
|
||||
'new_recurring_transaction' => 'New recurring transaction',
|
||||
'help_weekend' => 'What should Firefly III do when the recurring transaction falls on a Saturday or Sunday?',
|
||||
'do_nothing' => 'Just create the transaction',
|
||||
'skip_transaction' => 'Skip the occurrence',
|
||||
'jump_to_friday' => 'Create the transaction on the previous Friday instead',
|
||||
'jump_to_monday' => 'Create the transaction on the next Monday instead',
|
||||
'will_jump_friday' => 'Will be created on Friday instead of the weekends.',
|
||||
'will_jump_monday' => 'Will be created on Monday instead of the weekends.',
|
||||
'except_weekends' => 'Except weekends',
|
||||
'recurrence_deleted' => 'Recurring transaction ":title" deleted',
|
||||
'mandatory_for_recurring' => 'Obligatorisk återkommande information',
|
||||
'mandatory_for_transaction' => 'Obligatorisk transaktionsinformation',
|
||||
'optional_for_recurring' => 'Valfri återkommande information',
|
||||
'optional_for_transaction' => 'Valfri transaktionsinformation',
|
||||
'change_date_other_options' => 'Ändra "första datumet" för att se fler alternativ.',
|
||||
'mandatory_fields_for_tranaction' => 'Värdena här kommer att hamna i de transaktion(er) som skapas',
|
||||
'click_for_calendar' => 'Klicka här för en kalender som visar dig när transaktionen ska upprepas.',
|
||||
'repeat_forever' => 'Upprepa för alltid',
|
||||
'repeat_until_date' => 'Upprepa till datum',
|
||||
'repeat_times' => 'Upprepa ett antal gånger',
|
||||
'recurring_skips_one' => 'Varannan',
|
||||
'recurring_skips_more' => 'Hoppar över :count förekomster',
|
||||
'store_new_recurrence' => 'Lagra återkommande transaktion',
|
||||
'stored_new_recurrence' => 'Återkommande transaktion ":title" lagras framgångsrikt.',
|
||||
'edit_recurrence' => 'Redigera återkommande transaktion ":title"',
|
||||
'recurring_repeats_until' => 'Upprepas till :date',
|
||||
'recurring_repeats_forever' => 'Upprepa för alltid',
|
||||
'recurring_repeats_x_times' => 'Upprepas :count gång|Upprepas :count gånger',
|
||||
'update_recurrence' => 'Uppdatera återkommande transaktion',
|
||||
'updated_recurrence' => 'Uppdaterade återkommande transaktion ":title"',
|
||||
'recurrence_is_inactive' => 'Denna återkommande transaktion är inte aktiv och kommer inte generera nya transaktioner.',
|
||||
'delete_recurring' => 'Ta bort återkommande transaktion ":title"',
|
||||
'new_recurring_transaction' => 'Ny återkommande transaktion',
|
||||
'help_weekend' => 'Vad ska Firefly III göra när den återkommande transaktionen infaller på en lördag eller söndag?',
|
||||
'do_nothing' => 'Skapa bara transaktionen',
|
||||
'skip_transaction' => 'Hoppa över förekomsten',
|
||||
'jump_to_friday' => 'Skapa transaktionen på föregående fredag istället',
|
||||
'jump_to_monday' => 'Skapa transaktionen nästa måndag istället',
|
||||
'will_jump_friday' => 'Kommer att skapas på fredag istället för helgerna.',
|
||||
'will_jump_monday' => 'Kommer att skapas på måndag istället för helgerna.',
|
||||
'except_weekends' => 'Förutom helger',
|
||||
'recurrence_deleted' => 'Återkommande transaktion ":title" raderad',
|
||||
|
||||
// new lines for summary controller.
|
||||
'box_balance_in_currency' => 'Balance (:currency)',
|
||||
'box_spent_in_currency' => 'Spent (:currency)',
|
||||
'box_earned_in_currency' => 'Earned (:currency)',
|
||||
'box_budgeted_in_currency' => 'Budgeted (:currency)',
|
||||
'box_balance_in_currency' => 'Balans (:currency)',
|
||||
'box_spent_in_currency' => 'Spenderat (:currency)',
|
||||
'box_earned_in_currency' => 'Intjänat (:currency)',
|
||||
'box_budgeted_in_currency' => 'Budgeterat (:currency)',
|
||||
'box_bill_paid_in_currency' => 'Notor betalade (:currency)',
|
||||
'box_bill_unpaid_in_currency' => 'Obetalda notor (:currency)',
|
||||
'box_left_to_spend_in_currency' => 'Left to spend (:currency)',
|
||||
'box_net_worth_in_currency' => 'Net worth (:currency)',
|
||||
'box_spend_per_day' => 'Left to spend per day: :amount',
|
||||
'box_left_to_spend_in_currency' => 'Kvar att spendera (:currency)',
|
||||
'box_net_worth_in_currency' => 'Netto värde (:currency)',
|
||||
'box_spend_per_day' => 'Kvar att spendera per dag :amount',
|
||||
|
||||
// telemetry
|
||||
'telemetry_admin_index' => 'Telemetry',
|
||||
'telemetry_intro' => 'Firefly III supports the collection and sending of usage telemetry. This means that Firefly III will try to collect info on how you use Firefly III, and send it to the developer of Firefly III. This is always opt-in, and is disabled by default. Firefly III will never collect or send financial information. Firefly III will also never collect or send financial meta-information, like sums or calculations. The collected data will never be made publicly accessible.',
|
||||
'telemetry_what_collected' => 'What Firefly III collects and sends exactly is different for each version. You are running version :version. What Firefly III collects in version :version is something you can read in the help pages. Click the (?)-icon in the top-right corner <a href="https://docs.firefly-iii.org/support/telemetry">or visit the documentation page</a>.',
|
||||
'telemetry_is_enabled_yes_no' => 'Is Firefly III telemetry enabled?',
|
||||
'telemetry_disabled_no' => 'Telemetry is NOT enabled',
|
||||
'telemetry_disabled_yes' => 'Telemetry is enabled',
|
||||
'telemetry_enabled_now_what' => 'You can disable telemetry the same way you enabled it: in your .env file or in your Docker configuration.',
|
||||
'telemetry_disabled_now_what' => 'If you want to, you can enable telemetry in your .env file or in your Docker configuration.',
|
||||
'telemetry_collected_info' => 'Collected information',
|
||||
'no_telemetry_present' => 'Firefly III has collected zero telemetry records.',
|
||||
'records_telemetry_present' => 'Firefly III has collected :count telemetry record.|Firefly III has collected :count telemetry records.',
|
||||
'telemetry_button_view' => 'View telemetry',
|
||||
'telemetry_button_delete' => 'Delete all telemetry',
|
||||
'telemetry_admin_overview' => 'Telemetry overview',
|
||||
'telemetry_back_to_index' => 'Back to telemetry index',
|
||||
'not_yet_submitted' => 'Not yet submitted',
|
||||
'telemetry_type_feature' => 'Feature flag',
|
||||
'telemetry_admin_index' => 'Telemetri',
|
||||
'telemetry_intro' => 'Firefly III stöder insamling och sändning av användning telemetri. Detta innebär att Firefly III kommer att försöka samla in information om hur du använder Firefly III, och skicka den till utvecklaren av Firefly III. Detta är alltid opt-in, och är inaktiverat som standard. Firefly III kommer aldrig att samla in eller skicka ekonomisk information. Firefly III kommer heller aldrig att samla in eller skicka ekonomisk meta-information, som summor eller beräkningar. De insamlade uppgifterna kommer aldrig att göras tillgängliga för allmänheten.',
|
||||
'telemetry_what_collected' => 'Vad Firefly III samlar in och skickar exakt är olika för varje version. Du kör version :version. Det Firefly III samlar in i version :version är något du kan läsa på hjälpsidorna. Klicka på (?)-ikonen i det övre högra hörnet <a href="https://docs.firefly-iii.org/support/telemetry">eller besök dokumentationssidan</a>.',
|
||||
'telemetry_is_enabled_yes_no' => 'Är Firefly III telemetri aktiverad?',
|
||||
'telemetry_disabled_no' => 'Telemetri är INTE aktiverat',
|
||||
'telemetry_disabled_yes' => 'Telemetri är aktiverat',
|
||||
'telemetry_enabled_now_what' => 'Du kan inaktivera telemetri på samma sätt som du aktiverade den: i din .env-fil eller Docker-konfiguration.',
|
||||
'telemetry_disabled_now_what' => 'Om du vill, kan du aktivera telemetri i din .env fil eller Docker konfiguration.',
|
||||
'telemetry_collected_info' => 'Insamlad information',
|
||||
'no_telemetry_present' => 'Firefly III har inte samlat in några telemetriska poster.',
|
||||
'records_telemetry_present' => 'Firefly III har samlat :count telemetri post.|Firefly III har samlat :count telemetri poster.',
|
||||
'telemetry_button_view' => 'Visa telemetri',
|
||||
'telemetry_button_delete' => 'Ta bort all telemetri',
|
||||
'telemetry_admin_overview' => 'Telemetri översikt',
|
||||
'telemetry_back_to_index' => 'Tillbaka till telemetri-index',
|
||||
'not_yet_submitted' => 'Ännu inte inskickad',
|
||||
'telemetry_type_feature' => 'Funktionsflagga',
|
||||
'telemetry_type_string' => 'Text',
|
||||
'telemetry_type_recurring' => 'Recurring',
|
||||
'telemetry_submit_all' => 'Submit records',
|
||||
'telemetry_delete_submitted_records' => 'Delete submitted records',
|
||||
'telemetry_submission_executed' => 'Records have been submitted. Check your log files for more info.',
|
||||
'telemetry_all_deleted' => 'All telemetry records have been deleted.',
|
||||
'telemetry_submitted_deleted' => 'All submitted telemetry records have been deleted.',
|
||||
'telemetry_type_recurring' => 'Återkommande',
|
||||
'telemetry_submit_all' => 'Skicka poster',
|
||||
'telemetry_delete_submitted_records' => 'Ta bort inskickade poster',
|
||||
'telemetry_submission_executed' => 'Poster har skickats. Kontrollera dina loggfiler för mer information.',
|
||||
'telemetry_all_deleted' => 'Alla telemetri poster har tagits bort.',
|
||||
'telemetry_submitted_deleted' => 'Alla inskickade telemetri poster har tagits bort.',
|
||||
|
||||
// debug page
|
||||
'debug_page' => 'Debug page',
|
||||
'debug_submit_instructions' => 'If you are running into problems, you can use the information in this box as debug information. Please copy-and-paste into a new or existing <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub issue</a>. It will generate a beautiful table that can be used to quickly diagnose your problem.',
|
||||
'debug_pretty_table' => 'If you copy/paste the box below into a GitHub issue it will generate a table. Please do not surround this text with backticks or quotes.',
|
||||
'debug_additional_data' => 'You may also share the content of the box below. You can also copy-and-paste this into a new or existing <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub issue</a>. However, the content of this box may contain private information such as account names, transaction details or email addresses.',
|
||||
'debug_page' => 'Debug sida',
|
||||
'debug_submit_instructions' => 'Om du stöter på problem kan du använda informationen i den här rutan som felsökningsinformation. Kopiera och klistra in i ett nytt eller befintligt <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub-problem</a>. Det kommer att generera en vacker tabell som kan användas för att snabbt diagnostisera ditt problem.',
|
||||
'debug_pretty_table' => 'Om du kopierar/klistrar in rutan nedan i ett GitHub-problem kommer det att generera en tabell. Omge inte denna text med backticks eller citat.',
|
||||
'debug_additional_data' => 'Du kan också dela innehållet i rutan nedan. Du kan också kopiera och klistra in detta i en ny eller befintlig <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub-utgåva</a>. Innehållet i denna ruta kan dock innehålla privat information som kontonamn, transaktionsuppgifter eller e-postadresser.',
|
||||
|
||||
// object groups
|
||||
'object_groups_menu_bar' => 'Groups',
|
||||
'object_groups_page_title' => 'Groups',
|
||||
'object_groups_breadcrumb' => 'Groups',
|
||||
'object_groups_index' => 'Overview',
|
||||
'object_groups' => 'Groups',
|
||||
'object_groups_empty_explain' => 'Some things in Firefly III can be divided into groups. Piggy banks for example, feature a "Group" field in the edit and create screens. When you set this field, you can edit the names and the order of the groups on this page. For more information, check out the help-pages in the top right corner, under the (?)-icon.',
|
||||
'object_group_title' => 'Title',
|
||||
'edit_object_group' => 'Edit group ":title"',
|
||||
'delete_object_group' => 'Edit group ":title"',
|
||||
'update_object_group' => 'Update group',
|
||||
'updated_object_group' => 'Succesfully updated group ":title"',
|
||||
'deleted_object_group' => 'Succesfully deleted group ":title"',
|
||||
'object_group' => 'Group',
|
||||
'object_groups_menu_bar' => 'Grupper',
|
||||
'object_groups_page_title' => 'Grupper',
|
||||
'object_groups_breadcrumb' => 'Grupper',
|
||||
'object_groups_index' => 'Översikt',
|
||||
'object_groups' => 'Grupper',
|
||||
'object_groups_empty_explain' => 'Vissa saker i Firefly III kan delas in i grupper. Spargrisar till exempel, har ett "Grupp" fält i redigera och skapa vyerna. När du anger det här fältet kan du redigera gruppernas namn och ordning på den här sidan. För mer information, kolla in hjälpsidorna i det övre högra hörnet, under (?)-ikonen.',
|
||||
'object_group_title' => 'Titel',
|
||||
'edit_object_group' => 'Redigera grupp ":title"',
|
||||
'delete_object_group' => 'Redigera grupp ":title"',
|
||||
'update_object_group' => 'Uppdatera grupp',
|
||||
'updated_object_group' => 'Uppdatering för grupp ":title" lyckades',
|
||||
'deleted_object_group' => 'Grupp ":title" lyckades tas bort',
|
||||
'object_group' => 'Grupp',
|
||||
|
||||
|
||||
//
|
||||
|
||||
@@ -261,6 +261,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Ara',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Sorgu',
|
||||
'search_found_transactions' => 'Firefly III found :count transaction in :time seconds.|Firefly III found :count transactions in :time seconds.',
|
||||
'search_found_more_transactions' => 'Firefly III found more than :count transactions in :time seconds.',
|
||||
@@ -755,6 +756,7 @@ return [
|
||||
'login_with_old_email' => 'Artık eski e-posta adresinizle yeniden giriş yapabilirsiniz.',
|
||||
'login_provider_local_only' => 'This action is not available when authenticating through ":login_provider".',
|
||||
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => 'Tìm kiếm',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => 'Truy vấn',
|
||||
'search_found_transactions' => 'Tìm thấy Firefly III :count giao dịch trong :time giây. | Firefly III được tìm thấy :count giao dịch trong :time giây.',
|
||||
'search_found_more_transactions' => 'Firefly III đã tìm thấy hơn :count giao dịch trong :time giây.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => 'Bây giờ bạn có thể đăng nhập lại với địa chỉ email cũ của bạn.',
|
||||
'login_provider_local_only' => 'Hành động này không khả dụng khi xác thực thông qua ": login_provider".',
|
||||
'external_user_mgt_disabled' => 'Hành động này không khả dụng khi Firefly III không chịu trách nhiệm quản lý người dùng hoặc xử lý xác thực.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Vì Firefly III không chịu trách nhiệm quản lý người dùng hoặc xử lý xác thực, nên chức năng này sẽ chỉ xóa thông tin Firefly III cục bộ.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => '搜寻',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => '查询',
|
||||
'search_found_transactions' => 'Firefly III found :count transaction in :time seconds.|Firefly III found :count transactions in :time seconds.',
|
||||
'search_found_more_transactions' => 'Firefly III found more than :count transactions in :time seconds.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => '现在,您可以再次使用旧的电子邮件地址登入。',
|
||||
'login_provider_local_only' => '当藉由 ":login_provider" 验证时,此动作不可用。',
|
||||
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
|
||||
@@ -260,6 +260,7 @@ return [
|
||||
|
||||
// search
|
||||
'search' => '搜尋',
|
||||
'long_query_warning' => 'Your search query is very long, and may not work as expected.',
|
||||
'search_query' => '查詢',
|
||||
'search_found_transactions' => 'Firefly III found :count transaction in :time seconds.|Firefly III found :count transactions in :time seconds.',
|
||||
'search_found_more_transactions' => 'Firefly III found more than :count transactions in :time seconds.',
|
||||
@@ -754,6 +755,7 @@ return [
|
||||
'login_with_old_email' => '現在,您可以再次使用舊的電子郵件地址登入。',
|
||||
'login_provider_local_only' => '當藉由 ":login_provider" 驗證時,此動作不可用。',
|
||||
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
|
||||
'external_auth_disabled' => 'This action is not available when Firefly III isn\'t responsible for authentication handling.',
|
||||
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
|
||||
'oauth' => 'OAuth',
|
||||
'profile_oauth_clients' => 'OAuth Clients',
|
||||
|
||||
Reference in New Issue
Block a user