Merge branch 'release/5.4.0-alpha.2' into main

This commit is contained in:
James Cole 2020-08-21 08:04:49 +02:00
commit 67806cacdb
79 changed files with 4182 additions and 1517 deletions

View File

@ -1,19 +1,22 @@
en_US
bg_BG
cs_CZ
es_ES
de_DE
el_GR
en_GB
en_US
es_ES
fi_FI
fr_FR
hu_HU
it_IT
lt_LT
nb_NO
nl_NL
pl_PL
pt_BR
ro_RO
ru_RU
hu_HU
el_GR
sv_SE
vi_VN
zh-hans_CN
zh-hant_CN
fi_FI
vi_VN

View File

@ -329,8 +329,8 @@ class TransactionUpdateRequest extends FormRequest
foreach ($this->dateFields as $fieldName) {
Log::debug(sprintf('Now at date field %s', $fieldName));
if (array_key_exists($fieldName, $transaction)) {
$current[$fieldName] = $this->dateFromValue((string) $transaction[$fieldName]);
Log::debug(sprintf('New value: "%s"', (string) $transaction[$fieldName]));
$current[$fieldName] = $this->dateFromValue((string) $transaction[$fieldName]);
}
}

View File

@ -55,9 +55,6 @@ class GroupCollector implements GroupCollectorInterface
*/
public function __construct()
{
if ('testing' === config('app.env')) {
app('log')->warning(sprintf('%s should not be instantiated in the TEST environment!', get_class($this)));
}
$this->hasAccountInfo = false;
$this->hasCatInformation = false;
$this->hasBudgetInformation = false;

View File

@ -156,8 +156,8 @@ class BudgetLimitController extends Controller
[
'budget_id' => $request->get('budget_id'),
'transaction_currency_id' => $request->get('transaction_currency_id'),
'start_date' => $request->get('start'),
'end_date' => $request->get('end'),
'start_date' => $start,
'end_date' => $end,
'amount' => $request->get('amount'),
]
);

View File

@ -82,7 +82,6 @@ class ProfileController extends Controller
$loginProvider = config('firefly.login_provider');
$authGuard = config('firefly.authentication_guard');
$this->externalIdentity = 'eloquent' !== $loginProvider || 'web' !== $authGuard;
$this->externalIdentity = true;
$this->middleware(IsDemoUser::class)->except(['index']);
}

View File

@ -48,19 +48,7 @@ use Storage;
*/
class AccountRepository implements AccountRepositoryInterface
{
/** @var User */
private $user;
/**
* Constructor.
*/
public function __construct()
{
if ('testing' === config('app.env')) {
Log::warning(sprintf('%s should not be instantiated in the TEST environment!', get_class($this)));
}
}
private User $user;
/**
* @param array $types

View File

@ -53,16 +53,6 @@ class BillRepository implements BillRepositoryInterface
private User $user;
/**
* Constructor.
*/
public function __construct()
{
if ('testing' === config('app.env')) {
Log::warning(sprintf('%s should not be instantiated in the TEST environment!', get_class($this)));
}
}
/**
* @param Bill $bill
*

View File

@ -42,8 +42,7 @@ use Log;
*/
class BudgetLimitRepository implements BudgetLimitRepositoryInterface
{
/** @var User */
private $user;
private User $user;
/**
* Constructor.
@ -307,8 +306,8 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface
// find limit with same date range and currency.
$limit = $budget->budgetlimits()
->where('budget_limits.start_date', $data['start']->format('Y-m-d 00:00:00'))
->where('budget_limits.end_date', $data['end']->format('Y-m-d 00:00:00'))
->where('budget_limits.start_date', $data['start_date']->format('Y-m-d 00:00:00'))
->where('budget_limits.end_date', $data['end_date']->format('Y-m-d 00:00:00'))
->where('budget_limits.transaction_currency_id', $currency->id)
->get(['budget_limits.*'])->first();
if (null !== $limit) {
@ -319,8 +318,8 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface
// or create one and return it.
$limit = new BudgetLimit;
$limit->budget()->associate($budget);
$limit->start_date = $data['start']->format('Y-m-d 00:00:00');
$limit->end_date = $data['end']->format('Y-m-d 00:00:00');
$limit->start_date = $data['start_date']->format('Y-m-d 00:00:00');
$limit->end_date = $data['end_date']->format('Y-m-d 00:00:00');
$limit->amount = $data['amount'];
$limit->transaction_currency_id = $currency->id;
$limit->save();
@ -337,18 +336,23 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface
*/
public function update(BudgetLimit $budgetLimit, array $data): BudgetLimit
{
$budgetLimit->amount = $data['amount'] ?? $budgetLimit->amount;
$budgetLimit->budget_id = $data['budget_id'] ?? $budgetLimit->id;
$budgetLimit->budget_id = $data['budget'] ? $data['budget']->id : $budgetLimit->budget_id;
$budgetLimit->start_date = $data['start'] ? $data['start']->format('Y-m-d 00:00:00') : $budgetLimit->start_date;
$budgetLimit->end_date = $data['end'] ? $data['end']->format('Y-m-d 00:00:00') : $budgetLimit->end_date;
$budgetLimit->amount = array_key_exists('amount',$data) ? $data['amount'] : $budgetLimit->amount;
$budgetLimit->budget_id = array_key_exists('budget_id', $data) ? $data['budget_id'] : $budgetLimit->id;
$budgetLimit->start_date = array_key_exists('start_date', $data) ? $data['start_date']->format('Y-m-d 00:00:00') : $budgetLimit->start_date;
$budgetLimit->end_date = array_key_exists('end_date', $data) ? $data['end_date']->format('Y-m-d 00:00:00') : $budgetLimit->end_date;
// if no currency has been provided, use the user's default currency:
/** @var TransactionCurrencyFactory $factory */
$factory = app(TransactionCurrencyFactory::class);
$currency = $factory->find($data['currency_id'] ?? null, $data['currency_code'] ?? null);
if (null === $currency) {
$currency = app('amount')->getDefaultCurrencyByUser($this->user);
$currency = null;
// update if relevant:
if(array_key_exists('currency_id', $data) || array_key_exists('currency_code', $data)) {
/** @var TransactionCurrencyFactory $factory */
$factory = app(TransactionCurrencyFactory::class);
$currency = $factory->find($data['currency_id'] ?? null, $data['currency_code'] ?? null);
}
// catch unexpected null:
if(null === $currency) {
$currency = $budgetLimit->transactionCurrency ?? app('amount')->getDefaultCurrencyByUser($this->user);
}
$currency->enabled = true;
$currency->save();

View File

@ -43,18 +43,7 @@ use Storage;
*/
class TagRepository implements TagRepositoryInterface
{
/** @var User */
private $user;
/**
* Constructor.
*/
public function __construct()
{
if ('testing' === config('app.env')) {
Log::warning(sprintf('%s should not be instantiated in the TEST environment!', get_class($this)));
}
}
private User $user;
/**
* @return int

View File

@ -253,7 +253,7 @@ class JournalUpdateService
}
$destInfo = [
'id' => (int)($this->data['destination_id'] ?? null),
'id' => (int) ($this->data['destination_id'] ?? null),
'name' => $this->data['destination_name'] ?? null,
'iban' => $this->data['destination_iban'] ?? null,
'number' => $this->data['destination_number'] ?? null,
@ -287,7 +287,7 @@ class JournalUpdateService
}
$sourceInfo = [
'id' => (int)($this->data['source_id'] ?? null),
'id' => (int) ($this->data['source_id'] ?? null),
'name' => $this->data['source_name'] ?? null,
'iban' => $this->data['source_iban'] ?? null,
'number' => $this->data['source_number'] ?? null,
@ -547,12 +547,27 @@ class JournalUpdateService
/**
* Update journal generic field. Cannot be set to NULL.
*
* @param $fieldName
* @param string $fieldName
*/
private function updateField($fieldName): void
private function updateField(string $fieldName): void
{
if (array_key_exists($fieldName, $this->data) && '' !== (string)$this->data[$fieldName]) {
$this->transactionJournal->$fieldName = $this->data[$fieldName];
if (array_key_exists($fieldName, $this->data) && '' !== (string) $this->data[$fieldName]) {
$value = $this->data[$fieldName];
if ('date' === $fieldName) {
if($value instanceof Carbon) {
// update timezone.
$value->setTimezone(config('app.timezone'));
}
if(!($value instanceof Carbon)) {
$value = new Carbon($value);
}
// do some parsing.
Log::debug(sprintf('Create date value from string "%s".', $value));
}
$this->transactionJournal->$fieldName = $value;
Log::debug(sprintf('Updated %s', $fieldName));
}
}
@ -652,7 +667,7 @@ class JournalUpdateService
foreach ($this->metaDate as $field) {
if ($this->hasFields([$field])) {
try {
$value = '' === (string)$this->data[$field] ? null : new Carbon($this->data[$field]);
$value = '' === (string) $this->data[$field] ? null : new Carbon($this->data[$field]);
} catch (Exception $e) {
Log::debug(sprintf('%s is not a valid date value: %s', $this->data[$field], $e->getMessage()));

View File

@ -149,9 +149,6 @@ class Preferences
*/
public function getForUser(User $user, string $name, $default = null): ?Preference
{
if ('testing' === config('app.env')) {
Log::warning(sprintf('%s("%s") should NOT be called in the TEST environment!', __METHOD__, $name));
}
$fullName = sprintf('preference%s%s', $user->id, $name);
if (Cache::has($fullName)) {
return Cache::get($fullName);

View File

@ -142,6 +142,7 @@ trait ConvertsDataTypes
return null;
}
Log::debug(sprintf('Date object: %s (%s)',$carbon->toW3cString() , $carbon->getTimezone()));
return $carbon;
}

View File

@ -24,6 +24,7 @@ namespace FireflyIII\Support\Search;
use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
@ -33,6 +34,7 @@ use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\User;
use Gdbots\QueryParser\Node\Field;
use Gdbots\QueryParser\Node\Node;
use Gdbots\QueryParser\Node\Phrase;
use Gdbots\QueryParser\Node\Word;
use Gdbots\QueryParser\ParsedQuery;
use Gdbots\QueryParser\QueryParser;
@ -42,7 +44,6 @@ use Log;
/**
* Class BetterQuerySearch
* @package FireflyIII\Support\Search
*/
class BetterQuerySearch implements SearchInterface
{
@ -60,12 +61,17 @@ class BetterQuerySearch implements SearchInterface
private float $startTime;
private Collection $modifiers;
/**
* BetterQuerySearch constructor.
* @codeCoverageIgnore
*/
public function __construct()
{
Log::debug('Constructed BetterQuerySearch');
$this->modifiers = new Collection;
$this->page = 1;
$this->words = [];
$this->validOperators = config('firefly.search_modifiers');
$this->validOperators = array_keys(config('firefly.search.operators'));
$this->startTime = microtime(true);
$this->accountRepository = app(AccountRepositoryInterface::class);
$this->categoryRepository = app(CategoryRepositoryInterface::class);
@ -76,6 +82,7 @@ class BetterQuerySearch implements SearchInterface
/**
* @inheritDoc
* @codeCoverageIgnore
*/
public function getModifiers(): Collection
{
@ -84,6 +91,7 @@ class BetterQuerySearch implements SearchInterface
/**
* @inheritDoc
* @codeCoverageIgnore
*/
public function getWordsAsString(): string
{
@ -92,6 +100,7 @@ class BetterQuerySearch implements SearchInterface
/**
* @inheritDoc
* @codeCoverageIgnore
*/
public function setPage(int $page): void
{
@ -100,25 +109,31 @@ class BetterQuerySearch implements SearchInterface
/**
* @inheritDoc
* @codeCoverageIgnore
*/
public function hasModifiers(): bool
{
// TODO: Implement hasModifiers() method.
die(__METHOD__);
}
/**
* @inheritDoc
* @throws FireflyException
*/
public function parseQuery(string $query)
{
Log::debug(sprintf('Now in parseQuery(%s)', $query));
$parser = new QueryParser();
$this->query = $parser->parse($query);
// get limit from preferences.
$pageSize = (int) app('preferences')->getForUser($this->user, 'listPageSize', 50)->data;
$pageSize = (int) app('preferences')->getForUser($this->user, 'listPageSize', 50)->data;
$this->collector = app(GroupCollectorInterface::class);
$this->collector->setLimit($pageSize)->setPage($this->page)->withAccountInformation()->withCategoryInformation()->withBudgetInformation();
$this->collector->setUser($this->user);
$this->collector->setLimit($pageSize)->setPage($this->page);
$this->collector->withAccountInformation()->withCategoryInformation()->withBudgetInformation();
Log::debug(sprintf('Found %d node(s)', count($this->query->getNodes())));
foreach ($this->query->getNodes() as $searchNode) {
$this->handleSearchNode($searchNode);
@ -130,6 +145,7 @@ class BetterQuerySearch implements SearchInterface
/**
* @inheritDoc
* @codeCoverageIgnore
*/
public function searchTime(): float
{
@ -146,6 +162,7 @@ class BetterQuerySearch implements SearchInterface
/**
* @inheritDoc
* @codeCoverageIgnore
*/
public function setUser(User $user): void
{
@ -165,11 +182,15 @@ class BetterQuerySearch implements SearchInterface
$class = get_class($searchNode);
switch ($class) {
default:
Log::error(sprintf('Cannot handle node %s', $class));
throw new FireflyException(sprintf('Firefly III search cant handle "%s"-nodes', $class));
case Word::class:
case Phrase::class:
Log::debug(sprintf('Now handle %s', $class));
$this->words[] = $searchNode->getValue();
break;
case Field::class:
Log::debug(sprintf('Now handle %s', $class));
/** @var Field $searchNode */
// used to search for x:y
$operator = $searchNode->getValue();
@ -178,9 +199,9 @@ class BetterQuerySearch implements SearchInterface
if (in_array($operator, $this->validOperators, true)) {
$this->updateCollector($operator, $value);
$this->modifiers->push([
'type' => $operator,
'value' => $value,
]);
'type' => $operator,
'value' => $value,
]);
}
break;
}
@ -190,13 +211,27 @@ class BetterQuerySearch implements SearchInterface
/**
* @param string $operator
* @param string $value
* @throws FireflyException
*/
private function updateCollector(string $operator, string $value): void
{
Log::debug(sprintf('updateCollector(%s, %s)', $operator, $value));
$allAccounts = new Collection;
switch ($operator) {
default:
die(sprintf('Unsupported search operator: "%s"', $operator));
Log::error(sprintf('No such operator: %s', $operator));
throw new FireflyException(sprintf('Unsupported search operator: "%s"', $operator));
// some search operators are ignored, basically:
case 'user_action':
Log::info(sprintf('Ignore search operator "%s"', $operator));
break;
case 'from_account_starts':
$this->fromAccountStarts($value);
break;
case 'from_account_ends':
$this->fromAccountEnds($value);
break;
case 'from_account_contains':
case 'from':
case 'source':
// source can only be asset, liability or revenue account:
@ -299,4 +334,54 @@ class BetterQuerySearch implements SearchInterface
break;
}
}
/**
* @param string $value
*/
private function fromAccountStarts(string $value): void
{
Log::debug(sprintf('fromAccountStarts(%s)', $value));
// source can only be asset, liability or revenue account:
$searchTypes = [AccountType::ASSET, AccountType::MORTGAGE, AccountType::LOAN, AccountType::DEBT, AccountType::REVENUE];
$accounts = $this->accountRepository->searchAccount($value, $searchTypes, 25);
if (0 === $accounts->count()) {
Log::debug('Found zero, return.');
return;
}
Log::debug(sprintf('Found %d, filter.', $accounts->count()));
$filtered = $accounts->filter(function (Account $account) use ($value) {
return str_starts_with($account->name, $value);
});
if (0 === $filtered->count()) {
Log::debug('Left with zero, return.');
return;
}
Log::debug(sprintf('Left with %d, set.', $accounts->count()));
$this->collector->setSourceAccounts($filtered);
}
/**
* @param string $value
*/
private function fromAccountEnds(string $value): void
{
Log::debug(sprintf('fromAccountEnds(%s)', $value));
// source can only be asset, liability or revenue account:
$searchTypes = [AccountType::ASSET, AccountType::MORTGAGE, AccountType::LOAN, AccountType::DEBT, AccountType::REVENUE];
$accounts = $this->accountRepository->searchAccount($value, $searchTypes, 25);
if (0 === $accounts->count()) {
Log::debug('Found zero, return.');
return;
}
Log::debug(sprintf('Found %d, filter.', $accounts->count()));
$filtered = $accounts->filter(function (Account $account) use ($value) {
return str_ends_with($account->name, $value);
});
if (0 === $filtered->count()) {
Log::debug('Left with zero, return.');
return;
}
Log::debug(sprintf('Left with %d, set.', $accounts->count()));
$this->collector->setSourceAccounts($filtered);
}
}

View File

@ -1,318 +0,0 @@
<?php
/**
* Search.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\Support\Search;
use Carbon\Carbon;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\AccountType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\User;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Collection;
use Log;
/**
* Class Search.
*/
class Search implements SearchInterface
{
private AccountRepositoryInterface $accountRepository;
private BillRepositoryInterface $billRepository;
private BudgetRepositoryInterface $budgetRepository;
private CategoryRepositoryInterface $categoryRepository;
private Collection $modifiers;
private string $originalQuery = '';
private float $startTime;
private int $limit;
private TagRepositoryInterface $tagRepository;
private User $user;
private array $validModifiers;
private array $words = [];
private int $page;
/**
* Search constructor.
*/
public function __construct()
{
$this->page = 1;
$this->modifiers = new Collection;
$this->validModifiers = (array) config('firefly.search_modifiers');
$this->startTime = microtime(true);
$this->accountRepository = app(AccountRepositoryInterface::class);
$this->categoryRepository = app(CategoryRepositoryInterface::class);
$this->budgetRepository = app(BudgetRepositoryInterface::class);
$this->billRepository = app(BillRepositoryInterface::class);
$this->tagRepository = app(TagRepositoryInterface::class);
if ('testing' === config('app.env')) {
Log::warning(sprintf('%s should not be instantiated in the TEST environment!', get_class($this)));
}
}
/**
* @return Collection
*/
public function getModifiers(): Collection
{
return $this->modifiers;
}
/**
* @return string
*/
public function getWordsAsString(): string
{
$string = implode(' ', $this->words);
if ('' === $string) {
return is_string($this->originalQuery) ? $this->originalQuery : '';
}
return $string;
}
/**
* @return bool
*/
public function hasModifiers(): bool
{
return $this->modifiers->count() > 0;
}
/**
* @param string $query
*/
public function parseQuery(string $query): void
{
$filteredQuery = app('steam')->cleanString($query);
$this->originalQuery = $filteredQuery;
$pattern = '/[[:alpha:]_]*:(".*"|[\P{Zs}_-]*)/ui';
$matches = [];
preg_match_all($pattern, $filteredQuery, $matches);
foreach ($matches[0] as $match) {
$this->extractModifier($match);
$filteredQuery = str_replace($match, '', $filteredQuery);
}
$filteredQuery = trim(str_replace(['"', "'"], '', $filteredQuery));
// str replace some stuff:
$search = ['%', '=', '/', '<', '>', '(', ')', ';'];
$filteredQuery = str_replace($search, ' ', $filteredQuery);
if ('' !== $filteredQuery) {
$this->words = array_map('trim', explode(' ', $filteredQuery));
}
}
/**
* @return float
*/
public function searchTime(): float
{
return microtime(true) - $this->startTime;
}
/**
* @return LengthAwarePaginator
*/
public function searchTransactions(): LengthAwarePaginator
{
Log::debug('Start of searchTransactions()');
// get limit from preferences.
$pageSize = (int) app('preferences')->get('listPageSize', 50)->data;
/** @var GroupCollectorInterface $collector */
$collector = app(GroupCollectorInterface::class);
$collector->setLimit($pageSize)->setPage($this->page)->withAccountInformation();
$collector->withCategoryInformation()->withBudgetInformation();
$collector->setSearchWords($this->words);
// Most modifiers can be applied to the collector directly.
$collector = $this->applyModifiers($collector);
return $collector->getPaginatedGroups();
}
/**
* @param User $user
*/
public function setUser(User $user): void
{
$this->user = $user;
$this->accountRepository->setUser($user);
$this->billRepository->setUser($user);
$this->categoryRepository->setUser($user);
$this->budgetRepository->setUser($user);
}
/**
* @param GroupCollectorInterface $collector
*
* @return GroupCollectorInterface
*
*/
private function applyModifiers(GroupCollectorInterface $collector): GroupCollectorInterface
{
$totalAccounts = new Collection;
foreach ($this->modifiers as $modifier) {
switch ($modifier['type']) {
default:
die(sprintf('unsupported modifier: "%s"', $modifier['type']));
case 'from':
case 'source':
// source can only be asset, liability or revenue account:
$searchTypes = [AccountType::ASSET, AccountType::MORTGAGE, AccountType::LOAN, AccountType::DEBT, AccountType::REVENUE];
$accounts = $this->accountRepository->searchAccount($modifier['value'], $searchTypes, 25);
if ($accounts->count() > 0) {
$totalAccounts = $accounts->merge($totalAccounts);
}
$collector->setSourceAccounts($totalAccounts);
break;
case 'to':
case 'destination':
// source can only be asset, liability or expense account:
$searchTypes = [AccountType::ASSET, AccountType::MORTGAGE, AccountType::LOAN, AccountType::DEBT, AccountType::EXPENSE];
$accounts = $this->accountRepository->searchAccount($modifier['value'], $searchTypes, 25);
if ($accounts->count() > 0) {
$totalAccounts = $accounts->merge($totalAccounts);
}
$collector->setDestinationAccounts($totalAccounts);
break;
case 'category':
$result = $this->categoryRepository->searchCategory($modifier['value'], 25);
if ($result->count() > 0) {
$collector->setCategories($result);
}
break;
case 'bill':
$result = $this->billRepository->searchBill($modifier['value'], 25);
if ($result->count() > 0) {
$collector->setBills($result);
}
break;
case 'tag':
$result = $this->tagRepository->searchTag($modifier['value']);
if ($result->count() > 0) {
$collector->setTags($result);
}
break;
case 'budget':
$result = $this->budgetRepository->searchBudget($modifier['value'], 25);
if ($result->count() > 0) {
$collector->setBudgets($result);
}
break;
case 'amount_is':
case 'amount':
$amount = app('steam')->positive((string) $modifier['value']);
Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $amount));
$collector->amountIs($amount);
break;
case 'amount_max':
case 'amount_less':
$amount = app('steam')->positive((string) $modifier['value']);
Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $amount));
$collector->amountLess($amount);
break;
case 'amount_min':
case 'amount_more':
$amount = app('steam')->positive((string) $modifier['value']);
Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $amount));
$collector->amountMore($amount);
break;
case 'type':
$collector->setTypes([ucfirst($modifier['value'])]);
Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $modifier['value']));
break;
case 'date':
case 'on':
Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $modifier['value']));
$start = new Carbon($modifier['value']);
$collector->setRange($start, $start);
break;
case 'date_before':
case 'before':
Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $modifier['value']));
$before = new Carbon($modifier['value']);
$collector->setBefore($before);
break;
case 'date_after':
case 'after':
Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $modifier['value']));
$after = new Carbon($modifier['value']);
$collector->setAfter($after);
break;
case 'created_on':
Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $modifier['value']));
$createdAt = new Carbon($modifier['value']);
$collector->setCreatedAt($createdAt);
break;
case 'updated_on':
Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $modifier['value']));
$updatedAt = new Carbon($modifier['value']);
$collector->setUpdatedAt($updatedAt);
break;
case 'external_id':
$collector->setExternalId($modifier['value']);
break;
case 'internal_reference':
$collector->setInternalReference($modifier['value']);
break;
}
}
return $collector;
}
/**
* @param string $string
*/
private function extractModifier(string $string): void
{
$parts = explode(':', $string);
if (2 === count($parts) && '' !== trim((string) $parts[1]) && '' !== trim((string) $parts[0])) {
$type = strtolower(trim((string) $parts[0]));
$value = trim((string) $parts[1]);
$value = trim(trim($value, '"\''));
if (in_array($type, $this->validModifiers, true)) {
// filter for valid type
$this->modifiers->push(['type' => $type, 'value' => $value]);
}
}
}
/**
* @param int $page
*/
public function setPage(int $page): void
{
$this->page = $page;
}
}

View File

