Merge branch 'release/5.2.2'

This commit is contained in:
James Cole 2020-04-14 21:01:02 +02:00
commit 2af98b259a
54 changed files with 302 additions and 399 deletions

View File

@ -98,7 +98,7 @@ class AccountFactory
'user_id' => $this->user->id, 'user_id' => $this->user->id,
'account_type_id' => $type->id, 'account_type_id' => $type->id,
'name' => $data['name'], 'name' => $data['name'],
'virtual_balance' => $data['virtual_balance'] ?? '0', 'virtual_balance' => $data['virtual_balance'] ?? null,
'active' => true === $data['active'], 'active' => true === $data['active'],
'iban' => $data['iban'], 'iban' => $data['iban'],
]; ];
@ -109,12 +109,12 @@ class AccountFactory
// remove virtual balance when not an asset account or a liability // remove virtual balance when not an asset account or a liability
if (!in_array($type->type, $this->canHaveVirtual, true)) { if (!in_array($type->type, $this->canHaveVirtual, true)) {
$databaseData['virtual_balance'] = '0'; $databaseData['virtual_balance'] = null;
} }
// fix virtual balance when it's empty // fix virtual balance when it's empty
if ('' === $databaseData['virtual_balance']) { if ('' === (string)$databaseData['virtual_balance']) {
$databaseData['virtual_balance'] = '0'; $databaseData['virtual_balance'] = null;
} }
$return = Account::create($databaseData); $return = Account::create($databaseData);

View File

