Merge branch 'develop' into 5.7.0

# Conflicts:
#	composer.json
#	composer.lock
This commit is contained in:
James Cole 2022-03-19 07:58:06 +01:00
commit 45d99aa456
No known key found for this signature in database
GPG Key ID: B49A324B7EAD6D80
147 changed files with 858 additions and 669 deletions

View File

@ -94,7 +94,7 @@ abstract class Controller extends BaseController
$obj = Carbon::parse($date);
} catch (InvalidDateException | InvalidFormatException $e) {
// don't care
Log::warn(sprintf('Ignored invalid date "%s" in API controller parameter check: %s', (string) $date, $e->getMessage()));
Log::warning(sprintf('Ignored invalid date "%s" in API controller parameter check: %s', (string) $date, $e->getMessage()));
}
}
$bag->set($field, $obj);

View File

@ -71,6 +71,7 @@ class GracefulNotFoundHandler extends ExceptionHandler
return parent::render($request, $e);
case 'accounts.show':
case 'accounts.edit':
case 'accounts.show.all':
return $this->handleAccount($request, $e);
case 'transactions.show':

View File

@ -153,6 +153,12 @@ class Handler extends ExceptionHandler
$userData['id'] = auth()->user()->id;
$userData['email'] = auth()->user()->email;
}
$headers = [];
if (request()->headers) {
$headers = request()->headers->all();
}
$data = [
'class' => get_class($e),
'errorMessage' => $e->getMessage(),
@ -165,11 +171,12 @@ class Handler extends ExceptionHandler
'url' => request()->fullUrl(),
'userAgent' => request()->userAgent(),
'json' => request()->acceptsJson(),
'headers' => $headers,
];
// create job that will mail.
$ipAddress = request()->ip() ?? '0.0.0.0';
$job = new MailError($userData, (string)config('firefly.site_owner'), $ipAddress, $data);
$job = new MailError($userData, (string) config('firefly.site_owner'), $ipAddress, $data);
dispatch($job);
parent::report($e);

View File

@ -43,6 +43,15 @@ class TransactionCurrencyFactory
*/
public function create(array $data): TransactionCurrency
{
// if the code already exists (deleted)
// force delete it and then create the transaction:
$count = TransactionCurrency::withTrashed()->whereCode($data['code'])->count();
if(1 === $count) {
$old = TransactionCurrency::withTrashed()->whereCode($data['code'])->first();
$old->forceDelete();
Log::warning(sprintf('Force deleted old currency with ID #%d and code "%s".', $old->id, $data['code']));
}
try {
/** @var TransactionCurrency $result */
$result = TransactionCurrency::create(

View File

@ -226,7 +226,9 @@ trait MetaCollection
$q1->where(function (Builder $q2) {
$q2->where('journal_meta.name', '=', 'external_url');
$q2->whereNull('journal_meta.data');
})->orWhereNull('journal_meta.name');
})->orWhere(function (Builder $q3) {
$q3->where('journal_meta.name', '!=', 'external_url');
});
});
return $this;
@ -416,6 +418,7 @@ trait MetaCollection
static function (JoinClause $join) {
$join->on('notes.noteable_id', '=', 'transaction_journals.id');
$join->where('notes.noteable_type', '=', 'FireflyIII\Models\TransactionJournal');
$join->whereNull('notes.deleted_at');
}
);
// add fields

View File