@ -1,150 +0,0 @@
<?php
/**
* TransferSearch.php
* Copyright (c) 2020 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Support\Search;
use Carbon\Carbon;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\User;
use Illuminate\Database\Query\JoinClause;
use Illuminate\Support\Collection;
use InvalidArgumentException;
use Log;
/**
* Class TransferSearch
*/
class TransferSearch implements GenericSearchInterface
{
/** @var AccountRepositoryInterface */
private $accountRepository;
/** @var string */
private $amount;
/** @var Carbon */
private $date;
/** @var string */
private $description;
/** @var Account */
private $destination;
/** @var Account */
private $source;
/** @var array */
private $types;
public function __construct()
{
$this->accountRepository = app(AccountRepositoryInterface::class);
$this->types = [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE];
}
/**
* @return Collection
*/
public function search(): Collection
{
/** @var User $user */
$user = auth()->user();
$query = $user->transactionJournals()
->leftJoin(
'transactions as source', static function (JoinClause $join) {
$join->on('transaction_journals.id', '=', 'source.transaction_journal_id');
$join->where('source.amount', '<', '0');
}
)
->leftJoin(
'transactions as destination', static function (JoinClause $join) {
$join->on('transaction_journals.id', '=', 'destination.transaction_journal_id');
$join->where('destination.amount', '>', '0');
}
)
->where('source.account_id', $this->source->id)
->where('destination.account_id', $this->destination->id)
->where('transaction_journals.description', $this->description)
->where('destination.amount', $this->amount)
->where('transaction_journals.date', $this->date->format('Y-m-d 00:00:00'))
;
return $query->get(['transaction_journals.id', 'transaction_journals.transaction_group_id']);
}
/**
* @param string $amount
*/
public function setAmount(string $amount): void
{
$this->amount = $amount;
}
/**
* @param string $date
*/
public function setDate(string $date): void
{
try {
$carbon = Carbon::createFromFormat('Y-m-d', $date);
} catch (InvalidArgumentException $e) {
Log::error($e->getMessage());
$carbon = Carbon::now();
}
$this->date = $carbon;
}
/**
* @param string $description
*/
public function setDescription(string $description): void
{
$this->description = $description;
}
/**
* @param string $destination
*/
public function setDestination(string $destination): void
{
if (is_numeric($destination)) {
$this->destination = $this->accountRepository->findNull((int)$destination);
}
if (null === $this->destination) {
$this->destination = $this->accountRepository->findByName($destination, $this->types);
}
}
/**
* @param string $source
*/
public function setSource(string $source): void
{
if (is_numeric($source)) {
$this->source = $this->accountRepository->findNull((int)$source);
}
if (null === $this->source) {
$this->source = $this->accountRepository->findByName($source, $this->types);
}
}
}

View File