@ -280,25 +280,29 @@ class TransactionJournalFactory
/** create or get source and destination accounts */ /** create or get source and destination accounts */
$sourceInfo = [ $sourceInfo = [
'id' => (int) $row['source_id'], 'id' => (int) $row['source_id'],
'name' => $row['source_name'], 'name' => $row['source_name'],
'iban' => $row['source_iban'], 'iban' => $row['source_iban'],
'number' => $row['source_number'], 'number' => $row['source_number'],
'bic' => $row['source_bic'], 'bic' => $row['source_bic'],
'currency_id' => $currency->id,
]; ];
$destInfo = [ $destInfo = [
'id' => (int) $row['destination_id'], 'id' => (int) $row['destination_id'],
'name' => $row['destination_name'], 'name' => $row['destination_name'],
'iban' => $row['destination_iban'], 'iban' => $row['destination_iban'],
'number' => $row['destination_number'], 'number' => $row['destination_number'],
'bic' => $row['destination_bic'], 'bic' => $row['destination_bic'],
'currency_id' => $currency->id,
]; ];
Log::debug('Source info:', $sourceInfo); Log::debug('Source info:', $sourceInfo);
Log::debug('Destination info:', $destInfo); Log::debug('Destination info:', $destInfo);
Log::debug('Now calling getAccount for the source.');
$sourceAccount = $this->getAccount($type->type, 'source', $sourceInfo); $sourceAccount = $this->getAccount($type->type, 'source', $sourceInfo);
Log::debug('Now calling getAccount for the destination.');
$destinationAccount = $this->getAccount($type->type, 'destination', $destInfo); $destinationAccount = $this->getAccount($type->type, 'destination', $destInfo);
Log::debug('Done with getAccount(2x)');
$currency = $this->getCurrencyByAccount($type->type, $currency, $sourceAccount, $destinationAccount); $currency = $this->getCurrencyByAccount($type->type, $currency, $sourceAccount, $destinationAccount);
$foreignCurrency = $this->compareCurrencies($currency, $foreignCurrency); $foreignCurrency = $this->compareCurrencies($currency, $foreignCurrency);
$foreignCurrency = $this->getForeignByAccount($type->type, $foreignCurrency, $destinationAccount); $foreignCurrency = $this->getForeignByAccount($type->type, $foreignCurrency, $destinationAccount);
@ -468,6 +472,7 @@ class TransactionJournalFactory
*/ */
private function getCurrency(?TransactionCurrency $currency, Account $account): TransactionCurrency private function getCurrency(?TransactionCurrency $currency, Account $account): TransactionCurrency
{ {
Log::debug('Now in getCurrency()');
$preference = $this->accountRepository->getAccountCurrency($account); $preference = $this->accountRepository->getAccountCurrency($account);
if (null === $preference && null === $currency) { if (null === $preference && null === $currency) {
// return user's default: // return user's default:
@ -489,6 +494,7 @@ class TransactionJournalFactory
*/ */
private function getCurrencyByAccount(string $type, ?TransactionCurrency $currency, Account $source, Account $destination): TransactionCurrency private function getCurrencyByAccount(string $type, ?TransactionCurrency $currency, Account $source, Account $destination): TransactionCurrency
{ {
Log::debug('Now ingetCurrencyByAccount()');
switch ($type) { switch ($type) {
default: default:
case TransactionType::WITHDRAWAL: case TransactionType::WITHDRAWAL:
@ -538,15 +544,15 @@ class TransactionJournalFactory
$dataRow = $row->getArrayCopy(); $dataRow = $row->getArrayCopy();
unset($dataRow['import_hash_v2'], $dataRow['original_source']); unset($dataRow['import_hash_v2'], $dataRow['original_source']);
$json = json_encode($dataRow); $json = json_encode($dataRow, JSON_THROW_ON_ERROR, 512);
if (false === $json) { if (false === $json) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
$json = json_encode((string) microtime()); $json = json_encode((string) microtime(), JSON_THROW_ON_ERROR, 512);
Log::error(sprintf('Could not hash the original row! %s', json_last_error_msg()), $dataRow); Log::error(sprintf('Could not hash the original row! %s', json_last_error_msg()), $dataRow);
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
} }
$hash = hash('sha256', $json); $hash = hash('sha256', $json);
Log::debug(sprintf('The hash is: %s', $hash)); Log::debug(sprintf('The hash is: %s', $hash), $dataRow);
return $hash; return $hash;
} }

View File

@ -165,7 +165,8 @@ class UserEventHandler
$user = $event->user; $user = $event->user;
$ipAddress = $event->ipAddress; $ipAddress = $event->ipAddress;
$token = app('preferences')->getForUser($user, 'email_change_undo_token', 'invalid'); $token = app('preferences')->getForUser($user, 'email_change_undo_token', 'invalid');
$uri = route('profile.undo-email-change', [$token->data, hash('sha256', $oldEmail)]); $hashed = hash('sha256', sprintf('%s%s', (string) config('app.key'), $oldEmail));
$uri = route('profile.undo-email-change', [$token->data,$hashed]);
try { try {
Mail::to($oldEmail)->send(new UndoEmailChangeMail($newEmail, $oldEmail, $uri, $ipAddress)); Mail::to($oldEmail)->send(new UndoEmailChangeMail($newEmail, $oldEmail, $uri, $ipAddress));
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart

View File

@ -432,9 +432,15 @@ class AccountController extends Controller
$cache->addProperty($end); $cache->addProperty($end);
$cache->addProperty($account->id); $cache->addProperty($account->id);
if ($cache->has()) { if ($cache->has()) {
return response()->json($cache->get()); // @codeCoverageIgnore return response()->json($cache->get()); // @codeCoverageIgnore
} }
$currencies = $this->accountRepository->getUsedCurrencies($account); $currencies = $this->accountRepository->getUsedCurrencies($account);
// if the account is not expense or revenue, just use the account's default currency.
if (!in_array($account->accountType->type, [AccountType::REVENUE, AccountType::EXPENSE], true)) {
$currencies = [$this->accountRepository->getAccountCurrency($account) ?? app('amount')->getDefaultCurrency()];
}
/** @var TransactionCurrency $currency */ /** @var TransactionCurrency $currency */
foreach ($currencies as $currency) { foreach ($currencies as $currency) {
$chartData[] = $this->periodByCurrency($start, $end, $account, $currency); $chartData[] = $this->periodByCurrency($start, $end, $account, $currency);

View File

@ -126,7 +126,7 @@ class JavascriptController extends Controller
/** @noinspection NullPointerExceptionInspection */ /** @noinspection NullPointerExceptionInspection */
$lang = $pref->data; $lang = $pref->data;
$dateRange = $this->getDateRangeConfig(); $dateRange = $this->getDateRangeConfig();
$uid = substr(hash('sha256', auth()->user()->id . auth()->user()->email), 0, 12); $uid = substr(hash('sha256', sprintf('%s-%s-%s', (string) config('app.key'), auth()->user()->id, auth()->user()->email)), 0, 12);
$data = [ $data = [
'currencyCode' => $currency->code, 'currencyCode' => $currency->code,

View File

@ -263,7 +263,7 @@ class BoxController extends Controller
*/ */
public function netWorth(): JsonResponse public function netWorth(): JsonResponse
{ {
$date = Carbon::now()->startOfDay(); $date = Carbon::now()->endOfDay();
// start and end in the future? use $end // start and end in the future? use $end
if ($this->notInSessionRange($date)) { if ($this->notInSessionRange($date)) {

View File

@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers; namespace FireflyIII\Http\Controllers;
use FireflyIII\Http\Requests\NewUserFormRequest; use FireflyIII\Http\Requests\NewUserFormRequest;
use FireflyIII\Models\AccountType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Support\Http\Controllers\CreateStuff; use FireflyIII\Support\Http\Controllers\CreateStuff;
@ -110,6 +111,12 @@ class NewUserController extends Controller
// store currency preference: // store currency preference:
app('preferences')->set('currencyPreference', $currency->code); app('preferences')->set('currencyPreference', $currency->code);
// store frontpage preferences:
$accounts = $this->repository->getAccountsByType([AccountType::ASSET])->pluck('id')->toArray();
app('preferences')->set('frontPageAccounts', $accounts);
// mark.
app('preferences')->mark(); app('preferences')->mark();
// set default optional fields: // set default optional fields:

View File

@ -555,7 +555,7 @@ class ProfileController extends Controller
/** @var string $match */ /** @var string $match */
$match = null; $match = null;
foreach ($set as $entry) { foreach ($set as $entry) {
$hashed = hash('sha256', $entry->data); $hashed = hash('sha256', sprintf('%s%s', (string) config('app.key'), $entry->data));
if ($hashed === $hash) { if ($hashed === $hash) {
$match = $entry->data; $match = $entry->data;
break; break;

View File

@ -50,7 +50,7 @@ class ProfileFormRequest extends Request
// fixed // fixed
return [ return [
'current_password' => 'required', 'current_password' => 'required',
'new_password' => 'required|confirmed|secure_password', 'new_password' => 'required|confirmed|secure_password|min:16',
'new_password_confirmation' => 'required', 'new_password_confirmation' => 'required',
]; ];
} }

View File

@ -94,12 +94,6 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
* @property-read int|null $notes_count * @property-read int|null $notes_count
* @property-read int|null $piggy_banks_count * @property-read int|null $piggy_banks_count
* @property-read int|null $transactions_count * @property-read int|null $transactions_count
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property int $account_type_id
* @property bool $encrypted
* @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\AccountMeta[] $accountMeta
* @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\PiggyBank[] $piggyBanks
*/ */
class Account extends Model class Account extends Model
{ {
@ -258,7 +252,11 @@ class Account extends Model
*/ */
public function setVirtualBalanceAttribute($value): void public function setVirtualBalanceAttribute($value): void
{ {
$this->attributes['virtual_balance'] = (string) $value; $value = (string)$value;
if('' === $value) {
$value = null;
}
$this->attributes['virtual_balance'] = $value;
} }
/** /**

View File

@ -77,6 +77,10 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
* @property-read int|null $budgetlimits_count * @property-read int|null $budgetlimits_count
* @property-read int|null $transaction_journals_count * @property-read int|null $transaction_journals_count
* @property-read int|null $transactions_count * @property-read int|null $transactions_count
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property bool $encrypted
* @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\BudgetLimit[] $budgetlimits
*/ */
class Budget extends Model class Budget extends Model
{ {

View File

@ -78,7 +78,6 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
* @property-read int|null $notes_count * @property-read int|null $notes_count
* @property-read int|null $piggy_bank_events_count * @property-read int|null $piggy_bank_events_count
* @property-read int|null $piggy_bank_repetitions_count * @property-read int|null $piggy_bank_repetitions_count
* @property bool $encrypted
*/ */
class PiggyBank extends Model class PiggyBank extends Model
{ {

View File

@ -48,7 +48,7 @@ use FireflyIII\Services\FireflyIIIOrg\Update\UpdateRequest;
use FireflyIII\Services\FireflyIIIOrg\Update\UpdateRequestInterface; use FireflyIII\Services\FireflyIIIOrg\Update\UpdateRequestInterface;
use FireflyIII\Services\IP\IpifyOrg; use FireflyIII\Services\IP\IpifyOrg;
use FireflyIII\Services\IP\IPRetrievalInterface; use FireflyIII\Services\IP\IPRetrievalInterface;
use FireflyIII\Services\Password\PwndVerifierV3; use FireflyIII\Services\Password\PwndVerifierV2;
use FireflyIII\Services\Password\Verifier; use FireflyIII\Services\Password\Verifier;
use FireflyIII\Support\Amount; use FireflyIII\Support\Amount;
use FireflyIII\Support\ExpandedForm; use FireflyIII\Support\ExpandedForm;
@ -189,7 +189,7 @@ class FireflyServiceProvider extends ServiceProvider
$this->app->bind(ExchangeRateInterface::class, $class); $this->app->bind(ExchangeRateInterface::class, $class);
// password verifier thing // password verifier thing
$this->app->bind(Verifier::class, PwndVerifierV3::class); $this->app->bind(Verifier::class, PwndVerifierV2::class);
// IP thing: // IP thing:
$this->app->bind(IPRetrievalInterface::class, IpifyOrg::class); $this->app->bind(IPRetrievalInterface::class, IpifyOrg::class);

View File

@ -384,7 +384,7 @@ class ImportJobRepository implements ImportJobRepositoryInterface
$attachment = new Attachment; // create Attachment object. $attachment = new Attachment; // create Attachment object.
$attachment->user()->associate($job->user); $attachment->user()->associate($job->user);
$attachment->attachable()->associate($job); $attachment->attachable()->associate($job);
$attachment->md5 = md5($content); $attachment->md5 = substr(hash('sha256', $content), 0, 32); // limit due to DB.
$attachment->filename = $name; $attachment->filename = $name;
$attachment->mime = 'plain/txt'; $attachment->mime = 'plain/txt';
$attachment->size = strlen($content); $attachment->size = strlen($content);

View File

@ -237,7 +237,6 @@ trait AccountServiceTrait
Log::error($e->getMessage()); Log::error($e->getMessage());
Log::error($e->getTraceAsString()); Log::error($e->getTraceAsString());
} }
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
return $group; return $group;

View File

@ -345,6 +345,7 @@ trait JournalServiceTrait
*/ */
private function createAccount(?Account $account, array $data, string $preferredType): Account private function createAccount(?Account $account, array $data, string $preferredType): Account
{ {
Log::debug('Now in createAccount()', $data);
// return new account. // return new account.
if (null === $account) { if (null === $account) {
$data['name'] = $data['name'] ?? '(no name)'; $data['name'] = $data['name'] ?? '(no name)';
@ -359,8 +360,10 @@ trait JournalServiceTrait
'account_type_id' => null, 'account_type_id' => null,
'account_type' => $preferredType, 'account_type' => $preferredType,
'name' => $data['name'], 'name' => $data['name'],
'virtual_balance' => null,
'active' => true, 'active' => true,
'iban' => $data['iban'], 'iban' => $data['iban'],
'currency_id' => $data['currency_id'] ?? null,
] ]
); );
// store BIC // store BIC
@ -375,6 +378,7 @@ trait JournalServiceTrait
$metaFactory = app(AccountMetaFactory::class); $metaFactory = app(AccountMetaFactory::class);
$metaFactory->create(['account_id' => $account->id, 'name' => 'account_number', 'data' => $data['bic']]); $metaFactory->create(['account_id' => $account->id, 'name' => 'account_number', 'data' => $data['bic']]);
} }
} }
return $account; return $account;

View File

@ -58,8 +58,11 @@ class PwndVerifierV2 implements Verifier
$rest = substr($hash, 5); $rest = substr($hash, 5);
$uri = sprintf('https://api.pwnedpasswords.com/range/%s', $prefix); $uri = sprintf('https://api.pwnedpasswords.com/range/%s', $prefix);
$opt = [ $opt = [
'headers' => ['User-Agent' => 'Firefly III v' . config('firefly.version')], 'headers' => [
'timeout' => 5]; 'User-Agent' => 'Firefly III v' . config('firefly.version'),
'Add-Padding' => 'true',
],
'timeout' => 3.1415];
Log::debug(sprintf('hash prefix is %s', $prefix)); Log::debug(sprintf('hash prefix is %s', $prefix));
Log::debug(sprintf('rest is %s', $rest)); Log::debug(sprintf('rest is %s', $rest));
@ -87,7 +90,7 @@ class PwndVerifierV2 implements Verifier
return true; return true;
} }
Log::debug(sprintf('Could not find %s, return FALSE.', $rest)); Log::debug(sprintf('Found %s, return FALSE.', $rest));
return false; return false;
} }

View File

@ -1,96 +0,0 @@
<?php
/**
* PwndVerifierV3.php
* Copyright (c) 2019 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/>.
*/
declare(strict_types=1);
namespace FireflyIII\Services\Password;
use Exception;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
use Log;
use RuntimeException;
/**
* Class PwndVerifierV3
* @codeCoverageIgnore
* @codeCoverageIgnore
* @deprecated
*/
class PwndVerifierV3 implements Verifier
{
/**
* Verify the given password against (some) service.
*
* @param string $password
*
* @return bool
*/
public function validPassword(string $password): bool
{
Log::debug('Now in API v3.');
$hash = strtoupper(sha1($password));
$prefix = substr($hash, 0, 5);
$rest = substr($hash, 5);
$uri = sprintf('https://api.pwnedpasswords.com/%s/%s', 'range', $prefix);
Log::debug(sprintf('URI is %s', $uri));
$headers = [
'User-Agent' => sprintf('Firefly III v%s', config('firefly.version')),
];
Log::debug('Headers', $headers);
$opts = [
'headers' => $headers,
'timeout' => 5,
];
Log::debug(sprintf('hash prefix is %s', $prefix));
Log::debug(sprintf('rest is %s', $rest));
try {
$client = new Client;
$res = $client->request('GET', $uri, $opts);
} catch (GuzzleException|Exception $e) {
Log::error(sprintf('Could not verify password security: %s', $e->getMessage()));
return true;
}
Log::debug(sprintf('Status code returned is %d', $res->getStatusCode()));
if (404 === $res->getStatusCode()) {
return true;
}
$body = $res->getBody()->getContents();
try {
$strpos = stripos($body, $rest);
} catch (RuntimeException $e) {
Log::error(sprintf('Could not get body from Pwnd result: %s', $e->getMessage()));
$strpos = false;
}
if (false === $strpos) {
Log::debug(sprintf('%s was not found in result body. Return true.', $rest));
return true;
}
Log::debug(sprintf('Found %s, so return FALSE.', $rest));
return false;
}
}

View File

@ -101,8 +101,8 @@ class CacheProperties
{ {
$content = ''; $content = '';
foreach ($this->properties as $property) { foreach ($this->properties as $property) {
$content .= json_encode($property); $content .= json_encode($property, JSON_THROW_ON_ERROR, 512);
} }
$this->hash = substr(sha1($content), 0, 16); $this->hash = substr(hash('sha256', $content), 0, 16);
} }
} }

View File

@ -300,7 +300,7 @@ trait RequestInformation
$data, $data,
[ [
'email' => 'required|string|email|max:255|unique:users', 'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|secure_password|confirmed', 'password' => 'required|string|min:16|secure_password|confirmed',
] ]
); );
} }

View File

@ -183,30 +183,30 @@ class StageImportDataHandler
// transaction data: // transaction data:
'transactions' => [ 'transactions' => [
[ [
'date' => $transaction->getMadeOn()->format('Y-m-d'), 'date' => $transaction->getMadeOn()->format('Y-m-d'),
'tags' => $tags, 'tags' => $tags,
'user' => $this->importJob->user_id, 'user' => $this->importJob->user_id,
'notes' => $notes, 'notes' => trim($notes),
// all custom fields: // all custom fields:
'external_id' => (string)$transaction->getId(), 'external_id' => (string)$transaction->getId(),
// journal data: // journal data:
'description' => $transaction->getDescription(), 'description' => $transaction->getDescription(),
'piggy_bank_id' => null, 'piggy_bank_id' => null,
'piggy_bank_name' => null, 'piggy_bank_name' => null,
'bill_id' => null, 'bill_id' => null,
'bill_name' => null, 'bill_name' => null,
'original-source' => sprintf('spectre-v%s', config('firefly.version')), 'original-source' => sprintf('spectre-v%s', config('firefly.version')),
'type' => $type, 'type' => $type,
'currency_id' => null, 'currency_id' => null,
'currency_code' => $currencyCode, 'currency_code' => $currencyCode,
'amount' => $amount, 'amount' => $amount,
'budget_id' => null, 'budget_id' => null,
'budget_name' => null, 'budget_name' => null,
'category_id' => null, 'category_id' => null,
'category_name' => $transaction->getCategory(), 'category_name' => $transaction->getCategory(),
'source_id' => $source->id, 'source_id' => $source->id,
'source_name' => null, 'source_name' => null,
'destination_id' => $destination->id, 'destination_id' => $destination->id,
'destination_name' => null, 'destination_name' => null,

View File

@ -26,7 +26,6 @@ use Cache;
use Exception; use Exception;
use FireflyIII\Models\Preference; use FireflyIII\Models\Preference;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Log; use Log;
use Session; use Session;
@ -200,7 +199,7 @@ class Preferences
$lastActivity = implode(',', $lastActivity); $lastActivity = implode(',', $lastActivity);
} }
return md5($lastActivity); return hash('sha256', $lastActivity);
} }
/** /**

View File

@ -70,11 +70,10 @@ class Steam
->where('transactions.transaction_currency_id', $currency->id) ->where('transactions.transaction_currency_id', $currency->id)
->get(['transactions.amount'])->toArray(); ->get(['transactions.amount'])->toArray();
$nativeBalance = $this->sumTransactions($transactions, 'amount'); $nativeBalance = $this->sumTransactions($transactions, 'amount');
// get all balances in foreign currency: // get all balances in foreign currency:
$transactions = $account->transactions() $transactions = $account->transactions()
->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id') ->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id')
->where('transaction_journals.date', '<=', $date->format('Y-m-d')) ->where('transaction_journals.date', '<=', $date->format('Y-m-d 23:59:59'))
->where('transactions.foreign_currency_id', $currency->id) ->where('transactions.foreign_currency_id', $currency->id)
->where('transactions.transaction_currency_id', '!=', $currency->id) ->where('transactions.transaction_currency_id', '!=', $currency->id)
->get(['transactions.foreign_amount'])->toArray(); ->get(['transactions.foreign_amount'])->toArray();

View File

@ -73,7 +73,7 @@ class SetSourceAccount implements ActionInterface
$type = $journal->transactionType->type; $type = $journal->transactionType->type;
// 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: // 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:
if ((TransactionType::WITHDRAWAL === $type || TransactionType::TRANSFER === $type) && !$this->findAssetAccount()) { if ((TransactionType::WITHDRAWAL === $type || TransactionType::TRANSFER === $type) && !$this->findAssetAccount(AccountType::ASSET)) {
Log::error( Log::error(
sprintf( sprintf(
'Cannot change source account of journal #%d because no asset account with name "%s" exists.', 'Cannot change source account of journal #%d because no asset account with name "%s" exists.',

View File

@ -2,6 +2,18 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/). This project adheres to [Semantic Versioning](http://semver.org/).
## [5.2.2 (API 1.1.0)] - 2020-04-14
### Fixed
- [Issue 3529](https://github.com/firefly-iii/firefly-iii/issues/3529) Issue with rule execution.
- [Issue 3263](https://github.com/firefly-iii/firefly-iii/issues/3263) Issue with new user account creation.
## [5.2.2 (API 1.1.0)] - 2020-04-13
### Fixed
- Virtual balance would always be stored as "0.0" despite the field being nullable.
- The rule action "set source account" was improperly configured.
## [5.2.1 (API 1.1.0)] - 2020-04-10 ## [5.2.1 (API 1.1.0)] - 2020-04-10
Firefly III 5.2.1 fixes an issue with charts and allows users to store budgets again. Firefly III 5.2.1 fixes an issue with charts and allows users to store budgets again.

118
composer.lock generated
View File

@ -1400,16 +1400,16 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v6.18.6", "version": "v6.18.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "4ef5f9612c2694c915f53f0cec3e4081e9bfc778" "reference": "9914b1d50e4395428ee95618354ffa7fc56e7968"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/4ef5f9612c2694c915f53f0cec3e4081e9bfc778", "url": "https://api.github.com/repos/laravel/framework/zipball/9914b1d50e4395428ee95618354ffa7fc56e7968",
"reference": "4ef5f9612c2694c915f53f0cec3e4081e9bfc778", "reference": "9914b1d50e4395428ee95618354ffa7fc56e7968",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1542,7 +1542,7 @@
"framework", "framework",
"laravel" "laravel"
], ],
"time": "2020-04-08T15:51:23+00:00" "time": "2020-04-14T14:12:01+00:00"
}, },
{ {
"name": "laravel/passport", "name": "laravel/passport",
@ -1742,16 +1742,16 @@
}, },
{ {
"name": "league/commonmark", "name": "league/commonmark",
"version": "1.3.3", "version": "1.3.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/commonmark.git", "url": "https://github.com/thephpleague/commonmark.git",
"reference": "5a67afc2572ec6d430526cdc9c637ef124812389" "reference": "dd3261eb9a322e009fa5d96d19b9ae19708ce04b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/5a67afc2572ec6d430526cdc9c637ef124812389", "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/dd3261eb9a322e009fa5d96d19b9ae19708ce04b",
"reference": "5a67afc2572ec6d430526cdc9c637ef124812389", "reference": "dd3261eb9a322e009fa5d96d19b9ae19708ce04b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1812,21 +1812,7 @@
"md", "md",
"parser" "parser"
], ],
"funding": [ "time": "2020-04-13T20:52:18+00:00"
{
"url": "https://github.com/colinodell",
"type": "github"
},
{
"url": "https://www.patreon.com/colinodell",
"type": "patreon"
},
{
"url": "https://tidelift.com/funding/github/packagist/league%2fcommonmark",
"type": "tidelift"
}
],
"time": "2020-04-05T16:01:48+00:00"
}, },
{ {
"name": "league/csv", "name": "league/csv",
@ -5587,7 +5573,7 @@
}, },
{ {
"name": "tightenco/collect", "name": "tightenco/collect",
"version": "v7.5.2", "version": "v7.6.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/tightenco/collect.git", "url": "https://github.com/tightenco/collect.git",
@ -5751,16 +5737,16 @@
}, },
{ {
"name": "vlucas/phpdotenv", "name": "vlucas/phpdotenv",
"version": "v3.6.2", "version": "v3.6.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/vlucas/phpdotenv.git", "url": "https://github.com/vlucas/phpdotenv.git",
"reference": "786a947e57086cf236cefdee80784634224b99fa" "reference": "1b3103013797f04521c6cae5560f604649484066"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/786a947e57086cf236cefdee80784634224b99fa", "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1b3103013797f04521c6cae5560f604649484066",
"reference": "786a947e57086cf236cefdee80784634224b99fa", "reference": "1b3103013797f04521c6cae5560f604649484066",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5810,13 +5796,7 @@
"env", "env",
"environment" "environment"
], ],
"funding": [ "time": "2020-04-12T15:18:03+00:00"
{
"url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv",
"type": "tidelift"
}
],
"time": "2020-03-27T23:36:02+00:00"
} }
], ],
"packages-dev": [ "packages-dev": [
@ -6932,16 +6912,16 @@
}, },
{ {
"name": "netresearch/jsonmapper", "name": "netresearch/jsonmapper",
"version": "v1.6.0", "version": "v2.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/cweiske/jsonmapper.git", "url": "https://github.com/cweiske/jsonmapper.git",
"reference": "0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06" "reference": "e245890383c3ed38b6d202ee373c23ccfebc0f54"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06", "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/e245890383c3ed38b6d202ee373c23ccfebc0f54",
"reference": "0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06", "reference": "e245890383c3ed38b6d202ee373c23ccfebc0f54",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6952,8 +6932,8 @@
"php": ">=5.6" "php": ">=5.6"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4", "phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4 || ~7.0",
"squizlabs/php_codesniffer": "~1.5" "squizlabs/php_codesniffer": "~3.5"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -6974,7 +6954,7 @@
} }
], ],
"description": "Map nested JSON structures onto PHP classes", "description": "Map nested JSON structures onto PHP classes",
"time": "2019-08-15T19:41:25+00:00" "time": "2020-03-04T17:23:33+00:00"
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
@ -7190,16 +7170,16 @@
}, },
{ {
"name": "orchestra/testbench-core", "name": "orchestra/testbench-core",
"version": "v4.7.0", "version": "v4.7.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/orchestral/testbench-core.git", "url": "https://github.com/orchestral/testbench-core.git",
"reference": "fad3769a7903021f5784d5d76aa6eb3a3904b215" "reference": "c8e9ce9578fe13c075751d81f23dc2c3bb37a134"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/orchestral/testbench-core/zipball/fad3769a7903021f5784d5d76aa6eb3a3904b215", "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/c8e9ce9578fe13c075751d81f23dc2c3bb37a134",
"reference": "fad3769a7903021f5784d5d76aa6eb3a3904b215", "reference": "c8e9ce9578fe13c075751d81f23dc2c3bb37a134",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7251,17 +7231,7 @@
"orchestral", "orchestral",
"testing" "testing"
], ],
"funding": [ "time": "2020-04-11T10:37:21+00:00"
{
"url": "https://paypal.me/crynobone",
"type": "custom"
},
{
"url": "https://www.patreon.com/crynobone",
"type": "patreon"
}
],
"time": "2020-03-06T23:07:37+00:00"
}, },
{ {
"name": "phar-io/manifest", "name": "phar-io/manifest",
@ -8987,20 +8957,6 @@
], ],
"description": "Symfony Filesystem Component", "description": "Symfony Filesystem Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-03-27T16:56:45+00:00" "time": "2020-03-27T16:56:45+00:00"
}, },
{ {
@ -9045,16 +9001,16 @@
}, },
{ {
"name": "vimeo/psalm", "name": "vimeo/psalm",
"version": "3.10.1", "version": "3.11.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/vimeo/psalm.git", "url": "https://github.com/vimeo/psalm.git",
"reference": "eeed5ecccc10131397f0eb7ee6da810c0be3a7fc" "reference": "d470903722cfcbc1cd04744c5491d3e6d13ec3d9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/eeed5ecccc10131397f0eb7ee6da810c0be3a7fc", "url": "https://api.github.com/repos/vimeo/psalm/zipball/d470903722cfcbc1cd04744c5491d3e6d13ec3d9",
"reference": "eeed5ecccc10131397f0eb7ee6da810c0be3a7fc", "reference": "d470903722cfcbc1cd04744c5491d3e6d13ec3d9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -9069,7 +9025,7 @@
"ext-tokenizer": "*", "ext-tokenizer": "*",
"felixfbecker/advanced-json-rpc": "^3.0.3", "felixfbecker/advanced-json-rpc": "^3.0.3",
"felixfbecker/language-server-protocol": "^1.4", "felixfbecker/language-server-protocol": "^1.4",
"netresearch/jsonmapper": "^1.0", "netresearch/jsonmapper": "^1.0 || ^2.0",
"nikic/php-parser": "^4.3", "nikic/php-parser": "^4.3",
"ocramius/package-versions": "^1.2", "ocramius/package-versions": "^1.2",
"openlss/lib-array2xml": "^1.0", "openlss/lib-array2xml": "^1.0",
@ -9083,13 +9039,15 @@
"psalm/psalm": "self.version" "psalm/psalm": "self.version"
}, },
"require-dev": { "require-dev": {
"amphp/amp": "^2.4.2",
"bamarni/composer-bin-plugin": "^1.2", "bamarni/composer-bin-plugin": "^1.2",
"brianium/paratest": "^4.0.0", "brianium/paratest": "^4.0.0",
"ext-curl": "*", "ext-curl": "*",
"php-coveralls/php-coveralls": "^2.2",
"phpmyadmin/sql-parser": "5.1.0", "phpmyadmin/sql-parser": "5.1.0",
"phpspec/prophecy": ">=1.9.0", "phpspec/prophecy": ">=1.9.0",
"phpunit/phpunit": "^7.5.16 || ^8.5", "phpunit/phpunit": "^7.5.16 || ^8.5 || ^9.0",
"psalm/plugin-phpunit": "^0.9", "psalm/plugin-phpunit": "^0.10",
"slevomat/coding-standard": "^5.0", "slevomat/coding-standard": "^5.0",
"squizlabs/php_codesniffer": "^3.5", "squizlabs/php_codesniffer": "^3.5",
"symfony/process": "^4.3" "symfony/process": "^4.3"
@ -9137,7 +9095,7 @@
"inspection", "inspection",
"php" "php"
], ],
"time": "2020-03-23T11:40:30+00:00" "time": "2020-04-13T12:47:11+00:00"
}, },
{ {
"name": "webmozart/assert", "name": "webmozart/assert",

View File

@ -138,7 +138,7 @@ return [
], ],
'encryption' => null === env('USE_ENCRYPTION') || true === env('USE_ENCRYPTION'), 'encryption' => null === env('USE_ENCRYPTION') || true === env('USE_ENCRYPTION'),
'version' => '5.2.1', 'version' => '5.2.2',
'api_version' => '1.1.0', 'api_version' => '1.1.0',
'db_version' => 13, 'db_version' => 13,
'maxUploadSize' => 15242880, 'maxUploadSize' => 15242880,

View File

@ -30,7 +30,7 @@ $factory->define(
'user_id' => 1, 'user_id' => 1,
'attachable_id' => 1, 'attachable_id' => 1,
'attachable_type' => TransactionJournal::class, 'attachable_type' => TransactionJournal::class,
'md5' => md5($faker->words(6, true)), 'md5' => substr(hash('sha256', $faker->words(6, true)), 0, 32),
'mime' => 'text/plain', 'mime' => 'text/plain',
'size' => 1, 'size' => 1,
'filename' => 'ok', 'filename' => 'ok',

View File

@ -133,7 +133,7 @@ class CreateMainTables extends Migration
$table->integer('user_id', false, true); $table->integer('user_id', false, true);
$table->integer('attachable_id', false, true); $table->integer('attachable_id', false, true);
$table->string('attachable_type', 255); $table->string('attachable_type', 255);
$table->string('md5', 32); $table->string('md5', 128);
$table->string('filename', 1024); $table->string('filename', 1024);
$table->string('title', 1024)->nullable(); $table->string('title', 1024)->nullable();
$table->text('description')->nullable(); $table->text('description')->nullable();

2
public/v1/js/app.js vendored

File diff suppressed because one or more lines are too long

View File

@ -5,18 +5,18 @@
*/ */
/*! /*!
* Sizzle CSS Selector Engine v2.3.4 * Sizzle CSS Selector Engine v2.3.5
* https://sizzlejs.com/ * https://sizzlejs.com/
* *
* Copyright JS Foundation and other contributors * Copyright JS Foundation and other contributors
* Released under the MIT license * Released under the MIT license
* https://js.foundation/ * https://js.foundation/
* *
* Date: 2019-04-08 * Date: 2020-03-14
*/ */
/*! /*!
* jQuery JavaScript Library v3.4.1 * jQuery JavaScript Library v3.5.0
* https://jquery.com/ * https://jquery.com/
* *
* Includes Sizzle.js * Includes Sizzle.js
@ -26,5 +26,5 @@
* Released under the MIT license * Released under the MIT license
* https://jquery.org/license * https://jquery.org/license
* *
* Date: 2019-05-01T21:04Z * Date: 2020-04-10T15:07Z
*/ */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -20,17 +20,18 @@
<template> <template>
<div> <div>
<table class="table table-hover sortable"> <table class="table table-hover sortable">
<caption>Bills table</caption>
<thead> <thead>
<tr> <tr>
<th class="hidden-sm hidden-xs" data-defaultsort="disabled">&nbsp;</th> <th scope="col" class="hidden-sm hidden-xs" data-defaultsort="disabled">&nbsp;</th>
<th>{{ 'list.name' | trans }}</th> <th scope="col">{{ 'list.name' | trans }}</th>
<th data-defaultsign="az" class="hidden-sm hidden-md hidden-xs">{{ 'list.matchesOn' | trans }}</th> <th scope="col"data-defaultsign="az" class="hidden-sm hidden-md hidden-xs">{{ 'list.matchesOn' | trans }}</th>
<th data-defaultsign="_19" colspan="2">{{ 'list.amount' | trans }}</th> <th scope="col" data-defaultsign="_19" colspan="2">{{ 'list.amount' | trans }}</th>
<th data-defaultsign="month" class="hidden-sm hidden-xs">{{ 'list.paid_current_period' | trans }}</th> <th scope="col" data-defaultsign="month" class="hidden-sm hidden-xs">{{ 'list.paid_current_period' | trans }}</th>
<th data-defaultsign="month" class="hidden-sm hidden-xs">{{ 'list.next_expected_match' | trans }}</th> <th scope="col" data-defaultsign="month" class="hidden-sm hidden-xs">{{ 'list.next_expected_match' | trans }}</th>
<th class="hidden-sm hidden-xs hidden-md">{{ 'list.active' | trans }}</th> <th scope="col" class="hidden-sm hidden-xs hidden-md">{{ 'list.active' | trans }}</th>
<th class="hidden-sm hidden-xs hidden-md">{{ 'list.automatch' | trans }}</th> <th scope="col" class="hidden-sm hidden-xs hidden-md">{{ 'list.automatch' | trans }}</th>
<th data-defaultsign="az" class="hidden-sm hidden-xs">{{ 'list.repeat_freq' | trans }}</th> <th scope="col" data-defaultsign="az" class="hidden-sm hidden-xs">{{ 'list.repeat_freq' | trans }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View File

@ -41,11 +41,12 @@
<div class="box-body"> <div class="box-body">
<!-- Authorized Tokens --> <!-- Authorized Tokens -->
<table class="table table-borderless m-b-none"> <table class="table table-borderless m-b-none">
<caption>Authorized clients</caption>
<thead> <thead>
<tr> <tr>
<th>Name</th> <th scope="col">Name</th>
<th>Scopes</th> <th scope="col">Scopes</th>
<th></th> <th scope="col"></th>
</tr> </tr>
</thead> </thead>

View File

@ -45,13 +45,14 @@
</p> </p>
<table class="table table-borderless m-b-none" v-if="clients.length > 0"> <table class="table table-borderless m-b-none" v-if="clients.length > 0">
<caption>Clients</caption>
<thead> <thead>
<tr> <tr>
<th>Client ID</th> <th scope="col">Client ID</th>
<th>Name</th> <th scope="col">Name</th>
<th>Secret</th> <th scope="col">Secret</th>
<th></th> <th scope="col"></th>
<th></th> <th scope="col"></th>
</tr> </tr>
</thead> </thead>

View File

@ -45,10 +45,11 @@
<!-- Personal Access Tokens --> <!-- Personal Access Tokens -->
<table class="table table-borderless m-b-none" v-if="tokens.length > 0"> <table class="table table-borderless m-b-none" v-if="tokens.length > 0">
<caption>Personal Access Tokens</caption>
<thead> <thead>
<tr> <tr>
<th>Name</th> <th scope="col">Name</th>
<th></th> <th scope="col"></th>
</tr> </tr>
</thead> </thead>

View File

@ -1,6 +1,6 @@
{ {
"firefly": { "firefly": {
"welcome_back": "What's playing?", "welcome_back": "Jak to jde?",
"flash_error": "Chyba!", "flash_error": "Chyba!",
"flash_success": "\u00dasp\u011b\u0161n\u011b dokon\u010deno!", "flash_success": "\u00dasp\u011b\u0161n\u011b dokon\u010deno!",
"close": "Zav\u0159\u00edt", "close": "Zav\u0159\u00edt",
@ -8,7 +8,7 @@
"errors_submission": "There was something wrong with your submission. Please check out the errors below.", "errors_submission": "There was something wrong with your submission. Please check out the errors below.",
"split": "Rozd\u011blit", "split": "Rozd\u011blit",
"transaction_journal_information": "Informace o transakci", "transaction_journal_information": "Informace o transakci",
"no_budget_pointer": "You seem to have no budgets yet. You should create some on the <a href=\"\/budgets\">budgets<\/a>-page. Budgets can help you keep track of expenses.", "no_budget_pointer": "Zd\u00e1 se, \u017ee zat\u00edm nem\u00e1te \u017e\u00e1dn\u00e9 rozpo\u010dty. Na str\u00e1nce <a href=\":link\">rozpo\u010dty<\/a> byste n\u011bjak\u00e9 m\u011bli vytvo\u0159it. Rozpo\u010dty mohou pomoci udr\u017eet si p\u0159ehled ve v\u00fddaj\u00edch.",
"source_account": "Zdrojov\u00fd \u00fa\u010det", "source_account": "Zdrojov\u00fd \u00fa\u010det",
"hidden_fields_preferences": "You can enable more transaction options in your <a href=\"\/preferences\">settings<\/a>.", "hidden_fields_preferences": "You can enable more transaction options in your <a href=\"\/preferences\">settings<\/a>.",
"destination_account": "C\u00edlov\u00fd \u00fa\u010det", "destination_account": "C\u00edlov\u00fd \u00fa\u010det",
@ -41,7 +41,7 @@
}, },
"form": { "form": {
"interest_date": "\u00darokov\u00e9 datum", "interest_date": "\u00darokov\u00e9 datum",
"book_date": "Book date", "book_date": "Datum rezervace",
"process_date": "Datum zpracov\u00e1n\u00ed", "process_date": "Datum zpracov\u00e1n\u00ed",
"due_date": "Datum splatnosti", "due_date": "Datum splatnosti",
"foreign_amount": "\u010c\u00e1stka v ciz\u00ed m\u011bn\u011b", "foreign_amount": "\u010c\u00e1stka v ciz\u00ed m\u011bn\u011b",

View File

@ -24,5 +24,5 @@ declare(strict_types=1);
return [ return [
'failed' => 'Nesprávné přihlašovací údaje.', 'failed' => 'Nesprávné přihlašovací údaje.',
'throttle' => 'Příliš mnoho pokusů o přihlášení. Zkuste to znovu za :seconds sekund.', 'throttle' => 'Příliš mnoho pokusů o přihlášení. Zkuste to prosím znovu za :seconds sekund.',
]; ];

View File

@ -57,6 +57,6 @@ return [
'edit_tag' => 'Upravit štítek „:tag“', 'edit_tag' => 'Upravit štítek „:tag“',
'delete_tag' => 'Odstranit štítek „:tag“', 'delete_tag' => 'Odstranit štítek „:tag“',
'delete_journal_link' => 'Odstranit vazbu mezi transakcemi', 'delete_journal_link' => 'Odstranit vazbu mezi transakcemi',
'telemetry_index' => 'Telemetry', 'telemetry_index' => 'Telemetrie',
'telemetry_view' => 'View telemetry', 'telemetry_view' => 'Zobrazit telemetrii',
]; ];

View File

@ -32,8 +32,8 @@ return [
'clone' => 'Klonovat', 'clone' => 'Klonovat',
'last_seven_days' => 'Uplynulých 7 dnů', 'last_seven_days' => 'Uplynulých 7 dnů',
'last_thirty_days' => 'Uplynulých 30 dní', 'last_thirty_days' => 'Uplynulých 30 dní',
'welcomeBack' => 'What\'s playing?', 'welcomeBack' => 'Jak to jde?',
'welcome_back' => 'What\'s playing?', 'welcome_back' => 'Jak to jde?',
'everything' => 'Vše', 'everything' => 'Vše',
'today' => 'dnes', 'today' => 'dnes',
'customRange' => 'Vlastní rozsah', 'customRange' => 'Vlastní rozsah',
@ -55,11 +55,11 @@ return [
'new_withdrawal' => 'Nový výběr', 'new_withdrawal' => 'Nový výběr',
'create_new_transaction' => 'Přidat novou transakci', 'create_new_transaction' => 'Přidat novou transakci',
'new_transaction' => 'Nová transakce', 'new_transaction' => 'Nová transakce',
'no_rules_for_bill' => 'This bill has no rules associated to it.', 'no_rules_for_bill' => 'Tento účet nemá přiřazena žádná pravidla.',
'go_to_asset_accounts' => 'Zobrazit účty s aktivy', 'go_to_asset_accounts' => 'Zobrazit účty s aktivy',
'go_to_budgets' => 'Přejít k rozpočtům', 'go_to_budgets' => 'Přejít k rozpočtům',
'new_clone_instructions' => 'This button will automatically clone the transaction and set the date to today. Are you sure?', 'new_clone_instructions' => 'Toto tlačítko automaticky zkopíruje transakci a nastaví dnešní datum. Jste si jisti?',
'clones_journal_x' => 'This transaction is a clone of ":description" (#:id)', 'clones_journal_x' => 'Tato transakce je kopií „:description“ (#:id)',
'go_to_categories' => 'Přejít ke kategoriím', 'go_to_categories' => 'Přejít ke kategoriím',
'go_to_bills' => 'Přejít k účtům', 'go_to_bills' => 'Přejít k účtům',
'go_to_expense_accounts' => 'Zobrazit výdajové účty', 'go_to_expense_accounts' => 'Zobrazit výdajové účty',
@ -95,7 +95,7 @@ return [
'two_factor_forgot' => 'Zapomněl(a) jsem si nástroj pro dvoufázové ověření.', 'two_factor_forgot' => 'Zapomněl(a) jsem si nástroj pro dvoufázové ověření.',
'two_factor_lost_header' => 'Ztratili jste své dvoufázové ověření?', 'two_factor_lost_header' => 'Ztratili jste své dvoufázové ověření?',
'two_factor_lost_intro' => 'Pokud jste ztratili i své záložní kódy, máte smůlu. Toto se pak už nedá napravit z webového rozhraní. Máte dvě možnosti:', 'two_factor_lost_intro' => 'Pokud jste ztratili i své záložní kódy, máte smůlu. Toto se pak už nedá napravit z webového rozhraní. Máte dvě možnosti:',
'two_factor_lost_fix_self' => 'If you run your own instance of Firefly III, read <a href="https://docs.firefly-iii.org/faq/other#i-lost-my-two-factor-authentication-codes-and-backup-codes">this entry in the FAQ</a> for instructions.', 'two_factor_lost_fix_self' => 'Pokud spustíte vlastní instanci Firefly III, přečtěte si <a href="https://docs.firefly-iii.org/faq/other#i-lost-my-two-factor-authentication-codes-and-backup-codes">tento záznam v FAQ</a> pro pokyny.',
'two_factor_lost_fix_owner' => 'V ostatních případech napište provozovateli, <a href="mailto::site_owner">:site_owner</a> a požádejte ho o resetování svého dvoufázového ověřování.', 'two_factor_lost_fix_owner' => 'V ostatních případech napište provozovateli, <a href="mailto::site_owner">:site_owner</a> a požádejte ho o resetování svého dvoufázového ověřování.',
'mfa_backup_code' => 'Použitím záložního kódu, umožňujícího přihlášení do Firefly III, platnost kódu zaniká. Takže kód, kterým jste se už přihlásili, už k ničemu není (není možné ho použít opakovaně) proto si ho ze seznamu vyškrtněte.', 'mfa_backup_code' => 'Použitím záložního kódu, umožňujícího přihlášení do Firefly III, platnost kódu zaniká. Takže kód, kterým jste se už přihlásili, už k ničemu není (není možné ho použít opakovaně) proto si ho ze seznamu vyškrtněte.',
'pref_two_factor_new_backup_codes' => 'Získat nové záložní kódy', 'pref_two_factor_new_backup_codes' => 'Získat nové záložní kódy',
@ -104,7 +104,7 @@ return [
'warning_much_data' => ':days dnů dat může chvíli trvat načíst.', 'warning_much_data' => ':days dnů dat může chvíli trvat načíst.',
'registered' => 'Úspěšně jste se zaregistrovali!', 'registered' => 'Úspěšně jste se zaregistrovali!',
'Default asset account' => 'Výchozí účet s aktivy', 'Default asset account' => 'Výchozí účet s aktivy',
'no_budget_pointer' => 'You seem to have no budgets yet. You should create some on the <a href="/budgets">budgets</a>-page. Budgets can help you keep track of expenses.', 'no_budget_pointer' => 'Zdá se, že zatím nemáte žádné rozpočty. Na stránce <a href=":link">rozpočty</a> byste nějaké měli vytvořit. Rozpočty mohou pomoci udržet si přehled ve výdajích.',
'Savings account' => 'Spořicí účet', 'Savings account' => 'Spořicí účet',
'Credit card' => 'Kreditní karta', 'Credit card' => 'Kreditní karta',
'source_accounts' => 'Zdrojové účty', 'source_accounts' => 'Zdrojové účty',
@ -112,7 +112,7 @@ return [
'user_id_is' => 'Vaš identifikátor uživatele je <strong>:user</strong>', 'user_id_is' => 'Vaš identifikátor uživatele je <strong>:user</strong>',
'field_supports_markdown' => 'Text v této kolonce je možné formátovat pomocí <a href="https://en.support.wordpress.com/markdown-quick-reference/">Markdown</a>.', 'field_supports_markdown' => 'Text v této kolonce je možné formátovat pomocí <a href="https://en.support.wordpress.com/markdown-quick-reference/">Markdown</a>.',
'need_more_help' => 'Pokud potřebujete další pomoc s používáním Firefly III, <a href="https://github.com/firefly-iii/firefly-iii/issues"> založte požadavek na portálu GitHub</a>.', 'need_more_help' => 'Pokud potřebujete další pomoc s používáním Firefly III, <a href="https://github.com/firefly-iii/firefly-iii/issues"> založte požadavek na portálu GitHub</a>.',
'reenable_intro_text' => 'You can also re-enable <a href="#" id="reenableGuidance">the introduction guidance</a>.', 'reenable_intro_text' => 'Můžete si také znovu spustit <a href="#" id="reenableGuidance">úvodního průvodce</a>.',
'intro_boxes_after_refresh' => 'Oblasti s úvodem se znovu objeví po opětovném načtení stránky.', 'intro_boxes_after_refresh' => 'Oblasti s úvodem se znovu objeví po opětovném načtení stránky.',
'show_all_no_filter' => 'Při jejich seskupení podle data zobrazit veškeré transakce.', 'show_all_no_filter' => 'Při jejich seskupení podle data zobrazit veškeré transakce.',
'expenses_by_category' => 'Výdaje podle kategorie', 'expenses_by_category' => 'Výdaje podle kategorie',
@ -125,8 +125,8 @@ return [
'sum_of_income' => 'Souhrn příjmů', 'sum_of_income' => 'Souhrn příjmů',
'liabilities' => 'Závazky', 'liabilities' => 'Závazky',
'spent_in_specific_budget' => 'Utraceno v rozpočtu „:budget“', 'spent_in_specific_budget' => 'Utraceno v rozpočtu „:budget“',
'spent_in_specific_double' => 'Spent in account(s) ":account"', 'spent_in_specific_double' => 'Utraceno na účtě/v účtech „:account“',
'earned_in_specific_double' => 'Earned in account(s) ":account"', 'earned_in_specific_double' => 'Získáno na účtě/účtech „:account“',
'source_account' => 'Zdrojový účet', 'source_account' => 'Zdrojový účet',
'source_account_reconciliation' => 'You can\'t edit the source account of a reconciliation transaction.', 'source_account_reconciliation' => 'You can\'t edit the source account of a reconciliation transaction.',
'destination_account' => 'Cílový účet', 'destination_account' => 'Cílový účet',
@ -192,7 +192,7 @@ return [
'problems_with_input' => 'Vyskytly se problémy se vstupními údaji.', 'problems_with_input' => 'Vyskytly se problémy se vstupními údaji.',
'reset_password' => 'Resetovat své heslo', 'reset_password' => 'Resetovat své heslo',
'button_reset_password' => 'Resetovat heslo', 'button_reset_password' => 'Resetovat heslo',
'reset_button' => 'Reset', 'reset_button' => 'Resetovat',
'want_to_login' => 'Chci se přihlásit', 'want_to_login' => 'Chci se přihlásit',
'login_page_title' => 'Přihlášení do Firefly III', 'login_page_title' => 'Přihlášení do Firefly III',
'register_page_title' => 'Registrace do Firefly III', 'register_page_title' => 'Registrace do Firefly III',
@ -202,7 +202,7 @@ return [
'button_register' => 'Zaregistrovat se', 'button_register' => 'Zaregistrovat se',
'authorization' => 'Pověření', 'authorization' => 'Pověření',
'active_bills_only' => 'pouze aktivní účty', 'active_bills_only' => 'pouze aktivní účty',
'active_exp_bills_only' => 'active and expected bills only', 'active_exp_bills_only' => 'pouze aktivní a očekávané účty',
'average_per_bill' => 'průměr na účet', 'average_per_bill' => 'průměr na účet',
'expected_total' => 'očekávaný celkový součet', 'expected_total' => 'očekávaný celkový součet',
'reconciliation_account_name' => ':name reconciliation', 'reconciliation_account_name' => ':name reconciliation',

View File

@ -35,20 +35,20 @@ return [
'active' => 'Aktivní', 'active' => 'Aktivní',
'amount_min' => 'Minimální částka', 'amount_min' => 'Minimální částka',
'amount_max' => 'Maximální částka', 'amount_max' => 'Maximální částka',
'match' => 'Matches on', 'match' => 'Shody',
'strict' => 'Striktní režim', 'strict' => 'Striktní režim',
'repeat_freq' => 'Repeats', 'repeat_freq' => 'Opakuje se',
'location' => 'Location', 'location' => 'Údaje o poloze',
'update_channel' => 'Update channel', 'update_channel' => 'Update channel',
'journal_currency_id' => 'Měna', 'journal_currency_id' => 'Měna',
'currency_id' => 'Měna', 'currency_id' => 'Měna',
'transaction_currency_id' => 'Měna', 'transaction_currency_id' => 'Měna',
'auto_budget_currency_id' => 'Currency', 'auto_budget_currency_id' => 'Měna',
'external_ip' => 'Externí IP adresa vašeho serveru', 'external_ip' => 'Externí IP adresa vašeho serveru',
'attachments' => 'Přílohy', 'attachments' => 'Přílohy',
'journal_amount' => 'Částka', 'journal_amount' => 'Částka',
'journal_source_name' => 'Příjmový účet (zdroj)', 'journal_source_name' => 'Příjmový účet (zdroj)',
'keep_bill_id' => 'Bill', 'keep_bill_id' => 'Účet',
'journal_source_id' => 'Účet aktiv (zdroj)', 'journal_source_id' => 'Účet aktiv (zdroj)',
'BIC' => 'BIC', 'BIC' => 'BIC',
'verify_password' => 'Ověřit odolnost hesla', 'verify_password' => 'Ověřit odolnost hesla',
@ -72,7 +72,7 @@ return [
'virtual_balance' => 'Virtuální zůstatek', 'virtual_balance' => 'Virtuální zůstatek',
'targetamount' => 'Cílová částka', 'targetamount' => 'Cílová částka',
'account_role' => 'Role účtu', 'account_role' => 'Role účtu',
'opening_balance_date' => 'Opening balance date', 'opening_balance_date' => 'Datum počátečního zůstatku',
'cc_type' => 'Credit card payment plan', 'cc_type' => 'Credit card payment plan',
'cc_monthly_payment_date' => 'Credit card monthly payment date', 'cc_monthly_payment_date' => 'Credit card monthly payment date',
'piggy_bank_id' => 'Pokladnička', 'piggy_bank_id' => 'Pokladnička',
@ -109,7 +109,7 @@ return [
'existing_attachments' => 'Existující přílohy', 'existing_attachments' => 'Existující přílohy',
'date' => 'Datum', 'date' => 'Datum',
'interest_date' => 'Úrokové datum', 'interest_date' => 'Úrokové datum',
'book_date' => 'Book date', 'book_date' => 'Datum rezervace',
'process_date' => 'Datum zpracování', 'process_date' => 'Datum zpracování',
'category' => 'Kategorie', 'category' => 'Kategorie',
'tags' => 'Štítky', 'tags' => 'Štítky',
@ -134,7 +134,7 @@ return [
'add_new_withdrawal' => 'Přidat nový výběr', 'add_new_withdrawal' => 'Přidat nový výběr',
'add_new_deposit' => 'Přidat nový vklad', 'add_new_deposit' => 'Přidat nový vklad',
'add_new_transfer' => 'Přidat nový převod', 'add_new_transfer' => 'Přidat nový převod',
'title' => 'Title', 'title' => 'Název',
'notes' => 'Poznámky', 'notes' => 'Poznámky',
'filename' => 'Název souboru', 'filename' => 'Název souboru',
'mime' => 'Mime typ', 'mime' => 'Mime typ',
@ -146,7 +146,7 @@ return [
'include_attachments' => 'Včetně nahraných příloh', 'include_attachments' => 'Včetně nahraných příloh',
'include_old_uploads' => 'Zahrnout importovaná data', 'include_old_uploads' => 'Zahrnout importovaná data',
'delete_account' => 'Smazat účet „:name“', 'delete_account' => 'Smazat účet „:name“',
'delete_bill' => 'Delete bill ":name"', 'delete_bill' => 'Smazán účet „:name“',
'delete_budget' => 'Smazat rozpočet „:name“', 'delete_budget' => 'Smazat rozpočet „:name“',
'delete_category' => 'Smazat kategorii „:name“', 'delete_category' => 'Smazat kategorii „:name“',
'delete_currency' => 'Odstranit měnu „:name“', 'delete_currency' => 'Odstranit měnu „:name“',
@ -193,8 +193,8 @@ return [
'password_confirmation' => 'Heslo (zopakování)', 'password_confirmation' => 'Heslo (zopakování)',
'blocked' => 'Je blokován?', 'blocked' => 'Je blokován?',
'blocked_code' => 'Důvod blokování', 'blocked_code' => 'Důvod blokování',
'login_name' => 'Login', 'login_name' => 'Přihlašovací jméno',
'is_owner' => 'Is admin?', 'is_owner' => 'Je správce?',
// import // import
'apply_rules' => 'Uplatnit pravidla', 'apply_rules' => 'Uplatnit pravidla',

View File

@ -41,7 +41,7 @@ return [
'transaction_type' => 'Typ', 'transaction_type' => 'Typ',
'lastActivity' => 'Poslední aktivita', 'lastActivity' => 'Poslední aktivita',
'balanceDiff' => 'Rozdíl zůstatku', 'balanceDiff' => 'Rozdíl zůstatku',
'matchesOn' => 'Matched on', 'matchesOn' => 'Shody',
'other_meta_data' => 'Ostatní metadata', 'other_meta_data' => 'Ostatní metadata',
'account_type' => 'Typ účtu', 'account_type' => 'Typ účtu',
'created_at' => 'Vytvořeno', 'created_at' => 'Vytvořeno',
@ -50,7 +50,7 @@ return [
'split_number' => '# rozdělení', 'split_number' => '# rozdělení',
'destination' => 'Cíl', 'destination' => 'Cíl',
'source' => 'Zdroj', 'source' => 'Zdroj',
'next_expected_match' => 'Next expected match', 'next_expected_match' => 'Další očekávaná shoda',
'automatch' => 'Automatické hledání shody?', 'automatch' => 'Automatické hledání shody?',
'repeat_freq' => 'Opakuje se', 'repeat_freq' => 'Opakuje se',
'description' => 'Popis', 'description' => 'Popis',
@ -58,7 +58,7 @@ return [
'internal_reference' => 'Interní reference', 'internal_reference' => 'Interní reference',
'date' => 'Datum', 'date' => 'Datum',
'interest_date' => 'Úrokové datum', 'interest_date' => 'Úrokové datum',
'book_date' => 'Book date', 'book_date' => 'Datum rezervace',
'process_date' => 'Datum zpracování', 'process_date' => 'Datum zpracování',
'due_date' => 'Datum splatnosti', 'due_date' => 'Datum splatnosti',
'payment_date' => 'Datum platby', 'payment_date' => 'Datum platby',
@ -67,7 +67,7 @@ return [
'notes' => 'Poznámky', 'notes' => 'Poznámky',
'from' => 'Od', 'from' => 'Od',
'piggy_bank' => 'Pokladnička', 'piggy_bank' => 'Pokladnička',
'to' => 'To', 'to' => 'Komu',
'budget' => 'Rozpočet', 'budget' => 'Rozpočet',
'category' => 'Kategorie', 'category' => 'Kategorie',
'bill' => 'Účet', 'bill' => 'Účet',
@ -79,7 +79,7 @@ return [
'iban' => 'IBAN', 'iban' => 'IBAN',
'paid_current_period' => 'Zaplaceno v tomto období', 'paid_current_period' => 'Zaplaceno v tomto období',
'email' => 'Email', 'email' => 'Email',
'registered_at' => 'Registered at', 'registered_at' => 'Registrováno v',
'is_blocked' => 'Je blokován', 'is_blocked' => 'Je blokován',
'is_admin' => 'Je admin', 'is_admin' => 'Je admin',
'has_two_factor' => 'Má 2FA', 'has_two_factor' => 'Má 2FA',
@ -130,7 +130,7 @@ return [
'spectre_status' => 'Stav', 'spectre_status' => 'Stav',
'bunq_payment_id' => 'bunq payment ID', 'bunq_payment_id' => 'bunq payment ID',
'repetitions' => 'Opakování', 'repetitions' => 'Opakování',
'title' => 'Title', 'title' => 'Název',
'transaction_s' => 'Transakce', 'transaction_s' => 'Transakce',
'field' => 'Kolonka', 'field' => 'Kolonka',
'value' => 'Hodnota', 'value' => 'Hodnota',

View File

@ -43,10 +43,10 @@ return [
'belongs_user' => 'Tato hodnota není platná pro toto pole.', 'belongs_user' => 'Tato hodnota není platná pro toto pole.',
'at_least_one_transaction' => 'Potřebujete alespoň jednu transakci.', 'at_least_one_transaction' => 'Potřebujete alespoň jednu transakci.',
'at_least_one_repetition' => 'Potřebujete alespoň jedno opakování.', 'at_least_one_repetition' => 'Potřebujete alespoň jedno opakování.',
'require_repeat_until' => 'Require either a number of repetitions, or an end date (repeat_until). Not both.', 'require_repeat_until' => 'Vyžaduje buď několik opakování nebo datum ukončení (repeat_until). Ne obojí.',
'require_currency_info' => 'Obsah tohoto pole je neplatný bez informace o měně.', 'require_currency_info' => 'Obsah tohoto pole je neplatný bez informace o měně.',
'not_transfer_account' => 'This account is not an account that can be used for transfers.', 'not_transfer_account' => 'Tento účet není účet, který lze použít pro převody.',
'require_currency_amount' => 'The content of this field is invalid without foreign amount information.', 'require_currency_amount' => 'Obsah tohoto pole je neplatný bez informace o měně.',
'equal_description' => 'Popis transakce nesmí být stejný jako globální popis.', 'equal_description' => 'Popis transakce nesmí být stejný jako globální popis.',
'file_invalid_mime' => 'Soubor ":name" je typu ":mime", který není schválen pro nahrání.', 'file_invalid_mime' => 'Soubor ":name" je typu ":mime", který není schválen pro nahrání.',
'file_too_large' => 'Soubor ":name" je příliš velký.', 'file_too_large' => 'Soubor ":name" je příliš velký.',
@ -57,7 +57,7 @@ return [
'at_least_one_action' => 'Pravidlo musí obsahovat alespoň jednu akci.', 'at_least_one_action' => 'Pravidlo musí obsahovat alespoň jednu akci.',
'base64' => 'Data nejsou v platném base64 kódování.', 'base64' => 'Data nejsou v platném base64 kódování.',
'model_id_invalid' => 'Zdá se, že dané ID je neplatné pro tento model.', 'model_id_invalid' => 'Zdá se, že dané ID je neplatné pro tento model.',
'more' => ':attribute must be larger than ":more".', 'more' => ':attribute musí být větší než ":more".',
'less' => ':attribute musí být menší než 10.000.000', 'less' => ':attribute musí být menší než 10.000.000',
'active_url' => ':attribute není platná adresa URL.', 'active_url' => ':attribute není platná adresa URL.',
'after' => ':attribute nemůže být dříve než :date.', 'after' => ':attribute nemůže být dříve než :date.',
@ -89,15 +89,15 @@ return [
'ip' => 'Je třeba, aby :attribute byla platná IP adresa.', 'ip' => 'Je třeba, aby :attribute byla platná IP adresa.',
'json' => 'Je třeba, aby :attribute byl platný JSON řetězec.', 'json' => 'Je třeba, aby :attribute byl platný JSON řetězec.',
'max.numeric' => ':attribute nemůže být vyšší než :max.', 'max.numeric' => ':attribute nemůže být vyšší než :max.',
'max.file' => 'The :attribute may not be greater than :max kilobytes.', 'max.file' => ':attribute nesmí být větší než :max kilobajtů.',
'max.string' => 'The :attribute may not be greater than :max characters.', 'max.string' => ':attribute nesmí být větší než :max znaků.',
'max.array' => 'The :attribute may not have more than :max items.', 'max.array' => ':attribute nesmí obsahovat více než :max položek.',
'mimes' => 'The :attribute must be a file of type: :values.', 'mimes' => ':attribute musí být soubor typu: :values.',
'min.numeric' => 'Je třeba, aby :attribute bylo alespoň :min.', 'min.numeric' => 'Je třeba, aby :attribute bylo alespoň :min.',
'lte.numeric' => 'Je třeba, aby :attribute byl nižší nebo roven :value.', 'lte.numeric' => 'Je třeba, aby :attribute byl nižší nebo roven :value.',
'min.file' => 'Je třeba, aby :attribute byl alespoň :min kilobajtů.', 'min.file' => 'Je třeba, aby :attribute byl alespoň :min kilobajtů.',
'min.string' => 'Je třeba, aby :attribute bylo alespoň :min znaků dlouhé.', 'min.string' => 'Je třeba, aby :attribute bylo alespoň :min znaků dlouhé.',
'min.array' => 'The :attribute must have at least :min items.', 'min.array' => ':attribute musí obsahovat alespoň :min položek.',
'not_in' => 'Vybraný :attribute není platný.', 'not_in' => 'Vybraný :attribute není platný.',
'numeric' => 'Je třeba, aby :attribute byl číslo.', 'numeric' => 'Je třeba, aby :attribute byl číslo.',
'numeric_native' => 'Je třeba, aby částka v hlavní měně bylo číslo.', 'numeric_native' => 'Je třeba, aby částka v hlavní měně bylo číslo.',
@ -105,19 +105,19 @@ return [
'numeric_source' => 'Je třeba, aby zdrojová částka bylo číslo.', 'numeric_source' => 'Je třeba, aby zdrojová částka bylo číslo.',
'regex' => 'Formát :attribute není platný.', 'regex' => 'Formát :attribute není platný.',
'required' => 'Kolonku :attribute je třeba vyplnit.', 'required' => 'Kolonku :attribute je třeba vyplnit.',
'required_if' => 'The :attribute field is required when :other is :value.', 'required_if' => ':attribute je vyžadováno pokud :other je :value.',
'required_unless' => 'The :attribute field is required unless :other is in :values.', 'required_unless' => ':attribute je vyžadováno pokud :other není v :values.',
'required_with' => 'The :attribute field is required when :values is present.', 'required_with' => ':attribute musí být vyplněno pokud :values je zvoleno.',
'required_with_all' => 'The :attribute field is required when :values is present.', 'required_with_all' => ':attribute musí být vyplněno pokud :values je zvoleno.',
'required_without' => 'The :attribute field is required when :values is not present.', 'required_without' => ':attribute musí být vyplněno pokud :values není zvoleno.',
'required_without_all' => 'The :attribute field is required when none of :values are present.', 'required_without_all' => ':attribute musí být vyplněno pokud žádná :values není zvoleno.',
'same' => 'The :attribute and :other must match.', 'same' => ':attribute a :other se musí shodovat.',
'size.numeric' => 'Je třeba, aby :attribute byl :size.', 'size.numeric' => 'Je třeba, aby :attribute byl :size.',
'amount_min_over_max' => 'The minimum amount cannot be larger than the maximum amount.', 'amount_min_over_max' => 'Minimální částka nemůže být vyšší než maximální částka.',
'size.file' => 'The :attribute must be :size kilobytes.', 'size.file' => ':attribute musí mít :size kilobajtů.',
'size.string' => 'The :attribute must be :size characters.', 'size.string' => ':attribute musí mít :size znaků.',
'size.array' => 'The :attribute must contain :size items.', 'size.array' => ':attribute musí obsahovat :size položek.',
'unique' => 'The :attribute has already been taken.', 'unique' => ':attribute již byl použit.',
'string' => 'Je třeba, aby :attribute byl řetězec.', 'string' => 'Je třeba, aby :attribute byl řetězec.',
'url' => 'Formát :attribute není platný.', 'url' => 'Formát :attribute není platný.',
'timezone' => 'Je třeba, aby :attribute byla platná zóna.', 'timezone' => 'Je třeba, aby :attribute byla platná zóna.',
@ -125,15 +125,15 @@ return [
'dimensions' => ':attribute nemá platné rozměry obrázku.', 'dimensions' => ':attribute nemá platné rozměry obrázku.',
'distinct' => 'Kolonka :attribute má duplicitní hodnotu.', 'distinct' => 'Kolonka :attribute má duplicitní hodnotu.',
'file' => 'Je třeba, aby :attribute byl soubor.', 'file' => 'Je třeba, aby :attribute byl soubor.',
'in_array' => 'The :attribute field does not exist in :other.', 'in_array' => 'Pole :attribute neexistuje v :other.',
'present' => 'Je třeba, aby kolonka :attribute byla přítomna.', 'present' => 'Je třeba, aby kolonka :attribute byla přítomna.',
'amount_zero' => 'Celková částka nemůže být nula.', 'amount_zero' => 'Celková částka nemůže být nula.',
'current_target_amount' => 'The current amount must be less than the target amount.', 'current_target_amount' => 'Aktuální částka musí být menší než cílová částka.',
'unique_piggy_bank_for_user' => 'Je třeba, aby se názvy pokladniček neopakovaly.', 'unique_piggy_bank_for_user' => 'Je třeba, aby se názvy pokladniček neopakovaly.',
'secure_password' => 'Toto není bezpečné heslo. Zkuste jiné. Více se dozvíte na http://bit.ly/FF3-password-security', 'secure_password' => 'Toto není bezpečné heslo. Zkuste jiné. Více se dozvíte na http://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Neplatný typ opakování pro opakované transakce.', 'valid_recurrence_rep_type' => 'Neplatný typ opakování pro opakované transakce.',
'valid_recurrence_rep_moment' => 'Invalid repetition moment for this type of repetition.', 'valid_recurrence_rep_moment' => 'Neplatné opakování v tento moment tohoto typu opakování.',
'invalid_account_info' => 'Neplatná informace o účtu.', 'invalid_account_info' => 'Neplatná informace o účtu.',
'attributes' => [ 'attributes' => [
'email' => 'e-mailová adresa', 'email' => 'e-mailová adresa',
@ -142,8 +142,8 @@ return [
'name' => 'název', 'name' => 'název',
'piggy_bank_id' => 'ID pokladničky', 'piggy_bank_id' => 'ID pokladničky',
'targetamount' => 'cílová částka', 'targetamount' => 'cílová částka',
'opening_balance_date' => 'opening balance date', 'opening_balance_date' => 'počáteční datum zůstatku',
'opening_balance' => 'opening balance', 'opening_balance' => 'počáteční zůstatek',
'match' => 'shoda', 'match' => 'shoda',
'amount_min' => 'minimální částka', 'amount_min' => 'minimální částka',
'amount_max' => 'maximální částka', 'amount_max' => 'maximální částka',
@ -159,12 +159,12 @@ return [
'rule-action.2' => 'Akce pravidla č. 2', 'rule-action.2' => 'Akce pravidla č. 2',
'rule-action.3' => 'Akce pravidla č. 3', 'rule-action.3' => 'Akce pravidla č. 3',
'rule-action.4' => 'akce pravidla č. 4', 'rule-action.4' => 'akce pravidla č. 4',
'rule-action.5' => 'rule action #5', 'rule-action.5' => 'akce pravidla č. 5',
'rule-trigger-value.1' => 'rule trigger value #1', 'rule-trigger-value.1' => 'hodnota spouštěcího pravidla č. 1',
'rule-trigger-value.2' => 'rule trigger value #2', 'rule-trigger-value.2' => 'hodnota spouštěcího pravidla #2',
'rule-trigger-value.3' => 'rule trigger value #3', 'rule-trigger-value.3' => 'hodnota spouštěcího pravidla #3',
'rule-trigger-value.4' => 'rule trigger value #4', 'rule-trigger-value.4' => 'hodnota spouštěcího pravidla #4',
'rule-trigger-value.5' => 'rule trigger value #5', 'rule-trigger-value.5' => 'hodnota spouštěcího pravidla #5',
'rule-trigger.1' => 'spouštěč pravidla č. 1', 'rule-trigger.1' => 'spouštěč pravidla č. 1',
'rule-trigger.2' => 'spouštěč pravidla č. 2', 'rule-trigger.2' => 'spouštěč pravidla č. 2',
'rule-trigger.3' => 'spouštěč pravidla č. 3', 'rule-trigger.3' => 'spouštěč pravidla č. 3',
@ -173,18 +173,18 @@ return [
], ],
// validation of accounts: // validation of accounts:
'withdrawal_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.', 'withdrawal_source_need_data' => 'Pro pokračování je potřeba získat platné ID zdrojového účtu a/nebo platný název zdrojového účtu.',
'withdrawal_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'withdrawal_source_bad_data' => 'Nelze najít platný zdrojový účet při hledání ID „:id“ nebo jména „:name“.',
'withdrawal_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'withdrawal_dest_need_data' => 'Pro pokračování je potřeba získat platné ID zdrojového účtu a/nebo platný název zdrojového účtu.',
'withdrawal_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'withdrawal_dest_bad_data' => 'Při hledání ID „:id“ nebo jména „:name“ nelze najít platný cílový účet.',
'deposit_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.', 'deposit_source_need_data' => 'Pro pokračování je potřeba získat platné ID zdrojového účtu a/nebo platný název zdrojového účtu.',
'deposit_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'deposit_source_bad_data' => 'Nelze najít platný zdrojový účet při hledání ID „:id“ nebo jména „:name“.',
'deposit_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'deposit_dest_need_data' => 'Pro pokračování je potřeba získat platné cílové ID účtu a/nebo platné jméno cílového účtu.',
'deposit_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'deposit_dest_bad_data' => 'Při hledání ID „:id“ nebo jména „:name“ nelze najít platný cílový účet.',
'deposit_dest_wrong_type' => 'The submitted destination account is not of the right type.', 'deposit_dest_wrong_type' => 'Předložený cílový účet není správného typu.',
'transfer_source_need_data' => 'Need to get a valid source account ID and/or valid source account name to continue.', 'transfer_source_need_data' => 'Pro pokračování je potřeba získat platné ID zdrojového účtu a/nebo platný název zdrojového účtu.',
'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".', 'transfer_source_bad_data' => 'Could not find a valid source account when searching for ID ":id" or name ":name".',
'transfer_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.', 'transfer_dest_need_data' => 'Need to get a valid destination account ID and/or valid destination account name to continue.',
'transfer_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".', 'transfer_dest_bad_data' => 'Could not find a valid destination account when searching for ID ":id" or name ":name".',

View File

@ -1449,9 +1449,9 @@ return [
'import_transactions' => 'Buchungen importieren', 'import_transactions' => 'Buchungen importieren',
'import_tools_title' => 'Werkzeuge importieren', 'import_tools_title' => 'Werkzeuge importieren',
'tools_index_intro' => 'Es gibt mehrere Werkzeuge, um Daten in Firefly III zu importieren (Diese werden unten vorgestellt). Weitere Informationen finden Sie unter <a href="https://docs.firefly-iii.org/importing-data/introduction">hier auf dieser Seite</a>.', 'tools_index_intro' => 'Es gibt mehrere Werkzeuge, um Daten in Firefly III zu importieren (Diese werden unten vorgestellt). Weitere Informationen finden Sie unter <a href="https://docs.firefly-iii.org/importing-data/introduction">hier auf dieser Seite</a>.',
'firefly_iii_csv_importer_name' => 'Firefly III CSV-Import', 'firefly_iii_csv_importer_name' => 'Firefly III CSV-Import',
'firefly_iii_bunq_importer_name' => 'Firefly III Bunq 🌈 importieren', 'firefly_iii_bunq_importer_name' => 'Firefly III Bunq 🌈 importieren',
'firefly_iii_ynab_importer_name' => 'Firefly III YNAB importer', 'firefly_iii_ynab_importer_name' => 'Firefly III • YNAB-Import',
'ludo_revolut_importer_name' => 'Ludo444\'s Revolut-Importer', 'ludo_revolut_importer_name' => 'Ludo444\'s Revolut-Importer',
// //
// sandstorm.io errors and messages: // sandstorm.io errors and messages:

View File

@ -829,7 +829,7 @@ return [
'skips_over' => 'παραλείπει', 'skips_over' => 'παραλείπει',
'bill_store_error' => 'Παρουσιάστηκε ένα μη αναμενόμενο σφάλμα κατά την αποθήκευση του νέου πάγιου έξοδου. Ελέγξτε τα αρχεία καταγραφής', 'bill_store_error' => 'Παρουσιάστηκε ένα μη αναμενόμενο σφάλμα κατά την αποθήκευση του νέου πάγιου έξοδου. Ελέγξτε τα αρχεία καταγραφής',
'list_inactive_rule' => 'ανενεργός κανόνας', 'list_inactive_rule' => 'ανενεργός κανόνας',
'bill_edit_rules' => 'Firefly III will attempt to edit the :count rule(s) related to this bill as well. If you\'ve edited these rule(s) yourself however, Firefly III won\'t change anything.', 'bill_edit_rules' => 'Το Firefly III θα επιχειρήσει να επεξεργαστεί τον κανόνα(ες) :count που σχετίζεται με αυτό το πάγιο έξοδο. Αν όμως έχετε κάνει περαιτέρω αλλαγές σε αυτό τον κανόνα(ες), το Firefly III δεν θα αλλάξει τίποτα.',
// accounts: // accounts:
'inactive_account_link' => 'Έχετε :count ανενεργούς (σε αρχειοθέτηση) λογαριασμούς, τους οποίους μπορείτε να δείτε χωριστά σε αυτή τη σελίδα.', 'inactive_account_link' => 'Έχετε :count ανενεργούς (σε αρχειοθέτηση) λογαριασμούς, τους οποίους μπορείτε να δείτε χωριστά σε αυτή τη σελίδα.',
@ -1351,7 +1351,7 @@ return [
'send_test_email_text' => 'Για να δείτε αν η εγκατάσταση σας μπορεί να στείλει μηνύματα ηλεκτρονικού ταχυδρομείου, πατήστε αυτό το κουμπί. Δεν θα δείτε κάποιο σφάλμα εδώ (αν υπάρχει), <strong>μόνο τα αρχεία καταγραφής θα εμφανίσουν τυχόν σφάλματα </strong>. Μπορείτε να πατήσετε αυτό το κουμπί όσες φορές θέλετε. Δεν υπάρχει έλεγχος ανεπιθύμητης αλληλογραφίας. Το μήνυμα θα αποσταλεί στο <code>:email</code> και θα πρέπει να φτάσει σύντομα.', 'send_test_email_text' => 'Για να δείτε αν η εγκατάσταση σας μπορεί να στείλει μηνύματα ηλεκτρονικού ταχυδρομείου, πατήστε αυτό το κουμπί. Δεν θα δείτε κάποιο σφάλμα εδώ (αν υπάρχει), <strong>μόνο τα αρχεία καταγραφής θα εμφανίσουν τυχόν σφάλματα </strong>. Μπορείτε να πατήσετε αυτό το κουμπί όσες φορές θέλετε. Δεν υπάρχει έλεγχος ανεπιθύμητης αλληλογραφίας. Το μήνυμα θα αποσταλεί στο <code>:email</code> και θα πρέπει να φτάσει σύντομα.',
'send_message' => 'Αποστολή μηνύματος', 'send_message' => 'Αποστολή μηνύματος',
'send_test_triggered' => 'Η δοκιμή ενεργοποιήθηκε. Ελέγξτε τα εισερχόμενα μηνύματα στο Email σας και τα αρχεία καταγραφής.', 'send_test_triggered' => 'Η δοκιμή ενεργοποιήθηκε. Ελέγξτε τα εισερχόμενα μηνύματα στο Email σας και τα αρχεία καταγραφής.',
'give_admin_careful' => 'Users who are given admin rights can take away yours. Be careful.', 'give_admin_careful' => 'Οι χρήστες στους οποίους έχουν δοθεί δικαιώματα διαχειριστή μπορούν να καθαιρέσουν τη δική σας πρόσβαση. Ενεργήστε με προσοχή.',
'split_transaction_title' => 'Περιγραφή της συναλλαγής με διαχωρισμό', 'split_transaction_title' => 'Περιγραφή της συναλλαγής με διαχωρισμό',
'split_transaction_title_help' => 'Εάν δημιουργήσετε μια διαχωρισμένη συναλλαγή, πρέπει να υπάρχει μια καθολική περιγραφή για όλους τους διαχωρισμούς της συναλλαγής.', 'split_transaction_title_help' => 'Εάν δημιουργήσετε μια διαχωρισμένη συναλλαγή, πρέπει να υπάρχει μια καθολική περιγραφή για όλους τους διαχωρισμούς της συναλλαγής.',
@ -1451,7 +1451,7 @@ return [
'tools_index_intro' => 'Υπάρχουν διάφορα εργαλεία για την εισαγωγή δεδομένων στο Firefly III. Δείτε τα παρακάτω. Για περισσότερες πληροφορίες, ανατρέξτε σε <a href="https://docs.firefly-iii.org/importing-data/introduction">αυτή τη σελίδα</a>.', 'tools_index_intro' => 'Υπάρχουν διάφορα εργαλεία για την εισαγωγή δεδομένων στο Firefly III. Δείτε τα παρακάτω. Για περισσότερες πληροφορίες, ανατρέξτε σε <a href="https://docs.firefly-iii.org/importing-data/introduction">αυτή τη σελίδα</a>.',
'firefly_iii_csv_importer_name' => 'Εργαλείο εισαγωγής CSV στο Firefly III', 'firefly_iii_csv_importer_name' => 'Εργαλείο εισαγωγής CSV στο Firefly III',
'firefly_iii_bunq_importer_name' => 'Εργαλείο εισαγωγής bunq 🌈 στο Firefly III', 'firefly_iii_bunq_importer_name' => 'Εργαλείο εισαγωγής bunq 🌈 στο Firefly III',
'firefly_iii_ynab_importer_name' => 'Firefly III YNAB importer', 'firefly_iii_ynab_importer_name' => 'Εργαλείο εισαγωγής YNAB στο Firefly III',
'ludo_revolut_importer_name' => 'Εισαγωγέας δεδομένων Revolut του Ludo444', 'ludo_revolut_importer_name' => 'Εισαγωγέας δεδομένων Revolut του Ludo444',
// //
// sandstorm.io errors and messages: // sandstorm.io errors and messages:
@ -1591,7 +1591,7 @@ return [
// telemetry // telemetry
'telemetry_admin_index' => 'Τηλεμετρία', 'telemetry_admin_index' => 'Τηλεμετρία',
'telemetry_intro' => 'Το Firefly III υποστηρίζει τη συλλογή και αποστολή τηλεμετρίας χρήσης. Αυτό σημαίνει ότι το Firefly III θα προσπαθήσει να συλλέξει πληροφορίες για το πώς χρησιμοποιείτε το Firefly III και να τις αποστείλει στον προγραμματιστή του Firefly III. Μπορείτε πάντα να επιλέξετε αν θέλετε να συμμετάσχετε και η επιλογή είναι κλειστή από προεπιλογή. Το Firefly III δεν θα συλλέξει ούτε θα αποστείλει ποτέ οικονομικές πληροφορίες. Το Firefly III επίσης ποτέ δεν θα συλλέξει ούτε θα αποστείλει οικονομικές πληροφορίες μεταδεδομένων, όπως ποσά ή υπολογισμούς. Τα συγκεντρωμένα δεδομένα δεν θα γίνουν ποτέ προσβάσιμα από το ευρύ κοινό.', 'telemetry_intro' => 'Το Firefly III υποστηρίζει τη συλλογή και αποστολή τηλεμετρίας χρήσης. Αυτό σημαίνει ότι το Firefly III θα προσπαθήσει να συλλέξει πληροφορίες για το πώς χρησιμοποιείτε το Firefly III και να τις αποστείλει στον προγραμματιστή του Firefly III. Μπορείτε πάντα να επιλέξετε αν θέλετε να συμμετάσχετε και η επιλογή είναι κλειστή από προεπιλογή. Το Firefly III δεν θα συλλέξει ούτε θα αποστείλει ποτέ οικονομικές πληροφορίες. Το Firefly III επίσης ποτέ δεν θα συλλέξει ούτε θα αποστείλει οικονομικές πληροφορίες μεταδεδομένων, όπως ποσά ή υπολογισμούς. Τα συγκεντρωμένα δεδομένα δεν θα γίνουν ποτέ προσβάσιμα από το ευρύ κοινό.',
'telemetry_what_collected' => 'What Firefly III collects and sends exactly is different for each version. You are running version :version. What Firefly III collects in version :version is something you can read in the help pages. Click the (?)-icon in the top-right corner <a href="https://docs.firefly-iii.org/support/telemetry">or visit the documentation page</a>.', 'telemetry_what_collected' => 'Τα δεδομένα που συλλέγει και στέλνει το Firefly III είναι διαφορετικά για κάθε έκδοση. Εσείς εκτελείτε την έκδοση :version. Τα δεδομένα που συλλέγει το Firefly III στην έκδοση :version είναι κάτι που μπορείτε διαβάσετε στις σελίδες βοήθειας. Κάντε κλικ στο εικονίδιο (?) στην επάνω δεξιά γωνία <a href="https://docs.firefly-iii.org/support/telemetry">ή επισκεφτείτε την σελίδα βοήθειας απευθείας στο GitHub</a>.',
'telemetry_is_enabled_yes_no' => 'Είναι ενεργοποιημένη η τηλεμετρία του Firefly III;', 'telemetry_is_enabled_yes_no' => 'Είναι ενεργοποιημένη η τηλεμετρία του Firefly III;',
'telemetry_disabled_no' => 'Η τηλεμετρία ΔΕΝ είναι ενεργοποιημένη', 'telemetry_disabled_no' => 'Η τηλεμετρία ΔΕΝ είναι ενεργοποιημένη',
'telemetry_disabled_yes' => 'Η τηλεμετρία είναι ενεργοποιημένη', 'telemetry_disabled_yes' => 'Η τηλεμετρία είναι ενεργοποιημένη',
@ -1601,14 +1601,14 @@ return [
'no_telemetry_present' => 'Το Firefly III δεν έχει συγκεντρώσει αρχεία τηλεμετρίας.', 'no_telemetry_present' => 'Το Firefly III δεν έχει συγκεντρώσει αρχεία τηλεμετρίας.',
'records_telemetry_present' => 'Το Firefly III έχει συγκεντρώσει :count αρχείο(α) τηλεμετρίας.', 'records_telemetry_present' => 'Το Firefly III έχει συγκεντρώσει :count αρχείο(α) τηλεμετρίας.',
'telemetry_button_view' => 'Προβολή τηλεμετρίας', 'telemetry_button_view' => 'Προβολή τηλεμετρίας',
'telemetry_button_delete' => 'Delete all telemetry', 'telemetry_button_delete' => 'Διαγραφή όλης της τηλεμετρίας',
'telemetry_admin_overview' => 'Επισκόπηση τηλεμετρίας', 'telemetry_admin_overview' => 'Επισκόπηση τηλεμετρίας',
'telemetry_back_to_index' => 'Back to telemetry index', 'telemetry_back_to_index' => 'Επιστροφή στις ενδείξεις τηλεμετρίας',
'not_yet_submitted' => 'Not yet submitted', 'not_yet_submitted' => 'Δεν έχει υποβληθεί ακόμη',
'telemetry_type_feature' => 'Feature flag', 'telemetry_type_feature' => 'Επισήμανση λειτουργίας',
'telemetry_submit_all' => 'Submit records', 'telemetry_submit_all' => 'Υποβολή εγγραφών',
'telemetry_delete_submitted_records' => 'Delete submitted records', 'telemetry_delete_submitted_records' => 'Διαγραφή καταχωρισμένων εγγραφών',
'telemetry_submission_executed' => 'Records have been submitted. Check your log files for more info.', 'telemetry_submission_executed' => 'Έχουν υποβληθεί εγγραφές. Ελέγξτε τα αρχεία καταγραφής για περισσότερες πληροφορίες.',
'telemetry_all_deleted' => 'All telemetry records have been deleted.', 'telemetry_all_deleted' => 'Όλες οι εγγραφές τηλεμετρίας έχουν διαγραφεί.',
'telemetry_submitted_deleted' => 'All submitted telemetry records have been deleted.' 'telemetry_submitted_deleted' => 'Όλες οι υποβληθείσες εγγραφές τηλεμετρίας έχουν διαγραφεί.'
]; ];

View File

@ -522,7 +522,7 @@ return [
'clear_location' => 'Effacer la localisation', 'clear_location' => 'Effacer la localisation',
'delete_all_selected_tags' => 'Supprimer tous les tags sélectionnés', 'delete_all_selected_tags' => 'Supprimer tous les tags sélectionnés',
'select_tags_to_delete' => 'N\'oubliez pas de sélectionner des tags.', 'select_tags_to_delete' => 'N\'oubliez pas de sélectionner des tags.',
'deleted_x_tags' => '{count} tag(s) supprimé(s).', 'deleted_x_tags' => ':count tag(s) supprimé(s).',
'create_rule_from_transaction' => 'Créer une règle basée sur une opération', 'create_rule_from_transaction' => 'Créer une règle basée sur une opération',
// preferences // preferences
@ -1451,7 +1451,7 @@ return [
'tools_index_intro' => 'Plusieurs outils permettent d\'importer des données dans Firefly III. Vous les retrouverez ci-dessous. Pour plus d\'informations, consultez <a href="https://docs.firefly-iii.org/importing-data/introduction">cette page</a> (en anglais).', 'tools_index_intro' => 'Plusieurs outils permettent d\'importer des données dans Firefly III. Vous les retrouverez ci-dessous. Pour plus d\'informations, consultez <a href="https://docs.firefly-iii.org/importing-data/introduction">cette page</a> (en anglais).',
'firefly_iii_csv_importer_name' => 'Importation CSV Firefly III', 'firefly_iii_csv_importer_name' => 'Importation CSV Firefly III',
'firefly_iii_bunq_importer_name' => 'Importation Bunq Firefly III', 'firefly_iii_bunq_importer_name' => 'Importation Bunq Firefly III',
'firefly_iii_ynab_importer_name' => 'Firefly III YNAB importer', 'firefly_iii_ynab_importer_name' => 'Importation YNAB Firefly III',
'ludo_revolut_importer_name' => 'Importation Revolut (Ludo444)', 'ludo_revolut_importer_name' => 'Importation Revolut (Ludo444)',
// //
// sandstorm.io errors and messages: // sandstorm.io errors and messages:

View File

@ -1451,7 +1451,7 @@ return [
'tools_index_intro' => 'Esistono diversi strumenti per importare dati in Firefly III. Controlla quelli qui sotto. Per ulteriori informazioni, consulta <a href="https://docs.firefly-iii.org/importing-data/introduction">questa pagina</a>.', 'tools_index_intro' => 'Esistono diversi strumenti per importare dati in Firefly III. Controlla quelli qui sotto. Per ulteriori informazioni, consulta <a href="https://docs.firefly-iii.org/importing-data/introduction">questa pagina</a>.',
'firefly_iii_csv_importer_name' => 'Importatore CSV di Firefly III', 'firefly_iii_csv_importer_name' => 'Importatore CSV di Firefly III',
'firefly_iii_bunq_importer_name' => 'Importatore bunq🌈 di Firefly III', 'firefly_iii_bunq_importer_name' => 'Importatore bunq🌈 di Firefly III',
'firefly_iii_ynab_importer_name' => 'Firefly III YNAB importer', 'firefly_iii_ynab_importer_name' => 'Importatore YNAB di Firefly III',
'ludo_revolut_importer_name' => 'Importatore Revolut di Ludo444', 'ludo_revolut_importer_name' => 'Importatore Revolut di Ludo444',
// //
// sandstorm.io errors and messages: // sandstorm.io errors and messages:

View File

@ -1451,7 +1451,7 @@ return [
'tools_index_intro' => 'Several tools exist to import data into Firefly III. Check them out below. For more information, check out <a href="https://docs.firefly-iii.org/importing-data/introduction">this page</a>.', 'tools_index_intro' => 'Several tools exist to import data into Firefly III. Check them out below. For more information, check out <a href="https://docs.firefly-iii.org/importing-data/introduction">this page</a>.',
'firefly_iii_csv_importer_name' => 'Firefly III CSV importer', 'firefly_iii_csv_importer_name' => 'Firefly III CSV importer',
'firefly_iii_bunq_importer_name' => 'Firefly III bunq 🌈 importer', 'firefly_iii_bunq_importer_name' => 'Firefly III bunq 🌈 importer',
'firefly_iii_ynab_importer_name' => 'Firefly III YNAB importer', 'firefly_iii_ynab_importer_name' => 'Firefly III - importer YNAB',
'ludo_revolut_importer_name' => 'Importer Revoult Ludo444', 'ludo_revolut_importer_name' => 'Importer Revoult Ludo444',
// //
// sandstorm.io errors and messages: // sandstorm.io errors and messages:

View File

@ -1451,7 +1451,7 @@ return [
'tools_index_intro' => 'Existem várias ferramentas para importar dados para o Firefly III. Confira-as abaixo. Para obter mais informações, acesse <a href="https://docs.firefly-iii.org/importing-data/introduction">esta página</a>.', 'tools_index_intro' => 'Existem várias ferramentas para importar dados para o Firefly III. Confira-as abaixo. Para obter mais informações, acesse <a href="https://docs.firefly-iii.org/importing-data/introduction">esta página</a>.',
'firefly_iii_csv_importer_name' => 'Importador CSV Firefly III', 'firefly_iii_csv_importer_name' => 'Importador CSV Firefly III',
'firefly_iii_bunq_importer_name' => 'Importador Firefly III bunq 🌈', 'firefly_iii_bunq_importer_name' => 'Importador Firefly III bunq 🌈',
'firefly_iii_ynab_importer_name' => 'Firefly III YNAB importer', 'firefly_iii_ynab_importer_name' => 'Importador Firefly III YNAB',
'ludo_revolut_importer_name' => 'Ludo444\'s Revolut importer', 'ludo_revolut_importer_name' => 'Ludo444\'s Revolut importer',
// //
// sandstorm.io errors and messages: // sandstorm.io errors and messages:

View File

@ -52,7 +52,7 @@
</div> </div>
</div> </div>
{{ ExpandedForm.checkbox('verify_password','1', false) }} {{ ExpandedForm.checkbox('verify_password','1', true) }}
<p> <p>
<a data-toggle="modal" data-target="#passwordModal" href="#passwordModal">{{ 'what_is_pw_security'|_ }}</a> <a data-toggle="modal" data-target="#passwordModal" href="#passwordModal">{{ 'what_is_pw_security'|_ }}</a>
</p> </p>

View File

@ -1423,7 +1423,7 @@ browserify-zlib@^0.2.0:
dependencies: dependencies:
pako "~1.0.5" pako "~1.0.5"
browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.8.3, browserslist@^4.9.1: browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.8.5, browserslist@^4.9.1:
version "4.11.1" version "4.11.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.1.tgz#92f855ee88d6e050e7e7311d987992014f1a1f1b" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.1.tgz#92f855ee88d6e050e7e7311d987992014f1a1f1b"
integrity sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g== integrity sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g==
@ -1580,9 +1580,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0" lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001038, caniuse-lite@^1.0.30001039: caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001038, caniuse-lite@^1.0.30001039:
version "1.0.30001040" version "1.0.30001041"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001040.tgz#103fc8e6eb1d7397e95134cd0e996743353d58ea" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001041.tgz#c2ea138dafc6fe03877921ddcddd4a02a14daf76"
integrity sha512-Ep0tEPeI5wCvmJNrXjE3etgfI+lkl1fTDU6Y3ZH1mhrjkPlVI9W4pcKbMo+BQLpEWKVYYp2EmYaRsqpPC3k7lQ== integrity sha512-fqDtRCApddNrQuBxBS7kEiSGdBsgO4wiVw4G/IClfqzfhW45MbTumfN4cuUJGTM0YGFNn97DCXPJ683PS6zwvA==
chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2" version "2.4.2"
@ -1889,11 +1889,11 @@ copy-descriptor@^0.1.0:
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
core-js-compat@^3.6.2: core-js-compat@^3.6.2:
version "3.6.4" version "3.6.5"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"
integrity sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA== integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==
dependencies: dependencies:
browserslist "^4.8.3" browserslist "^4.8.5"
semver "7.0.0" semver "7.0.0"
core-util-is@~1.0.0: core-util-is@~1.0.0:
@ -2397,9 +2397,9 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.3.390: electron-to-chromium@^1.3.390:
version "1.3.402" version "1.3.405"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.402.tgz#9ad93c0c8ea2e571431739e0d76bd6bc9788a846" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.405.tgz#b84fcb157edb26eae6c36d93d416cb51caa399bd"
integrity sha512-gaCDfX7IUH0s3JmBiHCDPrvVcdnTTP1r4WLJc2dHkYYbLmXZ2XHiJCcGQ9Balf91aKTvuCKCyu2JjJYRykoI1w== integrity sha512-D+xkP+hAQY/790DzImC8bI8QJLaArNG4b74bYvkhkK/fli51JmNyUYxwKLSl/8VPGkkXEqKCupSDD05/E5P72w==
elliptic@^6.0.0: elliptic@^6.0.0:
version "6.5.2" version "6.5.2"
@ -3247,9 +3247,9 @@ html-comment-regex@^1.1.0:
integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
html-entities@^1.2.1: html-entities@^1.2.1:
version "1.2.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"
integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==
html-loader@^0.5.5: html-loader@^0.5.5:
version "0.5.5" version "0.5.5"
@ -3787,9 +3787,9 @@ jest-worker@^25.1.0:
supports-color "^7.0.0" supports-color "^7.0.0"
jquery@^3.4.1: jquery@^3.4.1:
version "3.4.1" version "3.5.0"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.0.tgz#9980b97d9e4194611c36530e7dc46a58d7340fc9"
integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== integrity sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ==
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0" version "4.0.0"
@ -4017,9 +4017,9 @@ lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
loglevel@^1.6.6: loglevel@^1.6.6:
version "1.6.7" version "1.6.8"
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.7.tgz#b3e034233188c68b889f5b862415306f565e2c56" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171"
integrity sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A== integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==
loose-envify@^1.0.0: loose-envify@^1.0.0:
version "1.4.0" version "1.4.0"
@ -4588,9 +4588,9 @@ object-inspect@^1.7.0:
integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==
object-is@^1.0.1: object-is@^1.0.1:
version "1.0.2" version "1.1.0"
resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.2.tgz#6b80eb84fe451498f65007982f035a5b445edec4" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.0.tgz#57e5e236f2831066c82948cbd735c24a9e54084d"
integrity sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ== integrity sha512-wznR5+ya11MdnkLq+oYePGjW2ge4RY5DVSwa3iKuDCpvLsYGnp24Qy5EzVRgyMHEuEkKd+dX/1JpAT6QxZXq2g==
object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
version "1.1.1" version "1.1.1"
@ -6642,9 +6642,9 @@ vue-hot-reload-api@^2.3.0:
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
vue-i18n@^8.15: vue-i18n@^8.15:
version "8.16.0" version "8.17.0"
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.16.0.tgz#f84188a36a4cc3c876427b869c7c5a82d6696080" resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.17.0.tgz#0e9d80afe8a6706e3327fbc30537a5d450200096"
integrity sha512-cp9JOsx4ETzlCsnD22FE8ZhAmD8kcyNLRKV0DPsS7bBNTCdIlOKuyTGonWKYcGCUtNMtwemDWRBevRm8eevBVg== integrity sha512-A6FlYeZtB9YOLNv+XRcu9xdVXDbIx1j6IprJC7mZ7nubLvXprRjQizauH8UrgGZI0KddoLJpA0UG3Dk87TIcnQ==
vue-loader@^15.4.2: vue-loader@^15.4.2:
version "15.9.1" version "15.9.1"