@ -120,49 +120,52 @@ class DebugController extends Controller
*/
public function index(Request $request)
{
$search = ['~', '#'];
$replace = ['\~', '# '];
// basic scope information:
$now = Carbon::now()->format('Y-m-d H:i:s e');
$installationIdConfig = app('fireflyconfig')->get('installation_id', '');
$installationId = $installationIdConfig ? $installationIdConfig->data : '';
$phpVersion = str_replace($search, $replace, PHP_VERSION);
$phpOs = str_replace($search, $replace, PHP_OS);
$interface = PHP_SAPI;
$drivers = implode(', ', DB::availableDrivers());
$currentDriver = DB::getDriverName();
$userAgent = $request->header('user-agent');
$trustedProxies = config('firefly.trusted_proxies');
$displayErrors = ini_get('display_errors');
$errorReporting = $this->errorReporting((int)ini_get('error_reporting'));
$appEnv = config('app.env');
$appDebug = var_export(config('app.debug'), true);
$logChannel = config('logging.default');
$appLogLevel = config('logging.level');
$cacheDriver = config('cache.default');
$loginProvider = config('auth.providers.users.driver');
$bcscale = bcscale();
$layout = env('FIREFLY_III_LAYOUT');
$tz = env('TZ');
$buildNr = '(unknown)';
$buildDate = '(unknown)';
$expectedDBversion = config('firefly.db_version');
$foundDBversion = FireflyConfig::get('db_version', 1)->data;
if (file_exists('/var/www/counter-main.txt')) {
$buildNr = trim(file_get_contents('/var/www/counter-main.txt'));
}
if (file_exists('/var/www/build-date-main.txt')) {
$buildDate = trim(file_get_contents('/var/www/build-date-main.txt'));
}
$phpVersion = PHP_VERSION;
$phpOs = PHP_OS;
// expected + found DB version:
$expectedDBversion = config('firefly.db_version');
$foundDBversion = FireflyConfig::get('db_version', 1)->data;
// system information
$tz = env('TZ');
$appEnv = config('app.env');
$appDebug = var_export(config('app.debug'), true);
$cacheDriver = config('cache.default');
$logChannel = config('logging.default');
$appLogLevel = config('logging.level');
$displayErrors = ini_get('display_errors');
$errorReporting = $this->errorReporting((int) ini_get('error_reporting'));
$interface = PHP_SAPI;
$defaultLanguage = (string) config('firefly.default_language');
$defaultLocale = (string) config('firefly.default_locale');
$bcscale = bcscale();
$drivers = implode(', ', DB::availableDrivers());
$currentDriver = DB::getDriverName();
$trustedProxies = config('firefly.trusted_proxies');
// some new vars.
$defaultLanguage = (string)config('firefly.default_language');
$defaultLocale = (string)config('firefly.default_locale');
// user info
$loginProvider = config('auth.providers.users.driver');
$userGuard = config('auth.defaults.guard');
$remoteHeader = $userGuard === 'remote_user_guard' ? config('auth.guard_header') : 'N/A';
$remoteMailHeader = $userGuard === 'remote_user_guard' ? config('auth.guard_email') : 'N/A';
$userLanguage = app('steam')->getLanguage();
$userLocale = app('steam')->getLocale();
$userAgent = $request->header('user-agent');
$stateful = join(', ', config('sanctum.stateful'));
// expected + found DB version:
// some new vars.
$isDocker = env('IS_DOCKER', false);
// set languages, see what happens:
@ -209,19 +212,21 @@ class DebugController extends Controller
'appEnv',
'appDebug',
'logChannel',
'stateful',
'tz',
'appLogLevel',
'remoteHeader',
'remoteMailHeader',
'now',
'drivers',
'currentDriver',
'userGuard',
'loginProvider',
'buildNr',
'buildDate',
'bcscale',
'layout',
'userAgent',
'displayErrors',
'installationId',
'errorReporting',
'phpOs',
'interface',
@ -260,7 +265,7 @@ class DebugController extends Controller
$return = ' ';
/** @var Route $route */
foreach ($set as $route) {
$name = (string)$route->getName();
$name = (string) $route->getName();
if (in_array('GET', $route->methods(), true)) {
$found = false;
foreach ($ignore as $string) {

View File

@ -59,9 +59,9 @@ class CurrencyFormRequest extends FormRequest
{
// fixed
$rules = [
'name' => 'required|max:48|min:1|unique:transaction_currencies,name',
'code' => 'required|min:3|max:51|unique:transaction_currencies,code',
'symbol' => 'required|min:1|max:51|unique:transaction_currencies,symbol',
'name' => 'required|max:48|min:1|uniqueCurrencyName',
'code' => 'required|min:3|max:51|uniqueCurrencyCode',
'symbol' => 'required|min:1|max:51|uniqueCurrencySymbol',
'decimal_places' => 'required|min:0|max:12|numeric',
'enabled' => 'in:0,1',
];

View File

@ -250,6 +250,7 @@ class CreateRecurringTransactions implements ShouldQueue
private function hasNotStartedYet(Recurrence $recurrence): bool
{
$startDate = $this->getStartDate($recurrence);
Log::debug(sprintf('Start date is %s', $startDate->format('Y-m-d')));
return $startDate->gt($this->date);
}

View File

@ -60,7 +60,8 @@ class MailError extends Job implements ShouldQueue
$this->exception = $exceptionData;
$debug = $exceptionData;
unset($debug['stackTrace']);
Log::error('Exception is: ' . json_encode($debug));
unset($debug['headers']);
Log::error(sprintf('Exception is: %s', json_encode($debug)));
}
/**
@ -81,7 +82,7 @@ class MailError extends Job implements ShouldQueue
$args,
function (Message $message) use ($email) {
if ('mail@example.com' !== $email) {
$message->to($email, $email)->subject((string)trans('email.error_subject'));
$message->to($email, $email)->subject((string) trans('email.error_subject'));
}
}
);

View File

@ -172,7 +172,7 @@ trait JournalServiceTrait
private function findAccountByNumber(?Account $account, array $data, array $types): ?Account
{
// third attempt, find by account number
if (null === $account && null !== $data['number']) {
if (null === $account && null !== $data['number'] && '' !== (string) $data['number']) {
Log::debug(sprintf('Searching for account number "%s".', $data['number']));
// find by preferred type.
$source = $this->accountRepository->findByAccountNumber((string)$data['number'], [$types[0]]);

View File

@ -66,7 +66,7 @@ class SetDestinationAccount implements ActionInterface
return false;
}
$type = $object->transactionType->type;
$this->repository->setUser($user);
// if this is a transfer or a deposit, the new destination account must be an asset account or a default account, and it MUST exist:

View File

@ -58,15 +58,14 @@ class SetSourceAccount implements ActionInterface
$user = User::find($journal['user_id']);
$type = $journal['transaction_type_type'];
/** @var TransactionJournal|null $object */
$object = $user->transactionJournals()->find((int)$journal['transaction_journal_id']);
$object = $user->transactionJournals()->find((int) $journal['transaction_journal_id']);
$this->repository = app(AccountRepositoryInterface::class);
if (null === $object) {
Log::error('Could not find journal.');
return false;
}
$type = $object->transactionType->type;
$this->repository->setUser($user);
// if this is a transfer or a withdrawal, the new source account must be an asset account or a default account, and it MUST exist:
@ -93,7 +92,7 @@ class SetSourceAccount implements ActionInterface
return false;
}
if (null !== $newAccount && (int)$newAccount->id === (int)$destination->account_id) {
if (null !== $newAccount && (int) $newAccount->id === (int) $destination->account_id) {
Log::error(
sprintf(
'New source account ID #%d and current destination account ID #%d are the same. Do nothing.', $newAccount->id,

View File

@ -34,7 +34,7 @@ use League\Fractal\Resource\Item;
class BudgetLimitTransformer extends AbstractTransformer
{
/** @var string[] */
protected $availableIncludes
protected array $availableIncludes
= [
'budget',
];

View File

@ -53,6 +53,48 @@ use function is_string;
*/
class FireflyValidator extends Validator
{
/**
* @param $attribute
* @param $value
* @return bool
*/
public function validateUniqueCurrencyName($attribute, $value): bool
{
return $this->validateUniqueCurrency('name', (string) $attribute, (string) $value);
}
/**
* @param $attribute
* @param $value
* @return bool
*/
public function validateUniqueCurrencyCode($attribute, $value): bool
{
return $this->validateUniqueCurrency('code', (string) $attribute, (string) $value);
}
/**
* @param $attribute
* @param $value
* @return bool
*/
public function validateUniqueCurrencySymbol($attribute, $value): bool
{
return $this->validateUniqueCurrency('symbol', (string) $attribute, (string) $value);
}
/**
* @param $attribute
* @param $value
* @return bool
*/
public function validateUniqueCurrency(string $field, string $attribute, string $value): bool
{
return 0 === DB::table('transaction_currencies')->where($field, $value)->whereNull('deleted_at')->count();
}
/**
* @param mixed $attribute
* @param mixed $value
@ -84,7 +126,7 @@ class FireflyValidator extends Validator
{
$field = $parameters[1] ?? 'id';
if (0 === (int)$value) {
if (0 === (int) $value) {
return true;
}
$count = DB::table($parameters[0])->where('user_id', auth()->user()->id)->where($field, $value)->count();
@ -202,7 +244,7 @@ class FireflyValidator extends Validator
return false;
}
return 1 === (int)$checksum;
return 1 === (int) $checksum;
}
/**
@ -217,7 +259,7 @@ class FireflyValidator extends Validator
/** @var mixed $compare */
$compare = $parameters[0] ?? '0';
return bccomp((string)$value, (string)$compare) < 0;
return bccomp((string) $value, (string) $compare) < 0;
}
/**
@ -232,7 +274,7 @@ class FireflyValidator extends Validator
/** @var mixed $compare */
$compare = $parameters[0] ?? '0';
return bccomp((string)$value, (string)$compare) > 0;
return bccomp((string) $value, (string) $compare) > 0;
}
/**
@ -246,7 +288,7 @@ class FireflyValidator extends Validator
{
$field = $parameters[1] ?? 'id';
if (0 === (int)$value) {
if (0 === (int) $value) {
return true;
}
$count = DB::table($parameters[0])->where($field, $value)->count();
@ -266,7 +308,7 @@ class FireflyValidator extends Validator
// first, get the index from this string:
$value = $value ?? '';
$parts = explode('.', $attribute);
$index = (int)($parts[1] ?? '0');
$index = (int) ($parts[1] ?? '0');
// get the name of the trigger from the data array:
$actionType = $this->data['actions'][$index]['type'] ?? 'invalid';
@ -330,7 +372,7 @@ class FireflyValidator extends Validator
{
// first, get the index from this string:
$parts = explode('.', $attribute);
$index = (int)($parts[1] ?? '0');
$index = (int) ($parts[1] ?? '0');
// get the name of the trigger from the data array:
$triggerType = $this->data['triggers'][$index]['type'] ?? 'invalid';
@ -358,7 +400,7 @@ class FireflyValidator extends Validator
// check if it's an existing account.
if (in_array($triggerType, ['destination_account_id', 'source_account_id'])) {
return is_numeric($value) && (int)$value > 0;
return is_numeric($value) && (int) $value > 0;
}
// check transaction type.
@ -396,7 +438,7 @@ class FireflyValidator extends Validator
{
$verify = false;
if (array_key_exists('verify_password', $this->data)) {
$verify = 1 === (int)$this->data['verify_password'];
$verify = 1 === (int) $this->data['verify_password'];
}
if ($verify) {
/** @var Verifier $service */
@ -433,7 +475,7 @@ class FireflyValidator extends Validator
}
$parameterId = $parameters[0] ?? null;
if (null !== $parameterId) {
return $this->validateByParameterId((int)$parameterId, $value);
return $this->validateByParameterId((int) $parameterId, $value);
}
if (array_key_exists('id', $this->data)) {
return $this->validateByAccountId($value);
@ -483,7 +525,7 @@ class FireflyValidator extends Validator
}
$accountTypes = AccountType::whereIn('type', $search)->get();
$ignore = (int)($parameters[0] ?? 0.0);
$ignore = (int) ($parameters[0] ?? 0.0);
$accountTypeIds = $accountTypes->pluck('id')->toArray();
/** @var Collection $set */
$set = auth()->user()->accounts()->whereIn('account_type_id', $accountTypeIds)->where('id', '!=', $ignore)->get();
@ -506,7 +548,7 @@ class FireflyValidator extends Validator
private function validateByAccountTypeId($value, $parameters): bool
{
$type = AccountType::find($this->data['account_type_id'])->first();
$ignore = (int)($parameters[0] ?? 0.0);
$ignore = (int) ($parameters[0] ?? 0.0);
/** @var Collection $set */
$set = auth()->user()->accounts()->where('account_type_id', $type->id)->where('id', '!=', $ignore)->get();
@ -580,9 +622,9 @@ class FireflyValidator extends Validator
*/
public function validateUniqueAccountNumberForUser($attribute, $value, $parameters): bool
{
$accountId = (int)($this->data['id'] ?? 0.0);
$accountId = (int) ($this->data['id'] ?? 0.0);
if (0 === $accountId) {
$accountId = (int)($parameters[0] ?? 0.0);
$accountId = (int) ($parameters[0] ?? 0.0);
}
$query = AccountMeta::leftJoin('accounts', 'accounts.id', '=', 'account_meta.account_id')
@ -615,7 +657,7 @@ class FireflyValidator extends Validator
*/
public function validateUniqueExistingWebhook($value, $parameters, $something): bool
{
$existingId = (int)($something[0] ?? 0);
$existingId = (int) ($something[0] ?? 0);
$trigger = 0;
$response = 0;
$delivery = 0;
@ -671,15 +713,15 @@ class FireflyValidator extends Validator
public function validateUniqueObjectForUser($attribute, $value, $parameters): bool
{
[$table, $field] = $parameters;
$exclude = (int)($parameters[2] ?? 0.0);
$exclude = (int) ($parameters[2] ?? 0.0);
/*
* If other data (in $this->getData()) contains
* ID field, set that field to be the $exclude.
*/
$data = $this->getData();
if (!array_key_exists(2, $parameters) && array_key_exists('id', $data) && (int)$data['id'] > 0) {
$exclude = (int)$data['id'];
if (!array_key_exists(2, $parameters) && array_key_exists('id', $data) && (int) $data['id'] > 0) {
$exclude = (int) $data['id'];
}
// get entries from table
$set = DB::table($table)->where('user_id', auth()->user()->id)->whereNull('deleted_at')
@ -711,7 +753,7 @@ class FireflyValidator extends Validator
->where('object_groups.user_id', auth()->user()->id)
->where('object_groups.title', $value);
if (null !== $exclude) {
$query->where('object_groups.id', '!=', (int)$exclude);
$query->where('object_groups.id', '!=', (int) $exclude);
}
return 0 === $query->count();
@ -732,7 +774,7 @@ class FireflyValidator extends Validator
$query = DB::table('piggy_banks')->whereNull('piggy_banks.deleted_at')
->leftJoin('accounts', 'accounts.id', '=', 'piggy_banks.account_id')->where('accounts.user_id', auth()->user()->id);
if (null !== $exclude) {
$query->where('piggy_banks.id', '!=', (int)$exclude);
$query->where('piggy_banks.id', '!=', (int) $exclude);
}
$query->where('piggy_banks.name', $value);

View File

@ -2,6 +2,11 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## 5.6.16 - 2022-03-01
### Fixed
- Broken migration would clash during startup.
## 5.6.15 - 2022-03-01
### Changed

View File

@ -101,9 +101,8 @@
"predis/predis": "^1.1",
"psr/log": "<3",
"ramsey/uuid": "^4.2",
"rcrowe/twigbridge": "^0.13",
"spatie/data-transfer-object": "^3.7",
"nunomaduro/collision": "^6.1"
"rcrowe/twigbridge": "^0.14",
"spatie/data-transfer-object": "^3.7"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.6",

View File

@ -101,7 +101,7 @@ return [
'webhooks' => false,
'handle_debts' => true,
],
'version' => '5.6.15',
'version' => '5.6.16',
'api_version' => '1.5.5',
'db_version' => 18,

View File

@ -36,7 +36,7 @@ return [
|
*/
'guard' => ['web'],
'guard' => [env('AUTHENTICATION_GUARD', 'web')],
/*
|--------------------------------------------------------------------------

View File

@ -6,9 +6,9 @@ use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* Class CreatePersonalAccessTokensTable
* Class CreateLocalPersonalAccessTokensTable
*/
class CreatePersonalAccessTokensTable extends Migration
class CreateLocalPersonalAccessTokensTable extends Migration
{
/**
* Run the migrations.

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/accounts/' + identifier;
return api.delete(url);
}
}

View File

@ -18,18 +18,34 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
import Api from "src/api/root/api";
export default class Get {
export default class Get extends Api {
constructor() {
super('accounts'); // call the super class constructor and pass in the name parameter
}
/**
*
* @param identifier
* @param date
* @returns {Promise<AxiosResponse<any>>}
*/
get(identifier, date) {
let url = '/api/v1/accounts/' + identifier;
let params = {date: date};
if(!date) {
return api.get(url);
return this.apiGet(identifier);
}
return api.get(url, {params: {date: date}});
return this.apiGet(identifier, params);
}
transactions(identifier, page, cacheKey) {
let url = '/api/v1/accounts/' + identifier + '/transactions';
return api.get(url, {params: {page: page, cache: cacheKey}});
/**
*
* @param identifier
* @param page
* @returns {Promise<AxiosResponse<any>>}
*/
transactions(identifier, page) {
return this.apiGetChildren('transactions', identifier, page);
}
}

View File

@ -19,10 +19,27 @@
*/
import {api} from "boot/axios";
import Api from "src/api/root/api";
export default class List extends Api{
constructor() {
super('accounts');
}
export default class List {
list(type, page, cacheKey) {
let url = '/api/v1/accounts';
return api.get(url, {params: {page: page, cache: cacheKey, type: type}});
// console.log('list');
//
//
// let params = {
// type: type,
// page: page
// }
// this.apiList(page, params).then((response) => {
// console.log('response OK');
// }).catch((err) => {
// console.error('api list failed');
// });
}
}

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = 'api/v1/budgets/' + identifier;
return api.delete(url);
}
}

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/categories/' + identifier;
return api.delete(url);
}
}

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/currencies/' + identifier;
return api.delete(url);
}
}

View File

@ -1,5 +1,5 @@
/*
* post.js
* destroy.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
@ -18,11 +18,10 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
import Api from "src/api/root/api";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/rules/' + identifier;
return api.delete(url);
export default class Destroy extends Api {
constructor(path) {
super(path);
}
}

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/object_groups/' + identifier;
return api.delete(url);
}
}

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/piggy_banks/' + identifier;
return api.delete(url);
}
}

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/recurrences/' + identifier;
return api.delete(url);
}
}

104
frontend/src/api/root/api.js vendored Normal file
View File

@ -0,0 +1,104 @@
import {api} from "boot/axios";
/**
*
*/
export default class Api {
root = '/api/v1/';
path = '';
constructor(path) {
this.path = path;
}
apiPath() {
return this.root + this.path;
}
apiPathId(identifier) {
return this.root + this.path + '/' + identifier;
}
/**
*
* @param identifier
* @param params
* @returns {Promise<AxiosResponse<any>>}
*/
apiGet(identifier, params) {
let url = this.apiPathId(identifier);
if (params) {
return api.get(url, {params: params});
}
return api.get(url);
}
destroy(identifier) {
let url = this.apiPathId(identifier);
return api.delete(url);
}
apiPathChildren(identifier, type) {
return this.apiPathId(identifier) + '/' + type;
}
apiGetChildren(type, identifier, page) {
let url = this.apiPathChildren(identifier, type);
let cacheKey = 'still-todo';
// needs a cache key. Based on type.
return api.get(url, {params: {page: page, cache: cacheKey}});
}
/**
*
* @param page
* @param params
* @returns {Promise<AxiosResponse<any>>}
*/
apiList(page, params) {
let type = 'transactions';
let identifier = '1';
let cacheKey = 'still-todo';
let url = this.apiPathChildren(identifier, type);
// needs a cache key. Based on type.
return api.get(url, {params: {page: page, cache: cacheKey}});
// let identifier = 'abc';
// // test:
// let type= 'expense';
// let type ='accounts';
//
// this.store.getters["fireflyiii/getScopedCacheKey"](type);
// let cacheKey = 'def';
// let url = this.apiPath();
//
// // needs a cache key. Based on type.
// return api.get(url, {params: {page: page, cache: cacheKey}});
//
//
// console.log('apiList');
// let cacheKey;
//
// //let $q = useQuasar();
// //const store = useStore();
// cacheKey = 'OK';
// console.log('path: ' + this.path);
// //cacheKey = $store.getters["fireflyiii/getScopedCacheKey"](this.path);
// //store.getters["fireflyiii/getScopedCacheKey"](this.path)
// let cache = {
// cache: cacheKey
// };
// let merged = {...params, ...cache};
// console.log(merged);
// let url = this.apiPath();
// console.log(url);
// return api.get(url, {params: merged});
}
}

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/rule_groups/' + identifier;
return api.delete(url);
}
}

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/bills/' + identifier;
return api.delete(url);
}
}

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/transactions/' + identifier;
return api.delete(url);
}
}

View File

@ -1,28 +0,0 @@
/*
* post.js
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {api} from "boot/axios";
export default class Destroy {
destroy(identifier) {
let url = '/api/v1/webhooks/' + identifier;
return api.delete(url);
}
}

View File

@ -127,7 +127,7 @@
<script>
import format from "date-fns/format";
import Destroy from "../../api/transactions/destroy";
import Destroy from "../../api/generic/destroy";
export default {
name: "LargeTable",
@ -209,8 +209,8 @@ export default {
});
},
destroyTransaction: function (id) {
let destr = new Destroy;
destr.destroy(id).then(() => {
(new Destroy('transactions')).destroy(id).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
//this.triggerUpdate();
});

View File

@ -27,10 +27,10 @@ export default {
"title_deposit": "Revenue \/ income",
"title_transfer": "Transfers",
"title_transfers": "Transfers",
"asset_accounts": "Asset accounts",
"expense_accounts": "Expense accounts",
"revenue_accounts": "Revenue accounts",
"liabilities_accounts": "Liabilities"
"asset_accounts": "Cuentas de activos",
"expense_accounts": "Cuentas de gastos",
"revenue_accounts": "Cuentas de ingresos",
"liabilities_accounts": "Pasivos"
},
"firefly": {
"rule_trigger_source_account_starts_choice": "El nombre de la cuenta de origen comienza con..",
@ -92,9 +92,9 @@ export default {
"rule_trigger_external_id_choice": "El ID externo es..",
"rule_trigger_internal_reference_choice": "La referencia interna es..",
"rule_trigger_journal_id_choice": "El ID del diario de transacciones es..",
"rule_trigger_any_external_url_choice": "Transaction has an external URL",
"rule_trigger_no_external_url_choice": "Transaction has no external URL",
"rule_trigger_id_choice": "Transaction ID is..",
"rule_trigger_any_external_url_choice": "La transacci\u00f3n tiene una URL externa",
"rule_trigger_no_external_url_choice": "La transacci\u00f3n no tiene URL externa",
"rule_trigger_id_choice": "La ID de la transacci\u00f3n es..",
"rule_action_delete_transaction_choice": "ELIMINAR transacci\u00f3n (!)",
"rule_action_set_category_choice": "Establecer categor\u00eda para..",
"rule_action_clear_category_choice": "Eliminar cualquier categor\u00eda",

View File

@ -27,10 +27,10 @@ export default {
"title_deposit": "Revenue \/ income",
"title_transfer": "Transfers",
"title_transfers": "Transfers",
"asset_accounts": "Asset accounts",
"expense_accounts": "Expense accounts",
"revenue_accounts": "Revenue accounts",
"liabilities_accounts": "Liabilities"
"asset_accounts": "Comptes d\u2019actif",
"expense_accounts": "Comptes de d\u00e9penses",
"revenue_accounts": "Comptes de recettes",
"liabilities_accounts": "Passifs"
},
"firefly": {
"rule_trigger_source_account_starts_choice": "Le nom du compte source commence par..",

View File

@ -92,9 +92,9 @@ export default {
"rule_trigger_external_id_choice": "L'ID esterno \u00e8...",
"rule_trigger_internal_reference_choice": "Il riferimento interno \u00e8...",
"rule_trigger_journal_id_choice": "L'ID journal della transazione \u00e8...",
"rule_trigger_any_external_url_choice": "Transaction has an external URL",
"rule_trigger_no_external_url_choice": "Transaction has no external URL",
"rule_trigger_id_choice": "Transaction ID is..",
"rule_trigger_any_external_url_choice": "La transazione ha un URL esterno",
"rule_trigger_no_external_url_choice": "La transazione non ha URL esterno",
"rule_trigger_id_choice": "L'ID della transazione \u00e8...",
"rule_action_delete_transaction_choice": "ELIMINA transazione (!)",
"rule_action_set_category_choice": "Imposta come categoria...",
"rule_action_clear_category_choice": "Rimuovi da tutte le categorie",

View File

@ -27,10 +27,10 @@ export default {
"title_deposit": "Revenue \/ income",
"title_transfer": "Transfers",
"title_transfers": "Transfers",
"asset_accounts": "Asset accounts",
"expense_accounts": "Expense accounts",
"revenue_accounts": "Revenue accounts",
"liabilities_accounts": "Liabilities"
"asset_accounts": "Konta aktyw\u00f3w",
"expense_accounts": "Konta wydatk\u00f3w",
"revenue_accounts": "Konta przychod\u00f3w",
"liabilities_accounts": "Zobowi\u0105zania"
},
"firefly": {
"rule_trigger_source_account_starts_choice": "Konto \u017ar\u00f3d\u0142owe si\u0119 zaczyna od..",
@ -92,9 +92,9 @@ export default {
"rule_trigger_external_id_choice": "Zewn\u0119trzne ID to..",
"rule_trigger_internal_reference_choice": "Wewn\u0119trzne odwo\u0142anie to..",
"rule_trigger_journal_id_choice": "ID dziennika transakcji to..",
"rule_trigger_any_external_url_choice": "Transaction has an external URL",
"rule_trigger_no_external_url_choice": "Transaction has no external URL",
"rule_trigger_id_choice": "Transaction ID is..",
"rule_trigger_any_external_url_choice": "Transakcja ma zewn\u0119trzny adres URL",
"rule_trigger_no_external_url_choice": "Transakcja nie ma zewn\u0119trznego adresu URL",
"rule_trigger_id_choice": "Identyfikator transakcji to..",
"rule_action_delete_transaction_choice": "USU\u0143 transakcj\u0119 (!)",
"rule_action_set_category_choice": "Ustaw kategori\u0119 na..",
"rule_action_clear_category_choice": "Wyczy\u015b\u0107 wszystkie kategorie",

View File

@ -5,7 +5,6 @@
:rows="rows"
:columns="columns"
row-key="id"
@request="onRequest"
v-model:pagination="pagination"
:loading="loading"
class="q-ma-md"
@ -75,7 +74,7 @@
<script>
import {mapGetters, useStore} from "vuex";
import List from "../../api/accounts/list";
import Destroy from "../../api/accounts/destroy";
import Destroy from "../../api/generic/destroy";
export default {
name: 'Index',
@ -144,11 +143,12 @@ export default {
});
},
destroyAccount: function (id) {
let destr = new Destroy;
destr.destroy(id).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
(new Destroy('accounts')).destroy(id).then(() => {
this.rows= [];
this.$store.dispatch('fireflyiii/refreshCacheKey').then(() => {
this.triggerUpdate();
});
});
},
updateBreadcrumbs: function () {
this.$route.meta.pageTitle = 'firefly.' + this.type + '_accounts';
@ -169,14 +169,15 @@ export default {
return string.replace(NON_ALPHANUM, '').toUpperCase().replace(EVERY_FOUR_CHARS, "$1 ");
},
triggerUpdate: function () {
if (this.loading) {
this.rows= [];
if (true === this.loading) {
return;
}
if (null === this.range.start || null === this.range.end) {
return;
}
this.loading = true;
const list = new List();
const list = new List;
this.rows = [];
list.list(this.type, this.page, this.getCacheKey).then(
(response) => {
@ -198,8 +199,10 @@ export default {
}
this.loading = false;
}
)
;
).catch((err) => {
console.error('Error loading list');
console.error(err);
});
}
}
}

View File

@ -95,7 +95,7 @@ export default {
const parser = new Parser;
this.rows = [];
get.transactions(this.id, this.page, this.getCacheKey).then(
get.transactions(this.id, this.page).then(
(response) => {
let resp = parser.parseResponse(response);

View File

@ -68,7 +68,7 @@
<script>
import {mapGetters, useStore} from "vuex";
import Destroy from "../../api/budgets/destroy";
import Destroy from "../../api/generic/destroy";
import List from "../../api/budgets/list";
export default {
@ -135,8 +135,7 @@ export default {
});
},
destroyBudget: function (id) {
let destr = new Destroy;
destr.destroy(id).then(() => {
(new Destroy('budgets')).destroy(id).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
this.triggerUpdate();
});

View File

@ -68,7 +68,7 @@
<script>
import {mapGetters, useStore} from "vuex";
import Destroy from "../../api/categories/destroy";
import Destroy from "../../api/generic/destroy";
import List from "../../api/categories/list";
export default {
@ -135,8 +135,7 @@ export default {
});
},
destroyCategory: function (id) {
let destr = new Destroy;
destr.destroy(id).then(() => {
(new Destroy('categories')).destroy(id).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
this.triggerUpdate();
});

View File

@ -68,7 +68,7 @@
<script>
import {mapGetters, useStore} from "vuex";
import Destroy from "../../api/currencies/destroy";
import Destroy from "../../api/generic/destroy";
import List from "../../api/currencies/list";
export default {
@ -137,8 +137,7 @@ export default {
});
},
destroyCurrency: function (code) {
let destr = new Destroy;
destr.destroy(code).then(() => {
(new Destroy('currencies')).destroy(code).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
this.triggerUpdate();
});

View File

@ -52,7 +52,7 @@
<script>
import {mapGetters, useStore} from "vuex";
import Destroy from "../../api/groups/destroy";
import Destroy from "../../api/generic/destroy";
import List from "../../api/groups/list";
export default {
@ -119,9 +119,8 @@ export default {
// TODO needs error catch.
});
},
destroyGroup: function (code) {
let destr = new Destroy;
destr.destroy(code).then(() => {
destroyGroup: function (identifier) {
(new Destroy('object_groups')).destroy(identifier).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
this.triggerUpdate();
});

View File

@ -65,7 +65,7 @@
<script>
import {mapGetters, useStore} from "vuex";
import Destroy from "../../api/piggy-banks/destroy";
import Destroy from "../../api/generic/destroy";
import List from "../../api/piggy-banks/list";
export default {
@ -131,8 +131,7 @@ export default {
});
},
destroyPiggyBank: function (id) {
let destr = new Destroy;
destr.destroy(id).then(() => {
(new Destroy('piggy_banks')).destroy(id).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
this.triggerUpdate();
});

View File

@ -65,7 +65,7 @@
<script>
import {mapGetters, useStore} from "vuex";
import Destroy from "../../api/recurring/destroy";
import Destroy from "../../api/generic/destroy";
import List from "../../api/recurring/list";
export default {
@ -132,8 +132,7 @@ export default {
});
},
destroyRecurring: function (id) {
let destr = new Destroy;
destr.destroy(id).then(() => {
(new Destroy('recurrences')).destroy(id).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
this.triggerUpdate();
});

View File

@ -80,8 +80,7 @@
import {mapGetters} from "vuex";
import List from "../../api/rule-groups/list";
import Get from "../../api/rule-groups/get";
import Destroy from "../../api/rule-groups/destroy";
import DestroyRule from "../../api/rules/destroy";
import Destroy from "../../api/generic/destroy";
export default {
name: 'Index',
@ -142,15 +141,13 @@ export default {
});
},
destroyRuleGroup: function (id) {
let destr = new Destroy;
destr.destroy(id).then(() => {
(new Destroy('rule_groups')).destroy(id).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
this.triggerUpdate();
});
},
destroyRule: function (id) {
let destr = new DestroyRule;
destr.destroy(id).then(() => {
(new Destroy('rules')).destroy(id).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
this.triggerUpdate();
});

View File

@ -67,7 +67,7 @@
<script>
import {mapGetters, useStore} from "vuex";
import List from "../../api/subscriptions/list";
import Destroy from "../../api/subscriptions/destroy";
import Destroy from "../../api/generic/destroy";
export default {
name: 'Index',
@ -127,8 +127,7 @@ export default {
});
},
destroySubscription: function (id) {
let destr = new Destroy;
destr.destroy(id).then(() => {
(new Destroy('bills')).destroy(id).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
this.triggerUpdate();
});

View File

@ -66,7 +66,7 @@
<script>
import {mapGetters} from "vuex";
import Destroy from "../../api/webhooks/destroy";
import Destroy from "../../api/generic/destroy";
import List from "../../api/webhooks/list";
export default {
@ -119,8 +119,7 @@ export default {
});
},
destroyWebhook: function (id) {
let destr = new Destroy;
destr.destroy(id).then(() => {
(new Destroy('webhooks')).destroy(id).then(() => {
this.$store.dispatch('fireflyiii/refreshCacheKey');
this.triggerUpdate();
});

View File

@ -3342,9 +3342,9 @@ flatted@^3.1.0:
integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==
follow-redirects@^1.0.0, follow-redirects@^1.14.0:
version "1.14.6"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.6.tgz#8cfb281bbc035b3c067d6cd975b0f6ade6e855cd"
integrity sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==
version "1.14.9"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7"
integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==
fork-ts-checker-webpack-plugin@6.5.0:
version "6.5.0"
@ -4416,9 +4416,9 @@ mute-stream@0.0.8:
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
nanoid@^3.1.30:
version "3.1.30"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362"
integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==
version "3.3.1"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35"
integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==
natural-compare@^1.4.0:
version "1.4.0"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -13,7 +13,7 @@
"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": "Sie scheinen noch keine Vertr\u00e4ge zu haben. Sie sollten einige auf der Seite <a href=\"bills\">Vertr\u00e4ge<\/a> erstellen. Anhand der Vertr\u00e4ge k\u00f6nnen Sie den \u00dcberblick \u00fcber Ihre Ausgaben behalten.",
"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": "Sie k\u00f6nnen weitere Buchungsoptionen in Ihren <a href=\"preferences\">Einstellungen<\/a> aktivieren.",
"destination_account": "Zielkonto",

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Начало',
'budgets' => 'Budgets',
'subscriptions' => 'Subscriptions',
'transactions' => 'Transactions',
'title_expenses' => 'Expenses',
'title_withdrawal' => 'Expenses',
'title_revenue' => 'Revenue / income',
'title_deposit' => 'Revenue / income',
'title_transfer' => 'Transfers',
'title_transfers' => 'Transfers',
'edit_currency' => 'Редактирай валута ":name"',
'delete_currency' => 'Изтрий валута ":name"',
'newPiggyBank' => 'Създай нова касичка',

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'Ако предпочитате, можете също да отворите нов проблем на <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'Ако предпочитате, можете също да отворите нов проблем на https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'Пълният stacktrace е отдолу:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III създаде нова транзакция | Firefly III създаде :count нови транзакции',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Разходната сметка „@source_name“ приема само транзакции в @source_currency. Приходната сметка „@dest_name“ приема само транзакции в @dest_currency. Трябва да предоставите трансферираната сума точно и в двете валути.',
'transaction_data' => 'Данни на транзакцията',
'invalid_server_configuration' => 'Грешна конфигурация на сървъра',
'invalid_locale_settings' => 'Firefly III не може да форматира парични суми, защото на вашия сървър липсват необходимите пакети. Има <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages"> инструкции как да поправите това </a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Бърз ключ',
'sign_in_to_start' => 'Влезте, за да започнете сесията си',
'sign_in' => 'Вход',
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Създай нова сметка за приходи',
'make_new_liabilities_account' => 'Създай ново задължение',
'asset_accounts' => 'Сметки за активи',
'undefined_accounts' => 'Accounts',
'asset_accounts_inactive' => 'Сметки за активи (деактивирани)',
'expense_accounts' => 'Сметки за разходи',
'expense_accounts_inactive' => 'Сметки за разходи (деактивирани)',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Domů',
'budgets' => 'Budgets',
'subscriptions' => 'Subscriptions',
'transactions' => 'Transactions',
'title_expenses' => 'Expenses',
'title_withdrawal' => 'Expenses',
'title_revenue' => 'Revenue / income',
'title_deposit' => 'Revenue / income',
'title_transfer' => 'Transfers',
'title_transfers' => 'Transfers',
'edit_currency' => 'Upravit měnu „:name“',
'delete_currency' => 'Odstranit měnu „:name“',
'newPiggyBank' => 'Vytvořit novou pokladničku',

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'Pokud chcete, můžete vytvořit hlášení problému na <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'Pokud chcete, můžete vytvořit hlášení problému na https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'Celý zásobník je níže:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III vytvořil novou transakci|Firefly III vytvořil :count nových transakcí',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Zdrojový účet aktiv "@source_name" přijímá pouze transakce v @source_currency. Cílový účet aktiv „@dest_name“ přijímá pouze transakce v @dest_currency. V obou měnách musíte uvést převedenou částku správně.',
'transaction_data' => 'Data transakce',
'invalid_server_configuration' => 'Neplatné nastavení serveru',
'invalid_locale_settings' => 'Firefly III nemůže formátovat peněžní účty protože na vašem serveru chybí potřebné balíčky. Jsou k dispozici <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">pokyny, jak to napravit</a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Rychlé přepnutí',
'sign_in_to_start' => 'Pro zahájení vaší relace se přihlaste',
'sign_in' => 'Přihlásit',
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Vytvořit nový příjmový účet',
'make_new_liabilities_account' => 'Vytvořit nový závazek',
'asset_accounts' => 'Účty aktiv',
'undefined_accounts' => 'Accounts',
'asset_accounts_inactive' => 'Asset accounts (inactive)',
'expense_accounts' => 'Výdajové účty',
'expense_accounts_inactive' => 'Výdajové účty (neaktivní)',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Startseite',
'budgets' => 'Budgets',
'subscriptions' => 'Abonnements',
'transactions' => 'Buchungen',
'title_expenses' => 'Ausgaben',
'title_withdrawal' => 'Ausgaben',
'title_revenue' => 'Einnahmen / Einkommen',
'title_deposit' => 'Einnahmen / Einkommen',
'title_transfer' => 'Umbuchungen',
'title_transfers' => 'Transfers',
'edit_currency' => 'Währung „:name” bearbeiten',
'delete_currency' => 'Währung „:name” löschen',
'newPiggyBank' => 'Neues Sparschwein erstellen',

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'Wenn Sie es bevorzugen, können Sie auch einen Fehlerbericht auf <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a> eröffnen.',
'error_github_text' => 'Wenn Sie es bevorzugen, können Sie auch einen Fehlerbericht auf https://github.com/firefly-iii/firefly-iii/issues eröffnen.',
'error_stacktrace_below' => 'Der vollständige Stacktrace ist unten:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III hat eine neue Transaktion erstellt|Firefly III hat :count neue Transaktionen erstellt',

View File

@ -108,7 +108,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' => 'Sie scheinen noch keine Verträge zu haben. Sie sollten einige auf der Seite <a href="bills">Verträge</a> erstellen. Anhand der Verträge können Sie den Überblick über Ihre Ausgaben behalten.',
'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',
@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Das Quellkonto „@source_name” akzeptiert nur Buchungen in @source_currency. Das Zielkonto "@dest_name" akzeptiert nur Buchungen in @dest_currency. Sie müssen den Betrag in beiden Währungen korrekt angeben.',
'transaction_data' => 'Transaktionsdaten',
'invalid_server_configuration' => 'Ungültige Serverkonfiguration',
'invalid_locale_settings' => 'Firefly III kann keine Geldbeträge formatieren, da auf Ihrem Server die erforderlichen Pakete fehlen. Es gibt <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">eine Anleitung</a>, wie dies behoben werden kann.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Schnellauswahl',
'sign_in_to_start' => 'Melden Sie sich an, um Ihre Sitzung zu starten',
'sign_in' => 'Anmelden',
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Neues Einnahmenkonto anlegen',
'make_new_liabilities_account' => 'Neue Verbindlichkeit anlegen',
'asset_accounts' => 'Bestandskonten',
'undefined_accounts' => 'Konten',
'asset_accounts_inactive' => 'Bestandskonten (inaktiv)',
'expense_accounts' => 'Ausgabekonten',
'expense_accounts_inactive' => 'Ausgabekonten (inaktiv)',
@ -1395,7 +1396,7 @@ return [
'piggyBanks' => 'Sparschweine',
'piggy_banks' => 'Sparschweine',
'amount_x_of_y' => '{current} von {total}',
'bills' => 'Verträge',
'bills' => 'Rechnungen',
'withdrawal' => 'Ausgabe',
'opening_balance' => 'Eröffnungsbilanz',
'deposit' => 'Einnahme',
@ -1795,11 +1796,11 @@ return [
'no_transactions_imperative_transfers' => 'Haben Sie Geld umgebucht? Dann sollten Sie es eintragen:',
'no_transactions_create_transfers' => 'Eine Umbuchung erstellen',
'no_piggies_title_default' => 'Lassen Sie uns nun ein Sparschwein erstellen!',
'no_piggies_intro_default' => 'Sie haben noch keine Sparscheine. Sie können Sparschweine erstellen, um Ihre Ersparnisse zu teilen und den Überblick darüber zu behalten, wofür Sie sparen.',
'no_piggies_imperative_default' => 'Haben Sie Dinge, auf die Sie sparen? Erstellen Sie eine Sparschwein und behalten Sie den Überblick:',
'no_piggies_intro_default' => 'Sie haben noch keine Sparschweine. Sie können Sparschweine erstellen, um Ihre Ersparnisse zu teilen und den Überblick darüber zu behalten, wofür Sie sparen.',
'no_piggies_imperative_default' => 'Haben Sie Dinge, auf die Sie sparen? Erstellen Sie ein Sparschwein und behalten Sie den Überblick:',
'no_piggies_create_default' => 'Ein neues Sparschwein erstellen',
'no_bills_title_default' => 'Lassen Sie uns nun eine Rechnung erstellen!',
'no_bills_intro_default' => 'Du hast noch keine Verträge. Sie können Verträge erstellen, um die laufenden Ausgaben, wie zum Beispiel Ihre Versicherung oder Miete, nachzuverfolgen.',
'no_bills_intro_default' => 'Du hast noch keine Rechnungen. Sie können Rechnungen erstellen, um die laufenden Ausgaben, wie zum Beispiel Ihre Versicherung oder Miete, nachzuverfolgen.',
'no_bills_imperative_default' => 'Haben Sie regelmäßige Rechnungen? Erstellen Sie eine Rechnung und verfolgen Sie Ihre Zahlungen:',
'no_bills_create_default' => 'Eine Rechnung erstellen',
@ -1808,7 +1809,7 @@ return [
'repeat_until_in_past' => 'Diese wiederkehrende Buchung wiederholte ab dem :date nicht mehr.',
'recurring_calendar_view' => 'Kalender',
'no_recurring_title_default' => 'Lassen Sie uns einen Dauerauftrag erstellen!',
'no_recurring_intro_default' => 'Noch keinen Dauerauftrag erstellt. Mit diesen können Sie Firefly III dazu einsetzen, automatisch Buchungen für Sie zu erstellen. ',
'no_recurring_intro_default' => 'Sie haben noch keine Daueraufträge erstellt. Diese können Sie nutzen, um automatisch Buchungen von Firefly III erstellen zu lassen.',
'no_recurring_imperative_default' => 'Dies ist eine sehr fortschrittliche Funktion, welche aber sehr nützlich sein kann. Stellen Sie sicher, dass Sie die Dokumentation (❓-Symbol in der oberen rechten Ecke) lesen, bevor Sie fortfahren.',
'no_recurring_create_default' => 'Dauerauftrag erstellen',
'make_new_recurring' => 'Dauerauftrag erstellen',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Αρχική',
'budgets' => 'Budgets',
'subscriptions' => 'Subscriptions',
'transactions' => 'Transactions',
'title_expenses' => 'Expenses',
'title_withdrawal' => 'Expenses',
'title_revenue' => 'Revenue / income',
'title_deposit' => 'Revenue / income',
'title_transfer' => 'Transfers',
'title_transfers' => 'Transfers',
'edit_currency' => 'Επεξεργασία νομίσματος ":name"',
'delete_currency' => 'Διαγραφή νομίσματος ":name"',
'newPiggyBank' => 'Δημιουργία ενός νέου κουμπαρά',

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'Αν προτιμάτε, μπορείτε επίσης να ανοίξετε ένα νέο ζήτημα στο <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'Αν προτιμάτε, μπορείτε επίσης να ανοίξετε ένα νέο ζήτημα στο https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'Το πλήρες stacktrace είναι παρακάτω:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Το Firefly III έχει δημιουργήσει μια νέα συναλλαγή|Το Firefly III έχει δημιουργήσει :count νέες συναλλαγές',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Ο κεφαλαιακός λογαριασμός προέλευσης "@source_name" δέχεται συναλλαγές μόνο σε @source_currency. Ο κεφαλαιακός λογαριασμός προορισμού "@dest_name" δέχεται συναλλαγές μόνο σε @dest_currency. Πρέπει να παρέχετε το σωστό μεταφερόμενο ποσό και στα δύο νομίσματα.',
'transaction_data' => 'Δεδομένα συναλλαγής',
'invalid_server_configuration' => 'Μη έγκυρη παραμετροποίηση εξυπηρετητή',
'invalid_locale_settings' => 'Το Firefly III δεν είναι σε θέση να μορφοποιήσει χρηματικά ποσά επειδή λείπουν τα απαραίτητα πακέτα από τον εξυπηρετητή σας. Υπάρχουν <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">οδηγίες πως να το κάνετε αυτό</a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Εναλλαγή',
'sign_in_to_start' => 'Συνδεθείτε για να ξεκινήσετε τη συνεδρία σας',
'sign_in' => 'Είσοδος',
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Δημιουργία νέου λογαριασμού εσόδων',
'make_new_liabilities_account' => 'Δημιουργία νέας υποχρέωσης',
'asset_accounts' => 'Κεφάλαια',
'undefined_accounts' => 'Accounts',
'asset_accounts_inactive' => 'Λογαριασμοί κεφαλαίου (ανενεργοί)',
'expense_accounts' => 'Δαπάνες',
'expense_accounts_inactive' => 'Λογαριασμοί δαπανών (ανενεργοί)',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Home',
'budgets' => 'Budgets',
'subscriptions' => 'Subscriptions',
'transactions' => 'Transactions',
'title_expenses' => 'Expenses',
'title_withdrawal' => 'Expenses',
'title_revenue' => 'Revenue / income',
'title_deposit' => 'Revenue / income',
'title_transfer' => 'Transfers',
'title_transfers' => 'Transfers',
'edit_currency' => 'Edit currency ":name"',
'delete_currency' => 'Delete currency ":name"',
'newPiggyBank' => 'Create a new piggy bank',

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'If you prefer, you can also open a new issue on <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'If you prefer, you can also open a new issue on https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'The full stacktrace is below:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III has created a new transaction|Firefly III has created :count new transactions',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.',
'transaction_data' => 'Transaction data',
'invalid_server_configuration' => 'Invalid server configuration',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">instructions how to do this</a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Quickswitch',
'sign_in_to_start' => 'Sign in to start your session',
'sign_in' => 'Sign in',
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Create a new revenue account',
'make_new_liabilities_account' => 'Create a new liability',
'asset_accounts' => 'Asset accounts',
'undefined_accounts' => 'Accounts',
'asset_accounts_inactive' => 'Asset accounts (inactive)',
'expense_accounts' => 'Expense accounts',
'expense_accounts_inactive' => 'Expense accounts (inactive)',

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'If you prefer, you can also open a new issue on <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'If you prefer, you can also open a new issue on https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'The full stacktrace is below:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III has created a new transaction|Firefly III has created :count new transactions',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Source asset account "@source_name" only accepts transactions in @source_currency. Destination asset account "@dest_name" only accepts transactions in @dest_currency. You must provide the transferred amount correctly in both currencies.',
'transaction_data' => 'Transaction data',
'invalid_server_configuration' => 'Invalid server configuration',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">instructions how to do this</a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="https://docs.firefly-iii.org/firefly-iii/advanced-installation/locales/">instructions how to do this</a>.',
'quickswitch' => 'Quickswitch',
'sign_in_to_start' => 'Sign in to start your session',
'sign_in' => 'Sign in',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Inicio',
'budgets' => 'Presupuestos',
'subscriptions' => 'Suscripciones',
'transactions' => 'Transacciones',
'title_expenses' => 'Gastos',
'title_withdrawal' => 'Gastos',
'title_revenue' => 'Ingresos / salario',
'title_deposit' => 'Ingresos / salario',
'title_transfer' => 'Transferencias',
'title_transfers' => 'Transferencias',
'edit_currency' => 'Editar moneda ":name"',
'delete_currency' => 'Eliminar moneda ":name"',
'newPiggyBank' => 'Crear nueva hucha',
@ -61,9 +70,9 @@ return [
'edit_object_group' => 'Editar grupo ":title"',
'delete_object_group' => 'Eliminar grupo ":title"',
'logout_others' => 'Desconectar otras sesiones',
'asset_accounts' => 'Asset accounts',
'expense_accounts' => 'Expense accounts',
'revenue_accounts' => 'Revenue accounts',
'liabilities_accounts' => 'Liabilities',
'asset_accounts' => 'Cuentas de activos',
'expense_accounts' => 'Cuentas de gastos',
'revenue_accounts' => 'Cuentas de ingresos',
'liabilities_accounts' => 'Pasivos',
'placeholder' => '[Placeholder]',
];

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'Si prefiere, también puede abrir un nuevo issue en <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'Si prefiere, también puedes abrir un nuevo problema en https://github.com/firefly-iiii/firefly-iiii/issues.',
'error_stacktrace_below' => 'El stacktrace completo está a continuación:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III ha creado una nueva transacción|Firefly III ha creado :count nuevas transacciones',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'La cuenta de activos "@source_name" solo acepta transacciones en "@source_currency". cuenta de activos de destino "@dest_name" solo acepta transacciones en @dest_currency. Debes indicar la cantidad correcta transferida en ambas monedas.',
'transaction_data' => 'Datos de transacción',
'invalid_server_configuration' => 'Configuración de servidor no válida',
'invalid_locale_settings' => 'FireFly III no puede formatear cantidades monetarias porque a su servidor le faltan los paquetes requeridos. Hay <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">instrucciones de cómo hacer esto</a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Cambio rápido',
'sign_in_to_start' => 'Iniciar sesión para comenzar',
'sign_in' => 'Iniciar sesión',
@ -566,10 +566,10 @@ return [
'rule_trigger_journal_id' => 'El ID del diario de transacciones es ":trigger_value"',
'rule_trigger_no_external_url' => 'La transacción no tiene URL externa',
'rule_trigger_any_external_url' => 'La transacción tiene una URL externa',
'rule_trigger_any_external_url_choice' => 'Transaction has an external URL',
'rule_trigger_no_external_url_choice' => 'Transaction has no external URL',
'rule_trigger_id_choice' => 'Transaction ID is..',
'rule_trigger_id' => 'Transaction ID is ":trigger_value"',
'rule_trigger_any_external_url_choice' => 'La transacción tiene una URL externa',
'rule_trigger_no_external_url_choice' => 'La transacción no tiene URL externa',
'rule_trigger_id_choice' => 'La ID de la transacción es..',
'rule_trigger_id' => 'La ID de la transacción es ":trigger_value"',
// actions
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Crear nueva cuenta de ingresos',
'make_new_liabilities_account' => 'Crear un nuevo pasivo',
'asset_accounts' => 'Cuenta de activos',
'undefined_accounts' => 'Cuentas',
'asset_accounts_inactive' => 'Cuentas de activos (inactivas)',
'expense_accounts' => 'Cuentas de gastos',
'expense_accounts_inactive' => 'Cuentas de gastos (inactivas)',

View File

@ -61,9 +61,9 @@ return [
'accepted' => 'El :attribute debe ser aceptado.',
'bic' => 'Esto no es un BIC válido.',
'at_least_one_trigger' => 'La regla debe tener al menos un desencadenante.',
'at_least_one_active_trigger' => 'Rule must have at least one active trigger.',
'at_least_one_active_trigger' => 'La regla debe tener al menos un desencadenante activo.',
'at_least_one_action' => 'La regla debe tener al menos una acción.',
'at_least_one_active_action' => 'Rule must have at least one active action.',
'at_least_one_active_action' => 'La regla debe tener al menos una acción activa.',
'base64' => 'Esto no es un dato codificado en base64 válido.',
'model_id_invalid' => 'El ID dado no parece válido para este modelo.',
'less' => ':attribute debe ser menor que 10.000.000',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Etusivu',
'budgets' => 'Budjetit',
'subscriptions' => 'Tilaukset',
'transactions' => 'Tapahtumat',
'title_expenses' => 'Kustannukset',
'title_withdrawal' => 'Kustannukset',
'title_revenue' => 'Tuotto / ansio',
'title_deposit' => 'Tuotto / ansio',
'title_transfer' => 'Tilisiirrot',
'title_transfers' => 'Tilisiirrot',
'edit_currency' => 'Muokkaa valuuttaa ":name"',
'delete_currency' => 'Poista valuutta ":name"',
'newPiggyBank' => 'Luo uusi säästöpossu',
@ -61,9 +70,9 @@ return [
'edit_object_group' => 'Muokkaa ryhmää ":title"',
'delete_object_group' => 'Poista ryhmä ":title"',
'logout_others' => 'Kirjaudu ulos muista istunnoista',
'asset_accounts' => 'Asset accounts',
'expense_accounts' => 'Expense accounts',
'revenue_accounts' => 'Revenue accounts',
'liabilities_accounts' => 'Liabilities',
'asset_accounts' => 'Käyttötilit',
'expense_accounts' => 'Kulutustilit',
'revenue_accounts' => 'Tuottotilit',
'liabilities_accounts' => 'Lainat',
'placeholder' => '[Placeholder]',
];

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'Jos haluat, voit myös avata uuden tiketin <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHubissa</a>.',
'error_github_text' => 'Jos haluat, voit myös avata uuden tiketin osoitteessa https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'Täydellinen stack trace:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III on luonut uuden tapahtuman|Firefly III on luonut :count uutta tapahtumaa',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Lähdetili "@source_name" hyväksyy tapahtumia ainoastaan valuutassa @source_currency. Kohdetili "@dest_name" hyväksyy tapahtumia ainoastaan valuutassa @dest_currency. Siirretty summa täytyy syöttää oikein - molemmilla valuutoilla.',
'transaction_data' => 'Tapahtuman tiedot',
'invalid_server_configuration' => 'Serverin asetukset eivät ole kunnossa',
'invalid_locale_settings' => 'Firefly III ei pysty näyttämään rahasummia oikein koska tarvittavat tiedostot puuttuvat serveriltä. <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">Täältä</a> löydät ohjeet asian korjaamiseksi.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Pikakytkin',
'sign_in_to_start' => 'Aloita istunto kirjautumalla sisään',
'sign_in' => 'Kirjaudu sisään',
@ -566,10 +566,10 @@ return [
'rule_trigger_journal_id' => 'Tapahtumatietueen tunnus on ":trigger_value"',
'rule_trigger_no_external_url' => 'Tapahtumalla ei ole ulkoista URL-osoitetta',
'rule_trigger_any_external_url' => 'Tapahtumalla on ulkoinen URL-osoite',
'rule_trigger_any_external_url_choice' => 'Transaction has an external URL',
'rule_trigger_no_external_url_choice' => 'Transaction has no external URL',
'rule_trigger_id_choice' => 'Transaction ID is..',
'rule_trigger_id' => 'Transaction ID is ":trigger_value"',
'rule_trigger_any_external_url_choice' => 'Tapahtumalla on ulkoinen URL-osoite',
'rule_trigger_no_external_url_choice' => 'Tapahtumalla ei ole ulkoista URL-osoitetta',
'rule_trigger_id_choice' => 'Tapahtuman tunnus on..',
'rule_trigger_id' => 'Tapahtumatunnus on ":trigger_value"',
// actions
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Luo uusi tuottotili',
'make_new_liabilities_account' => 'Luo uusi laina',
'asset_accounts' => 'Käyttötilit',
'undefined_accounts' => 'Tilit',
'asset_accounts_inactive' => 'Käyttötilit (ei käytössä)',
'expense_accounts' => 'Kulutustilit',
'expense_accounts_inactive' => 'Kulutustilit (ei käytössä)',

View File

@ -180,7 +180,7 @@ return [
'blocked_code' => 'Eston syy',
'login_name' => 'Käyttäjätunnus',
'is_owner' => 'On ylläpitäjä?',
'url' => 'URL',
'url' => 'URL-osoite',
// import
'apply_rules' => 'Aja säännöt',

View File

@ -61,9 +61,9 @@ return [
'accepted' => 'Määritteen :attribute täytyy olla hyväksytty.',
'bic' => 'Tämä ei ole kelvollinen BIC.',
'at_least_one_trigger' => 'Säännöllä täytyy olla ainakin yksi ehto.',
'at_least_one_active_trigger' => 'Rule must have at least one active trigger.',
'at_least_one_active_trigger' => 'Säännöllä on oltava vähintään yksi aktiivinen ehto.',
'at_least_one_action' => 'Säännöllä täytyy olla vähintään yksi tapahtuma.',
'at_least_one_active_action' => 'Rule must have at least one active action.',
'at_least_one_active_action' => 'Säännöllä on oltava vähintään yksi aktiivinen toimenpide.',
'base64' => 'Tämä ei ole kelvollinen base64-koodattu data.',
'model_id_invalid' => 'Annettu tunniste ei kelpaa tämän mallin kanssa.',
'less' => 'Määritteen :attribute täytyy olla pienempi kuin 10,000,000',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Accueil',
'budgets' => 'Budgets',
'subscriptions' => 'Abonnements',
'transactions' => 'Opérations',
'title_expenses' => 'Dépenses',
'title_withdrawal' => 'Dépenses',
'title_revenue' => 'Recette / revenu',
'title_deposit' => 'Recette / revenu',
'title_transfer' => 'Transferts',
'title_transfers' => 'Transferts',
'edit_currency' => 'Modifier la devise ":name"',
'delete_currency' => 'Supprimer la devise ":name"',
'newPiggyBank' => 'Créer une nouvelle tirelire',
@ -61,9 +70,9 @@ return [
'edit_object_group' => 'Modifier le groupe ":title"',
'delete_object_group' => 'Supprimer le groupe ":title"',
'logout_others' => 'Déconnecter d\'autres sessions',
'asset_accounts' => 'Asset accounts',
'expense_accounts' => 'Expense accounts',
'revenue_accounts' => 'Revenue accounts',
'liabilities_accounts' => 'Liabilities',
'asset_accounts' => 'Comptes dactif',
'expense_accounts' => 'Comptes de dépenses',
'revenue_accounts' => 'Comptes de recettes',
'liabilities_accounts' => 'Passifs',
'placeholder' => '[Placeholder]',
];

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'Si vous le préférez, vous pouvez également ouvrir un nouveau ticket sur <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a> (en anglais).',
'error_github_text' => 'Si vous le préférez, vous pouvez également ouvrir un nouveau ticket sur https://github.com/firefly-ii/firefly-iii/issues (en anglais).',
'error_stacktrace_below' => 'La stacktrace complète se trouve ci-dessous :',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III a créé une nouvelle opération|Firefly III a créé :count nouvelles opérations',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Compte dactif source "@source_name" naccepte que les opérations en @source_currency. Compte dactif "@dest_name" de destination naccepte que les opérations en @dest_currency. Vous devez fournir le montant transféré correctement dans les deux devises.',
'transaction_data' => 'Données d\'opération',
'invalid_server_configuration' => 'Configuration de serveur invalide',
'invalid_locale_settings' => 'Firefly III ne parvient pas à formater les montants monétaires car il manque des paquets logiciels sur votre serveur. Voici <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">des instructions sur comment procéder</a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Changement rapide',
'sign_in_to_start' => 'Identifiez-vous pour commencer votre session',
'sign_in' => 'S\'identifier',
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Créer un nouveau compte de recettes',
'make_new_liabilities_account' => 'Créer un nouveau passif',
'asset_accounts' => 'Comptes dactif',
'undefined_accounts' => 'Comptes',
'asset_accounts_inactive' => 'Comptes d\'actifs (inactif)',
'expense_accounts' => 'Comptes de dépenses',
'expense_accounts_inactive' => 'Comptes de dépenses (inactif)',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Főoldal',
'budgets' => 'Budgets',
'subscriptions' => 'Subscriptions',
'transactions' => 'Transactions',
'title_expenses' => 'Expenses',
'title_withdrawal' => 'Expenses',
'title_revenue' => 'Revenue / income',
'title_deposit' => 'Revenue / income',
'title_transfer' => 'Transfers',
'title_transfers' => 'Transfers',
'edit_currency' => '":name" pénznem szerkesztése',
'delete_currency' => '":name" pénznem törlése',
'newPiggyBank' => 'Új malacpersely létrehozása',

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'If you prefer, you can also open a new issue on <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'If you prefer, you can also open a new issue on https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'The full stacktrace is below:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III has created a new transaction|Firefly III has created :count new transactions',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'A "@source_name" forrás vagyonszámla csak a @source_currency tranzakciókat fogadja el. A "@dest_name" cél vagyonszámla csak a @dest_currency tranzakciókat fogadja el. Mindkét pénznemben helyesen kell megadnia az átutalt összeget.',
'transaction_data' => 'Tranzakciós adatok',
'invalid_server_configuration' => 'Érvénytelen kiszolgálóbeállítás',
'invalid_locale_settings' => 'A Firefly III nem tudja megfelelően formázva megjeleníteni a pénzösszegeket, mert a kiszolgálóról hiányoznak az ehhez szükséges csomagok. A következő linket követve találhatók <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">instrukciók a megoldáshoz</a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Gyorsváltó',
'sign_in_to_start' => 'A munkamenet megkezdéséhez be kell jelentkezni',
'sign_in' => 'Bejelentkezés',
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Új jövedelemszámla létrehozása',
'make_new_liabilities_account' => 'Új kötelezettség létrehozása',
'asset_accounts' => 'Eszközszámlák',
'undefined_accounts' => 'Accounts',
'asset_accounts_inactive' => 'Eszközszámlák (inaktív)',
'expense_accounts' => 'Költségszámlák',
'expense_accounts_inactive' => 'Költségszámlák (inaktív)',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Beranda',
'budgets' => 'Budgets',
'subscriptions' => 'Langganan',
'transactions' => 'Transaksi',
'title_expenses' => 'Pengeluaran',
'title_withdrawal' => 'Expenses',
'title_revenue' => 'Revenue / income',
'title_deposit' => 'Revenue / income',
'title_transfer' => 'Transfers',
'title_transfers' => 'Transfers',
'edit_currency' => 'Edit mata uang ":name"',
'delete_currency' => 'Hapus mata uang ":name"',
'newPiggyBank' => 'Buat celengan baru',

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'Jika Anda mau, Anda juga dapat membuka isu baru di <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'Jika Anda mau, Anda juga dapat membuka isu baru di https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'Jejak tumpukan lengkap ada di bawah:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III telah membuat transaksi baru|Firefly III telah membuat :count transaksi baru',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Akun aset sumber "@source_name" hanya menerima transaksi di @source_currency. Akun aset tujuan "@dest_name" hanya menerima transaksi di @dest_currency. Anda harus memberikan jumlah yang ditransfer dengan benar pada kedua mata uang tersebut.',
'transaction_data' => 'Data transaksi',
'invalid_server_configuration' => 'Konfigurasi server tidak valid',
'invalid_locale_settings' => 'Firefly III tidak dapat memformat jumlah uang karena server Anda kehilangan paket yang dibutuhkan. Ada <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">instructions bagaimana melakukan ini</a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Quickswitch',
'sign_in_to_start' => 'Masuk untuk memulai sesi',
'sign_in' => 'Masuk',
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Buat akun pendapatan baru',
'make_new_liabilities_account' => 'Create a new liability',
'asset_accounts' => 'Akun aset',
'undefined_accounts' => 'Accounts',
'asset_accounts_inactive' => 'Asset accounts (inactive)',
'expense_accounts' => 'Rekening pengeluaran',
'expense_accounts_inactive' => 'Expense accounts (inactive)',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Pagina principale',
'budgets' => 'Budget',
'subscriptions' => 'Abbonamenti',
'transactions' => 'Transazioni',
'title_expenses' => 'Uscite',
'title_withdrawal' => 'Prelievi',
'title_revenue' => 'Redditi / entrate',
'title_deposit' => 'Versamenti',
'title_transfer' => 'Trasferimenti',
'title_transfers' => 'Trasferimenti',
'edit_currency' => 'Modifica valuta ":name"',
'delete_currency' => 'Elimina valuta ":name"',
'newPiggyBank' => 'Crea un nuovo salvadanaio',
@ -61,9 +70,9 @@ return [
'edit_object_group' => 'Modifica gruppo ":title"',
'delete_object_group' => 'Elimina gruppo ":title"',
'logout_others' => 'Esci dalle altre sessioni',
'asset_accounts' => 'Asset accounts',
'expense_accounts' => 'Expense accounts',
'revenue_accounts' => 'Revenue accounts',
'liabilities_accounts' => 'Liabilities',
'asset_accounts' => 'Conti attività',
'expense_accounts' => 'Conti uscite',
'revenue_accounts' => 'Conti entrate',
'liabilities_accounts' => 'Passività',
'placeholder' => '[Placeholder]',
];

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'Se preferisci puoi anche aprire una nuova issue su <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'Se preferisci puoi anche aprire una nuova issue su https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'Lo stacktrace completo è qui sotto:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III ha creato una nuova transazione|Firefly III ha creato :count nuove transazioni',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Il conto attività di origine "@source_name" accetta solo transazioni in @source_currency. Il conto attività di destinazione "@dest_name" accetta solo transazioni in @dest_currency. È necessario fornire l\'importo trasferito correttamente in entrambe le valute.',
'transaction_data' => 'Informazioni transazione',
'invalid_server_configuration' => 'Configurazione del server non corretta',
'invalid_locale_settings' => 'Firefly III non è in grado di formattare gli importi monetari perché al server mancano i pacchetti richiesti. Ci sono <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">istruzioni su come eseguire questa operazione</a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Interruttore veloce',
'sign_in_to_start' => 'Accedi per iniziare la sessione',
'sign_in' => 'Accedi',
@ -566,10 +566,10 @@ return [
'rule_trigger_journal_id' => 'L\'ID journal della transazione è ":trigger_value"',
'rule_trigger_no_external_url' => 'La transazione non ha URL esterno',
'rule_trigger_any_external_url' => 'La transazione ha un URL esterno',
'rule_trigger_any_external_url_choice' => 'Transaction has an external URL',
'rule_trigger_no_external_url_choice' => 'Transaction has no external URL',
'rule_trigger_id_choice' => 'Transaction ID is..',
'rule_trigger_id' => 'Transaction ID is ":trigger_value"',
'rule_trigger_any_external_url_choice' => 'La transazione ha un URL esterno',
'rule_trigger_no_external_url_choice' => 'La transazione non ha URL esterno',
'rule_trigger_id_choice' => 'L\'ID della transazione è...',
'rule_trigger_id' => 'L\'ID della transazione è ":trigger_value"',
// actions
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Crea nuovo conto entrate',
'make_new_liabilities_account' => 'Crea una nuova passività',
'asset_accounts' => 'Conti attività',
'undefined_accounts' => 'Conti',
'asset_accounts_inactive' => 'Conti attività (inattivi)',
'expense_accounts' => 'Conti uscite',
'expense_accounts_inactive' => 'Conti spese (inattivi)',

View File

@ -61,9 +61,9 @@ return [
'accepted' => 'L\' :attribute deve essere accettato.',
'bic' => 'Questo non è un BIC valido.',
'at_least_one_trigger' => 'Una regola deve avere almeno un trigger.',
'at_least_one_active_trigger' => 'Rule must have at least one active trigger.',
'at_least_one_active_trigger' => 'La regola deve avere almeno un trigger attivo.',
'at_least_one_action' => 'Una regola deve avere almeno una azione.',
'at_least_one_active_action' => 'Rule must have at least one active action.',
'at_least_one_active_action' => 'La regola deve avere almeno un\'azione attiva.',
'base64' => 'Questi non sono dati codificati in base64 validi.',
'model_id_invalid' => 'L\'ID fornito sembra non essere valido per questo modello.',
'less' => ':attribute deve essere minore di 10.000.000',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'ホーム',
'budgets' => 'Budgets',
'subscriptions' => 'Subscriptions',
'transactions' => 'Transactions',
'title_expenses' => 'Expenses',
'title_withdrawal' => 'Expenses',
'title_revenue' => 'Revenue / income',
'title_deposit' => 'Revenue / income',
'title_transfer' => 'Transfers',
'title_transfers' => 'Transfers',
'edit_currency' => '通貨 ":name" を編集する',
'delete_currency' => '通貨 ":name" を削除する',
'newPiggyBank' => '新規貯金箱の作成',

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'ご希望の場合は、<a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>で新しいissueを作ることもできます。',
'error_github_text' => 'ご希望の場合は、https://github.com/fofoflifly-iii/firelify-ii/issuesで新しいissueを作ることもできます。',
'error_stacktrace_below' => '完全なスタックトレースは以下の通りです:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III が取引を作成しました|Firefly III が:count件の取引を作成しました',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => '出金元資産口座「@source_name」は @source_currency の取引のみ受け付けます。 送金先資産口座「@dest_name」は @dest_currency でのみ取引を受け付けます。両方の通貨で正しく送金額を入力する必要があります。',
'transaction_data' => '取引データ',
'invalid_server_configuration' => '無効なサーバー構成',
'invalid_locale_settings' => 'Firefly III に必要なパッケージが不足しているため、金額を整形できません。 解決するための<a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">説明はここ</a>にあります。',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'クイックスイッチ',
'sign_in_to_start' => 'サインインしてセッションを開始',
'sign_in' => 'サインイン',
@ -1114,6 +1114,7 @@ return [
'make_new_revenue_account' => '新しい収入源',
'make_new_liabilities_account' => '新しい借金',
'asset_accounts' => '資産勘定',
'undefined_accounts' => 'Accounts',
'asset_accounts_inactive' => '支出元',
'expense_accounts' => '支出先を見る',
'expense_accounts_inactive' => '支出先を見る',

View File

@ -24,6 +24,15 @@ declare(strict_types=1);
return [
'home' => 'Hjem',
'budgets' => 'Budgets',
'subscriptions' => 'Subscriptions',
'transactions' => 'Transactions',
'title_expenses' => 'Expenses',
'title_withdrawal' => 'Expenses',
'title_revenue' => 'Revenue / income',
'title_deposit' => 'Revenue / income',
'title_transfer' => 'Transfers',
'title_transfers' => 'Transfers',
'edit_currency' => 'Rediger valuta ":name"',
'delete_currency' => 'Slett valuta ":name"',
'newPiggyBank' => 'Lag en ny sparegris',

View File

@ -97,6 +97,7 @@ return [
'error_github_html' => 'If you prefer, you can also open a new issue on <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'If you prefer, you can also open a new issue on https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'The full stacktrace is below:',
'error_headers' => 'The following headers may also be relevant:',
// report new journals
'new_journals_subject' => 'Firefly III has created a new transaction|Firefly III has created :count new transactions',

View File

@ -188,7 +188,7 @@ return [
'transfer_exchange_rate_instructions' => 'Kildekonto "@source_name" godtar kun transaksjoner i @source_currency. Destinasjonskonto "@dest_name" aksepterer bare transaksjoner i @dest_currency. Du må angi overført beløp riktig i begge valutaene.',
'transaction_data' => 'Transaksjonsdata',
'invalid_server_configuration' => 'Ugyldig serverkonfigurasjon',
'invalid_locale_settings' => 'Firefly III kan ikke formatere pengebeløp fordi serveren din mangler de nødvendige pakkene. Se følgende <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">instruksjoner for hvordan du setter opp dette</a>.',
'invalid_locale_settings' => 'Firefly III is unable to format monetary amounts because your server is missing the required packages. There are <a href="">instructions how to do this</a>.',
'quickswitch' => 'Hurtigbryter',
'sign_in_to_start' => 'Logg inn for å starte økten',
'sign_in' => 'Logg inn',
@ -1111,6 +1111,7 @@ return [
'make_new_revenue_account' => 'Opprett en ny inntektskonto',
'make_new_liabilities_account' => 'Opprett ny gjeld',
'asset_accounts' => 'Aktivakontoer',
'undefined_accounts' => 'Accounts',
'asset_accounts_inactive' => 'Asset accounts (inactive)',
'expense_accounts' => 'Utgiftskontoer',
'expense_accounts_inactive' => 'Expense accounts (inactive)',

Some files were not shown because too many files have changed in this diff Show More