@ -11,13 +11,13 @@ Several alpha and beta releases preceded this release.
### Added
- [Issue 3187](https://github.com/firefly-iii/firefly-iii/issues/3187) A new field for transaction URL's.
- [Issue 3200](https://github.com/firefly-iii/firefly-iii/issues/3200) The ability to sort your accounts as you see fit.
- [Issue 3213](https://github.com/firefly-iii/firefly-iii/issues/3213) Add totals to budget page.
- [Issue 3213](https://github.com/firefly-iii/firefly-iii/issues/3213) Add totals to the budget page.
- [Issue 3238](https://github.com/firefly-iii/firefly-iii/issues/3238) You can select an expense when creating a transaction.
- [Issue 3240](https://github.com/firefly-iii/firefly-iii/issues/3240) Meta data and UI changes to count recurring transactions.
- [Issue 3246](https://github.com/firefly-iii/firefly-iii/issues/3246) Ability to add tags in the mass editor, not just replace them.
- [Issue 3265](https://github.com/firefly-iii/firefly-iii/issues/3265) A warning when split transactions may be changed by Firefly III.
- [Issue 3382](https://github.com/firefly-iii/firefly-iii/issues/3382) Fixed transfers not showing the right +/- sign, by @sephrat
- [Issue 3435](https://github.com/firefly-iii/firefly-iii/issues/3435) Create a recurring transaction from a transaction.
- [Issue 3435](https://github.com/firefly-iii/firefly-iii/issues/3435) Create a recurring transaction from a single transaction.
- [Issue 3451](https://github.com/firefly-iii/firefly-iii/issues/3451) Add a message on the bottom of the transaction screen so you see any errors.
- [Issue 3475](https://github.com/firefly-iii/firefly-iii/issues/3475) A summary for the box with bills.
- [Issue 3583](https://github.com/firefly-iii/firefly-iii/issues/3583) You can set your own custom guard header for third party authentication.
@ -27,11 +27,12 @@ Several alpha and beta releases preceded this release.
- [Issue 3648](https://github.com/firefly-iii/firefly-iii/issues/3648) Add a basic copy/paste feature.
- [Issue 3651](https://github.com/firefly-iii/firefly-iii/issues/3651) Now supports public clients.
- A new integrity check that makes sure all transaction types are correct.
- Support for Bulgarian! 🇧🇬
### Changed
- [Issue 3578](https://github.com/firefly-iii/firefly-iii/issues/3578) Use php-intl to do currency formatting, made by @hoshsadiq
- [Issue 3586](https://github.com/firefly-iii/firefly-iii/issues/3586) Removed features that aren't necessary when using third party auth providers.
- [Issue 3659](https://github.com/firefly-iii/firefly-iii/issues/3659) Update readme to include third party apps.
- [Issue 3659](https://github.com/firefly-iii/firefly-iii/issues/3659) Update the readme to include third party apps.
- All auto-complete code now uses the API; let me know if errors occur.
- Fixed audit logs.
@ -40,9 +41,9 @@ Several alpha and beta releases preceded this release.
- [Issue 3577](https://github.com/firefly-iii/firefly-iii/issues/3577) Add liability accounts when transforming transactions.
- [Issue 3585](https://github.com/firefly-iii/firefly-iii/issues/3585) Fix issue with category lists in reports.
- [Issue 3598](https://github.com/firefly-iii/firefly-iii/issues/3598) [issue 3597](https://github.com/firefly-iii/firefly-iii/issues/3597) Bad code in create recurring page, fixed by @maroux
- [Issue 3630](https://github.com/firefly-iii/firefly-iii/issues/3630) Fix cron job used for auto budgeting.
- [Issue 3635](https://github.com/firefly-iii/firefly-iii/issues/3635) Fix copy/paste error in translations, by @sephrat
- [Issue 3638](https://github.com/firefly-iii/firefly-iii/issues/3638) Remove unused wanring, by @sephrat
- [Issue 3630](https://github.com/firefly-iii/firefly-iii/issues/3630) Fix the cron job used for auto budgeting.
- [Issue 3635](https://github.com/firefly-iii/firefly-iii/issues/3635) Fix a copy/paste error in translations, by @sephrat
- [Issue 3638](https://github.com/firefly-iii/firefly-iii/issues/3638) Remove unused warning, by @sephrat
- [Issue 3639](https://github.com/firefly-iii/firefly-iii/issues/3639) Remove unused translations, by @sephrat
- [Issue 3640](https://github.com/firefly-iii/firefly-iii/issues/3640) Hide empty budget lists, by @sephrat
- [Issue 3641](https://github.com/firefly-iii/firefly-iii/issues/3641) Elegant solution to fix piggy bank groups, by @sephrat
@ -53,6 +54,7 @@ Several alpha and beta releases preceded this release.
- [Issue 3681](https://github.com/firefly-iii/firefly-iii/issues/3681) Fix Czech translations missing file on `/profile` page.
- [Issue 3696](https://github.com/firefly-iii/firefly-iii/issues/3696) Fix missing translations, by @sephrat
- [Issue 3693](https://github.com/firefly-iii/firefly-iii/issues/3693) Creating users through the API was impossible.
- [Issue 3710](https://github.com/firefly-iii/firefly-iii/issues/3710) When you create a split transaction, the title isn't correctly reset.
- Reconciliation transactions now show the amount correctly.
### API

391
composer.lock generated
View File

@ -170,16 +170,16 @@
},
{
"name": "brick/math",
"version": "0.8.15",
"version": "0.9.1",
"source": {
"type": "git",
"url": "https://github.com/brick/math.git",
"reference": "9b08d412b9da9455b210459ff71414de7e6241cd"
"reference": "283a40c901101e66de7061bd359252c013dcc43c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/brick/math/zipball/9b08d412b9da9455b210459ff71414de7e6241cd",
"reference": "9b08d412b9da9455b210459ff71414de7e6241cd",
"url": "https://api.github.com/repos/brick/math/zipball/283a40c901101e66de7061bd359252c013dcc43c",
"reference": "283a40c901101e66de7061bd359252c013dcc43c",
"shasum": ""
},
"require": {
@ -218,51 +218,7 @@
"type": "tidelift"
}
],
"time": "2020-04-15T15:59:35+00:00"
},
{
"name": "cweagans/composer-patches",
"version": "1.6.7",
"source": {
"type": "git",
"url": "https://github.com/cweagans/composer-patches.git",
"reference": "2e6f72a2ad8d59cd7e2b729f218bf42adb14f590"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cweagans/composer-patches/zipball/2e6f72a2ad8d59cd7e2b729f218bf42adb14f590",
"reference": "2e6f72a2ad8d59cd7e2b729f218bf42adb14f590",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0",
"php": ">=5.3.0"
},
"require-dev": {
"composer/composer": "~1.0",
"phpunit/phpunit": "~4.6"
},
"type": "composer-plugin",
"extra": {
"class": "cweagans\\Composer\\Patches"
},
"autoload": {
"psr-4": {
"cweagans\\Composer\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Cameron Eagans",
"email": "me@cweagans.net"
}
],
"description": "Provides a way to patch Composer packages.",
"time": "2019-08-29T20:11:49+00:00"
"time": "2020-08-18T23:57:15+00:00"
},
{
"name": "dasprid/enum",
@ -1567,23 +1523,23 @@
},
{
"name": "laminas/laminas-zendframework-bridge",
"version": "1.0.4",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-zendframework-bridge.git",
"reference": "fcd87520e4943d968557803919523772475e8ea3"
"reference": "4939c81f63a8a4968c108c440275c94955753b19"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/fcd87520e4943d968557803919523772475e8ea3",
"reference": "fcd87520e4943d968557803919523772475e8ea3",
"url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/4939c81f63a8a4968c108c440275c94955753b19",
"reference": "4939c81f63a8a4968c108c440275c94955753b19",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
"php": "^5.6 || ^7.0 || ^8.0"
},
"require-dev": {
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1",
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3",
"squizlabs/php_codesniffer": "^3.5"
},
"type": "library",
@ -1621,7 +1577,7 @@
"type": "community_bridge"
}
],
"time": "2020-05-20T16:45:56+00:00"
"time": "2020-08-18T16:34:51+00:00"
},
{
"name": "laravel/framework",
@ -1978,16 +1934,16 @@
},
{
"name": "lcobucci/jwt",
"version": "3.3.2",
"version": "3.3.3",
"source": {
"type": "git",
"url": "https://github.com/lcobucci/jwt.git",
"reference": "56f10808089e38623345e28af2f2d5e4eb579455"
"reference": "c1123697f6a2ec29162b82f170dd4a491f524773"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/lcobucci/jwt/zipball/56f10808089e38623345e28af2f2d5e4eb579455",
"reference": "56f10808089e38623345e28af2f2d5e4eb579455",
"url": "https://api.github.com/repos/lcobucci/jwt/zipball/c1123697f6a2ec29162b82f170dd4a491f524773",
"reference": "c1123697f6a2ec29162b82f170dd4a491f524773",
"shasum": ""
},
"require": {
@ -2039,20 +1995,20 @@
"type": "patreon"
}
],
"time": "2020-05-22T08:21:12+00:00"
"time": "2020-08-20T13:22:28+00:00"
},
{
"name": "league/commonmark",
"version": "1.5.3",
"version": "1.5.4",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
"reference": "2574454b97e4103dc4e36917bd783b25624aefcd"
"reference": "21819c989e69bab07e933866ad30c7e3f32984ba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2574454b97e4103dc4e36917bd783b25624aefcd",
"reference": "2574454b97e4103dc4e36917bd783b25624aefcd",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/21819c989e69bab07e933866ad30c7e3f32984ba",
"reference": "21819c989e69bab07e933866ad30c7e3f32984ba",
"shasum": ""
},
"require": {
@ -2134,7 +2090,7 @@
"type": "tidelift"
}
],
"time": "2020-07-19T22:47:30+00:00"
"time": "2020-08-18T01:19:12+00:00"
},
{
"name": "league/csv",
@ -2265,16 +2221,16 @@
},
{
"name": "league/flysystem",
"version": "1.1.1",
"version": "1.1.2",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "6e96f54d82e71f71c4108da33ee96a7f57083710"
"reference": "63cd8c14708b9544d3f61d3c15b747fda1c95c6e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/6e96f54d82e71f71c4108da33ee96a7f57083710",
"reference": "6e96f54d82e71f71c4108da33ee96a7f57083710",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/63cd8c14708b9544d3f61d3c15b747fda1c95c6e",
"reference": "63cd8c14708b9544d3f61d3c15b747fda1c95c6e",
"shasum": ""
},
"require": {
@ -2352,7 +2308,7 @@
"type": "other"
}
],
"time": "2020-08-12T14:23:41+00:00"
"time": "2020-08-18T10:57:55+00:00"
},
{
"name": "league/fractal",
@ -3429,23 +3385,23 @@
},
{
"name": "predis/predis",
"version": "v1.1.2",
"version": "v1.1.3",
"source": {
"type": "git",
"url": "https://github.com/predishq/predis.git",
"reference": "82eb18c6c3860849cb6e2ff34b0c4b39d5daee46"
"url": "https://github.com/predis/predis.git",
"reference": "2ce537d75e610550f5337e41b2a971417999b028"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/predishq/predis/zipball/82eb18c6c3860849cb6e2ff34b0c4b39d5daee46",
"reference": "82eb18c6c3860849cb6e2ff34b0c4b39d5daee46",
"url": "https://api.github.com/repos/predis/predis/zipball/2ce537d75e610550f5337e41b2a971417999b028",
"reference": "2ce537d75e610550f5337e41b2a971417999b028",
"shasum": ""
},
"require": {
"cweagans/composer-patches": "^1.6",
"php": ">=5.3.9"
},
"require-dev": {
"cweagans/composer-patches": "^1.6",
"phpunit/phpunit": "~4.8"
},
"suggest": {
@ -3478,11 +3434,17 @@
{
"name": "Daniele Alessandri",
"email": "suppakilla@gmail.com",
"homepage": "http://clorophilla.net"
"homepage": "http://clorophilla.net",
"role": "Creator & Maintainer"
},
{
"name": "Till Krüss",
"homepage": "https://till.im",
"role": "Maintainer"
}
],
"description": "Flexible and feature-complete Redis client for PHP and HHVM",
"homepage": "http://github.com/nrk/predis",
"homepage": "http://github.com/predis/predis",
"keywords": [
"nosql",
"predis",
@ -3490,15 +3452,11 @@
],
"funding": [
{
"url": "https://www.paypal.me/tillkruss",
"type": "custom"
},
{
"url": "https://github.com/tillkruss",
"url": "https://github.com/sponsors/tillkruss",
"type": "github"
}
],
"time": "2020-08-11T17:28:15+00:00"
"time": "2020-08-18T21:00:59+00:00"
},
{
"name": "psr/container",
@ -3952,20 +3910,20 @@
},
{
"name": "ramsey/uuid",
"version": "4.1.0",
"version": "4.1.1",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
"reference": "988dbefc7878d0a35f12afb4df1f7dd0bd153c43"
"reference": "cd4032040a750077205918c86049aa0f43d22947"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ramsey/uuid/zipball/988dbefc7878d0a35f12afb4df1f7dd0bd153c43",
"reference": "988dbefc7878d0a35f12afb4df1f7dd0bd153c43",
"url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947",
"reference": "cd4032040a750077205918c86049aa0f43d22947",
"shasum": ""
},
"require": {
"brick/math": "^0.8",
"brick/math": "^0.8 || ^0.9",
"ext-json": "*",
"php": "^7.2 || ^8",
"ramsey/collection": "^1.0",
@ -4035,7 +3993,7 @@
"type": "github"
}
],
"time": "2020-07-28T16:51:01+00:00"
"time": "2020-08-18T17:17:46+00:00"
},
{
"name": "rcrowe/twigbridge",
@ -7222,6 +7180,75 @@
],
"time": "2020-08-03T09:35:19+00:00"
},
{
"name": "composer/package-versions-deprecated",
"version": "1.10.99.1",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "68c9b502036e820c33445ff4d174327f6bb87486"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/68c9b502036e820c33445ff4d174327f6bb87486",
"reference": "68c9b502036e820c33445ff4d174327f6bb87486",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0",
"php": "^7 || ^8"
},
"replace": {
"ocramius/package-versions": "1.10.99"
},
"require-dev": {
"composer/composer": "^1.9.3 || ^2.0@dev",
"ext-zip": "^1.13",
"phpunit/phpunit": "^6.5 || ^7"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2020-08-13T12:55:41+00:00"
},
{
"name": "composer/semver",
"version": "1.5.1",
@ -7359,16 +7386,16 @@
},
{
"name": "composer/xdebug-handler",
"version": "1.4.2",
"version": "1.4.3",
"source": {
"type": "git",
"url": "https://github.com/composer/xdebug-handler.git",
"reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51"
"reference": "ebd27a9866ae8254e873866f795491f02418c5a5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51",
"reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51",
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ebd27a9866ae8254e873866f795491f02418c5a5",
"reference": "ebd27a9866ae8254e873866f795491f02418c5a5",
"shasum": ""
},
"require": {
@ -7413,7 +7440,7 @@
"type": "tidelift"
}
],
"time": "2020-06-04T11:16:35+00:00"
"time": "2020-08-19T10:27:58+00:00"
},
{
"name": "doctrine/instantiator",
@ -8149,16 +8176,16 @@
},
{
"name": "nikic/php-parser",
"version": "v4.8.0",
"version": "v4.9.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "8c58eb4cd4f3883f82611abeac2efbc3dbed787e"
"reference": "aaee038b912e567780949787d5fe1977be11a778"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8c58eb4cd4f3883f82611abeac2efbc3dbed787e",
"reference": "8c58eb4cd4f3883f82611abeac2efbc3dbed787e",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/aaee038b912e567780949787d5fe1977be11a778",
"reference": "aaee038b912e567780949787d5fe1977be11a778",
"shasum": ""
},
"require": {
@ -8166,7 +8193,7 @@
"php": ">=7.0"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.6",
"ircmaxell/php-yacc": "^0.0.7",
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
},
"bin": [
@ -8175,7 +8202,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.8-dev"
"dev-master": "4.9-dev"
}
},
"autoload": {
@ -8197,7 +8224,7 @@
"parser",
"php"
],
"time": "2020-08-09T10:23:20+00:00"
"time": "2020-08-18T19:48:01+00:00"
},
{
"name": "nunomaduro/larastan",
@ -8292,67 +8319,6 @@
],
"time": "2020-07-30T19:33:12+00:00"
},
{
"name": "ocramius/package-versions",
"version": "1.9.0",
"source": {
"type": "git",
"url": "https://github.com/Ocramius/PackageVersions.git",
"reference": "94c9d42a466c57f91390cdd49c81313264f49d85"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/94c9d42a466c57f91390cdd49c81313264f49d85",
"reference": "94c9d42a466c57f91390cdd49c81313264f49d85",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0",
"php": "^7.4.0"
},
"require-dev": {
"composer/composer": "^1.9.3 || ^2.0@dev",
"doctrine/coding-standard": "^7.0.2",
"ext-zip": "^1.15.0",
"infection/infection": "^0.15.3",
"phpunit/phpunit": "^9.1.1",
"vimeo/psalm": "^3.9.3"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "1.99.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"funding": [
{
"url": "https://github.com/Ocramius",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/ocramius/package-versions",
"type": "tidelift"
}
],
"time": "2020-06-22T14:15:44+00:00"
},
{
"name": "openlss/lib-array2xml",
"version": "1.0.0",
@ -8404,22 +8370,22 @@
},
{
"name": "orchestra/testbench",
"version": "v5.3.0",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/orchestral/testbench.git",
"reference": "57129325ae77e9e3fa6a577b4c3544398af1620e"
"reference": "b6601ce910984ccaa24aaffdeda03016e056e9eb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/orchestral/testbench/zipball/57129325ae77e9e3fa6a577b4c3544398af1620e",
"reference": "57129325ae77e9e3fa6a577b4c3544398af1620e",
"url": "https://api.github.com/repos/orchestral/testbench/zipball/b6601ce910984ccaa24aaffdeda03016e056e9eb",
"reference": "b6601ce910984ccaa24aaffdeda03016e056e9eb",
"shasum": ""
},
"require": {
"laravel/framework": "^7.10",
"mockery/mockery": "^1.3.1",
"orchestra/testbench-core": "^5.1.4",
"orchestra/testbench-core": "^5.2",
"php": ">=7.2.5",
"phpunit/phpunit": "^8.4 || ^9.0"
},
@ -8456,24 +8422,24 @@
"type": "custom"
},
{
"url": "https://www.patreon.com/crynobone",
"type": "patreon"
"url": "https://liberapay.com/crynobone",
"type": "liberapay"
}
],
"time": "2020-05-30T01:04:58+00:00"
"time": "2020-08-17T23:01:56+00:00"
},
{
"name": "orchestra/testbench-core",
"version": "v5.1.4",
"version": "v5.2.0",
"source": {
"type": "git",
"url": "https://github.com/orchestral/testbench-core.git",
"reference": "41ebd765f5b3f1aba366cc6b2f5b3856a1715519"
"reference": "cc82d4034fbc1005851ca9a6c9ea2f316f25624a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/orchestral/testbench-core/zipball/41ebd765f5b3f1aba366cc6b2f5b3856a1715519",
"reference": "41ebd765f5b3f1aba366cc6b2f5b3856a1715519",
"url": "https://api.github.com/repos/orchestral/testbench-core/zipball/cc82d4034fbc1005851ca9a6c9ea2f316f25624a",
"reference": "cc82d4034fbc1005851ca9a6c9ea2f316f25624a",
"shasum": ""
},
"require": {
@ -8532,11 +8498,11 @@
"type": "custom"
},
{
"url": "https://www.patreon.com/crynobone",
"type": "patreon"
"url": "https://liberapay.com/crynobone",
"type": "liberapay"
}
],
"time": "2020-05-02T13:35:10+00:00"
"time": "2020-08-17T22:51:07+00:00"
},
{
"name": "phar-io/manifest",
@ -8692,16 +8658,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "5.2.0",
"version": "5.2.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "3170448f5769fe19f456173d833734e0ff1b84df"
"reference": "d870572532cd70bc3fab58f2e23ad423c8404c44"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/3170448f5769fe19f456173d833734e0ff1b84df",
"reference": "3170448f5769fe19f456173d833734e0ff1b84df",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d870572532cd70bc3fab58f2e23ad423c8404c44",
"reference": "d870572532cd70bc3fab58f2e23ad423c8404c44",
"shasum": ""
},
"require": {
@ -8740,7 +8706,7 @@
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"time": "2020-07-20T20:05:34+00:00"
"time": "2020-08-15T11:14:08+00:00"
},
{
"name": "phpdocumentor/type-resolver",
@ -8852,16 +8818,16 @@
},
{
"name": "phpstan/phpstan",
"version": "0.12.37",
"version": "0.12.38",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "5e16d83e6eb2dd784fbdaeaece5e2bca72e4f68a"
"reference": "ad606c5f1c641b465b739e79a3a0f1a5a57cf1b4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/5e16d83e6eb2dd784fbdaeaece5e2bca72e4f68a",
"reference": "5e16d83e6eb2dd784fbdaeaece5e2bca72e4f68a",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/ad606c5f1c641b465b739e79a3a0f1a5a57cf1b4",
"reference": "ad606c5f1c641b465b739e79a3a0f1a5a57cf1b4",
"shasum": ""
},
"require": {
@ -8904,7 +8870,7 @@
"type": "tidelift"
}
],
"time": "2020-08-09T14:32:41+00:00"
"time": "2020-08-19T08:13:30+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",
@ -9355,20 +9321,20 @@
},
{
"name": "psalm/plugin-laravel",
"version": "v1.3.1",
"version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/psalm/psalm-plugin-laravel.git",
"reference": "58a444c30f6710b90ac2e1fd986097df4f35806b"
"reference": "95761f9f385a3c758438e0daef9ba09040709a61"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/psalm/psalm-plugin-laravel/zipball/58a444c30f6710b90ac2e1fd986097df4f35806b",
"reference": "58a444c30f6710b90ac2e1fd986097df4f35806b",
"url": "https://api.github.com/repos/psalm/psalm-plugin-laravel/zipball/95761f9f385a3c758438e0daef9ba09040709a61",
"reference": "95761f9f385a3c758438e0daef9ba09040709a61",
"shasum": ""
},
"require": {
"barryvdh/laravel-ide-helper": "^2.7",
"barryvdh/laravel-ide-helper": "^2.8.0",
"ext-simplexml": "*",
"illuminate/container": "5.8.* || ^6.0 || ^7.0",
"illuminate/contracts": "5.8.* || ^6.0 || ^7.0",
@ -9377,7 +9343,7 @@
"illuminate/support": "5.8.* || ^6.0 || ^7.0",
"orchestra/testbench": "^3.8 || ^4.0 || ^5.0",
"php": "^7.2|^8",
"vimeo/psalm": "^3.11.7"
"vimeo/psalm": "^3.13.1"
},
"require-dev": {
"codeception/codeception": "^4.1.6",
@ -9412,7 +9378,7 @@
}
],
"description": "A Laravel plugin for Psalm",
"time": "2020-06-22T14:35:17+00:00"
"time": "2020-08-15T06:58:50+00:00"
},
{
"name": "roave/security-advisories",
@ -9420,12 +9386,12 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "a9e4cf90fc47b0ffbb90ee79f24be1b7c5ce82dc"
"reference": "89bed6788d61977969b89d912b5844e8beee09f0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/a9e4cf90fc47b0ffbb90ee79f24be1b7c5ce82dc",
"reference": "a9e4cf90fc47b0ffbb90ee79f24be1b7c5ce82dc",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/89bed6788d61977969b89d912b5844e8beee09f0",
"reference": "89bed6788d61977969b89d912b5844e8beee09f0",
"shasum": ""
},
"conflict": {
@ -9500,7 +9466,7 @@
"gregwar/rst": "<1.0.3",
"guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1",
"illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10",
"illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<=5.5.44|>=5.6,<5.6.30|>=6,<6.18.31|>=7,<7.22.4",
"illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4",
"illuminate/database": ">=4,<4.0.99|>=4.1,<4.1.29|>=5.5,<=5.5.44|>=6,<6.18.34|>=7,<7.23.2",
"illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15",
"illuminate/view": ">=7,<7.1.2",
@ -9512,7 +9478,7 @@
"kitodo/presentation": "<3.1.2",
"kreait/firebase-php": ">=3.2,<3.8.1",
"la-haute-societe/tcpdf": "<6.2.22",
"laravel/framework": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<=5.5.49|>=5.6,<5.6.30|>=6,<6.18.34|>=7,<7.23.2",
"laravel/framework": ">=4,<4.0.99|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.34|>=7,<7.23.2",
"laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10",
"league/commonmark": "<0.18.3",
"librenms/librenms": "<1.53",
@ -9533,6 +9499,7 @@
"onelogin/php-saml": "<2.10.4",
"oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5",
"openid/php-openid": "<2.3",
"openmage/magento-lts": "<19.4.6|>=20,<20.0.2",
"oro/crm": ">=1.7,<1.7.4",
"oro/platform": ">=1.7,<1.7.4",
"padraic/humbug_get_contents": "<1.1.2",
@ -9594,7 +9561,7 @@
"sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2",
"sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1",
"sylius/grid-bundle": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1",
"sylius/resource-bundle": "<1.3.13|>=1.4,<1.4.6|>=1.5,<1.5.1|>=1.6,<1.6.3",
"sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4",
"sylius/sylius": "<1.3.16|>=1.4,<1.4.12|>=1.5,<1.5.9|>=1.6,<1.6.5",
"symbiote/silverstripe-multivaluefield": ">=3,<3.0.99",
"symbiote/silverstripe-versionedfiles": "<=2.0.3",
@ -9707,7 +9674,7 @@
"type": "tidelift"
}
],
"time": "2020-08-08T10:05:44+00:00"
"time": "2020-08-19T19:01:52+00:00"
},
{
"name": "sebastian/code-unit",
@ -10894,21 +10861,22 @@
},
{
"name": "vimeo/psalm",
"version": "3.12.2",
"version": "3.14.1",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "7c7ebd068f8acaba211d4a2c707c4ba90874fa26"
"reference": "9822043ca46d6682b76097bfa97d7c450eef9e90"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/7c7ebd068f8acaba211d4a2c707c4ba90874fa26",
"reference": "7c7ebd068f8acaba211d4a2c707c4ba90874fa26",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/9822043ca46d6682b76097bfa97d7c450eef9e90",
"reference": "9822043ca46d6682b76097bfa97d7c450eef9e90",
"shasum": ""
},
"require": {
"amphp/amp": "^2.1",
"amphp/byte-stream": "^1.5",
"composer/package-versions-deprecated": "^1.8.0",
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"composer/xdebug-handler": "^1.1",
"ext-dom": "*",
@ -10918,9 +10886,8 @@
"ext-tokenizer": "*",
"felixfbecker/advanced-json-rpc": "^3.0.3",
"felixfbecker/language-server-protocol": "^1.4",
"netresearch/jsonmapper": "^1.0 || ^2.0",
"nikic/php-parser": "^4.3",
"ocramius/package-versions": "^1.2",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0",
"nikic/php-parser": "4.3.* || 4.4.* || 4.5.* || 4.6.* || ^4.8",
"openlss/lib-array2xml": "^1.0",
"php": "^7.1.3|^8",
"sebastian/diff": "^3.0 || ^4.0",
@ -10936,7 +10903,7 @@
"bamarni/composer-bin-plugin": "^1.2",
"brianium/paratest": "^4.0.0",
"ext-curl": "*",
"php-coveralls/php-coveralls": "^2.2",
"phpdocumentor/reflection-docblock": "^4.3.4 || ^5",
"phpmyadmin/sql-parser": "5.1.0",
"phpspec/prophecy": ">=1.9.0",
"phpunit/phpunit": "^7.5.16 || ^8.5 || ^9.0",
@ -10987,7 +10954,7 @@
"inspection",
"php"
],
"time": "2020-07-03T16:59:07+00:00"
"time": "2020-08-17T19:48:48+00:00"
},
{
"name": "webmozart/assert",

View File

@ -143,7 +143,7 @@ return [
],
//'encryption' => null === env('USE_ENCRYPTION') || true === env('USE_ENCRYPTION'),
'version' => '5.4.0-alpha.1',
'version' => '5.4.0-alpha.2',
'api_version' => '1.4.0',
'db_version' => 15,
'maxUploadSize' => 1073741824, // 1 GB
@ -327,31 +327,30 @@ return [
*/
'languages' => [
// currently enabled languages
'bg_BG' => ['name_locale' => 'Български', 'name_english' => 'Bulgarian'],
'cs_CZ' => ['name_locale' => 'Czech', 'name_english' => 'Czech'],
'de_DE' => ['name_locale' => 'Deutsch', 'name_english' => 'German'],
'el_GR' => ['name_locale' => 'Ελληνικά', 'name_english' => 'Greek'],
'en_US' => ['name_locale' => 'English (US)', 'name_english' => 'English (US)'],
'en_GB' => ['name_locale' => 'English (GB)', 'name_english' => 'English (GB)'],
'cs_CZ' => ['name_locale' => 'Czech', 'name_english' => 'Czech'],
'el_GR' => ['name_locale' => 'Ελληνικά', 'name_english' => 'Greek'],
'es_ES' => ['name_locale' => 'Español', 'name_english' => 'Spanish'],
'de_DE' => ['name_locale' => 'Deutsch', 'name_english' => 'German'],
'fi_FI' => ['name_locale' => 'Suomi', 'name_english' => 'Finnish'],
'fr_FR' => ['name_locale' => 'Français', 'name_english' => 'French'],
'hu_HU' => ['name_locale' => 'Hungarian', 'name_english' => 'Hungarian'],
'it_IT' => ['name_locale' => 'Italiano', 'name_english' => 'Italian'],
// 'lt_LT' => ['name_locale' => 'Lietuvių', 'name_english' => 'Lithuanian'],
'nb_NO' => ['name_locale' => 'Norsk', 'name_english' => 'Norwegian'],
'nl_NL' => ['name_locale' => 'Nederlands', 'name_english' => 'Dutch'],
'pl_PL' => ['name_locale' => 'Polski', 'name_english' => 'Polish '],
'pt_BR' => ['name_locale' => 'Português do Brasil', 'name_english' => 'Portuguese (Brazil)'],
'ro_RO' => ['name_locale' => 'Română', 'name_english' => 'Romanian'],
'ru_RU' => ['name_locale' => 'Русский', 'name_english' => 'Russian'],
'sv_SE' => ['name_locale' => 'Svenska', 'name_english' => 'Swedish'],
'vi_VN' => ['name_locale' => 'Tiếng Việt', 'name_english' => 'Vietnamese'],
'zh_TW' => ['name_locale' => 'Chinese Traditional', 'name_english' => 'Chinese Traditional'],
'zh_CN' => ['name_locale' => 'Chinese Simplified', 'name_english' => 'Chinese Simplified'],
'hu_HU' => ['name_locale' => 'Hungarian', 'name_english' => 'Hungarian'],
'sv_SE' => ['name_locale' => 'Svenska', 'name_english' => 'Swedish'],
'fi_FI' => ['name_locale' => 'Suomi', 'name_english' => 'Finnish'],
'vi_VN' => ['name_locale' => 'Tiếng Việt', 'name_english' => 'Vietnamese'],
//'lt_LT' => ['name_locale' => 'Lietuvių', 'name_english' => 'Lithuanian'],
// currently disabled languages:
// 'bg_BG' => ['name_locale' => 'Български', 'name_english' => 'Bulgarian'],
// 'ca_ES' => ['name_locale' => 'Catalan', 'name_english' => 'Catalan'],
// 'da_DK' => ['name_locale' => 'Danish', 'name_english' => 'Danish'],
// 'et_EE' => ['name_locale' => 'Estonian', 'name_english' => 'Estonian'],
@ -493,6 +492,11 @@ return [
'notes_are' => NotesAre::class,
'no_notes' => NotesEmpty::class,
'any_notes' => NotesAny::class,
'bill_is' => BillIs::class, // TODO
'created_on' => CreatedOn::class, // TODO
'updated_on' => UpdatedOn::class,// TODO
'external_id' => ExternalId::class,// TODO
'internal_reference' => InternalReference::class, // TODO
],
'rule-actions' => [
'set_category' => SetCategory::class,
@ -573,9 +577,106 @@ return [
'default_currency' => 'EUR',
'default_language' => envNonEmpty('DEFAULT_LANGUAGE', 'en_US'),
'default_locale' => envNonEmpty('DEFAULT_LOCALE', 'equal'),
'search_modifiers' => ['amount_is', 'amount', 'amount_max', 'amount_min', 'amount_less', 'amount_more', 'source', 'destination', 'category',
'budget', 'bill', 'type', 'date', 'date_before', 'date_after', 'on', 'before', 'after', 'from', 'to', 'tag', 'created_on',
'updated_on', 'external_id', 'internal_reference',],
'search' => [
'operators' => [
'user_action' => ['alias' => false, 'trigger_class' => UserAction::class],
'from_account_starts' => ['alias' => false, 'trigger_class' => FromAccountStarts::class],
'from_account_ends' => ['alias' => false, 'trigger_class' => FromAccountEnds::class],
'from_account_contains' => ['alias' => false, 'trigger_class' => FromAccountContains::class],
'from_account_nr_starts' => ['alias' => false, 'trigger_class' => FromAccountNumberStarts::class],
'from_account_nr_ends' => ['alias' => false, 'trigger_class' => FromAccountNumberEnds::class],
'from_account_nr_is' => ['alias' => false, 'trigger_class' => FromAccountNumberIs::class],
'from_account_nr_contains' => ['alias' => false, 'trigger_class' => FromAccountNumberContains::class],
'to_account_starts' => ['alias' => false, 'trigger_class' => ToAccountStarts::class],
'to_account_ends' => ['alias' => false, 'trigger_class' => ToAccountEnds::class],
'to_account_contains' => ['alias' => false, 'trigger_class' => ToAccountContains::class],
'to_account_nr_starts' => ['alias' => false, 'trigger_class' => ToAccountNumberStarts::class],
'to_account_nr_ends' => ['alias' => false, 'trigger_class' => ToAccountNumberEnds::class],
'to_account_nr_is' => ['alias' => false, 'trigger_class' => ToAccountNumberIs::class],
'to_account_nr_contains' => ['alias' => false, 'trigger_class' => ToAccountNumberContains::class],
'description_starts' => ['alias' => false, 'trigger_class' => DescriptionStarts::class],
'description_ends' => ['alias' => false, 'trigger_class' => DescriptionEnds::class],
'description_contains' => ['alias' => false, 'trigger_class' => DescriptionContains::class],
'description_is' => ['alias' => false, 'trigger_class' => DescriptionIs::class],
'currency_is' => ['alias' => false, 'trigger_class' => CurrencyIs::class],
'foreign_currency_is' => ['alias' => false, 'trigger_class' => ForeignCurrencyIs::class],
'has_attachments' => ['alias' => false, 'trigger_class' => HasAttachment::class],
'has_no_category' => ['alias' => false, 'trigger_class' => HasNoCategory::class],
'has_any_category' => ['alias' => false, 'trigger_class' => HasAnyCategory::class],
'has_no_budget' => ['alias' => false, 'trigger_class' => HasNoBudget::class],
'has_any_budget' => ['alias' => false, 'trigger_class' => HasAnyBudget::class],
'has_no_tag' => ['alias' => false, 'trigger_class' => HasNoTag::class],
'has_any_tag' => ['alias' => false, 'trigger_class' => HasAnyTag::class],
'notes_contain' => ['alias' => false, 'trigger_class' => NotesContain::class],
'notes_start' => ['alias' => false, 'trigger_class' => NotesStart::class],
'notes_end' => ['alias' => false, 'trigger_class' => NotesEnd::class],
'notes_are' => ['alias' => false, 'trigger_class' => NotesAre::class],
'no_notes' => ['alias' => false, 'trigger_class' => NotesEmpty::class],
'any_notes' => ['alias' => false, 'trigger_class' => NotesAny::class],
// exact amount
'amount_exactly' => ['alias' => false, 'trigger_class' => AmountExactly::class],
'amount_is' => ['alias' => true, 'alias_for' => 'amount_exactly'],
'amount' => ['alias' => true, 'alias_for' => 'amount_exactly'],
// is less than
'amount_less' => ['alias' => false, 'trigger_class' => AmountLess::class],
'amount_max' => ['alias' => true, 'alias_for' => 'amount_less'],
// is more than
'amount_more' => ['alias' => false, 'trigger_class' => AmountMore::class],
'amount_min' => ['alias' => true, 'alias_for' => 'amount_more'],
// source account
'from_account_is' => ['alias' => false, 'trigger_class' => FromAccountIs::class],
'source' => ['alias' => true, 'alias_for' => 'from_account_is'],
'from' => ['alias' => true, 'alias_for' => 'from_account_is'],
// destination account
'to_account_is' => ['alias' => false, 'trigger_class' => ToAccountIs::class],
'destination' => ['alias' => true, 'alias_for' => 'to_account_is'],
'to' => ['alias' => true, 'alias_for' => 'to_account_is'],
// category
'category_is' => ['alias' => false, 'trigger_class' => CategoryIs::class],
'category' => ['alias' => true, 'alias_for' => 'category_is'],
// budget
'budget_is' => ['alias' => false, 'trigger_class' => BudgetIs::class],
'budget' => ['alias' => true, 'alias_for' => 'budget_is'],
// bill
'bill_is' => ['alias' => false, 'trigger_class' => BillIs::class], // TODO
'bill' => ['alias' => true, 'alias_for' => 'bill_is'],
// type
'transaction_type' => ['alias' => false, 'trigger_class' => TransactionType::class],
'type' => ['alias' => true, 'alias_for' => 'transaction_type'],
// date:
'date_is' => ['alias' => false, 'trigger_class' => DateIs::class],
'date' => ['alias' => true, 'alias_for' => 'date_is'],
'on' => ['alias' => true, 'alias_for' => 'date_is'],
'date_before' => ['alias' => false, 'trigger_class' => DateBefore::class],
'before' => ['alias' => true, 'alias_for' => 'date_before'],
'date_after' => ['alias' => false, 'trigger_class' => DateAfter::class],
'after' => ['alias' => true, 'alias_for' => 'date_after'],
// other interesting fields
'tag_is' => ['alias' => false, 'trigger_class' => TagIs::class],
'tag' => ['alias' => true, 'alias_for' => 'tag'],
'created_on' => ['alias' => false, 'trigger_class' => CreatedOn::class], // TODO
'updated_on' => ['alias' => false, 'trigger_class' => UpdatedOn::class], // TODO
'external_id' => ['alias' => false, 'trigger_class' => ExternalId::class], // TODO
'internal_reference' => ['alias' => false, 'trigger_class' => InternalReference::class], // TODO
],
],
'search_modifiers' => [
'amount_is', 'amount', 'amount_max', 'amount_min', 'amount_less', 'amount_more', 'source', 'destination', 'category',
'budget', 'bill', 'type', 'date', 'date_before', 'date_after', 'on', 'before', 'after', 'from', 'to', 'tag', 'created_on',
'updated_on', 'external_id', 'internal_reference',],
// TODO notes has_attachments

View File

@ -8,6 +8,7 @@
"/public/js/dashboard.js": "/public/js/dashboard.js",
"/public/css/app.css": "/public/css/app.css",
"/public/js/dashboard.js.map": "/public/js/dashboard.js.map",
"/public/css/app.css.map": "/public/css/app.css.map",
"/public/js/register.js": "/public/js/register.js",
"/public/js/register.js.map": "/public/js/register.js.map"
}

File diff suppressed because it is too large Load Diff

View File

@ -12,15 +12,15 @@
"devDependencies": {
"axios": "^0.19",
"cross-env": "^7.0",
"laravel-mix": "^5.0.1",
"laravel-mix": "^5.0.5",
"laravel-mix-bundle-analyzer": "^1.0.5",
"lodash": "^4.17.20",
"resolve-url-loader": "^3.1.0",
"sass": "^1.26.10",
"sass-loader": "^9.0.3",
"vue": "^2.6",
"vue-i18n": "^8.20",
"vue-template-compiler": "^2.6.11"
"vue": "^2.6.12",
"vue-i18n": "^8.21",
"vue-template-compiler": "^2.6.12"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^5.14.0",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{205:function(t,s,a){t.exports=a(210)},210:function(t,s,a){"use strict";a.r(s);var e=a(9),n={name:"Index"},c=a(1),i=Object(c.a)(n,(function(){var t=this.$createElement,s=this._self._c||t;return s("div",[s("router-view")],1)}),[],!1,null,"6b40cc75",null).exports,r={name:"List",props:{accountTypes:String},data:function(){return{accounts:[]}},mounted:function(){var t=this;axios.get("./api/v1/accounts?type="+this.$props.accountTypes).then((function(s){t.loadAccounts(s.data.data)}))},methods:{loadAccounts:function(t){for(var s in t)if(t.hasOwnProperty(s)&&/^0$|^[1-9]\d*$/.test(s)&&s<=4294967294){var a=t[s];"asset"===a.attributes.type&&null!==a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.account_role_"+a.attributes.account_role)),"asset"===a.attributes.type&&null===a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.Default asset account")),null===a.attributes.iban&&(a.attributes.iban=a.attributes.account_number),this.accounts.push(a)}}}},o=Object(c.a)(r,(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"row"},[a("div",{staticClass:"col-lg-12 col-md-12 col-sm-12 col-xs-12"},[a("div",{staticClass:"card"},[t._m(0),t._v(" "),a("div",{staticClass:"card-body p-0"},[a("table",{staticClass:"table table-sm table-striped"},[a("thead",[a("tr",[a("th",[t._v(" ")]),t._v(" "),a("th",[t._v(t._s(t.$t("list.name")))]),t._v(" "),"asset"===t.$props.accountTypes?a("th",[t._v(t._s(t.$t("list.role")))]):t._e(),t._v(" "),a("th",[t._v(t._s(t.$t("list.iban")))]),t._v(" "),a("th",{staticStyle:{"text-align":"right"}},[t._v(t._s(t.$t("list.currentBalance")))]),t._v(" "),a("th",[t._v(t._s(t.$t("list.balanceDiff")))])])]),t._v(" "),a("tbody",t._l(t.accounts,(function(s){return a("tr",[t._m(1,!0),t._v(" "),a("td",[a("router-link",{attrs:{to:{name:"accounts.show",params:{id:s.id}},title:s.attributes.name}},[t._v(t._s(s.attributes.name)+"\n ")])],1),t._v(" "),"asset"===t.$props.accountTypes?a("td",[t._v("\n "+t._s(s.attributes.account_role)+"\n ")]):t._e(),t._v(" "),a("td",[t._v("\n "+t._s(s.attributes.iban)+"\n ")]),t._v(" "),a("td",{staticStyle:{"text-align":"right"}},[t._v("\n "+t._s(Intl.NumberFormat("en-US",{style:"currency",currency:s.attributes.currency_code}).format(s.attributes.current_balance))+"\n ")]),t._v(" "),a("td",[t._v("diff")])])})),0)])]),t._v(" "),a("div",{staticClass:"card-footer"},[t._v("\n Footer stuff.\n ")])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"card-header"},[s("h3",{staticClass:"card-title"},[this._v("Title thing")]),this._v(" "),s("div",{staticClass:"card-tools"},[s("div",{staticClass:"input-group input-group-sm",staticStyle:{width:"150px"}},[s("input",{staticClass:"form-control float-right",attrs:{type:"text",name:"table_search",placeholder:"Search"}}),this._v(" "),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"btn btn-default",attrs:{type:"submit"}},[s("i",{staticClass:"fas fa-search"})])])])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("td",[s("div",{staticClass:"btn-group btn-group-xs"},[s("a",{staticClass:"btn btn-xs btn-default",attrs:{href:"edit"}},[s("i",{staticClass:"fa fas fa-pencil-alt"})]),this._v(" "),s("a",{staticClass:"btn btn-xs btn-danger",attrs:{href:"del"}},[s("i",{staticClass:"fa far fa-trash"})])])])}],!1,null,"27a44b66",null).exports,u={name:"Show"},l=Object(c.a)(u,(function(){var t=this.$createElement;return(this._self._c||t)("div",[this._v("\n I am a show\n")])}),[],!1,null,"dcd61a50",null).exports;a(155);var p=[{path:"/",component:i},{path:"/accounts/asset",name:"accounts.index.asset",component:o,props:{accountTypes:"asset"}},{path:"/accounts/expense",component:o,props:{accountTypes:"expense"}},{path:"/accounts/revenue",component:o,props:{accountTypes:"revenue"}},{path:"/accounts/liabilities",component:o,props:{accountTypes:"liabilities"}},{path:"/accounts/show/:id",name:"accounts.show",component:l}],_=new e.a({mode:"history",routes:p}),d=a(154),h={};Vue.use(e.a),new Vue({router:_,i18n:d,render:function(t){return t(i,{props:h})}}).$mount("#accounts")}},[[205,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{206:function(t,s,a){t.exports=a(211)},211:function(t,s,a){"use strict";a.r(s);var e=a(9),n={name:"Index"},c=a(1),i=Object(c.a)(n,(function(){var t=this.$createElement,s=this._self._c||t;return s("div",[s("router-view")],1)}),[],!1,null,"6b40cc75",null).exports,r={name:"List",props:{accountTypes:String},data:function(){return{accounts:[]}},mounted:function(){var t=this;axios.get("./api/v1/accounts?type="+this.$props.accountTypes).then((function(s){t.loadAccounts(s.data.data)}))},methods:{loadAccounts:function(t){for(var s in t)if(t.hasOwnProperty(s)&&/^0$|^[1-9]\d*$/.test(s)&&s<=4294967294){var a=t[s];"asset"===a.attributes.type&&null!==a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.account_role_"+a.attributes.account_role)),"asset"===a.attributes.type&&null===a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.Default asset account")),null===a.attributes.iban&&(a.attributes.iban=a.attributes.account_number),this.accounts.push(a)}}}},o=Object(c.a)(r,(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"row"},[a("div",{staticClass:"col-lg-12 col-md-12 col-sm-12 col-xs-12"},[a("div",{staticClass:"card"},[t._m(0),t._v(" "),a("div",{staticClass:"card-body p-0"},[a("table",{staticClass:"table table-sm table-striped"},[a("thead",[a("tr",[a("th",[t._v(" ")]),t._v(" "),a("th",[t._v(t._s(t.$t("list.name")))]),t._v(" "),"asset"===t.$props.accountTypes?a("th",[t._v(t._s(t.$t("list.role")))]):t._e(),t._v(" "),a("th",[t._v(t._s(t.$t("list.iban")))]),t._v(" "),a("th",{staticStyle:{"text-align":"right"}},[t._v(t._s(t.$t("list.currentBalance")))]),t._v(" "),a("th",[t._v(t._s(t.$t("list.balanceDiff")))])])]),t._v(" "),a("tbody",t._l(t.accounts,(function(s){return a("tr",[t._m(1,!0),t._v(" "),a("td",[a("router-link",{attrs:{to:{name:"accounts.show",params:{id:s.id}},title:s.attributes.name}},[t._v(t._s(s.attributes.name)+"\n ")])],1),t._v(" "),"asset"===t.$props.accountTypes?a("td",[t._v("\n "+t._s(s.attributes.account_role)+"\n ")]):t._e(),t._v(" "),a("td",[t._v("\n "+t._s(s.attributes.iban)+"\n ")]),t._v(" "),a("td",{staticStyle:{"text-align":"right"}},[t._v("\n "+t._s(Intl.NumberFormat("en-US",{style:"currency",currency:s.attributes.currency_code}).format(s.attributes.current_balance))+"\n ")]),t._v(" "),a("td",[t._v("diff")])])})),0)])]),t._v(" "),a("div",{staticClass:"card-footer"},[t._v("\n Footer stuff.\n ")])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"card-header"},[s("h3",{staticClass:"card-title"},[this._v("Title thing")]),this._v(" "),s("div",{staticClass:"card-tools"},[s("div",{staticClass:"input-group input-group-sm",staticStyle:{width:"150px"}},[s("input",{staticClass:"form-control float-right",attrs:{type:"text",name:"table_search",placeholder:"Search"}}),this._v(" "),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"btn btn-default",attrs:{type:"submit"}},[s("i",{staticClass:"fas fa-search"})])])])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("td",[s("div",{staticClass:"btn-group btn-group-xs"},[s("a",{staticClass:"btn btn-xs btn-default",attrs:{href:"edit"}},[s("i",{staticClass:"fa fas fa-pencil-alt"})]),this._v(" "),s("a",{staticClass:"btn btn-xs btn-danger",attrs:{href:"del"}},[s("i",{staticClass:"fa far fa-trash"})])])])}],!1,null,"27a44b66",null).exports,u={name:"Show"},l=Object(c.a)(u,(function(){var t=this.$createElement;return(this._self._c||t)("div",[this._v("\n I am a show\n")])}),[],!1,null,"dcd61a50",null).exports;a(155);var p=[{path:"/",component:i},{path:"/accounts/asset",name:"accounts.index.asset",component:o,props:{accountTypes:"asset"}},{path:"/accounts/expense",component:o,props:{accountTypes:"expense"}},{path:"/accounts/revenue",component:o,props:{accountTypes:"revenue"}},{path:"/accounts/liabilities",component:o,props:{accountTypes:"liabilities"}},{path:"/accounts/show/:id",name:"accounts.show",component:l}],_=new e.a({mode:"history",routes:p}),d=a(154),h={};Vue.use(e.a),new Vue({router:_,i18n:d,render:function(t){return t(i,{props:h})}}).$mount("#accounts")}},[[206,0,1]]]);
//# sourceMappingURL=accounts.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{206:function(n,o,w){n.exports=w(207)},207:function(n,o,w){"use strict";w.r(o);w(6),w(8);w(208)},208:function(n,o,w){window.$=window.jQuery=w(5),w(153)}},[[206,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{207:function(n,o,w){n.exports=w(208)},208:function(n,o,w){"use strict";w.r(o);w(6),w(8);w(209)},209:function(n,o,w){window.$=window.jQuery=w(5),w(153)}},[[207,0,1]]]);
//# sourceMappingURL=register.js.map

File diff suppressed because one or more lines are too long

View File

@ -48,8 +48,8 @@
*/
/*!
* Vue.js v2.6.11
* (c) 2014-2019 Evan You
* Vue.js v2.6.12
* (c) 2014-2020 Evan You
* Released under the MIT License.
*/

File diff suppressed because one or more lines are too long

View File

@ -23,6 +23,7 @@ module.exports = new vuei18n({
locale: document.documentElement.lang, // set locale
fallbackLocale: 'en',
messages: {
'bg': require('./locales/bg.json'),
'cs': require('./locales/cs.json'),
'de': require('./locales/de.json'),
'en': require('./locales/en.json'),

View File

@ -0,0 +1,54 @@
{
"firefly": {
"balance": "\u0421\u0430\u043b\u0434\u043e",
"bills_to_pay": "\u0421\u043c\u0435\u0442\u043a\u0438 \u0437\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0435",
"left_to_spend": "\u041e\u0441\u0442\u0430\u043d\u0430\u043b\u0438 \u0437\u0430 \u0445\u0430\u0440\u0447\u0435\u043d\u0435",
"net_worth": "\u041d\u0435\u0442\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442",
"paid": "\u041f\u043b\u0430\u0442\u0435\u043d\u0438",
"yourAccounts": "\u0412\u0430\u0448\u0438\u0442\u0435 \u0441\u043c\u0435\u0442\u043a\u0438",
"go_to_asset_accounts": "\u0412\u0438\u0436\u0442\u0435 \u0430\u043a\u0442\u0438\u0432\u0438\u0442\u0435 \u0441\u0438",
"transaction_table_description": "\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0449\u0430 \u0432\u0430\u0448\u0438\u0442\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438",
"account": "\u0421\u043c\u0435\u0442\u043a\u0430",
"description": "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435",
"amount": "\u0421\u0443\u043c\u0430",
"budget": "\u0411\u044e\u0434\u0436\u0435\u0442",
"category": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f",
"opposing_account": "\u041f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u0430 \u0441\u043c\u0435\u0442\u043a\u0430",
"budgets": "\u0411\u044e\u0434\u0436\u0435\u0442\u0438",
"categories": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438",
"go_to_budgets": "\u0412\u0438\u0436\u0442\u0435 \u0431\u044e\u0434\u0436\u0435\u0442\u0438\u0442\u0435 \u0441\u0438",
"income": "\u041f\u0440\u0438\u0445\u043e\u0434\u0438",
"go_to_deposits": "\u041e\u0442\u0438\u0434\u0438 \u0432 \u0434\u0435\u043f\u043e\u0437\u0438\u0442\u0438",
"go_to_categories": "\u0412\u0438\u0436 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438\u0442\u0435 \u0441\u0438",
"expense_accounts": "\u0421\u043c\u0435\u0442\u043a\u0438 \u0437\u0430 \u0440\u0430\u0437\u0445\u043e\u0434\u0438",
"go_to_expenses": "\u041e\u0442\u0438\u0434\u0438 \u0432 \u0420\u0430\u0437\u0445\u043e\u0434\u0438",
"go_to_bills": "\u0412\u0438\u0436 \u0441\u043c\u0435\u0442\u043a\u0438\u0442\u0435 \u0441\u0438",
"bills": "\u0421\u043c\u0435\u0442\u043a\u0438",
"go_to_piggies": "\u0412\u0438\u0436 \u043a\u0430\u0441\u0438\u0447\u043a\u0438\u0442\u0435 \u0441\u0438",
"saved": "\u0417\u0430\u043f\u0438\u0441\u0430\u043d",
"piggy_banks": "\u041a\u0430\u0441\u0438\u0447\u043a\u0438",
"piggy_bank": "\u041a\u0430\u0441\u0438\u0447\u043a\u0430",
"amounts": "\u0421\u0443\u043c\u0438",
"Default asset account": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0430\u043a\u0442\u0438\u0432\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435",
"account_role_defaultAsset": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0430\u043a\u0442\u0438\u0432\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435",
"account_role_savingAsset": "\u0421\u043f\u0435\u0441\u0442\u043e\u0432\u043d\u0430 \u0441\u043c\u0435\u0442\u043a\u0430",
"account_role_sharedAsset": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 \u0430\u043a\u0442\u0438\u0432\u0438",
"account_role_ccAsset": "\u041a\u0440\u0435\u0434\u0438\u0442\u043d\u0430 \u043a\u0430\u0440\u0442\u0430",
"account_role_cashWalletAsset": "\u041f\u0430\u0440\u0438\u0447\u0435\u043d \u043f\u043e\u0440\u0442\u0444\u0435\u0439\u043b"
},
"list": {
"piggy_bank": "\u041a\u0430\u0441\u0438\u0447\u043a\u0430",
"percentage": "%",
"amount": "\u0421\u0443\u043c\u0430",
"name": "\u0418\u043c\u0435",
"role": "\u041f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0438",
"iban": "IBAN",
"lastActivity": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442",
"currentBalance": "\u0422\u0435\u043a\u0443\u0449 \u0431\u0430\u043b\u0430\u043d\u0441",
"balanceDiff": "\u0411\u0430\u043b\u0430\u043d\u0441\u043e\u0432\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430",
"next_expected_match": "\u0421\u043b\u0435\u0434\u0432\u0430\u0449o \u043e\u0447\u0430\u043a\u0432\u0430\u043do \u0441\u044a\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435"
},
"config": {
"html_language": "bg"
}
}

View File

@ -6,7 +6,7 @@
"net_worth": "Net worth",
"paid": "Paid",
"yourAccounts": "Your accounts",
"go_to_asset_accounts": "View your asset accounts",
"go_to_asset_accounts": "S\u0105skait\u0173 per\u017ei\u016bra",
"transaction_table_description": "A table containing your transactions",
"account": "Account",
"description": "Description",
@ -16,13 +16,13 @@
"opposing_account": "Opposing account",
"budgets": "Budgets",
"categories": "Categories",
"go_to_budgets": "Go to your budgets",
"go_to_budgets": "Pereiti \u012f biud\u017eet\u0105",
"income": "Revenue \/ income",
"go_to_deposits": "Go to deposits",
"go_to_categories": "Go to your categories",
"go_to_categories": "Pereiti \u012f kategorijas",
"expense_accounts": "Expense accounts",
"go_to_expenses": "Go to expenses",
"go_to_bills": "Go to your bills",
"go_to_bills": "Pereiti \u012f s\u0105skaitas",
"bills": "Bills",
"go_to_piggies": "Go to your piggy banks",
"saved": "Saved",

2
public/v1/js/app.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*!
* Vue.js v2.6.11
* (c) 2014-2019 Evan You
* Vue.js v2.6.12
* (c) 2014-2020 Evan You
* Released under the MIT License.
*/

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

12
public/v2/css/app.css vendored

File diff suppressed because one or more lines are too long

1
public/v2/css/app.css.map Executable file

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{205:function(t,s,a){t.exports=a(210)},210:function(t,s,a){"use strict";a.r(s);var e=a(9),n={name:"Index"},c=a(1),i=Object(c.a)(n,(function(){var t=this.$createElement,s=this._self._c||t;return s("div",[s("router-view")],1)}),[],!1,null,"6b40cc75",null).exports,r={name:"List",props:{accountTypes:String},data:function(){return{accounts:[]}},mounted:function(){var t=this;axios.get("./api/v1/accounts?type="+this.$props.accountTypes).then((function(s){t.loadAccounts(s.data.data)}))},methods:{loadAccounts:function(t){for(var s in t)if(t.hasOwnProperty(s)&&/^0$|^[1-9]\d*$/.test(s)&&s<=4294967294){var a=t[s];"asset"===a.attributes.type&&null!==a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.account_role_"+a.attributes.account_role)),"asset"===a.attributes.type&&null===a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.Default asset account")),null===a.attributes.iban&&(a.attributes.iban=a.attributes.account_number),this.accounts.push(a)}}}},o=Object(c.a)(r,(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"row"},[a("div",{staticClass:"col-lg-12 col-md-12 col-sm-12 col-xs-12"},[a("div",{staticClass:"card"},[t._m(0),t._v(" "),a("div",{staticClass:"card-body p-0"},[a("table",{staticClass:"table table-sm table-striped"},[a("thead",[a("tr",[a("th",[t._v(" ")]),t._v(" "),a("th",[t._v(t._s(t.$t("list.name")))]),t._v(" "),"asset"===t.$props.accountTypes?a("th",[t._v(t._s(t.$t("list.role")))]):t._e(),t._v(" "),a("th",[t._v(t._s(t.$t("list.iban")))]),t._v(" "),a("th",{staticStyle:{"text-align":"right"}},[t._v(t._s(t.$t("list.currentBalance")))]),t._v(" "),a("th",[t._v(t._s(t.$t("list.balanceDiff")))])])]),t._v(" "),a("tbody",t._l(t.accounts,(function(s){return a("tr",[t._m(1,!0),t._v(" "),a("td",[a("router-link",{attrs:{to:{name:"accounts.show",params:{id:s.id}},title:s.attributes.name}},[t._v(t._s(s.attributes.name)+"\n ")])],1),t._v(" "),"asset"===t.$props.accountTypes?a("td",[t._v("\n "+t._s(s.attributes.account_role)+"\n ")]):t._e(),t._v(" "),a("td",[t._v("\n "+t._s(s.attributes.iban)+"\n ")]),t._v(" "),a("td",{staticStyle:{"text-align":"right"}},[t._v("\n "+t._s(Intl.NumberFormat("en-US",{style:"currency",currency:s.attributes.currency_code}).format(s.attributes.current_balance))+"\n ")]),t._v(" "),a("td",[t._v("diff")])])})),0)])]),t._v(" "),a("div",{staticClass:"card-footer"},[t._v("\n Footer stuff.\n ")])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"card-header"},[s("h3",{staticClass:"card-title"},[this._v("Title thing")]),this._v(" "),s("div",{staticClass:"card-tools"},[s("div",{staticClass:"input-group input-group-sm",staticStyle:{width:"150px"}},[s("input",{staticClass:"form-control float-right",attrs:{type:"text",name:"table_search",placeholder:"Search"}}),this._v(" "),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"btn btn-default",attrs:{type:"submit"}},[s("i",{staticClass:"fas fa-search"})])])])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("td",[s("div",{staticClass:"btn-group btn-group-xs"},[s("a",{staticClass:"btn btn-xs btn-default",attrs:{href:"edit"}},[s("i",{staticClass:"fa fas fa-pencil-alt"})]),this._v(" "),s("a",{staticClass:"btn btn-xs btn-danger",attrs:{href:"del"}},[s("i",{staticClass:"fa far fa-trash"})])])])}],!1,null,"27a44b66",null).exports,u={name:"Show"},l=Object(c.a)(u,(function(){var t=this.$createElement;return(this._self._c||t)("div",[this._v("\n I am a show\n")])}),[],!1,null,"dcd61a50",null).exports;a(155);var p=[{path:"/",component:i},{path:"/accounts/asset",name:"accounts.index.asset",component:o,props:{accountTypes:"asset"}},{path:"/accounts/expense",component:o,props:{accountTypes:"expense"}},{path:"/accounts/revenue",component:o,props:{accountTypes:"revenue"}},{path:"/accounts/liabilities",component:o,props:{accountTypes:"liabilities"}},{path:"/accounts/show/:id",name:"accounts.show",component:l}],_=new e.a({mode:"history",routes:p}),d=a(154),h={};Vue.use(e.a),new Vue({router:_,i18n:d,render:function(t){return t(i,{props:h})}}).$mount("#accounts")}},[[205,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{206:function(t,s,a){t.exports=a(211)},211:function(t,s,a){"use strict";a.r(s);var e=a(9),n={name:"Index"},c=a(1),i=Object(c.a)(n,(function(){var t=this.$createElement,s=this._self._c||t;return s("div",[s("router-view")],1)}),[],!1,null,"6b40cc75",null).exports,r={name:"List",props:{accountTypes:String},data:function(){return{accounts:[]}},mounted:function(){var t=this;axios.get("./api/v1/accounts?type="+this.$props.accountTypes).then((function(s){t.loadAccounts(s.data.data)}))},methods:{loadAccounts:function(t){for(var s in t)if(t.hasOwnProperty(s)&&/^0$|^[1-9]\d*$/.test(s)&&s<=4294967294){var a=t[s];"asset"===a.attributes.type&&null!==a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.account_role_"+a.attributes.account_role)),"asset"===a.attributes.type&&null===a.attributes.account_role&&(a.attributes.account_role=this.$t("firefly.Default asset account")),null===a.attributes.iban&&(a.attributes.iban=a.attributes.account_number),this.accounts.push(a)}}}},o=Object(c.a)(r,(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"row"},[a("div",{staticClass:"col-lg-12 col-md-12 col-sm-12 col-xs-12"},[a("div",{staticClass:"card"},[t._m(0),t._v(" "),a("div",{staticClass:"card-body p-0"},[a("table",{staticClass:"table table-sm table-striped"},[a("thead",[a("tr",[a("th",[t._v(" ")]),t._v(" "),a("th",[t._v(t._s(t.$t("list.name")))]),t._v(" "),"asset"===t.$props.accountTypes?a("th",[t._v(t._s(t.$t("list.role")))]):t._e(),t._v(" "),a("th",[t._v(t._s(t.$t("list.iban")))]),t._v(" "),a("th",{staticStyle:{"text-align":"right"}},[t._v(t._s(t.$t("list.currentBalance")))]),t._v(" "),a("th",[t._v(t._s(t.$t("list.balanceDiff")))])])]),t._v(" "),a("tbody",t._l(t.accounts,(function(s){return a("tr",[t._m(1,!0),t._v(" "),a("td",[a("router-link",{attrs:{to:{name:"accounts.show",params:{id:s.id}},title:s.attributes.name}},[t._v(t._s(s.attributes.name)+"\n ")])],1),t._v(" "),"asset"===t.$props.accountTypes?a("td",[t._v("\n "+t._s(s.attributes.account_role)+"\n ")]):t._e(),t._v(" "),a("td",[t._v("\n "+t._s(s.attributes.iban)+"\n ")]),t._v(" "),a("td",{staticStyle:{"text-align":"right"}},[t._v("\n "+t._s(Intl.NumberFormat("en-US",{style:"currency",currency:s.attributes.currency_code}).format(s.attributes.current_balance))+"\n ")]),t._v(" "),a("td",[t._v("diff")])])})),0)])]),t._v(" "),a("div",{staticClass:"card-footer"},[t._v("\n Footer stuff.\n ")])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"card-header"},[s("h3",{staticClass:"card-title"},[this._v("Title thing")]),this._v(" "),s("div",{staticClass:"card-tools"},[s("div",{staticClass:"input-group input-group-sm",staticStyle:{width:"150px"}},[s("input",{staticClass:"form-control float-right",attrs:{type:"text",name:"table_search",placeholder:"Search"}}),this._v(" "),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"btn btn-default",attrs:{type:"submit"}},[s("i",{staticClass:"fas fa-search"})])])])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("td",[s("div",{staticClass:"btn-group btn-group-xs"},[s("a",{staticClass:"btn btn-xs btn-default",attrs:{href:"edit"}},[s("i",{staticClass:"fa fas fa-pencil-alt"})]),this._v(" "),s("a",{staticClass:"btn btn-xs btn-danger",attrs:{href:"del"}},[s("i",{staticClass:"fa far fa-trash"})])])])}],!1,null,"27a44b66",null).exports,u={name:"Show"},l=Object(c.a)(u,(function(){var t=this.$createElement;return(this._self._c||t)("div",[this._v("\n I am a show\n")])}),[],!1,null,"dcd61a50",null).exports;a(155);var p=[{path:"/",component:i},{path:"/accounts/asset",name:"accounts.index.asset",component:o,props:{accountTypes:"asset"}},{path:"/accounts/expense",component:o,props:{accountTypes:"expense"}},{path:"/accounts/revenue",component:o,props:{accountTypes:"revenue"}},{path:"/accounts/liabilities",component:o,props:{accountTypes:"liabilities"}},{path:"/accounts/show/:id",name:"accounts.show",component:l}],_=new e.a({mode:"history",routes:p}),d=a(154),h={};Vue.use(e.a),new Vue({router:_,i18n:d,render:function(t){return t(i,{props:h})}}).$mount("#accounts")}},[[206,0,1]]]);
//# sourceMappingURL=accounts.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{206:function(n,o,w){n.exports=w(207)},207:function(n,o,w){"use strict";w.r(o);w(6),w(8);w(208)},208:function(n,o,w){window.$=window.jQuery=w(5),w(153)}},[[206,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{207:function(n,o,w){n.exports=w(208)},208:function(n,o,w){"use strict";w.r(o);w(6),w(8);w(209)},209:function(n,o,w){window.$=window.jQuery=w(5),w(153)}},[[207,0,1]]]);
//# sourceMappingURL=register.js.map

File diff suppressed because one or more lines are too long

View File

@ -48,8 +48,8 @@
*/
/*!
* Vue.js v2.6.11
* (c) 2014-2019 Evan You
* Vue.js v2.6.12
* (c) 2014-2020 Evan You
* Released under the MIT License.
*/

File diff suppressed because one or more lines are too long

View File

@ -37,7 +37,7 @@
<script>
export default {
mounted() {
console.log('Component mounted.')
// console.log('Component mounted.')
}
}
</script>

View File

@ -37,7 +37,7 @@
<script>
export default {
mounted() {
console.log('Component mounted.')
// console.log('Component mounted.')
}
}
</script>

View File

@ -148,7 +148,7 @@
'?types=' +
types +
'&query=';
console.log('Auto complete URI is now ' + this.accountAutoCompleteURI);
// console.log('Auto complete URI is now ' + this.accountAutoCompleteURI);
},
hasError: function () {
return this.error.length > 0;

View File

@ -482,7 +482,7 @@ export default {
this.parseErrors(error.response.data);
// something.
console.log('enable button again.')
// console.log('enable button again.')
button.removeAttr('disabled');
});
@ -516,7 +516,7 @@ export default {
// clear errors:
this.setDefaultErrors();
console.log('enable button again.')
// console.log('enable button again.')
let button = $('#submitButton');
button.removeAttr('disabled');
} else {
@ -741,6 +741,8 @@ export default {
resetTransactions: function () {
// console.log('Now in resetTransactions()');
this.transactions = [];
this.group_title = '';
},
addTransactionToArray: function (e) {
// console.log('Now in addTransactionToArray()');
@ -865,7 +867,7 @@ export default {
},
selectedSourceAccount: function (index, model) {
console.log('Now in selectedSourceAccount()');
// console.log('Now in selectedSourceAccount()');
if (typeof model === 'string') {
//console.log('model is string.')
// cant change types, only name.
@ -980,6 +982,3 @@ export default {
},
}
</script>
<style scoped>
</style>

View File

@ -541,11 +541,11 @@ export default {
// depends on the transaction type, where we get the currency.
if('withdrawal' === transactionType || 'transfer' === transactionType) {
row.currency_id = row.source_account.currency_id;
console.log('Overruled currency ID to ' + row.currency_id);
// console.log('Overruled currency ID to ' + row.currency_id);
}
if('deposit' === transactionType) {
row.currency_id = row.destination_account.currency_id;
console.log('Overruled currency ID to ' + row.currency_id);
// console.log('Overruled currency ID to ' + row.currency_id);
}
date = row.date;

View File

@ -198,7 +198,7 @@
for (const key in res.data.data) {
if (res.data.data.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) {
if (res.data.data[key].attributes.enabled) {
console.log(res.data.data[key].attributes);
// console.log(res.data.data[key].attributes);
this.currencies.push(res.data.data[key]);
this.enabledCurrencies.push(res.data.data[key]);
}

View File

@ -105,7 +105,7 @@
// final list:
this.piggies = ordered;
console.log(ordered);
// console.log(ordered);
});
}
}

View File

@ -23,6 +23,7 @@ module.exports = new vuei18n({
locale: document.documentElement.lang, // set locale
fallbackLocale: 'en',
messages: {
'bg': require('./locales/bg.json'),
'cs': require('./locales/cs.json'),
'de': require('./locales/de.json'),
'en': require('./locales/en.json'),

View File

@ -0,0 +1,103 @@
{
"firefly": {
"welcome_back": "\u041a\u0430\u043a\u0432\u043e \u0441\u0435 \u0441\u043b\u0443\u0447\u0432\u0430?",
"flash_error": "\u0413\u0440\u0435\u0448\u043a\u0430!",
"flash_success": "\u0423\u0441\u043f\u0435\u0445!",
"close": "\u0417\u0430\u0442\u0432\u043e\u0440\u0438",
"split_transaction_title": "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f",
"errors_submission": "\u0418\u043c\u0430\u0448\u0435 \u043d\u0435\u0449\u043e \u043d\u0435\u0440\u0435\u0434\u043d\u043e \u0441 \u0432\u0430\u0448\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0438. \u041c\u043e\u043b\u044f, \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u0442\u0435 \u0433\u0440\u0435\u0448\u043a\u0438\u0442\u0435 \u043f\u043e-\u0434\u043e\u043b\u0443.",
"split": "\u0420\u0430\u0437\u0434\u0435\u043b\u0438",
"single_split": "\u0420\u0430\u0437\u0434\u0435\u043b",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f #{ID}(\"{title}\")<\/a> \u0431\u0435\u0448\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430.",
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f #{ID}<\/a> \u0431\u0435\u0448\u0435 \u043e\u0431\u043d\u043e\u0432\u0435\u043d\u0430.",
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f #{ID}<\/a> \u0431\u0435\u0448\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430.",
"transaction_journal_information": "\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f",
"no_budget_pointer": "\u0418\u0437\u0433\u043b\u0435\u0436\u0434\u0430 \u0432\u0441\u0435 \u043e\u0449\u0435 \u043d\u044f\u043c\u0430\u0442\u0435 \u0431\u044e\u0434\u0436\u0435\u0442\u0438. \u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u043d\u044f\u043a\u043e\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0442\u0430 <a href=\"\/budgets\"> \u0411\u044e\u0434\u0436\u0435\u0442\u0438 <\/a>. \u0411\u044e\u0434\u0436\u0435\u0442\u0438\u0442\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0432\u0438 \u043f\u043e\u043c\u043e\u0433\u043d\u0430\u0442 \u0434\u0430 \u0441\u043b\u0435\u0434\u0438\u0442\u0435 \u0440\u0430\u0437\u0445\u043e\u0434\u0438\u0442\u0435 \u0441\u0438.",
"no_bill_pointer": "\u0418\u0437\u0433\u043b\u0435\u0436\u0434\u0430 \u0432\u0441\u0435 \u043e\u0449\u0435 \u043d\u044f\u043c\u0430\u0442\u0435 \u0441\u043c\u0435\u0442\u043a\u0438. \u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u043d\u044f\u043a\u043e\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0442\u0430 <a href=\"\/bills\"> \u0421\u043c\u0435\u0442\u043a\u0438 <\/a>. \u0421\u043c\u0435\u0442\u043a\u0438\u0442\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0432\u0438 \u043f\u043e\u043c\u043e\u0433\u043d\u0430\u0442 \u0434\u0430 \u0441\u043b\u0435\u0434\u0438\u0442\u0435 \u0440\u0430\u0437\u0445\u043e\u0434\u0438\u0442\u0435 \u0441\u0438.",
"source_account": "\u0420\u0430\u0437\u0445\u043e\u0434\u043d\u0430 \u0441\u043c\u0435\u0442\u043a\u0430",
"hidden_fields_preferences": "\u041c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435 \u043f\u043e\u0432\u0435\u0447\u0435 \u043e\u043f\u0446\u0438\u0438 \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432\u044a\u0432 \u0432\u0430\u0448\u0438\u0442\u0435 <a href=\"\/preferences\">\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438<\/a>.",
"destination_account": "\u041f\u0440\u0438\u0445\u043e\u0434\u043d\u0430 \u0441\u043c\u0435\u0442\u043a\u0430",
"add_another_split": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0434\u0440\u0443\u0433 \u0440\u0430\u0437\u0434\u0435\u043b",
"submission": "\u0418\u0437\u043f\u0440\u0430\u0449\u0430\u043d\u0435",
"create_another": "\u0421\u043b\u0435\u0434 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435\u0442\u043e \u0441\u0435 \u0432\u044a\u0440\u043d\u0435\u0442\u0435 \u0442\u0443\u043a, \u0437\u0430 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u043d\u043e\u0432\u0430.",
"reset_after": "\u0418\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440\u0430 \u0441\u043b\u0435\u0434 \u0438\u0437\u043f\u0440\u0430\u0449\u0430\u043d\u0435",
"submit": "\u041f\u043e\u0442\u0432\u044a\u0440\u0434\u0438",
"amount": "\u0421\u0443\u043c\u0430",
"date": "\u0414\u0430\u0442\u0430",
"tags": "\u0415\u0442\u0438\u043a\u0435\u0442\u0438",
"no_budget": "(\u0431\u0435\u0437 \u0431\u044e\u0434\u0436\u0435\u0442)",
"no_bill": "(\u043d\u044f\u043c\u0430 \u0441\u043c\u0435\u0442\u043a\u0430)",
"category": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f",
"attachments": "\u041f\u0440\u0438\u043a\u0430\u0447\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u0435",
"notes": "\u0411\u0435\u043b\u0435\u0436\u043a\u0438",
"external_uri": "\u0412\u044a\u043d\u0448\u043d\u043e URI",
"update_transaction": "\u041e\u0431\u043d\u043e\u0432\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430",
"after_update_create_another": "\u0421\u043b\u0435\u0434 \u043e\u0431\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435\u0442\u043e \u0441\u0435 \u0432\u044a\u0440\u043d\u0435\u0442\u0435 \u0442\u0443\u043a, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438\u0442\u0435 \u0441 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f\u0442\u0430.",
"store_as_new": "\u0421\u044a\u0445\u0440\u0430\u043d\u0435\u0442\u0435 \u043a\u0430\u0442\u043e \u043d\u043e\u0432\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f, \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0430 \u044f \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u0442\u0435.",
"split_title_help": "\u0410\u043a\u043e \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f, \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0438\u043c\u0430 \u0433\u043b\u043e\u0431\u0430\u043b\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0437\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0438 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430.",
"none_in_select_list": "(\u043d\u0438\u0449\u043e)",
"no_piggy_bank": "(\u0431\u0435\u0437 \u043a\u0430\u0441\u0438\u0447\u043a\u0430)",
"description": "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435",
"split_transaction_title_help": "\u0410\u043a\u043e \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f, \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0438\u043c\u0430 \u0433\u043b\u043e\u0431\u0430\u043b\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0437\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0438 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430.",
"destination_account_reconciliation": "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u0442\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0437\u0430 \u0441\u044a\u0433\u043b\u0430\u0441\u0443\u0432\u0430\u043d\u0435.",
"source_account_reconciliation": "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u0442\u0435 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0437\u0430 \u0441\u044a\u0433\u043b\u0430\u0441\u0443\u0432\u0430\u043d\u0435.",
"budget": "\u0411\u044e\u0434\u0436\u0435\u0442",
"bill": "\u0421\u043c\u0435\u0442\u043a\u0430",
"you_create_withdrawal": "\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u0442\u0435 \u0442\u0435\u0433\u043b\u0435\u043d\u0435.",
"you_create_transfer": "\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u0442\u0435 \u043f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u043d\u0435.",
"you_create_deposit": "\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u0442\u0435 \u0434\u0435\u043f\u043e\u0437\u0438\u0442.",
"edit": "\u041f\u0440\u043e\u043c\u0435\u043d\u0438",
"delete": "\u0418\u0437\u0442\u0440\u0438\u0439",
"name": "\u0418\u043c\u0435",
"profile_whoops": "\u041e\u043f\u0430\u0430\u0430\u0430!",
"profile_something_wrong": "\u041d\u0435\u0449\u043e \u0441\u0435 \u043e\u0431\u044a\u0440\u043a\u0430!",
"profile_try_again": "\u041d\u0435\u0449\u043e \u0441\u0435 \u043e\u0431\u044a\u0440\u043a\u0430. \u041c\u043e\u043b\u044f, \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e.",
"profile_oauth_clients": "OAuth \u043a\u043b\u0438\u0435\u043d\u0442\u0438",
"profile_oauth_no_clients": "\u041d\u0435 \u0441\u0442\u0435 \u0441\u044a\u0437\u0434\u0430\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0438 \u043d\u0430 OAuth.",
"profile_oauth_clients_header": "\u041a\u043b\u0438\u0435\u043d\u0442\u0438",
"profile_oauth_client_id": "\u0418\u0414 (ID) \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442",
"profile_oauth_client_name": "\u0418\u043c\u0435",
"profile_oauth_client_secret": "\u0422\u0430\u0439\u043d\u0430",
"profile_oauth_create_new_client": "\u0421\u044a\u0437\u0434\u0430\u0439 \u043d\u043e\u0432 \u043a\u043b\u0438\u0435\u043d\u0442",
"profile_oauth_create_client": "\u0421\u044a\u0437\u0434\u0430\u0439 \u043a\u043b\u0438\u0435\u043d\u0442",
"profile_oauth_edit_client": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u0439 \u043a\u043b\u0438\u0435\u043d\u0442",
"profile_oauth_name_help": "\u041d\u0435\u0449\u043e, \u043a\u043e\u0435\u0442\u043e \u0432\u0430\u0448\u0438\u0442\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438 \u0449\u0435 \u0440\u0430\u0437\u043f\u043e\u0437\u043d\u0430\u044f\u0442 \u0438 \u0449\u0435 \u0441\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u0442.",
"profile_oauth_redirect_url": "\u041b\u0438\u043d\u043a \u043d\u0430 \u043f\u0440\u0435\u043f\u0440\u0430\u0442\u043a\u0430\u0442\u0430",
"profile_oauth_redirect_url_help": "URL \u0430\u0434\u0440\u0435\u0441 \u0437\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.",
"profile_authorized_apps": "\u0423\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u0435\u043d\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f",
"profile_authorized_clients": "\u0423\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u0435\u043d\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0438",
"profile_scopes": "\u0421\u0444\u0435\u0440\u0438",
"profile_revoke": "\u0410\u043d\u0443\u043b\u0438\u0440\u0430\u0439",
"profile_personal_access_tokens": "\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u043d\u0438 \u043c\u0430\u0440\u043a\u0435\u0440\u0438 \u0437\u0430 \u0434\u043e\u0441\u0442\u044a\u043f",
"profile_personal_access_token": "\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u0435\u043d \u043c\u0430\u0440\u043a\u0435\u0440 \u0437\u0430 \u0434\u043e\u0441\u0442\u044a\u043f",
"profile_personal_access_token_explanation": "\u0422\u043e\u0432\u0430 \u0435 \u043d\u043e\u0432\u0438\u044f \u0432\u0438 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u0435\u043d \u043c\u0430\u0440\u043a\u0435\u0440 \u0437\u0430 \u0434\u043e\u0441\u0442\u044a\u043f. \u0422\u043e\u0432\u0430 \u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u0438\u044f\u0442 \u043f\u044a\u0442, \u043a\u043e\u0433\u0430\u0442\u043e \u0449\u0435 \u0431\u044a\u0434\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d, \u0442\u0430\u043a\u0430 \u0447\u0435 \u043d\u0435 \u0433\u043e \u0433\u0443\u0431\u0435\u0442\u0435! \u0412\u0435\u0447\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0442\u043e\u0437\u0438 \u043c\u0430\u0440\u043a\u0435\u0440, \u0437\u0430 \u0434\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u044f\u0442\u0435 \u0437\u0430\u044f\u0432\u043a\u0438 \u043a\u044a\u043c API.",
"profile_no_personal_access_token": "\u041d\u0435 \u0441\u0442\u0435 \u0441\u044a\u0437\u0434\u0430\u043b\u0438 \u043d\u0438\u043a\u0430\u043a\u0432\u0438 \u043b\u0438\u0447\u043d\u0438 \u043c\u0430\u0440\u043a\u0435\u0440\u0438 \u0437\u0430 \u0434\u043e\u0441\u0442\u044a\u043f.",
"profile_create_new_token": "\u0421\u044a\u0437\u0434\u0430\u0439 \u043d\u043e\u0432 \u043c\u0430\u0440\u043a\u0435\u0440",
"profile_create_token": "\u0421\u044a\u0437\u0434\u0430\u0439 \u043c\u0430\u0440\u043a\u0435\u0440",
"profile_create": "\u0421\u044a\u0437\u0434\u0430\u0439",
"profile_save_changes": "\u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435",
"default_group_title_name": "(\u0431\u0435\u0437 \u0433\u0440\u0443\u043f\u0430)",
"piggy_bank": "\u041a\u0430\u0441\u0438\u0447\u043a\u0430",
"profile_oauth_client_secret_title": "\u0422\u0430\u0439\u043d\u0430 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430",
"profile_oauth_client_secret_expl": "\u0422\u043e\u0432\u0430 \u0435 \u043d\u043e\u0432\u0430\u0442\u0430 \u0432\u0438 \"\u0442\u0430\u0439\u043d\u0430 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\". \u0422\u043e\u0432\u0430 \u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u0438\u044f\u0442 \u043f\u044a\u0442, \u043a\u043e\u0433\u0430\u0442\u043e \u0449\u0435 \u0431\u044a\u0434\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0430, \u0442\u0430\u043a\u0430 \u0447\u0435 \u043d\u0435 \u0433\u043e \u0433\u0443\u0431\u0435\u0442\u0435! \u0412\u0435\u0447\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0442\u043e\u0437\u0438 \u043c\u0430\u0440\u043a\u0435\u0440, \u0437\u0430 \u0434\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u044f\u0442\u0435 \u0437\u0430\u044f\u0432\u043a\u0438 \u043a\u044a\u043c API.",
"profile_oauth_confidential": "\u041f\u043e\u0432\u0435\u0440\u0438\u0442\u0435\u043b\u043d\u043e",
"profile_oauth_confidential_help": "\u0418\u0437\u0438\u0441\u043a\u0432\u0430\u0439\u0442\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0434\u0430 \u0441\u0435 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0441 \u0442\u0430\u0439\u043d\u0430. \u041f\u043e\u0432\u0435\u0440\u0438\u0442\u0435\u043b\u043d\u0438\u0442\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0438 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u043f\u0440\u0438\u0442\u0435\u0436\u0430\u0432\u0430\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u0438 \u0434\u0430\u043d\u043d\u0438 \u043f\u043e \u0437\u0430\u0449\u0438\u0442\u0435\u043d \u043d\u0430\u0447\u0438\u043d, \u0431\u0435\u0437 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043b\u0430\u0433\u0430\u0442 \u043d\u0430 \u043d\u0435\u043e\u0442\u043e\u0440\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u0441\u0442\u0440\u0430\u043d\u0438. \u041f\u0443\u0431\u043b\u0438\u0447\u043d\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u0430\u0442\u043e \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430 \u0438\u043b\u0438 JavaScript SPA \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u043f\u0430\u0437\u044f\u0442 \u0442\u0430\u0439\u043d\u0438 \u043f\u043e \u0441\u0438\u0433\u0443\u0440\u0435\u043d \u043d\u0430\u0447\u0438\u043d.",
"multi_account_warning_unknown": "\u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043e\u0442 \u0432\u0438\u0434\u0430 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430 \u043a\u043e\u044f\u0442\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u0442\u0435, \u0438\u0437\u0442\u043e\u0447\u043d\u0438\u043a\u044a\u0442 \u0438 \/ \u0438\u043b\u0438 \u0446\u0435\u043b\u0435\u0432\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u043d\u0430 \u0441\u043b\u0435\u0434\u0432\u0430\u0449\u0438\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0438\u044f \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0435\u043d\u0430 \u043e\u0442 \u0442\u043e\u0432\u0430 \u043a\u043e\u0435\u0442\u043e \u0435 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d\u043e \u0432 \u043f\u044a\u0440\u0432\u043e\u0442\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430.",
"multi_account_warning_withdrawal": "\u0418\u043c\u0430\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0432\u0438\u0434, \u0447\u0435 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u043d\u0430 \u0441\u043b\u0435\u0434\u0432\u0430\u0449\u0438\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0438\u044f \u0449\u0435 \u0431\u044a\u0434\u0435 \u0442\u0430\u0437\u0438 \u043a\u043e\u044f\u0442\u043e \u0435 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d\u0430 \u0432 \u043f\u044a\u0440\u0432\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b \u043d\u0430 \u0442\u0435\u0433\u043b\u0435\u043d\u0435\u0442\u043e.",
"multi_account_warning_deposit": "\u0418\u043c\u0430\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0432\u0438\u0434, \u0447\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u043d\u0430 \u0441\u043b\u0435\u0434\u0432\u0430\u0449\u0438\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0438\u044f \u0449\u0435 \u0431\u044a\u0434\u0435 \u0442\u0430\u0437\u0438 \u043a\u043e\u044f\u0442\u043e \u0435 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d\u0430 \u0432 \u043f\u044a\u0440\u0432\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b \u043d\u0430 \u0434\u0435\u043f\u043e\u0437\u0438\u0442\u0430.",
"multi_account_warning_transfer": "\u0418\u043c\u0430\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0432\u0438\u0434, \u0447\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u043d\u0430\u0442\u0430 + \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u043d\u0430 \u0441\u043b\u0435\u0434\u0432\u0430\u0449\u0438\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0438\u044f \u0449\u0435 \u0431\u044a\u0434\u0435 \u0442\u0430\u0437\u0438 \u043a\u043e\u044f\u0442\u043e \u0435 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d\u0430 \u0432 \u043f\u044a\u0440\u0432\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b \u043d\u0430 \u043f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u043d\u0435\u0442\u043e."
},
"form": {
"interest_date": "\u041f\u0430\u0434\u0435\u0436 \u043d\u0430 \u043b\u0438\u0445\u0432\u0430",
"book_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043e\u0441\u0447\u0435\u0442\u043e\u0432\u043e\u0434\u044f\u0432\u0430\u043d\u0435",
"process_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430",
"due_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043f\u0430\u0434\u0435\u0436",
"foreign_amount": "\u0421\u0443\u043c\u0430 \u0432\u044a\u0432 \u0432\u0430\u043b\u0443\u0442\u0430",
"payment_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0435",
"invoice_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u0444\u0430\u043a\u0442\u0443\u0440\u0430",
"internal_reference": "\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f"
},
"config": {
"html_language": "bg"
}
}

View File

@ -30,7 +30,7 @@
"category": "Kategorie",
"attachments": "Anh\u00e4nge",
"notes": "Notizen",
"external_uri": "External URI",
"external_uri": "Externe URI",
"update_transaction": "Buchung aktualisieren",
"after_update_create_another": "Nach dem Aktualisieren hierher zur\u00fcckkehren, um weiter zu bearbeiten.",
"store_as_new": "Als neue Buchung speichern statt zu aktualisieren.",
@ -79,8 +79,8 @@
"default_group_title_name": "(ohne Gruppierung)",
"piggy_bank": "Sparschwein",
"profile_oauth_client_secret_title": "Client Secret",
"profile_oauth_client_secret_expl": "Here is your new client secret. This is the only time it will be shown so don't lose it! You may now use this secret to make API requests.",
"profile_oauth_confidential": "Confidential",
"profile_oauth_client_secret_expl": "Hier ist Ihr neuer pers\u00f6nlicher Zugangsschl\u00fcssel. Dies ist das einzige Mal, dass er angezeigt wird, also verlieren Sie ihn nicht! Sie k\u00f6nnen diesen Token jetzt verwenden, um API-Anfragen zu stellen.",
"profile_oauth_confidential": "Vertraulich",
"profile_oauth_confidential_help": "Require the client to authenticate with a secret. Confidential clients can hold credentials in a secure way without exposing them to unauthorized parties. Public applications, such as native desktop or JavaScript SPA applications, are unable to hold secrets securely.",
"multi_account_warning_unknown": "Abh\u00e4ngig von der Art der Buchung, die Sie anlegen, kann das Quell- und\/oder Zielkonto nachfolgender Aufteilungen durch das \u00fcberschrieben werden, was in der ersten Aufteilung der Buchung definiert wurde.",
"multi_account_warning_withdrawal": "Bedenken Sie, dass das Quellkonto nachfolgender Aufteilungen von dem, was in der ersten Aufteilung der Abhebung definiert ist, au\u00dfer Kraft gesetzt wird.",

View File

@ -1,13 +1,13 @@
{
"firefly": {
"welcome_back": "What's playing?",
"welcome_back": "Kas vyksta su mano finansais?",
"flash_error": "Error!",
"flash_success": "Success!",
"close": "Close",
"close": "U\u017edaryti",
"split_transaction_title": "Description of the split transaction",
"errors_submission": "There was something wrong with your submission. Please check out the errors below.",
"split": "Split",
"single_split": "Split",
"split": "Skaidyti",
"single_split": "Skaidyti",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> has been stored.",
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> has been updated.",
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> has been stored.",
@ -46,8 +46,8 @@
"you_create_withdrawal": "You're creating a withdrawal.",
"you_create_transfer": "You're creating a transfer.",
"you_create_deposit": "You're creating a deposit.",
"edit": "Edit",
"delete": "Delete",
"edit": "Redaguoti",
"delete": "I\u0161trinti",
"name": "Name",
"profile_whoops": "Whoops!",
"profile_something_wrong": "Something went wrong!",

View File

@ -82,10 +82,10 @@
"profile_oauth_client_secret_expl": "Aqu\u00ed est\u00e1 su nuevo secreto de cliente. Esta es la \u00fanica vez que se mostrar\u00e1 as\u00ed que no lo pierda! Ahora puede usar este secreto para hacer solicitudes de API.",
"profile_oauth_confidential": "Confidencial",
"profile_oauth_confidential_help": "Requerir que el cliente se autentifique con un secreto. Los clientes confidenciales pueden mantener las credenciales de forma segura sin exponerlas a partes no autorizadas. Las aplicaciones p\u00fablicas, como aplicaciones de escritorio nativo o SPA de JavaScript, no pueden guardar secretos de forma segura.",
"multi_account_warning_unknown": "Depending on the type of transaction you create, the source and\/or destination account of subsequent splits may be overruled by whatever is defined in the first split of the transaction.",
"multi_account_warning_withdrawal": "Keep in mind that the source account of subsequent splits will be overruled by whatever is defined in the first split of the withdrawal.",
"multi_account_warning_deposit": "Keep in mind that the destination account of subsequent splits will be overruled by whatever is defined in the first split of the deposit.",
"multi_account_warning_transfer": "Keep in mind that the source + destination account of subsequent splits will be overruled by whatever is defined in the first split of the transfer."
"multi_account_warning_unknown": "Dependiendo del tipo de transacci\u00f3n que cree, la cuenta de origen y\/o destino de divisiones posteriores puede ser anulada por lo que se define en la primera divisi\u00f3n de la transacci\u00f3n.",
"multi_account_warning_withdrawal": "Tenga en cuenta que la cuenta de origen de las divisiones posteriores ser\u00e1 anulada por lo que se defina en la primera divisi\u00f3n del retiro.",
"multi_account_warning_deposit": "Tenga en cuenta que la cuenta de destino de las divisiones posteriores ser\u00e1 anulada por lo que se defina en la primera divisi\u00f3n del retiro.",
"multi_account_warning_transfer": "Tenga en cuenta que la cuenta de origen + destino de divisiones posteriores ser\u00e1 anulada por lo que se defina en la primera divisi\u00f3n de la transferencia."
},
"form": {
"interest_date": "Fecha de inter\u00e9s",

View File

@ -7,6 +7,5 @@ sl_SI
uk_UA
sr_CS
et_EE
bg_BG
tlh_AA
lt_LT

View File

@ -0,0 +1,26 @@
<?php
/**
* api.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);
return [
];

View File

@ -0,0 +1,28 @@
<?php
/**
* auth.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);
return [
'failed' => 'Въведените удостоверителни данни не съвпадат с нашите записи.',
'throttle' => 'Твърде много опити за влизане. Опитайте се пак след :seconds секунди.',
];

View File

@ -0,0 +1,65 @@
<?php
/**
* breadcrumbs.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);
return [
'home' => 'Начало',
'edit_currency' => 'Редактирай валута ":name"',
'delete_currency' => 'Изтрий валута ":name"',
'newPiggyBank' => 'Създай нова касичка',
'edit_piggyBank' => 'Редактирай касичка ":name"',
'preferences' => 'Настройки',
'profile' => 'Профил',
'changePassword' => 'Промени паролата си',
'change_email' => 'Смяна на имейл адрес',
'bills' => 'Сметки',
'newBill' => 'Нова сметка',
'edit_bill' => 'Редактирай сметка ":name"',
'delete_bill' => 'Изтрий сметка ":name"',
'reports' => 'Отчети',
'search_result' => 'Резултати от търсенето за ":query"',
'withdrawal_list' => 'Разходи',
'Withdrawal_list' => 'Разходи',
'deposit_list' => 'Приходи, доходи и депозити',
'transfer_list' => 'Прехвърляне',
'transfers_list' => 'Прехвърляне',
'reconciliation_list' => 'Съгласувания',
'create_withdrawal' => 'Създай нов разход',
'create_deposit' => 'Създай нов приход',
'create_transfer' => 'Създай ново прехвърляне',
'create_new_transaction' => 'Създай нова трансакция',
'edit_journal' => 'Редактирайте трансакция ":description"',
'edit_reconciliation' => 'Редактирайте ":description"',
'delete_journal' => 'Изтрийте трансакция ":description"',
'delete_group' => 'Изтрийте трансакция ":description"',
'tags' => 'Етикети',
'createTag' => 'Създай нов етикет',
'edit_tag' => 'Редактирай етикет ":tag"',
'delete_tag' => 'Изтрии етикет ":tag"',
'delete_journal_link' => 'Изтрий връзката между трансакциите',
'telemetry_index' => 'Телеметрия',
'telemetry_view' => 'Преглед на телеметрията',
'edit_object_group' => 'Редактирай група ":title"',
'delete_object_group' => 'Изтрии група ":title"',
'logout_others' => 'Изход от другите сесии'
];

View File

@ -1,8 +1,8 @@
<?php
/**
* TransactionSearch.php
* Copyright (c) 2020 james@firefly-iii.org
* components.php
* Copyright (c) 2019 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
@ -22,21 +22,8 @@
declare(strict_types=1);
namespace FireflyIII\Support\Search;
return [
// profile
use Illuminate\Support\Collection;
/**
* Class TransactionSearch
*/
class TransactionSearch implements GenericSearchInterface
{
/**
* @inheritDoc
*/
public function search(): Collection
{
// TODO: Implement search() method.
}
}
// bills:
];

View File

@ -0,0 +1,52 @@
<?php
/**
* config.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);
return [
'html_language' => 'bg',
'locale' => 'bg, Bulgarian, bg_BG.utf8, bg_BG.UTF-8',
'month' => '%B %Y',
'month_and_day' => '%e %B %Y',
'month_and_day_moment_js' => 'Do MMMM YYYY',
'month_and_date_day' => '%A %B %e, %Y',
'month_and_day_no_year' => '%B %e',
'date_time' => '%e %B, %Y, @ %T',
'specific_day' => '%e %B %Y',
'week_in_year' => 'Week %V, %G',
'year' => '%Y',
'half_year' => '%B %Y',
'month_js' => 'MMMM YYYY',
'month_and_day_js' => 'Do MMMM, YYYY',
'date_time_js' => 'Do MMMM, YYYY, @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'dow_1' => 'Понеделник',
'dow_2' => 'Вторник',
'dow_3' => 'Сряда',
'dow_4' => 'Четвъртък',
'dow_5' => 'Петък',
'dow_6' => 'Събота',
'dow_7' => 'Неделя',
];

View File

@ -0,0 +1,37 @@
<?php
/**
* demo.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);
return [
'no_demo_text' => 'За съжаление няма допълнително обяснение за <abbr title=":route"> тази демо страница </abbr>.',
'see_help_icon' => 'Въпреки това, <i class="fa fa-question-circle"> </i> -иконата в горния десен ъгъл може да ви каже повече.',
'index' => 'Добре дошли в <strong> Firefly III </strong>! На тази страница получавате бърз преглед на вашите финанси. За повече информация вижте Сметки &rarr; <a href=":asset"> Сметки за активи </a> и разбира се <a href=":budgets"> Бюджети </a> и <a href=":reports"> Отчети </a> страници. Или просто разгледайте и вижте къде ще се озовавате.',
'accounts-index' => 'Сметките за активи са вашите лични банкови сметки. Сметките за разходи са сметките, по които харчите пари, като магазини и приятели. Приходните сметки са сметки, от които получавате пари, като например вашата работа, правителството или други източници на доходи. Задълженията са вашите дългове и заеми като стари дългове по кредитни карти или студентски заеми. На тази страница можете да ги редактирате или премахнете.',
'budgets-index' => 'Тази страница ви показва преглед на вашите бюджети. Горната лента показва сумата, която е на разположение, за да бъде бюджетирана. Това може да бъде персонализирано за всеки период, като щракнете върху сумата отдясно. Реално изразходваната сума е показана в лентата по-долу. По-долу са разходите по бюджет и това, което сте предвидили за тях.',
'reports-index-start' => 'Firefly III поддържа редица видове отчети. Прочетете за тях, като щракнете върху <i class="fa fa-question-circle"> </i> -икона в горния десен ъгъл.',
'reports-index-examples' => 'Не забравяйте да разгледате следните примери: <a href=":one"> месечен финансов преглед </a>, <a href=":two"> годишен финансов преглед </a> и "<a href=":three"> преглед на бюджета </a>.',
'currencies-index' => 'Firefly III поддържа множество валути. Въпреки, че по подразбиране се използва еврото, то може да бъде зададен щатския долар и много други валути. Както можете да видите, малък набор от валути е включен, но също можете да добавите своя собствена, ако желаете. Промяната на валутата по подразбиране няма да промени валутата на съществуващите транзакции, но Firefly III поддържа използването на няколко валути едновременно.',
'transactions-index' => 'Тези разходи, депозити и прехвърляния не са особено творчески. Те са генерирани автоматично.',
'piggy-banks-index' => 'Както можете да видите, има три касички. Използвайте бутоните плюс и минус, за да повлияете на количеството пари във всяка касичка. Кликнете върху името на касичката, за да видите управлението за всяка касичка.',
'profile-index' => 'Имайте предвид, че демонстрационният сайт се нулира на всеки четири часа. Вашият достъп може да бъде отменен по всяко време. Това се случва автоматично и не е грешка.',
];

View File

@ -0,0 +1,96 @@
<?php
/**
* email.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);
return [
// common items
'greeting' => 'Здравейте,',
'closing' => 'Beep boop,',
'signature' => 'Пощенският робот на Firefly III',
'footer_ps' => 'PS: Това съобщение беше изпратено, защото заявка от IP :ipAddress го задейства.',
// admin test
'admin_test_subject' => 'Тестово съобщение от вашата инсталация на Firefly III',
'admin_test_body' => 'Това е тестово съобщение от вашата Firefly III инстанция. То беше изпратено на :email.',
// access token created
'access_token_created_subject' => 'Създаден е нов маркер за достъп (токен)',
'access_token_created_body' => 'Някой (дано да сте вие) току-що създаде нов Firefly III API Token за вашия потребителски акаунт.',
'access_token_created_explanation' => 'С този токен те могат да имат достъп до <strong> всички </strong> ваши финансови записи чрез Firefly III API.',
'access_token_created_revoke' => 'Ако това не сте вие, моля, отменете този токен възможно най-скоро на адрес :url.',
// registered
'registered_subject' => 'Добре дошли в Firefly III!',
'registered_welcome' => 'Добре дошли в <a style="color:#337ab7" href=":address">Firefly III</a>. Вашата регистрация е направена и този имейл е тук, за да го потвърди. Супер!',
'registered_pw' => 'Ако вече сте забравили паролата си, моля нулирайте я с помощта на <a style="color:#337ab7" href=":address/password/reset"> инструмента за възстановяване на паролата </a>.',
'registered_help' => 'В горния десен ъгъл на всяка страница има икона за помощ. Ако имате нужда от помощ, щракнете върху нея!',
'registered_doc_html' => 'Ако още не сте го направили, моля прочетете <a style="color:#337ab7" href="https://docs.firefly-iii.org/about-firefly-iii/grand-theory"> основната теория </a>.',
'registered_doc_text' => 'Ако още не сте го направили, моля прочетете ръководството за използване както и пълното описание.',
'registered_closing' => 'Наслаждавайте се!',
'registered_firefly_iii_link' => 'Firefly III:',
'registered_pw_reset_link' => 'Смяна на парола:',
'registered_doc_link' => 'Документация:',
// email change
'email_change_subject' => 'Вашият имейл адрес за Firefly III е променен',
'email_change_body_to_new' => 'Вие или някой с достъп до вашия акаунт в Firefly III е променили имейл адреса ви. Ако не очаквате това съобщение, моля игнорирайте го и го изтрийте.',
'email_change_body_to_old' => 'Вие или някой с достъп до вашия акаунт в Firefly III е променил имейл адреса ви. Ако не сте очаквали това да се случи, <strong>трябва</strong> да последвате връзката „отмяна“ по-долу, за да защитите акаунта си!',
'email_change_ignore' => 'Ако сте инициирали тази промяна, можете безопасно да игнорирате това съобщение.',
'email_change_old' => 'Старият имейл адрес беше: :email',
'email_change_old_strong' => 'Старият имейл адрес беше: <strong>:email</strong>',
'email_change_new' => 'Новият имейл адрес е: :email',
'email_change_new_strong' => 'Новият имейл адрес е: <strong>:email</strong>',
'email_change_instructions' => 'Не можете да използвате Firefly III докато не потвърдите тази промяна. Моля, следвайте линка по-долу, за да го направите.',
'email_change_undo_link' => 'За да отмените промяната последвайте тази връзка:',
// OAuth token created
'oauth_created_subject' => 'Създаден е нов клиент на OAuth',
'oauth_created_body' => 'Някой (дано да сте вие) току-що създаде нов клиент OAuth API на Firefly III за вашия потребителски акаунт. Той е обозначен като ":name" и има URL адрес за обратно извикване <span style="font-family: monospace;">:url</span>.',
'oauth_created_explanation' => 'С този клиент те могат да имат достъп до <strong> всички </strong> ваши финансови записи чрез Firefly III API.',
'oauth_created_undo' => 'Ако това не сте вие, моля отменете този клиент възможно най-скоро на адрес :url.',
// reset password
'reset_pw_subject' => 'Вашето искане за смяна на парола',
'reset_pw_instructions' => 'Някой се опита да смени паролата ви. Ако сте вие, моля последвайте линка по-долу, за да го направите.',
'reset_pw_warning' => '<strong> МОЛЯ </strong> проверете дали връзката всъщност отива към адреса на Firefly III, къде очаквате да отиде!',
// error
'error_subject' => 'Уловена е грешка в Firefly III',
'error_intro' => 'Firefly III v:version попадна в грешка: <span style="font-family: monospace;">:errorMessage</span>.',
'error_type' => 'Грешката беше от вид:":class".',
'error_timestamp' => 'Грешката се случи на/в: :time.',
'error_location' => 'Тази грешка се появи във файл "<span style="font-family: monospace;">:file</span>" на ред: :line с код: :code.',
'error_user' => 'На грешката попадна потребител #:id,<a href="mailto::email">:email</a>.',
'error_no_user' => 'Нямаше регистриран потребител при тази грешка или не бе открит потребителя.',
'error_ip' => 'IP адресът, свързан с тази грешка, е: :ip',
'error_url' => 'URL адресът е: :url',
'error_user_agent' => 'Броузър агент: :userAgent',
'error_stacktrace' => 'Пълният стак на грешката е отдолу. Ако смятате, че това е грешка в Firefly III, можете да препратите това съобщение до <a href="mailto:james@firefly-iii.org?subject=BUG!">james@firefly-iii.org</a>. Това може да помогне за отстраняване на грешката, която току-що срещнахте.',
'error_github_html' => 'Ако предпочитате, можете също да отворите нов проблем на <a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a>.',
'error_github_text' => 'Ако предпочитате, можете също да отворите нов проблем на https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'Пълният stacktrace е отдолу:',
// report new journals
'new_journals_subject' => 'Firefly III създаде нова транзакция | Firefly III създаде :count нови транзакции',
'new_journals_header' => 'Firefly III създаде транзакция за вас. Можете да я намерите във вашата инсталация на Firefly III: | Firefly III създаде :count транзакции за вас. Можете да ги намерите във вашата инсталация на Firefly III:',
];

View File

@ -0,0 +1,51 @@
<?php
/**
* firefly.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);
return [
'404_header' => 'Firefly III не може да намери тази страница.',
'404_page_does_not_exist' => 'Страницата, която сте поискали не съществува. Моля, проверете дали не сте въвели грешен URL адрес. Направихте ли печатна грешка?',
'404_send_error' => 'Ако сте били пренасочени към тази страница автоматично, моля приемете моите извинения. Във вашите дневници има маркер за тази грешка и ще съм ви благодарен, ако ми изпратите грешката.',
'404_github_link' => 'Ако сте сигурни, че тази страница трябва да съществува, моля отворете билет на <strong><a href="https://github.com/firefly-iii/firefly-iii/issues">GitHub</a></strong>.',
'whoops' => 'Опаааа',
'fatal_error' => 'Имаше фатална грешка. Моля, проверете лог файловете в "storage/logs" или използвайте "docker logs -f [container]", за да видите какво се случва.',
'maintenance_mode' => 'Firefly III е в режим на поддръжка.',
'be_right_back' => 'Веднага се връщам!',
'check_back' => 'Firefly III е изключен за някаква необходима поддръжка. Моля, проверете отново след секунда.',
'error_occurred' => 'Опаааа! Случи се грешка.',
'error_not_recoverable' => 'За съжаление от тази грешка не се възстановява :(. Firefly III се счупи. Грешката е:',
'error' => 'Грешка',
'error_location' => 'Тази грешка се появи във файл "<span style="font-family: monospace;">:file</span>" на ред: :line с код: :code.',
'stacktrace' => 'Проследяване на стека',
'more_info' => 'Повече информация',
'collect_info' => 'Моля, съберете повече информация в директорията <code> storage/logs </code>, където ще намерите файловете на дневника. Ако използвате Docker, използвайте <code>docker logs -f [container]</code>.',
'collect_info_more' => 'Можете да прочетете повече за събирането на информация за грешки на <a href="https://docs.firefly-iii.org/faq/other#how-do-i-enable-debug-mode">the FAQ</a>.',
'github_help' => 'Получете помощ на GitHub',
'github_instructions' => 'Добре дошли сте да отворите нов проблем <strong><a href="https://github.com/firefly-iii/firefly-iii/issues">на GitHub</a></strong>.',
'use_search' => 'Използвайте търсенето!',
'include_info' => 'Включете информацията <a href=":link">от тази debug страница</a>.',
'tell_more' => 'Разкажете ни повече от „казва Опаааа!“',
'include_logs' => 'Включете регистрационни файлове за грешки (вижте по-горе).',
'what_did_you_do' => 'Кажете ни какво правихте.',
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,248 @@
<?php
/**
* form.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);
return [
// new user:
'bank_name' => 'Име на банката',
'bank_balance' => 'Салдо',
'savings_balance' => 'Спестявания',
'credit_card_limit' => 'Лимит по кредитна карта',
'automatch' => 'Автоматично съчетаване',
'skip' => 'Пропусни',
'enabled' => 'Активирано',
'name' => 'Име',
'active' => 'Активен',
'amount_min' => 'Минимална сума',
'amount_max' => 'Максимална сума',
'match' => 'Съответства на',
'strict' => 'Строг режим',
'repeat_freq' => 'Повторения',
'object_group' => 'Група',
'location' => 'Местоположение',
'update_channel' => 'Канал за обновления',
'currency_id' => 'Валута',
'transaction_currency_id' => 'Валута',
'auto_budget_currency_id' => 'Валута',
'external_ip' => 'Външен IP адрес на вашия сървър',
'attachments' => 'Прикачени файлове',
'BIC' => 'BIC',
'verify_password' => 'Проверете сигурността на паролата',
'source_account' => 'Разходна сметка',
'destination_account' => 'Приходна сметка',
'asset_destination_account' => 'Приходна сметка',
'include_net_worth' => 'Включи в общото богатство',
'asset_source_account' => 'Разходна сметка',
'journal_description' => 'Описание',
'note' => 'Бележки',
'currency' => 'Валута',
'account_id' => 'Сметка за активи',
'budget_id' => 'Бюджет',
'opening_balance' => 'Начално салдо',
'tagMode' => 'Режим на етикети',
'virtual_balance' => 'Виртуален баланс',
'targetamount' => 'Планирана сума',
'account_role' => 'Роля на сметката',
'opening_balance_date' => 'Дата на началното салдо',
'cc_type' => 'Погасителен план на кредитна карта',
'cc_monthly_payment_date' => 'Дата за месечно плащане по кредитна карта',
'piggy_bank_id' => 'Касичка',
'returnHere' => 'Върнете се тук',
'returnHereExplanation' => 'След съхраняването се върнете тук, за да създадете нова.',
'returnHereUpdateExplanation' => 'След актуализиране се върнете тук.',
'description' => 'Описание',
'expense_account' => 'Сметка за разходи',
'revenue_account' => 'Сметка за приходи',
'decimal_places' => 'Десетични позиции',
'destination_amount' => 'Сума (местоназначение)',
'new_email_address' => 'Нов и-мейл адрес',
'verification' => 'Проверка',
'api_key' => 'API ключ',
'remember_me' => 'Запомни ме',
'liability_type_id' => 'Тип задължение',
'interest' => 'Лихва',
'interest_period' => 'Лихвен период',
'type' => 'Вид',
'convert_Withdrawal' => 'Преобразувай тегленето',
'convert_Deposit' => 'Преобразувай депозита',
'convert_Transfer' => 'Преобразувай прехвърлянето',
'amount' => 'Сума',
'foreign_amount' => 'Сума във валута',
'date' => 'Дата',
'interest_date' => 'Падеж на лихва',
'book_date' => 'Дата на осчетоводяване',
'process_date' => 'Дата на обработка',
'category' => 'Категория',
'tags' => 'Етикети',
'deletePermanently' => 'Безвъзвратно изтриване',
'cancel' => 'Отказ',
'targetdate' => 'Целева дата',
'startdate' => 'Начална дата',
'tag' => 'Етикет',
'under' => 'Под',
'symbol' => 'Символ',
'code' => 'Код',
'iban' => 'IBAN',
'account_number' => 'Номер на сметка',
'creditCardNumber' => 'Номер на кредитна карта',
'has_headers' => 'Горни колонтитули',
'date_format' => 'Формат за дата',
'specifix' => 'Банково- или файлово-спецефични корекции',
'attachments[]' => 'Прикачени файлове',
'title' => 'Заглавие',
'notes' => 'Бележки',
'filename' => 'Име на файла',
'mime' => 'Mime тип',
'size' => 'Размер',
'trigger' => 'Задействане',
'stop_processing' => 'Спри изпълнението',
'start_date' => 'Начало на обхвата',
'end_date' => 'Край на обхвата',
'delete_account' => 'Изтрий сметка ":name"',
'delete_bill' => 'Изтрий сметка ":name"',
'delete_budget' => 'Изтрий бюджет ":name"',
'delete_category' => 'Изтрий категория ":name"',
'delete_currency' => 'Изтрий валута ":name"',
'delete_journal' => 'Изтрий транзакция с описание ":description"',
'delete_attachment' => 'Изтрий прикачен файл ":name"',
'delete_rule' => 'Изтрии правило ":title"',
'delete_rule_group' => 'Изтрии група правила ":title"',
'delete_link_type' => 'Изтрий тип връзка ":name"',
'delete_user' => 'Изтрий потребител ":email"',
'delete_recurring' => 'Изтрий повтаряща се транзакция ":title"',
'user_areYouSure' => 'Ако изтриете потребител ":email", всичко ще изчезне. Няма отмяна, възстановяване или нещо друго. Ако изтриете себе си, ще загубите достъп до този екземпляр на Firefly III.',
'attachment_areYouSure' => 'Наистина ли искате да изтриете прикачения файл ":name"?',
'account_areYouSure' => 'Наистина ли искате да изтриете сметка ":name"?',
'bill_areYouSure' => 'Наистина ли искате да изтриете сметка ":name"?',
'rule_areYouSure' => 'Наистина ли искате да изтриете правило ":title"?',
'object_group_areYouSure' => 'Наистина ли искате да изтриете групата ":title"?',
'ruleGroup_areYouSure' => 'Наистина ли искате да изтриете групата правила ":title"?',
'budget_areYouSure' => 'Наистина ли искате да изтриете бюджета озаглавен ":name"?',
'category_areYouSure' => 'Наистина ли искате да изтриете категорията озаглавена ":name"?',
'recurring_areYouSure' => 'Наистина ли искате да изтриете повтарящата се транзакция ":title"?',
'currency_areYouSure' => 'Наистина ли искате да изтриете валутата озаглавена ":name"?',
'piggyBank_areYouSure' => 'Наистина ли искате да изтриете касичката озаглавена ":name"?',
'journal_areYouSure' => 'Наистина ли искате да изтриете транзакцията озаглавена ":description"?',
'mass_journal_are_you_sure' => 'Наистина ли искате да изтриете тези транзакции?',
'tag_areYouSure' => 'Наистина ли искате да изтриете етикета ":tag"?',
'journal_link_areYouSure' => 'Наистина ли искате да изтриете връзката между <a href=":source_link">:source</a> и <a href=":destination_link">:destination</a>?',
'linkType_areYouSure' => 'Наистина ли искате да изтриете типа връзка ":name" (":inward" / ":outward")?',
'permDeleteWarning' => 'Изтриването на неща от Firefly III е постоянно и не може да бъде възстановено.',
'mass_make_selection' => 'Все още можете да предотвратите изтриването на елементи, като премахнете отметката в квадратчето.',
'delete_all_permanently' => 'Изтрии избраните необратимо',
'update_all_journals' => 'Обнови тези транзакции',
'also_delete_transactions' => 'Ще бъде изтрита и единствената транзакция, свързана с тази сметка.|Всички :count транзакции, свързани с тази сметка, също ще бъдат изтрити.',
'also_delete_connections' => 'Единствената транзакция, свързана с този тип връзки, ще загуби тази връзка.|Всички :count транзакции, свързани с този тип връзки, ще загубят връзката си.',
'also_delete_rules' => 'Ще бъде изтрито и единственото правило, свързана с тази група правила.|Всички :count правила, свързани с тази група правила, също ще бъдат изтрити.',
'also_delete_piggyBanks' => 'Ще бъде изтрита и единствената касичнка, свързана с тази сметка.|Всички :count касички, свързани с тази сметка, също ще бъдат изтрити.',
'not_delete_piggy_banks' => 'Касичката свързана с тази група няма да бъде изтрита.|Всички :count касички свързани с тази група няма да бъдат изтрити.',
'bill_keep_transactions' => 'Единствената транзакция, свързана с тази сметка няма да бъде изтрита.|Всички :count транзакции, свързани с тази сметка, няма да бъдат изтрити.',
'budget_keep_transactions' => 'Единствената транзакция, свързана с този бюджет няма да бъде изтрита.|Всички :count транзакции, свързани с този бюджет, няма да бъдат изтрити.',
'category_keep_transactions' => 'Единствената транзакция, свързана с тази категорияняма да бъде изтрита.|Всички :count транзакции, свързани с тази категория, няма да бъдат изтрити.',
'recurring_keep_transactions' => 'Единствената транзакция, създадена с тази повтаряща се транзакция, няма да бъде изтрита.|Всички :count транзакции, създадени с тази повтаряща се транзакция, няма да бъдат изтрити.',
'tag_keep_transactions' => 'Единствената транзакция, свързана с този етикет няма да бъде изтрита.|Всички :count транзакции, свързани с този етикет, няма да бъдат изтрити.',
'check_for_updates' => 'Проверка за нова версия',
'delete_object_group' => 'Изтрии група ":title"',
'email' => 'Имейл адрес',
'password' => 'Парола',
'password_confirmation' => 'Парола (повтори)',
'blocked' => 'Блокиран ли е?',
'blocked_code' => 'Причина за блокирането',
'login_name' => 'Вход',
'is_owner' => 'Администратор ли е?',
// import
'apply_rules' => 'Приложи правила',
'artist' => 'Изпълнител',
'album' => 'Албум',
'song' => 'Песен',
// admin
'domain' => 'Домейн',
'single_user_mode' => 'Изключи нови регистрации',
'is_demo_site' => 'Демо страница?',
// import
'configuration_file' => 'Конфигурационен файл',
'csv_comma' => 'Запетайка (,)',
'csv_semicolon' => 'Точка и запетая (;)',
'csv_tab' => 'Табулация (невидимо)',
'csv_delimiter' => 'CSV разделител на полета',
'client_id' => 'ИД (ID) на клиент',
'app_id' => 'Идентификатор (ID) на приложението',
'secret' => 'Тайна',
'public_key' => 'Обществен ключ',
'country_code' => 'Код на страната',
'provider_code' => 'Банка или доставчик на данни',
'fints_url' => 'FinTS API URL',
'fints_port' => 'Порт',
'fints_bank_code' => 'Банков код',
'fints_username' => 'Потребителско име',
'fints_password' => 'PIN / Парола',
'fints_account' => 'FinTS account',
'local_account' => 'Firefly III сметка',
'from_date' => 'Дата от',
'to_date' => 'Дата до',
'due_date' => 'Дата на падеж',
'payment_date' => 'Дата на плащане',
'invoice_date' => 'Дата на фактура',
'internal_reference' => 'Вътрешна референция',
'inward' => 'Входящо описание',
'outward' => 'Изходящо описание',
'rule_group_id' => 'Група правила',
'transaction_description' => 'Описание на транзакция',
'first_date' => 'Първа дата',
'transaction_type' => 'Вид транзакция',
'repeat_until' => 'Повтаряй до',
'recurring_description' => 'Описание на повтаряща се транзакция',
'repetition_type' => 'Тип на повторенията',
'foreign_currency_id' => 'Чужда валута',
'repetition_end' => 'Повторенията спират',
'repetitions' => 'Повторения',
'calendar' => 'Календар',
'weekend' => 'Уикенд',
'client_secret' => 'Тайна на клиента',
'withdrawal_destination_id' => 'Приходна сметка',
'deposit_source_id' => 'Разходна сметка',
'expected_on' => 'Очаквано на',
'paid' => 'Платени',
'auto_budget_type' => 'Автоматичен бюджет',
'auto_budget_amount' => 'Сума за автоматичен бюджет',
'auto_budget_period' => 'Период за автоматичен бюджет',
'collected' => 'Събрани',
'submitted' => 'Потвърдено',
'key' => 'Ключ',
'value' => 'Съдържание на записа'
];

View File

@ -0,0 +1,145 @@
<?php
/**
* intro.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);
return [
// index
'index_intro' => 'Добре дошли в заглавната страница на Firefly III. Моля отделете време за това въведение, за да усетите как работи Firefly III.',
'index_accounts-chart' => 'Тази графика показва текущият баланс на вашите сметки за активи. Можете да изберете видимите тук сметки според вашите предпочитания.',
'index_box_out_holder' => 'Тази малка кутия и кутиите до нея ще ви дадат бърз общ преглед на вашата финансова ситуация.',
'index_help' => 'Ако някога имате нужда от помощ със страница или форма, натиснете този бутон.',
'index_outro' => 'Повечето страници на Firefly III ще започнат с малка обиколка като тази. Моля свържете се с мен, когато имате въпроси или коментари. Насладете се!',
'index_sidebar-toggle' => 'За да създадете нови транзакции, сметки или други неща, използвайте менюто под тази икона.',
'index_cash_account' => 'Това са създадените досега сметки. Можете да използвате касовата сметка за проследяване на разходите в брой, но това не е задължително.',
// transactions
'transactions_create_basic_info' => 'Въведете основната информация за вашата транзакция. Източник, дестинация, дата и описание.',
'transactions_create_amount_info' => 'Въведете сумата на транзакцията. Ако е необходимо, полетата ще се актуализират автоматично за информация за сума в чужда валута.',
'transactions_create_optional_info' => 'Всички тези полета не са задължителни. Добавянето на метаданни тук ще направи вашите транзакции по-добре организирани.',
'transactions_create_split' => 'Ако искате да разделите транзакция, добавете още разделяния с този бутон',
// create account:
'accounts_create_iban' => 'Дайте на вашите сметки валиден IBAN. Това може да направи импортирането на данни много лесно в бъдеще.',
'accounts_create_asset_opening_balance' => 'Сметките за активи може да имат "начално салдо", което показва началото на историята на този акаунт в Firefly III.',
'accounts_create_asset_currency' => 'Firefly III поддържа множество валути. Сметките за активи имат една основна валута, която трябва да зададете тук.',
'accounts_create_asset_virtual' => 'Понякога може да е полезно да се даде виртуален баланс на вашата сметка: допълнителна сума, която винаги се добавя към или отстранява от действителното салдо.',
// budgets index
'budgets_index_intro' => 'Бюджетите се използват за управление на вашите финанси и формират една от основните функции на Firefly III.',
'budgets_index_set_budget' => 'Задайте общия си бюджет за всеки период, за да може Firefly III да ви каже дали сте предвидили всички налични пари.',
'budgets_index_see_expenses_bar' => 'Харченето на пари бавно ще запълва тази лента.',
'budgets_index_navigate_periods' => 'Придвижвайте се през периодите, за да задавате лесно бюджетите си напред.',
'budgets_index_new_budget' => 'Създайте нови бюджети, както сметнете за добре.',
'budgets_index_list_of_budgets' => 'Използвайте тази таблица, за да зададете сумите за всеки бюджет и да видите как се справяте.',
'budgets_index_outro' => 'За да научите повече за бюджетирането, проверете иконата за помощ в горния десен ъгъл.',
// reports (index)
'reports_index_intro' => 'Използвайте тези отчети, за да получите подробна информация за вашите финанси.',
'reports_index_inputReportType' => 'Изберете тип отчет. Разгледайте страниците за помощ, за да видите какво ви показва всеки отчет.',
'reports_index_inputAccountsSelect' => 'Можете да изключите или включите сметки за активи, както сметнете за добре.',
'reports_index_inputDateRange' => 'Избраният диапазон от дати зависи изцяло от вас: от един ден до 10 години.',
'reports_index_extra-options-box' => 'В зависимост от отчета който сте избрали, можете да изберете допълнителни филтри и опции тук. Гледайте това поле, когато променяте типовете отчети.',
// reports (reports)
'reports_report_default_intro' => 'Този отчет ще ви даде бърз и изчерпателен преглед на вашите финанси. Ако искате да видите нещо друго, моля не колебайте да се свържете с мен!',
'reports_report_audit_intro' => 'Този отчет ще ви даде подробна информация за вашите сметки за активи.',
'reports_report_audit_optionsBox' => 'Използвайте тези квадратчета, за да покажете или скриете колоните които ви интересуват.',
'reports_report_category_intro' => 'Този отчет ще ви даде представа за една или няколко категории.',
'reports_report_category_pieCharts' => 'Тези диаграми ще ви дадат представа за разходите и приходите по категория или по сметка.',
'reports_report_category_incomeAndExpensesChart' => 'Тази диаграма показва вашите разходи и приходи по категория.',
'reports_report_tag_intro' => 'Този отчет ще ви даде представа за един или няколко етикета.',
'reports_report_tag_pieCharts' => 'Тези диаграми ще ви дадат представа за разходите и приходите по етикет, сметка, категория или бюджет.',
'reports_report_tag_incomeAndExpensesChart' => 'Тази диаграма показва вашите разходи и доходи по етикет.',
'reports_report_budget_intro' => 'Този отчет ще ви даде представа за един или няколко бюджета.',
'reports_report_budget_pieCharts' => 'Тези диаграми ще ви дадат представа за разходите по бюджет или по сметка.',
'reports_report_budget_incomeAndExpensesChart' => 'Тази диаграма показва вашите разходи по бюджет.',
// create transaction
'transactions_create_switch_box' => 'Използвайте тези бутони за бързо превключване на типа транзакция, която искате да запазите.',
'transactions_create_ffInput_category' => 'Можете свободно да пишете в това поле. Предварително създадени категории ще бъдат предложени.',
'transactions_create_withdrawal_ffInput_budget' => 'Свържете теглене си с бюджет за по-добър финансов контрол.',
'transactions_create_withdrawal_currency_dropdown_amount' => 'Използвайте това падащо меню, когато тегленето ви е в друга валута.',
'transactions_create_deposit_currency_dropdown_amount' => 'Използвайте това падащо меню, когато депозита ви е в друга валута.',
'transactions_create_transfer_ffInput_piggy_bank_id' => 'Изберете касичка и свържете това прехвърляне с вашите спестявания.',
// piggy banks index:
'piggy-banks_index_saved' => 'Това поле ви показва колко сте спестили във всяка касичка.',
'piggy-banks_index_button' => 'До тази лента за прогрес са разположени два бутона (+ и -) за добавяне или премахване на пари от всяка касичка.',
'piggy-banks_index_accountStatus' => 'За всяка сметка за активи с най-малко една касичка статусът е посочен в тази таблица.',
// create piggy
'piggy-banks_create_name' => 'Каква е твоята цел? Нов диван, камера, пари за спешни случаи?',
'piggy-banks_create_date' => 'Можете да зададете целева дата или краен срок за вашата касичка.',
// show piggy
'piggy-banks_show_piggyChart' => 'Тази диаграма ще покаже историята на тази касичка.',
'piggy-banks_show_piggyDetails' => 'Някои подробности за вашата касичка',
'piggy-banks_show_piggyEvents' => 'Всички допълнения или премахвания също са посочени тук.',
// bill index
'bills_index_rules' => 'Тук виждате кои правила ще проверят дали тази сметка е получена',
'bills_index_paid_in_period' => 'Това поле указва кога за последно е платена сметката.',
'bills_index_expected_in_period' => 'Това поле обозначава за всяка сметка, ако и кога се очаква да се получи следващата сметка.',
// show bill
'bills_show_billInfo' => 'Тази таблица показва обща информация за тази сметка.',
'bills_show_billButtons' => 'Използвайте този бутон за повторно сканиране на стари транзакции, така че те да бъдат съпоставени с тази сметка.',
'bills_show_billChart' => 'Тази диаграма показва транзакциите, свързани с тази сметка.',
// create bill
'bills_create_intro' => 'Използвайте сметки за да проследявате сумата пари, които дължите за всеки период. Помислете за разходи като наем, застраховка или ипотечни плащания.',
'bills_create_name' => 'Използвайте описателно име като "Наем" или "Здравно осигуряване".',
//'bills_create_match' => 'To match transactions, use terms from those transactions or the expense account involved. All words must match.',
'bills_create_amount_min_holder' => 'Изберете минимална и максимална сума за тази сметка.',
'bills_create_repeat_freq_holder' => 'Повечето сметки се повтарят месечно, но можете да зададете друга честота тук.',
'bills_create_skip_holder' => 'Ако сметката се повтаря на всеки 2 седмици, полето "Пропусни" трябва да бъде настроено на "1", за да се прескача през седмица.',
// rules index
'rules_index_intro' => 'Firefly III ви позволява да управлявате правила, които автоматично ще се прилагат към всяка транзакция, която създавате или редактирате.',
'rules_index_new_rule_group' => 'Можете да комбинирате правила в групи за по-лесно управление.',
'rules_index_new_rule' => 'Създайте колкото искате правила.',
'rules_index_prio_buttons' => 'Подредете ги, както сметнете за добре.',
'rules_index_test_buttons' => 'Можете да тествате правилата си или да ги прилагате към съществуващи транзакции.',
'rules_index_rule-triggers' => 'Правилата имат "задействания" и "действия", които можете да подредите чрез плъзгане и пускане.',
'rules_index_outro' => 'Не забравяйте да разгледате помощните страници, като използвате иконата (?) горе вдясно!',
// create rule:
'rules_create_mandatory' => 'Изберете описателно заглавие и задайте кога правилото трябва да бъде задействано.',
'rules_create_ruletriggerholder' => 'Добавете колкото искате задействания, но не забравяйте че ВСИЧКИ задействания трябва да съвпаднат, преди да бъдат осъществени действия.',
'rules_create_test_rule_triggers' => 'Използвайте този бутон, за да видите кои транзакции биха съответствали на вашето правило.',
'rules_create_actions' => 'Задайте толкова действия, колкото искате.',
// preferences
'preferences_index_tabs' => 'Повече опции са достъпни зад тези раздели.',
// currencies
'currencies_index_intro' => 'Firefly III поддържа множество валути, които можете да промените на тази страница.',
'currencies_index_default' => 'Firefly III има една валута по подразбиране.',
'currencies_index_buttons' => 'Използвайте тези бутони, за да промените валутата по подразбиране или да активирате други валути.',
// create currency
'currencies_create_code' => 'Този код трябва да е съвместим с ISO (използвайте Google да го намерите за вашата нова валута).',
];

View File

@ -0,0 +1,135 @@
<?php
/**
* list.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);
return [
'buttons' => 'Бутони',
'icon' => 'Икона',
'id' => 'ID',
'create_date' => 'Създаден на',
'update_date' => 'Обновен на',
'updated_at' => 'Обновен на',
'balance_before' => 'Баланс преди',
'balance_after' => 'Баланс след',
'name' => 'Име',
'role' => 'Привилегии',
'currentBalance' => 'Текущ баланс',
'linked_to_rules' => 'Съответстващи правила',
'active' => 'Активен ли е?',
'percentage' => '%',
'recurring_transaction' => 'Повтарящи се транзакции',
'next_due' => 'Следващата дължима',
'transaction_type' => 'Вид',
'lastActivity' => 'Последна активност',
'balanceDiff' => 'Балансова разлика',
'other_meta_data' => 'Други мета данни',
'account_type' => 'Вид на сметка',
'created_at' => 'Създаден на',
'account' => 'Сметка',
'external_uri' => 'Външно URI',
'matchingAmount' => 'Сума',
'destination' => 'Дестинация',
'source' => 'Източник',
'next_expected_match' => 'Следващo очакванo съвпадение',
'automatch' => 'Автоматично съвпадение?',
'repeat_freq' => 'Повторения',
'description' => 'Описание',
'amount' => 'Сума',
'date' => 'Дата',
'interest_date' => 'Падеж на лихва',
'book_date' => 'Дата на осчетоводяване',
'process_date' => 'Дата на обработка',
'due_date' => 'Дата на падеж',
'payment_date' => 'Дата на плащане',
'invoice_date' => 'Дата на фактура',
'internal_reference' => 'Вътрешна референция',
'notes' => 'Бележки',
'from' => 'Oт',
'piggy_bank' => 'Касичка',
'to' => 'До',
'budget' => 'Бюджет',
'category' => 'Категория',
'bill' => 'Сметка',
'withdrawal' => 'Теглене',
'deposit' => 'Депозит',
'transfer' => 'Прехвърляне',
'type' => 'Вид',
'completed' => 'Завършен',
'iban' => 'IBAN',
'paid_current_period' => 'Платени този период',
'email' => 'Имейл',
'registered_at' => 'Регистриран на',
'is_blocked' => 'е блокиран',
'is_admin' => 'е администратор',
'has_two_factor' => 'има 2FA',
'blocked_code' => 'Блокиращ код',
'source_account' => 'Разходна сметка',
'destination_account' => 'Приходна сметка',
'accounts_count' => 'Брой сметки',
'journals_count' => 'Брой транзакции',
'attachments_count' => 'Брой прикачени файлове',
'bills_count' => 'Брой сметки',
'categories_count' => 'Брой категории',
'budget_count' => 'Брой бюджети',
'rule_and_groups_count' => 'Брой правила и групи правила',
'tags_count' => 'Брой етикети',
'tags' => 'Етикети',
'inward' => 'Входящо описание',
'outward' => 'Изходящо описание',
'number_of_transactions' => 'Брой транзакции',
'total_amount' => 'Обща сума',
'sum' => 'Сума',
'sum_excluding_transfers' => 'Сума (без прехвърлянията)',
'sum_withdrawals' => 'Сума на тегленията',
'sum_deposits' => 'Сума на депозитите',
'sum_transfers' => 'Сума на прехвърлянията',
'sum_reconciliations' => 'Сума на съгласуванията',
'reconcile' => 'Съгласувай',
'sepa_ct_id' => 'SEPA Идентификатор от край до край',
'sepa_ct_op' => 'SEPA Идентификатор на противоположния акаунт',
'sepa_db' => 'SEPA идентификатор нареждане',
'sepa_country' => 'SEPA държава',
'sepa_cc' => 'SEPA клиринг код',
'sepa_ep' => 'SEPA външнo предназначение',
'sepa_ci' => 'SEPA идентификатор кредитор',
'sepa_batch_id' => 'SEPA Идентификатор партида',
'external_id' => 'Външно ID',
'account_at_bunq' => 'Сметка в bunq',
'file_name' => 'Име на файла',
'file_size' => 'Размер на файла',
'file_type' => 'Вид файл',
'attached_to' => 'Приложен към',
'file_exists' => 'Файлът съществува',
'spectre_bank' => 'Банка',
'spectre_last_use' => 'Последно влизане',
'spectre_status' => 'Състояние',
'bunq_payment_id' => 'bunq payment ID',
'repetitions' => 'Повторения',
'title' => 'Заглавие',
'transaction_s' => 'Транзакция(и)',
'field' => 'Поле',
'value' => 'Стойност',
'interest' => 'Лихва',
'interest_period' => 'лихвен период',
'liability_type' => 'Вид на задължението',
];

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,28 @@
<?php
/**
* pagination.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);
return [
'previous' => '&laquo; Предишна',
'next' => 'Следваща &raquo;',
];

View File

@ -0,0 +1,32 @@
<?php
/**
* passwords.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);
return [
'password' => 'Паролите трябва да са дълги поне 6 символа и да съвпадат.',
'user' => 'Не можем да намерим потребител с този имейл адрес.',
'token' => 'Ключът за нулиране на паролата е невалиден.',
'sent' => 'Изпратихме Ви връзка за обновяване на паролата!',
'reset' => 'Вашата парола е нулирана!',
'blocked' => 'Добър опит все пак.',
];

View File

@ -0,0 +1,209 @@
<?php
/**
* validation.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);
return [
'iban' => 'Това е невалиден IBAN.',
'zero_or_more' => 'Стойността не може да бъде отрицателна.',
'date_or_time' => 'Стойността трябва да е валидна дата и време (ISO 8601).',
'source_equals_destination' => 'Разходната сметка е еднаква на приходната сметка.',
'unique_account_number_for_user' => 'Изглежда, че този номер на сметка вече се използва.',
'unique_iban_for_user' => 'Изглежда, че този IBAN вече се използва.',
'deleted_user' => 'Поради съображения за сигурност не можете да се регистрирате, като използвате този имейл адрес.',
'rule_trigger_value' => 'Тази стойност е невалидна за избраното задействане.',
'rule_action_value' => 'Тази стойност е невалидна за избраното действие.',
'file_already_attached' => 'Каченият файл ":name" вече е прикачен към този обект.',
'file_attached' => 'Успешно качен файл ":name".',
'must_exist' => 'Идентификаторът в поле :attribute не съществува в базата данни.',
'all_accounts_equal' => 'Всички сметки в това поле трябва да са еднакви.',
'group_title_mandatory' => 'Заглавието на групата е задължително, когато има повече от една транзакция.',
'transaction_types_equal' => 'Всички разделяния трябва да са от един и същи тип.',
'invalid_transaction_type' => 'Невалиден тип транзакция.',
'invalid_selection' => 'Изборът ви е невалиден.',
'belongs_user' => 'Тази стойност е невалидна за това поле.',
'at_least_one_transaction' => 'Нужна е поне една транзакция.',
'at_least_one_repetition' => 'Нужно е поне едно повторение.',
'require_repeat_until' => 'Изисква се или брой повторения, или крайна дата (повтори_до). Не и двете.',
'require_currency_info' => 'Съдържанието на това поле е невалидно без информация за валута.',
'not_transfer_account' => 'Този акаунт не е акаунт, който може да се използва за прехвърляния.',
'require_currency_amount' => 'Съдържанието на това поле е невалидно без стойност в другата валута.',
'equal_description' => 'Описанието на транзакцията не трябва да е равно на общото описание.',
'file_invalid_mime' => 'Файлът ":name" е от тип ":mime", който не се приема за качване.',
'file_too_large' => 'Файлът ":name" е твърде голям.',
'belongs_to_user' => 'Стойността на :attribute не е известна.',
'accepted' => ':attribute трябва да бъде приет.',
'bic' => 'Това е невалиден BIC.',
'at_least_one_trigger' => 'Правилото трябва да има поне еднo задействане.',
'at_least_one_action' => 'Правилото трябва да има поне еднo действие.',
'base64' => 'Това не са валидни base64 кодирани данни.',
'model_id_invalid' => 'Даденото ID изглежда невалидно за този модел.',
'less' => ':attribute трябва да е по-малко от 10 000 000',
'active_url' => ':attribute не е валиден URL адрес.',
'after' => ':attribute трябва да бъде дата след :date.',
'alpha' => ':attribute може да съдържа единствено букви.',
'alpha_dash' => ':attribute може да съдържа само букви, числа и тирета.',
'alpha_num' => ':attribute може да съдържа само букви и числа.',
'array' => ':attribute трябва да бъде масив.',
'unique_for_user' => 'Вече има запис с :attribute.',
'before' => ':attribute трябва да бъде дата преди :date.',
'unique_object_for_user' => 'Това име вече се използва.',
'unique_account_for_user' => 'Това име на потребител вече се използва.',
'between.numeric' => ':attribute трябва да бъде между :min и :max.',
'between.file' => ':attribute трябва да бъде с големина между :min и :max Kb.',
'between.string' => ':attribute трябва да бъде с дължина между :min и :max символа.',
'between.array' => ':attribute трябва да има между :min и :max елемента.',
'boolean' => ':attribute трябва да бъде вярно или невярно.',
'confirmed' => 'Потвържденито на :attribute не съвпада.',
'date' => ':attribute не е валидна дата.',
'date_format' => ':attribute не е в посоченият формат - :format.',
'different' => ':attribute и :other трябва да са различни.',
'digits' => ':attribute трябва да бъде с дължина :digits цифри.',
'digits_between' => ':attribute трябва да бъде с дължина между :min и :max цифри.',
'email' => ':attribute трябва да бъде валиден имейл адрес.',
'filled' => 'Полето :attribute е задължително.',
'exists' => 'Избраният :attribute е невалиден.',
'image' => ':attribute трябва да е изображение.',
'in' => 'Избраният :attribute е невалиден.',
'integer' => ':attribute трябва да бъде цяло число.',
'ip' => ':attribute трябва да бъде валиден IP адрес.',
'json' => ':attribute трябва да е валиден JSON низ.',
'max.numeric' => ':attribute не трябва да бъде по-голям от :max.',
'max.file' => ':attribute не може да бъде по-голям от :max Kb.',
'max.string' => ':attribute не може да бъде по-дълъг от :max символа.',
'max.array' => ':attribute не трябва да има повече от :max елемента.',
'mimes' => ':attribute трябва да бъде файл от следните типове: :values.',
'min.numeric' => ':attribute трябва да бъде минимум :min.',
'lte.numeric' => ':attribute трябва да е по-малко или равно на :value.',
'min.file' => ':attribute трябва да бъде с големина минимум :min Kb.',
'min.string' => ':attribute трябва да бъде минимум :min символа.',
'min.array' => ':attribute трябва да има поне :min елемента.',
'not_in' => 'Избраният :attribute е невалиден.',
'numeric' => ':attribute трябва да бъде число.',
'numeric_native' => 'Сумата в основна валута трябва да бъде число.',
'numeric_destination' => 'Сумата в приходната сметка трябва да е число.',
'numeric_source' => 'Сумата в разходната сметка трябва да е число.',
'regex' => 'Форматът на :attribute е невалиден.',
'required' => 'Полето :attribute е задължително.',
'required_if' => 'Полето :attribute е задължително, когато :other е :value.',
'required_unless' => 'Полето :attribute е задължително, освен когато :other е в :values.',
'required_with' => 'Полето :attribute е задължително, когато присъства :values.',
'required_with_all' => 'Полето :attribute е задължително, когато присъства :values.',
'required_without' => 'Полето :attribute е задължително, когато не присъства :values.',
'required_without_all' => 'Полето :attribute е задължително, когато не са избрано нищо от :values.',
'same' => ':attribute и :other трябва да съвпадат.',
'size.numeric' => ':attribute трябва да бъде :size.',
'amount_min_over_max' => 'Минималната сума не може да бъде по-голяма от максималната.',
'size.file' => ':attribute трябва да бъде с големина :size Kb.',
'size.string' => ':attribute трябва да бъде с дължина :size символа.',
'size.array' => ':attribute трябва да съдържа :size елемента.',
'unique' => ':attribute вече е зает.',
'string' => ':attribute трябва да бъде низ.',
'url' => 'Форматът на :attribute е невалиден.',
'timezone' => ':attribute трябва да бъде валидна зона.',
'2fa_code' => 'Форматът на полето :attribute е невалиден.',
'dimensions' => 'Изображението :attribute има невалидни размери.',
'distinct' => 'Полето :attribute има дублираща се стойност.',
'file' => ':attribute трябва да е файл.',
'in_array' => 'Полето :attribute не съществува в :other.',
'present' => 'Полето :attribute е задължително.',
'amount_zero' => 'Общата сума не може да е нула.',
'current_target_amount' => 'Текущата сума трябва да бъде по-малка от планираната сума.',
'unique_piggy_bank_for_user' => 'Името на касичката трябва да е уникално.',
'unique_object_group' => 'Името на групата трябва да е уникално',
'secure_password' => 'Това не е сигурна парола. Моля, опитайте отново. За повече информация посетете https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Невалиден тип повторение за повтарящи се транзакции.',
'valid_recurrence_rep_moment' => 'Невалиден момент на повторение за този тип повторение.',
'invalid_account_info' => 'Невалидна информация за сметка.',
'attributes' => [
'email' => 'имейл адрес',
'description' => 'описание',
'amount' => 'сума',
'name' => 'име',
'piggy_bank_id' => 'ID касичка',
'targetamount' => 'планирана сума',
'opening_balance_date' => 'начална дата на баланса',
'opening_balance' => 'начално салдо',
'match' => 'съвпадение',
'amount_min' => 'минимална сума',
'amount_max' => 'максимална сума',
'title' => 'заглавие',
'tag' => 'етикет',
'transaction_description' => 'описание на транзакция',
'rule-action-value.1' => 'правило действие стойност #1',
'rule-action-value.2' => 'правило действие стойност #2',
'rule-action-value.3' => 'правило действие стойност #3',
'rule-action-value.4' => 'правило действие стойност #4',
'rule-action-value.5' => 'правило действие стойност #5',
'rule-action.1' => 'правило действие #1',
'rule-action.2' => 'правило действие #2',
'rule-action.3' => 'правило действие #3',
'rule-action.4' => 'правило действие #4',
'rule-action.5' => 'правило действие #5',
'rule-trigger-value.1' => 'правило задействане стойност #1',
'rule-trigger-value.2' => 'правило задействане стойност #2',
'rule-trigger-value.3' => 'правило задействане стойност #3',
'rule-trigger-value.4' => 'правило задействане стойност #4',
'rule-trigger-value.5' => 'правило задействане стойност #5',
'rule-trigger.1' => 'правило задействане #1',
'rule-trigger.2' => 'правило задействане #2',
'rule-trigger.3' => 'правило задействане #3',
'rule-trigger.4' => 'правило задействане #4',
'rule-trigger.5' => 'правило задействане #5',
],
// validation of accounts:
'withdrawal_source_need_data' => 'Трябва да използвате валидно ID на разходната сметка и / или валидно име на разходната сметка, за да продължите.',
'withdrawal_source_bad_data' => 'Не може да се намери валидна разходна сметка при търсене на ID ":id" или име ":name".',
'withdrawal_dest_need_data' => 'Трябва да използвате валидно ID на приходната сметка и / или валидно име на приходната сметка, за да продължите.',
'withdrawal_dest_bad_data' => 'Не може да се намери валидна приходна сметка при търсене на ID ":id" или име ":name".',
'deposit_source_need_data' => 'Трябва да използвате валидно ID на разходната сметка и / или валидно име на разходната сметка, за да продължите.',
'deposit_source_bad_data' => 'Не може да се намери валидна разходна сметка при търсене на ID ":id" или име ":name".',
'deposit_dest_need_data' => 'Трябва да използвате валидно ID на приходната сметка и / или валидно име на приходната сметка, за да продължите.',
'deposit_dest_bad_data' => 'Не може да се намери валидна приходна сметка при търсене на ID ":id" или име ":name".',
'deposit_dest_wrong_type' => 'Използваната приходна сметка не е от правилния тип.',
'transfer_source_need_data' => 'Трябва да използвате валидно ID на разходната сметка и / или валидно име на разходната сметка, за да продължите.',
'transfer_source_bad_data' => 'Не може да се намери валидна разходна сметка при търсене на ID ":id" или име ":name".',
'transfer_dest_need_data' => 'Трябва да използвате валидно ID на приходната сметка и / или валидно име на приходната сметка, за да продължите.',
'transfer_dest_bad_data' => 'Не може да се намери валидна приходна сметка при търсене на ID ":id" или име ":name".',
'need_id_in_edit' => 'Всяко разделяне трябва да има transaction_journal_id (или валидно ID или 0).',
'ob_source_need_data' => 'Трябва да използвате валидно ID на разходната сметка и / или валидно име на разходната сметка, за да продължите.',
'ob_dest_need_data' => 'Трябва да използвате валидно ID на приходната сметка и / или валидно име на приходната сметка, за да продължите.',
'ob_dest_bad_data' => 'Не може да се намери валидна приходна сметка при търсене на ID ":id" или име ":name".',
'generic_invalid_source' => 'Не може да използвате тази сметка като разходна сметка.',
'generic_invalid_destination' => 'Не може да използвате тази сметка като приходна сметка.',
'gte.numeric' => ':attribute трябва да е по-голямо или равно на :value.',
'gt.numeric' => ':attribute трябва да бъде по-голям от :value.',
'gte.file' => ':attribute трябва да е по-голямо или равно на :value Kb.',
'gte.string' => ':attribute трябва да е по-голямо или равно на :value символа.',
'gte.array' => ':attribute трябва да има :value елемента или повече.',
'amount_required_for_auto_budget' => 'Необходима е сума.',
'auto_budget_amount_positive' => 'Сумата трябва да е по-голяма от нула.',
'auto_budget_period_mandatory' => 'Периодът на автоматичния бюджет е задължително поле.',
];

View File

@ -620,12 +620,12 @@ return [
'pref_optional_tj_internal_reference' => 'Interner Verweis',
'pref_optional_tj_notes' => 'Notizen',
'pref_optional_tj_attachments' => 'Anhänge',
'pref_optional_tj_external_uri' => 'External URI',
'pref_optional_tj_external_uri' => 'Externe URI',
'optional_field_meta_dates' => 'Daten',
'optional_field_meta_business' => 'Geschäftlich',
'optional_field_attachments' => 'Anhänge',
'optional_field_meta_data' => 'Optionale Metadaten',
'external_uri' => 'External URI',
'external_uri' => 'Externe URI',
// profile:
'delete_stuff_header' => 'Daten aus Firefly III löschen',
@ -720,10 +720,10 @@ return [
'profile_scopes' => 'Bereiche',
'profile_revoke' => 'Widerrufen',
'profile_oauth_client_secret_title' => 'Client Secret',
'profile_oauth_client_secret_expl' => 'Here is your new client secret. This is the only time it will be shown so don\'t lose it! You may now use this secret to make API requests.',
'profile_oauth_client_secret_expl' => 'Hier ist Ihr neuer persönlicher Zugangsschlüssel. Dies ist das einzige Mal, dass er angezeigt wird, also verlieren Sie ihn nicht! Sie können diesen Token jetzt verwenden, um API-Anfragen zu stellen.',
'profile_personal_access_tokens' => 'Persönliche Zugangs-Tokens',
'profile_personal_access_token' => 'Persönlicher Zugangs-Token',
'profile_oauth_confidential' => 'Confidential',
'profile_oauth_confidential' => 'Vertraulich',
'profile_oauth_confidential_help' => 'Require the client to authenticate with a secret. Confidential clients can hold credentials in a secure way without exposing them to unauthorized parties. Public applications, such as native desktop or JavaScript SPA applications, are unable to hold secrets securely.',
'profile_personal_access_token_explanation' => 'Hier ist Ihr neues persönlicher Zugangsschlüssel. Dies ist das einzige Mal, dass er angezeigt wird, also verlieren Sie ihn nicht! Sie können dieses Token jetzt verwenden, um API-Anfragen zu stellen.',
'profile_no_personal_access_token' => 'Sie haben keine persönlichen Zugangsschlüssel erstellt.',
@ -947,7 +947,7 @@ return [
'bill_expected_date' => 'Voraussichtlich :date',
// accounts:
'inactive_account_link' => 'Sie haben :count inaktives (archiviertes) Konto, das Sie auf dieser separaten Seite sehen können. Sie haben :count inaktive (archivierte) Konten, die Sie auf dieser separaten Seite anzeigen können.',
'inactive_account_link' => 'Sie haben :count inaktives (archiviertes) Konto, das Sie auf dieser separaten Seite sehen können.|Sie haben :count inaktive (archivierte) Konten, die Sie auf dieser separaten Seite anzeigen können.',
'all_accounts_inactive' => 'Dies sind Ihre inaktiven Konten.',
'active_account_link' => 'Diese Verknüpfung führt zurück zu Ihren aktiven Konten.',
'account_missing_transaction' => 'Konto #:id („:name”) kann nicht direkt angezeigt werden, da Firefly III Weiterleitungsinformationen fehlen.',

View File

@ -46,7 +46,7 @@ return [
'account_type' => 'Kontotyp',
'created_at' => 'Erstellt am',
'account' => 'Konto',
'external_uri' => 'External URI',
'external_uri' => 'Externe URI',
'matchingAmount' => 'Betrag',
'destination' => 'Empfänger',
'source' => 'Quelle',

View File

@ -453,7 +453,7 @@ return [
'rule_trigger_foreign_currency_is_choice' => 'La transacción en moneda extranjera es..',
'rule_trigger_foreign_currency_is' => 'La transacción en moneda extranjera es ":trigger_value"',
'rule_trigger_has_attachments_choice' => 'Tiene al menos tantos archivos adjuntos',
'rule_trigger_has_attachments' => 'Has at least :trigger_value attachment(s)',
'rule_trigger_has_attachments' => 'Tiene al menos :trigger_value anexo(s)',
'rule_trigger_store_journal' => 'Cuando la transacción es creada',
'rule_trigger_update_journal' => 'Cuando la transacción es actualizada',
'rule_trigger_has_no_category_choice' => 'No tiene categoría',
@ -555,7 +555,7 @@ return [
'select_tags_to_delete' => 'No olvide seleccionar algunas etiquetas.',
'deleted_x_tags' => 'Eliminado :count etiqueta.|Eliminado :count etiquetas.',
'create_rule_from_transaction' => 'Crear regla basada en la transacción',
'create_recurring_from_transaction' => 'Create recurring transaction based on transaction',
'create_recurring_from_transaction' => 'Crear una transacción recurrente basada en la transacción',
// preferences
@ -735,10 +735,10 @@ return [
'profile_something_wrong' => '¡Algo salió mal!',
'profile_try_again' => 'Algo salió mal. Por favor, vuelva a intentarlo.',
'amounts' => 'Importes',
'multi_account_warning_unknown' => 'Depending on the type of transaction you create, the source and/or destination account of subsequent splits may be overruled by whatever is defined in the first split of the transaction.',
'multi_account_warning_withdrawal' => 'Keep in mind that the source account of subsequent splits will be overruled by whatever is defined in the first split of the withdrawal.',
'multi_account_warning_deposit' => 'Keep in mind that the destination account of subsequent splits will be overruled by whatever is defined in the first split of the deposit.',
'multi_account_warning_transfer' => 'Keep in mind that the source + destination account of subsequent splits will be overruled by whatever is defined in the first split of the transfer.',
'multi_account_warning_unknown' => 'Dependiendo del tipo de transacción que cree, la cuenta de origen y/o destino de divisiones posteriores puede ser anulada por lo que se define en la primera división de la transacción.',
'multi_account_warning_withdrawal' => 'Tenga en cuenta que la cuenta de origen de las divisiones posteriores será anulada por lo que se defina en la primera división del retiro.',
'multi_account_warning_deposit' => 'Tenga en cuenta que la cuenta de destino de las divisiones posteriores será anulada por lo que se defina en la primera división del retiro.',
'multi_account_warning_transfer' => 'Tenga en cuenta que la cuenta de origen + destino de divisiones posteriores será anulada por lo que se defina en la primera división de la transferencia.',
// export data:
'export_data_title' => 'Exportar datos de Firefly III',
@ -981,11 +981,11 @@ return [
'expense_accounts' => 'Cuentas de gastos',
'expense_accounts_inactive' => 'Cuentas de gastos (inactivas)',
'revenue_accounts' => 'Cuentas de ingresos',
'revenue_accounts_inactive' => 'Revenue accounts (inactive)',
'revenue_accounts_inactive' => 'Cuentas de ingresos (inactivas)',
'cash_accounts' => 'Cuentas de efectivo',
'Cash account' => 'Cuenta de efectivo',
'liabilities_accounts' => 'Pasivos',
'liabilities_accounts_inactive' => 'Liabilities (inactive)',
'liabilities_accounts_inactive' => 'Pasivos (inactivos)',
'reconcile_account' => 'Reconciliar cuenta ":account"',
'overview_of_reconcile_modal' => 'Resumen de reconciliación',
'delete_reconciliation' => 'Eliminar reconciliacion',

352
yarn.lock
View File

@ -19,15 +19,15 @@
semver "^5.5.0"
"@babel/core@^7.0.0-beta.49", "@babel/core@^7.2.0":
version "7.11.1"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643"
integrity sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ==
version "7.11.4"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.4.tgz#4301dfdfafa01eeb97f1896c5501a3f0655d4229"
integrity sha512-5deljj5HlqRXN+5oJTY7Zs37iH3z3b++KjiKtIsJy1NrjOOVSEaJHEetLBhyu0aQOSNNZ/0IuEAan9GzRuDXHg==
dependencies:
"@babel/code-frame" "^7.10.4"
"@babel/generator" "^7.11.0"
"@babel/generator" "^7.11.4"
"@babel/helper-module-transforms" "^7.11.0"
"@babel/helpers" "^7.10.4"
"@babel/parser" "^7.11.1"
"@babel/parser" "^7.11.4"
"@babel/template" "^7.10.4"
"@babel/traverse" "^7.11.0"
"@babel/types" "^7.11.0"
@ -40,10 +40,10 @@
semver "^5.4.1"
source-map "^0.5.0"
"@babel/generator@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c"
integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ==
"@babel/generator@^7.11.0", "@babel/generator@^7.11.4":
version "7.11.4"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.4.tgz#1ec7eec00defba5d6f83e50e3ee72ae2fee482be"
integrity sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g==
dependencies:
"@babel/types" "^7.11.0"
jsesc "^2.5.1"
@ -106,11 +106,10 @@
lodash "^4.17.19"
"@babel/helper-explode-assignable-expression@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c"
integrity sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==
version "7.11.4"
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz#2d8e3470252cc17aba917ede7803d4a7a276a41b"
integrity sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==
dependencies:
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
"@babel/helper-function-name@^7.10.4":
@ -183,14 +182,13 @@
lodash "^4.17.19"
"@babel/helper-remap-async-to-generator@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5"
integrity sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==
version "7.11.4"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz#4474ea9f7438f18575e30b0cac784045b402a12d"
integrity sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.10.4"
"@babel/helper-wrap-function" "^7.10.4"
"@babel/template" "^7.10.4"
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
"@babel/helper-replace-supers@^7.10.4":
@ -258,10 +256,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1":
version "7.11.3"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.3.tgz#9e1eae46738bcd08e23e867bab43e7b95299a8f9"
integrity sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA==
"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.4":
version "7.11.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.4.tgz#6fa1a118b8b0d80d0267b719213dc947e88cc0ca"
integrity sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA==
"@babel/plugin-proposal-async-generator-functions@^7.10.4":
version "7.10.5"
@ -860,6 +858,11 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
"@types/color-name@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
"@types/glob@^7.1.1":
version "7.1.3"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183"
@ -879,9 +882,9 @@
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
"@types/node@*":
version "14.0.27"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.27.tgz#a151873af5a5e851b51b3b065c9e63390a9e0eb1"
integrity sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==
version "14.6.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.0.tgz#7d4411bf5157339337d7cff864d9ff45f177b499"
integrity sha512-mikldZQitV94akrc4sCcSjtJfsTKt4p+e/s0AGscVA6XArQ9kFclP+ZiYUMnq987rc6QlYxXv/EivqlfSLxpKA==
"@types/q@^1.5.1":
version "1.5.4"
@ -1091,9 +1094,9 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.2:
version "6.12.3"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706"
integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==
version "6.12.4"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
@ -1130,6 +1133,11 @@ ansi-regex@^4.1.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
ansi-regex@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@ -1142,6 +1150,14 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
ansi-styles@^4.0.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
dependencies:
"@types/color-name" "^1.1.1"
color-convert "^2.0.1"
anymatch@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@ -1384,9 +1400,9 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
bn.js@^5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0"
integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==
version "5.1.3"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b"
integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==
body-parser@1.19.0:
version "1.19.0"
@ -1680,9 +1696,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001111:
version "1.0.30001114"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001114.tgz#2e88119afb332ead5eaa330e332e951b1c4bfea9"
integrity sha512-ml/zTsfNBM+T1+mjglWRPgVsu2L76GAaADKX5f4t0pbhttEp0WMawJsHDYlFkVZkoA+89uvBRrVrEE4oqenzXQ==
version "1.0.30001117"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001117.tgz#69a9fae5d480eaa9589f7641a83842ad396d17c4"
integrity sha512-4tY0Fatzdx59kYjQs+bNxUwZB03ZEBgVmJ1UkFPz/Q8OLiUUbjct2EdpnXj0fvFTPej2EkbPIG0w8BWsjAyk1Q==
chalk@^1.1.3:
version "1.1.3"
@ -1785,15 +1801,6 @@ clean-stack@^2.0.0:
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
cliui@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==
dependencies:
string-width "^2.1.1"
strip-ansi "^4.0.0"
wrap-ansi "^2.0.0"
cliui@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
@ -1803,6 +1810,15 @@ cliui@^5.0.0:
strip-ansi "^5.2.0"
wrap-ansi "^5.1.0"
cliui@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
dependencies:
string-width "^4.2.0"
strip-ansi "^6.0.0"
wrap-ansi "^6.2.0"
coa@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
@ -1812,11 +1828,6 @@ coa@^2.0.2:
chalk "^2.4.1"
q "^1.1.2"
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
collect.js@^4.12.8:
version "4.28.2"
resolved "https://registry.yarnpkg.com/collect.js/-/collect.js-4.28.2.tgz#08c11c48923641f7e86899adbd55aa31ed5de5b0"
@ -1837,12 +1848,19 @@ color-convert@^1.9.0, color-convert@^1.9.1:
dependencies:
color-name "1.1.3"
color-convert@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
dependencies:
color-name "~1.1.4"
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-name@^1.0.0:
color-name@^1.0.0, color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
@ -1873,7 +1891,7 @@ commander@2.17.x:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
commander@^2.19.0, commander@^2.20.0:
commander@^2.19.0, commander@^2.20.0, commander@^2.9.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
@ -1928,12 +1946,12 @@ concat-stream@^1.5.0:
readable-stream "^2.2.2"
typedarray "^0.0.6"
concatenate@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/concatenate/-/concatenate-0.0.2.tgz#0b49d6e8c41047d7728cdc8d62a086623397b49f"
integrity sha1-C0nW6MQQR9dyjNyNYqCGYjOXtJ8=
concat@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/concat/-/concat-1.0.3.tgz#40f3353089d65467695cb1886b45edd637d8cca8"
integrity sha1-QPM1MInWVGdpXLGIa0Xt1jfYzKg=
dependencies:
globs "^0.1.2"
commander "^2.9.0"
connect-history-api-fallback@^1.6.0:
version "1.6.0"
@ -2505,9 +2523,9 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.3.523:
version "1.3.533"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.533.tgz#d7e5ca4d57e9bc99af87efbe13e7be5dde729b0f"
integrity sha512-YqAL+NXOzjBnpY+dcOKDlZybJDCOzgsq4koW3fvyty/ldTmsb4QazZpOWmVvZ2m0t5jbBf7L0lIGU3BUipwG+A==
version "1.3.540"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.540.tgz#4e4c08d8c12bbd32cf090e143c0d546f017f9d43"
integrity sha512-IoGiZb8SMqTtkDYJtP8EtCdvv3VMtd1QoTlypO2RUBxRq/Wk0rU5IzhzhMckPaC9XxDqUvWsL0XKOBhTiYVN3w==
elliptic@^6.5.3:
version "6.5.3"
@ -2527,6 +2545,11 @@ emoji-regex@^7.0.1:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
emojis-list@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
@ -2920,7 +2943,7 @@ find-up@^3.0.0:
dependencies:
locate-path "^3.0.0"
find-up@^4.0.0:
find-up@^4.0.0, find-up@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
@ -3056,11 +3079,6 @@ gensync@^1.0.0-beta.1:
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
get-caller-file@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
get-caller-file@^2.0.1:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
@ -3098,7 +3116,7 @@ glob-to-regexp@^0.3.0:
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=
glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
@ -3175,13 +3193,6 @@ globby@^8.0.1:
pify "^3.0.0"
slash "^1.0.0"
globs@^0.1.2:
version "0.1.4"
resolved "https://registry.yarnpkg.com/globs/-/globs-0.1.4.tgz#1d13639f6174e4ae73a7f936da7d9a079f657c1c"
integrity sha512-D23dWbOq48vlOraoSigbcQV4tWrnhwk+E/Um2cMuDS3/5dwGmdFeA7L/vAvDhLFlQOTDqHcXh35m/71g2A2WzQ==
dependencies:
glob "^7.1.1"
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2:
version "4.2.4"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
@ -3576,11 +3587,6 @@ invariant@^2.2.2, invariant@^2.2.4:
dependencies:
loose-envify "^1.0.0"
invert-kv@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
ip-regex@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
@ -3730,18 +3736,16 @@ is-extglob@^2.1.0, is-extglob@^2.1.1:
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
dependencies:
number-is-nan "^1.0.0"
is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
is-fullwidth-code-point@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
@ -3969,9 +3973,9 @@ kind-of@^6.0.0, kind-of@^6.0.2:
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
laravel-mix@^5.0:
version "5.0.4"
resolved "https://registry.yarnpkg.com/laravel-mix/-/laravel-mix-5.0.4.tgz#606a28781b936d66cf96a0d631909cea22ebf0a8"
integrity sha512-/fkcMdlxhGDBcH+kFDqKONlAfhJinMAWd+fjQ+VLii4UzIeXUF5Q8FbS4+ZrZs9JO3Y1E4KoNq3hMw0t/soahA==
version "5.0.5"
resolved "https://registry.yarnpkg.com/laravel-mix/-/laravel-mix-5.0.5.tgz#1da6488ac3af79f248bcbc2e589dcaeb03f3dafc"
integrity sha512-ruogwsrTsmUpZU9x1Whgxh+gcEB/6IFJlL+ZTSrYt1SXfOsi8BgMI2R9RWvQpOyR+40VYl7n7Gsr+sHjfFb90Q==
dependencies:
"@babel/core" "^7.2.0"
"@babel/plugin-proposal-object-rest-spread" "^7.2.0"
@ -3985,7 +3989,7 @@ laravel-mix@^5.0:
chokidar "^2.0.3"
clean-css "^4.1.3"
collect.js "^4.12.8"
concatenate "0.0.2"
concat "^1.0.3"
css-loader "^1.0.1"
dotenv "^6.2.0"
dotenv-expand "^4.2.0"
@ -4010,7 +4014,7 @@ laravel-mix@^5.0:
webpack-dev-server "^3.1.14"
webpack-merge "^4.1.0"
webpack-notifier "^1.5.1"
yargs "^12.0.5"
yargs "^15.4.1"
last-call-webpack-plugin@^3.0.0:
version "3.0.0"
@ -4020,13 +4024,6 @@ last-call-webpack-plugin@^3.0.0:
lodash "^4.17.5"
webpack-sources "^1.1.0"
lcid@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==
dependencies:
invert-kv "^2.0.0"
leven@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
@ -4137,13 +4134,6 @@ make-dir@^3.0.2:
dependencies:
semver "^6.0.0"
map-age-cleaner@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
dependencies:
p-defer "^1.0.0"
map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
@ -4189,15 +4179,6 @@ media-typer@0.3.0:
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
mem@^4.0.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==
dependencies:
map-age-cleaner "^0.1.1"
mimic-fn "^2.0.0"
p-is-promise "^2.0.0"
memory-fs@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@ -4290,11 +4271,6 @@ mime@^2.4.4:
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1"
integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==
mimic-fn@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@ -4551,11 +4527,6 @@ num2fraction@^1.2.2:
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
@ -4688,30 +4659,11 @@ os-browserify@^0.3.0:
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
os-locale@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
dependencies:
execa "^1.0.0"
lcid "^2.0.0"
mem "^4.0.0"
p-defer@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
p-is-promise@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
@ -5408,9 +5360,9 @@ querystring@0.2.0:
integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
querystringify@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
version "2.2.0"
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
version "2.1.0"
@ -5584,11 +5536,6 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
require-main-filename@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
require-main-filename@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
@ -6081,16 +6028,7 @@ stream-shift@^1.0.0:
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
string-width@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
dependencies:
code-point-at "^1.0.0"
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
string-width@^2.0.0, string-width@^2.1.1:
string-width@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
@ -6107,6 +6045,15 @@ string-width@^3.0.0, string-width@^3.1.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
string-width@^4.1.0, string-width@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0"
string.prototype.trimend@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
@ -6158,6 +6105,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
dependencies:
ansi-regex "^4.1.0"
strip-ansi@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
dependencies:
ansi-regex "^5.0.0"
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
@ -6387,9 +6341,9 @@ uglify-js@3.4.x:
source-map "~0.6.1"
uiv@^0.36:
version "0.36.0"
resolved "https://registry.yarnpkg.com/uiv/-/uiv-0.36.0.tgz#0b246de1f97c85f5bb783083a65f1a8e9f9a74ef"
integrity sha512-9F8wxe3DgZj/movfDmIpfuBGu6TKnzM5IZmhjOSaVeXhe+b1UmKvPw5DMuWVtTpmjkAOBkG6pkqtk9rbfQREhg==
version "0.36.1"
resolved "https://registry.yarnpkg.com/uiv/-/uiv-0.36.1.tgz#9cf987b43e6a67ac50082c6b72d253e94d5d962c"
integrity sha512-kJjqShQa8+9DEQl7GXkR0rLaoUbHAvHLjkEpZzhdcA4O95UevZm2Dsal3xgyPSf634oUc2/XyksiOnDAwRDuGQ==
dependencies:
portal-vue "^2.1.7"
vue-functional-data-merge "^2.0.3"
@ -6611,9 +6565,9 @@ vue-style-loader@^4.1.0:
loader-utils "^1.0.2"
vue-template-compiler@^2.6.11:
version "2.6.11"
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080"
integrity sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==
version "2.6.12"
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz#947ed7196744c8a5285ebe1233fe960437fcc57e"
integrity sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==
dependencies:
de-indent "^1.0.2"
he "^1.1.0"
@ -6624,9 +6578,9 @@ vue-template-es2015-compiler@^1.9.0:
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
vue@^2.6, vue@^2.6.10:
version "2.6.11"
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5"
integrity sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==
version "2.6.12"
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123"
integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==
watchpack-chokidar2@^2.0.0:
version "2.0.0"
@ -6828,14 +6782,6 @@ worker-farm@^1.7.0:
dependencies:
errno "~0.1.7"
wrap-ansi@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
dependencies:
string-width "^1.0.1"
strip-ansi "^3.0.1"
wrap-ansi@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
@ -6845,6 +6791,15 @@ wrap-ansi@^5.1.0:
string-width "^3.0.0"
strip-ansi "^5.0.0"
wrap-ansi@^6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
dependencies:
ansi-styles "^4.0.0"
string-width "^4.1.0"
strip-ansi "^6.0.0"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
@ -6862,7 +6817,7 @@ xtend@^4.0.0, xtend@~4.0.1:
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
y18n@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
@ -6882,14 +6837,6 @@ yallist@^4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
yargs-parser@^11.1.1:
version "11.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==
dependencies:
camelcase "^5.0.0"
decamelize "^1.2.0"
yargs-parser@^13.1.2:
version "13.1.2"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
@ -6898,23 +6845,13 @@ yargs-parser@^13.1.2:
camelcase "^5.0.0"
decamelize "^1.2.0"
yargs@^12.0.5:
version "12.0.5"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==
yargs-parser@^18.1.2:
version "18.1.3"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
dependencies:
cliui "^4.0.0"
camelcase "^5.0.0"
decamelize "^1.2.0"
find-up "^3.0.0"
get-caller-file "^1.0.1"
os-locale "^3.0.0"
require-directory "^2.1.1"
require-main-filename "^1.0.1"
set-blocking "^2.0.0"
string-width "^2.0.0"
which-module "^2.0.0"
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^11.1.1"
yargs@^13.3.2:
version "13.3.2"
@ -6931,3 +6868,20 @@ yargs@^13.3.2:
which-module "^2.0.0"
y18n "^4.0.0"
yargs-parser "^13.1.2"
yargs@^15.4.1:
version "15.4.1"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
dependencies:
cliui "^6.0.0"
decamelize "^1.2.0"
find-up "^4.1.0"
get-caller-file "^2.0.1"
require-directory "^2.1.1"
require-main-filename "^2.0.0"
set-blocking "^2.0.0"
string-width "^4.2.0"
which-module "^2.0.0"
y18n "^4.0.0"
yargs-parser "^18.1.2"